[
  {
    "path": ".gitignore",
    "content": ".gitattributes\nmodels/\ntmp/\n*.bak\n*.pkl\nbears/\n__pycache__/\n.last_checked\n.gitconfig\n.ipynb_checkpoints/\n"
  },
  {
    "path": "01_intro.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_intro]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Your Deep Learning Journey\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Hello, and thank you for letting us join you on your deep learning journey, however far along that you may be! In this chapter, we will tell you a little bit more about what to expect in this book, introduce the key concepts behind deep learning, and train our first models on different tasks. It doesn't matter if you don't come from a technical or a mathematical background (though it's okay if you do too!); we wrote this book to make deep learning accessible to as many people as possible.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning Is for Everyone\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A lot of people assume that you need all kinds of hard-to-find stuff to get great results with deep learning, but as you'll see in this book, those people are wrong. <<myths>> is a list of a few thing you *absolutely don't need* to do world-class deep learning.\\n\",\n    \"\\n\",\n    \"```asciidoc\\n\",\n    \"[[myths]]\\n\",\n    \".What you don't need to do deep learning\\n\",\n    \"[options=\\\"header\\\"]\\n\",\n    \"|======\\n\",\n    \"| Myth (don't need) | Truth\\n\",\n    \"| Lots of math | Just high school math is sufficient\\n\",\n    \"| Lots of data | We've seen record-breaking results with <50 items of data\\n\",\n    \"| Lots of expensive computers | You can get what you need for state of the art work for free\\n\",\n    \"|======\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Deep learning is a computer technique to extract and transform data–-with use cases ranging from human speech recognition to animal imagery classification–-by using multiple layers of neural networks. Each of these layers takes its inputs from previous layers and progressively refines them. The layers are trained by algorithms that minimize their errors and improve their accuracy. In this way, the network learns to perform a specified task. We will discuss training algorithms in detail in the next section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Deep learning has power, flexibility, and simplicity. That's why we believe it should be applied across many disciplines. These include the social and physical sciences, the arts, medicine, finance, scientific research, and many more. To give a personal example, despite having no background in medicine, Jeremy started Enlitic, a company that uses deep learning algorithms to diagnose illness and disease. Within months of starting the company, it was announced that its algorithm could identify malignant tumors [more accurately than radiologists](https://www.nytimes.com/2016/02/29/technology/the-promise-of-artificial-intelligence-unfolds-in-small-steps.html).\\n\",\n    \"\\n\",\n    \"Here's a list of some of the thousands of tasks in different areas at which deep learning, or methods heavily using deep learning, is now the best in the world:\\n\",\n    \"\\n\",\n    \"- Natural language processing (NLP):: Answering questions; speech recognition; summarizing documents; classifying documents; finding names, dates, etc. in documents; searching for articles mentioning a concept\\n\",\n    \"- Computer vision:: Satellite and drone imagery interpretation (e.g., for disaster resilience); face recognition; image captioning; reading traffic signs; locating pedestrians and vehicles in autonomous vehicles\\n\",\n    \"- Medicine:: Finding anomalies in radiology images, including CT, MRI, and X-ray images; counting features in pathology slides; measuring features in ultrasounds; diagnosing diabetic retinopathy\\n\",\n    \"- Biology:: Folding proteins; classifying proteins; many genomics tasks, such as tumor-normal sequencing and classifying clinically actionable genetic mutations; cell classification; analyzing protein/protein interactions\\n\",\n    \"- Image generation:: Colorizing images; increasing image resolution; removing noise from images; converting images to art in the style of famous artists\\n\",\n    \"- Recommendation systems:: Web search; product recommendations; home page layout\\n\",\n    \"- Playing games:: Chess, Go, most Atari video games, and many real-time strategy games\\n\",\n    \"- Robotics:: Handling objects that are challenging to locate (e.g., transparent, shiny, lacking texture) or hard to pick up\\n\",\n    \"- Other applications:: Financial and logistical forecasting, text to speech, and much more...\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What is remarkable is that deep learning has such varied application yet nearly all of deep learning is based on a single type of model, the neural network.\\n\",\n    \"\\n\",\n    \"But neural networks are not in fact completely new. In order to have a wider perspective on the field, it is worth it to start with a bit of history.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Neural Networks: A Brief History\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In 1943 Warren McCulloch, a neurophysiologist, and Walter Pitts, a logician, teamed up to develop a mathematical model of an artificial neuron. In their [paper](https://link.springer.com/article/10.1007/BF02478259) \\\"A Logical Calculus of the Ideas Immanent in Nervous Activity\\\" they declared that:\\n\",\n    \"\\n\",\n    \"> : Because of the “all-or-none” character of nervous activity, neural events and the relations among them can be treated by means of propositional logic. It is found that the behavior of every net can be described in these terms.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"McCulloch and Pitts realized that a simplified model of a real neuron could be represented using simple addition and thresholding, as shown in <<neuron>>. Pitts was self-taught, and by age 12, had received an offer to study at Cambridge University with the great Bertrand Russell. He did not take up this invitation, and indeed throughout his life did not accept any offers of advanced degrees or positions of authority. Most of his famous work was done while he was homeless. Despite his lack of an officially recognized position and increasing social isolation, his work with McCulloch was influential, and was taken up by a psychologist named Frank Rosenblatt.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Natural and artificial neurons\\\" width=\\\"500\\\" caption=\\\"Natural and artificial neurons\\\" src=\\\"images/chapter7_neuron.png\\\" id=\\\"neuron\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Rosenblatt further developed the artificial neuron to give it the ability to learn. Even more importantly, he worked on building the first device that actually used these principles, the Mark I Perceptron. In \\\"The Design of an Intelligent Automaton\\\" Rosenblatt wrote about this work: \\\"We are now about to witness the birth of such a machine–-a machine capable of perceiving, recognizing and identifying its surroundings without any human training or control.\\\" The perceptron was built, and was able to successfully recognize simple shapes.\\n\",\n    \"\\n\",\n    \"An MIT professor named Marvin Minsky (who was a grade behind Rosenblatt at the same high school!), along with Seymour Papert, wrote a book called _Perceptrons_ (MIT Press), about Rosenblatt's invention. They showed that a single layer of these devices was unable to learn some simple but critical mathematical functions (such as XOR). In the same book, they also showed that using multiple layers of the devices would allow these limitations to be addressed. Unfortunately, only the first of these insights was widely recognized. As a result, the global academic community nearly entirely gave up on neural networks for the next two decades.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Perhaps the most pivotal work in neural networks in the last 50 years was the multi-volume *Parallel Distributed Processing* (PDP) by David Rumelhart, James McClellan, and the PDP Research Group, released in 1986 by MIT Press. Chapter 1 lays out a similar hope to that shown by Rosenblatt:\\n\",\n    \"\\n\",\n    \"> : People are smarter than today's computers because the brain employs a basic computational architecture that is more suited to deal with a central aspect of the natural information processing tasks that people are so good at. ...We will introduce a computational framework for modeling cognitive processes that seems… closer than other frameworks to the style of computation as it might be done by the brain.\\n\",\n    \"\\n\",\n    \"The premise that PDP is using here is that traditional computer programs work very differently to brains, and that might be why computer programs had been (at that point) so bad at doing things that brains find easy (such as recognizing objects in pictures). The authors claimed that the PDP approach was \\\"closer \\n\",\n    \"than other frameworks\\\" to how the brain works, and therefore it might be better able to handle these kinds of tasks.\\n\",\n    \"\\n\",\n    \"In fact, the approach laid out in PDP is very similar to the approach used in today's neural networks. The book defined parallel distributed processing as requiring:\\n\",\n    \"\\n\",\n    \"1. A set of *processing units*\\n\",\n    \"1. A *state of activation*\\n\",\n    \"1. An *output function* for each unit \\n\",\n    \"1. A *pattern of connectivity* among units \\n\",\n    \"1. A *propagation rule* for propagating patterns of activities through the network of connectivities \\n\",\n    \"1. An *activation rule* for combining the inputs impinging on a unit with the current state of that unit to produce an output for the unit\\n\",\n    \"1. A *learning rule* whereby patterns of connectivity are modified by experience \\n\",\n    \"1. An *environment* within which the system must operate\\n\",\n    \"\\n\",\n    \"We will see in this book that modern neural networks handle each of these requirements.\\n\",\n    \"\\n\",\n    \"In the 1980's most models were built with a second layer of neurons, thus avoiding the problem that had been identified by Minsky and Papert (this was their \\\"pattern of connectivity among units,\\\" to use the framework above). And indeed, neural networks were widely used during the '80s and '90s for real, practical projects. However, again a misunderstanding of the theoretical issues held back the field. In theory, adding just one extra layer of neurons was enough to allow any mathematical function to be approximated with these neural networks, but in practice such networks were often too big and too slow to be useful.\\n\",\n    \"\\n\",\n    \"Although researchers showed 30 years ago that to get practical good performance you need to use even more layers of neurons, it is only in the last decade that this principle has been more widely appreciated and applied. Neural networks are now finally living up to their potential, thanks to the use of more layers, coupled with the capacity to do so due to improvements in computer hardware, increases in data availability, and algorithmic tweaks that allow neural networks to be trained faster and more easily. We now have what Rosenblatt promised: \\\"a machine capable of perceiving, recognizing, and identifying its surroundings without any human training or control.\\\"\\n\",\n    \"\\n\",\n    \"This is what you will learn how to build in this book. But first, since we are going to be spending a lot of time together, let's get to know each other a bit… \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Who We Are\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are Sylvain and Jeremy, your guides on this journey. We hope that you will find us well suited for this position.\\n\",\n    \"\\n\",\n    \"Jeremy has been using and teaching machine learning for around 30 years. He started using neural networks 25 years ago. During this time, he has led many companies and projects that have machine learning at their core, including founding the first company to focus on deep learning and medicine, Enlitic, and taking on the role of President and Chief Scientist of the world's largest machine learning community, Kaggle. He is the co-founder, along with Dr. Rachel Thomas, of fast.ai, the organization that built the course this book is based on.\\n\",\n    \"\\n\",\n    \"From time to time you will hear directly from us, in sidebars like this one from Jeremy:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: Hi everybody, I'm Jeremy! You might be interested to know that I do not have any formal technical education. I completed a BA, with a major in philosophy, and didn't have great grades. I was much more interested in doing real projects, rather than theoretical studies, so I worked full time at a management consulting firm called McKinsey and Company throughout my university years. If you're somebody who would rather get their hands dirty building stuff than spend years learning abstract concepts, then you will understand where I am coming from! Look out for sidebars from me to find information most suited to people with a less mathematical or formal technical background—that is, people like me…\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Sylvain, on the other hand, knows a lot about formal technical education. In fact, he has written 10 math textbooks, covering the entire advanced French maths curriculum!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> S: Unlike Jeremy, I have not spent many years coding and applying machine learning algorithms. Rather, I recently came to the machine learning world, by watching Jeremy's fast.ai course videos. So, if you are somebody who has not opened a terminal and written commands at the command line, then you will understand where I am coming from! Look out for sidebars from me to find information most suited to people with a more mathematical or formal technical background, but less real-world coding experience—that is, people like me…\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The fast.ai course has been studied by hundreds of thousands of students, from all walks of life, from all parts of the world. Sylvain stood out as the most impressive student of the course that Jeremy had ever seen, which led to him joining fast.ai, and then becoming the coauthor, along with Jeremy, of the fastai software library.\\n\",\n    \"\\n\",\n    \"All this means that between us you have the best of both worlds: the people who know more about the software than anybody else, because they wrote it; an expert on math, and an expert on coding and machine learning; and also people who understand both what it feels like to be a relative outsider in math, and a relative outsider in coding and machine learning.\\n\",\n    \"\\n\",\n    \"Anybody who has watched sports knows that if you have a two-person commentary team then you also need a third person to do \\\"special comments.\\\" Our special commentator is Alexis Gallagher. Alexis has a very diverse background: he has been a researcher in mathematical biology, a screenplay writer, an improv performer, a McKinsey consultant (like Jeremy!), a Swift coder, and a CTO.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> A: I've decided it's time for me to learn about this AI stuff! After all, I've tried pretty much everything else… But I don't really have a background in building machine learning models. Still… how hard can it be? I'm going to be learning throughout this book, just like you are. Look out for my sidebars for learning tips that I found helpful on my journey, and hopefully you will find helpful too.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## How to Learn Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Harvard professor David Perkins, who wrote _Making Learning Whole_ (Jossey-Bass), has much to say about teaching. The basic idea is to teach the *whole game*. That means that if you're teaching baseball, you first take people to a baseball game or get them to play it. You don't teach them how to wind twine to make a baseball from scratch, the physics of a parabola, or the coefficient of friction of a ball on a bat.\\n\",\n    \"\\n\",\n    \"Paul Lockhart, a Columbia math PhD, former Brown professor, and K-12 math teacher, imagines in the influential [essay](https://www.maa.org/external_archive/devlin/LockhartsLament.pdf) \\\"A Mathematician's Lament\\\" a nightmare world where music and art are taught the way math is taught. Children are not allowed to listen to or play music until they have spent over a decade mastering music notation and theory, spending classes transposing sheet music into a different key. In art class, students study colors and applicators, but aren't allowed to actually paint until college. Sound absurd? This is how math is taught–-we require students to spend years doing rote memorization and learning dry, disconnected *fundamentals* that we claim will pay off later, long after most of them quit the subject.\\n\",\n    \"\\n\",\n    \"Unfortunately, this is where many teaching resources on deep learning begin–-asking learners to follow along with the definition of the Hessian and theorems for the Taylor approximation of your loss functions, without ever giving examples of actual working code. We're not knocking calculus. We love calculus, and Sylvain has even taught it at the college level, but we don't think it's the best place to start when learning deep learning!\\n\",\n    \"\\n\",\n    \"In deep learning, it really helps if you have the motivation to fix your model to get it to do better. That's when you start learning the relevant theory. But you need to have the model in the first place. We teach almost everything through real examples. As we build out those examples, we go deeper and deeper, and we'll show you how to make your projects better and better. This means that you'll be gradually learning all the theoretical foundations you need, in context, in such a way that you'll see why it matters and how it works.\\n\",\n    \"\\n\",\n    \"So, here's our commitment to you. Throughout this book, we will follow these principles:\\n\",\n    \"\\n\",\n    \"- Teaching the *whole game*. We'll start by showing how to use a complete, working, very usable, state-of-the-art deep learning network to solve real-world problems, using simple, expressive tools. And then we'll gradually dig deeper and deeper into understanding how those tools are made, and how the tools that make those tools are made, and so on…\\n\",\n    \"- Always teaching through examples. We'll ensure that there is a context and a purpose that you can understand intuitively, rather than starting with algebraic symbol manipulation.\\n\",\n    \"- Simplifying as much as possible. We've spent years building tools and teaching methods that make previously complex topics very simple.\\n\",\n    \"- Removing barriers. Deep learning has, until now, been a very exclusive game. We're breaking it open, and ensuring that everyone can play.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The hardest part of deep learning is artisanal: how do you know if you've got enough data, whether it is in the right format, if your model is training properly, and, if it's not, what you should do about it? That is why we believe in learning by doing. As with basic data science skills, with deep learning you only get better through practical experience. Trying to spend too much time on the theory can be counterproductive. The key is to just code and try to solve problems: the theory can come later, when you have context and motivation.\\n\",\n    \"\\n\",\n    \"There will be times when the journey will feel hard. Times where you feel stuck. Don't give up! Rewind through the book to find the last bit where you definitely weren't stuck, and then read slowly through from there to find the first thing that isn't clear. Then try some code experiments yourself, and Google around for more tutorials on whatever the issue you're stuck with is—often you'll find some different angle on the material might help it to click. Also, it's expected and normal to not understand everything (especially the code) on first reading. Trying to understand the material serially before proceeding can sometimes be hard. Sometimes things click into place after you get more context from parts down the road, from having a bigger picture. So if you do get stuck on a section, try moving on anyway and make a note to come back to it later.\\n\",\n    \"\\n\",\n    \"Remember, you don't need any particular academic background to succeed at deep learning. Many important breakthroughs are made in research and industry by folks without a PhD, such as [\\\"Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks\\\"](https://arxiv.org/abs/1511.06434)—one of the most influential papers of the last decade—with over 5,000 citations, which was written by Alec Radford when he was an undergraduate. Even at Tesla, where they're trying to solve the extremely tough challenge of making a self-driving car, CEO [Elon Musk says](https://twitter.com/elonmusk/status/1224089444963311616):\\n\",\n    \"\\n\",\n    \"> : A PhD is definitely not required. All that matters is a deep understanding of AI & ability to implement NNs in a way that is actually useful (latter point is what’s truly hard). Don’t care if you even graduated high school.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What you will need to do to succeed however is to apply what you learn in this book to a personal project, and always persevere.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Your Projects and Your Mindset\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Whether you're excited to identify if plants are diseased from pictures of their leaves, auto-generate knitting patterns, diagnose TB from X-rays, or determine when a raccoon is using your cat door, we will get you using deep learning on your own problems (via pre-trained models from others) as quickly as possible, and then will progressively drill into more details. You'll learn how to use deep learning to solve your own problems at state-of-the-art accuracy within the first 30 minutes of the next chapter! (And feel free to skip straight there now if you're dying to get coding right away.) There is a pernicious myth out there that you need to have computing resources and datasets the size of those at Google to be able to do deep learning, but it's not true.\\n\",\n    \"\\n\",\n    \"So, what sorts of tasks make for good test cases? You could train your model to distinguish between Picasso and Monet paintings or to pick out pictures of your daughter instead of pictures of your son. It helps to focus on your hobbies and passions–-setting yourself four or five little projects rather than striving to solve a big, grand problem tends to work better when you're getting started. Since it is easy to get stuck, trying to be too ambitious too early can often backfire. Then, once you've got the basics mastered, aim to complete something you're really proud of!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: Deep learning can be set to work on almost any problem. For instance, my first startup was a company called FastMail, which provided enhanced email services when it launched in 1999 (and still does to this day). In 2002 I set it up to use a primitive form of deep learning, single-layer neural networks, to help categorize emails and stop customers from receiving spam.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Common character traits in the people that do well at deep learning include playfulness and curiosity. The late physicist Richard Feynman is an example of someone who we'd expect to be great at deep learning: his development of an understanding of the movement of subatomic particles came from his amusement at how plates wobble when they spin in the air.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now focus on what you will learn, starting with the software.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Software: PyTorch, fastai, and Jupyter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"(And Why It Doesn't Matter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've completed hundreds of machine learning projects using dozens of different packages, and many different programming languages. At fast.ai, we have written courses using most of the main deep learning and machine learning packages used today. After PyTorch came out in 2017 we spent over a thousand hours testing it before deciding that we would use it for future courses, software development, and research. Since that time PyTorch has become the world's fastest-growing deep learning library and is already used for most research papers at top conferences. This is generally a leading indicator of usage in industry, because these are the papers that end up getting used in products and services commercially. We have found that PyTorch is the most flexible and expressive library for deep learning. It does not trade off speed for simplicity, but provides both.\\n\",\n    \"\\n\",\n    \"PyTorch works best as a low-level foundation library, providing the basic operations for higher-level functionality. The fastai library is the most popular library for adding this higher-level functionality on top of PyTorch. It's also particularly well suited to the purposes of this book, because it is unique in providing a deeply layered software architecture (there's even a [peer-reviewed academic paper](https://arxiv.org/abs/2002.04688) about this layered API). In this book, as we go deeper and deeper into the foundations of deep learning, we will also go deeper and deeper into the layers of fastai. This book covers version 2 of the fastai library, which is a from-scratch rewrite providing many unique features.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"However, it doesn't really matter what software you learn, because it takes only a few days to learn to switch from one library to another. What really matters is learning the deep learning foundations and techniques properly. Our focus will be on using code that clearly expresses the concepts that you need to learn. Where we are teaching high-level concepts, we will use high-level fastai code. Where we are teaching low-level concepts, we will use low-level PyTorch, or even pure Python code.\\n\",\n    \"\\n\",\n    \"If it feels like new deep learning libraries are appearing at a rapid pace nowadays, then you need to be prepared for a much faster rate of change in the coming months and years. As more people enter the field, they will bring more skills and ideas, and try more things. You should assume that whatever specific libraries and software you learn today will be obsolete in a year or two. Just think about the number of changes in libraries and technology stacks that occur all the time in the world of web programming—a much more mature and slow-growing area than deep learning. We strongly believe that the focus in learning needs to be on understanding the underlying techniques and how to apply them in practice, and how to quickly build expertise in new tools and techniques as they are released.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By the end of the book, you'll understand nearly all the code that's inside fastai (and much of PyTorch too), because in each chapter we'll be digging a level deeper to show you exactly what's going on as we build and train our models. This means that you'll have learned the most important best practices used in modern deep learning—not just how to use them, but how they really work and are implemented. If you want to use those approaches in another framework, you'll have the knowledge you need to do so if needed.\\n\",\n    \"\\n\",\n    \"Since the most important thing for learning deep learning is writing code and experimenting, it's important that you have a great platform for experimenting with code. The most popular programming experimentation platform is called Jupyter. This is what we will be using throughout this book. We will show you how you can use Jupyter to train and experiment with models and introspect every stage of the data pre-processing and model development pipeline. [Jupyter Notebook](https://jupyter.org/) is the most popular tool for doing data science in Python, for good reason. It is powerful, flexible, and easy to use. We think you will love it!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see it in practice and train our first model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Your First Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we said before, we will teach you how to do things before we explain why they work. Following this top-down approach, we will begin by actually training an image classifier to recognize dogs and cats with almost 100% accuracy. To train this model and run our experiments, you will need to do some initial setup. Don't worry, it's not as hard as it looks.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> s: Do not skip the setup part even if it looks intimidating at first, especially if you have little or no experience using things like a terminal or the command line. Most of that is actually not necessary and you will find that the easiest servers can be set up with just your usual web browser. It is crucial that you run your own experiments in parallel with this book in order to learn.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Getting a GPU Deep Learning Server\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To do nearly everything in this book, you'll need access to a computer with an NVIDIA GPU (unfortunately other brands of GPU are not fully supported by the main deep learning libraries). However, we don't recommend you buy one; in fact, even if you already have one, we don't suggest you use it just yet! Setting up a computer takes time and energy, and you want all your energy to focus on deep learning right now. Therefore, we instead suggest you rent access to a computer that already has everything you need preinstalled and ready to go. Costs can be as little as US$0.25 per hour while you're using it, and some options are even free.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Graphics Processing Unit (GPU): Also known as a _graphics card_. A special kind of processor in your computer that can handle thousands of single tasks at the same time, especially designed for displaying 3D environments on a computer for playing games. These same basic tasks are very similar to what neural networks do, such that GPUs can run neural networks hundreds of times faster than regular CPUs. All modern computers contain a GPU, but few contain the right kind of GPU necessary for deep learning.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The best choice of GPU servers to use with this book will change over time, as companies come and go and prices change. We maintain a list of our recommended options on the [book's website](https://book.fast.ai/), so go there now and follow the instructions to get connected to a GPU deep learning server. Don't worry, it only takes about two minutes to get set up on most platforms, and many don't even require any payment, or even a credit card, to get started.\\n\",\n    \"\\n\",\n    \"> A: My two cents: heed this advice! If you like computers you will be tempted to set up your own box. Beware! It is feasible but surprisingly involved and distracting. There is a good reason this book is not titled, _Everything You Ever Wanted to Know About Ubuntu System Administration, NVIDIA Driver Installation, apt-get, conda, pip, and Jupyter Notebook Configuration_. That would be a book of its own. Having designed and deployed our production machine learning infrastructure at work, I can testify it has its satisfactions, but it is as unrelated to modeling as maintaining an airplane is to flying one.\\n\",\n    \"\\n\",\n    \"Each option shown on the website includes a tutorial; after completing the tutorial, you will end up with a screen looking like <<notebook_init>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Initial view of Jupyter Notebook\\\" width=\\\"658\\\" caption=\\\"Initial view of Jupyter Notebook\\\" id=\\\"notebook_init\\\" src=\\\"images/att_00057.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You are now ready to run your first Jupyter notebook!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Jupyter Notebook: A piece of software that allows you to include formatted text, code, images, videos, and much more, all within a single interactive document. Jupyter received the highest honor for software, the ACM Software System Award, thanks to its wide use and enormous impact in many academic fields and in industry. Jupyter Notebook is the software most widely used by data scientists for developing and interacting with deep learning models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running Your First Notebook\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The notebooks are labeled by chapter and then by notebook number, so that they are in the same order as they are presented in this book. So, the very first notebook you will see listed is the notebook that you need to use now. You will be using this notebook to train a model that can recognize dog and cat photos. To do this, you'll be downloading a _dataset_ of dog and cat photos, and using that to _train a model_. A dataset is simply a bunch of data—it could be images, emails, financial indicators, sounds, or anything else. There are many datasets made freely available that are suitable for training models. Many of these datasets are created by academics to help advance research, many are made available for competitions (there are competitions where data scientists can compete to see who has the most accurate model!), and some are by-products of other processes (such as financial filings).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Full and Stripped Notebooks: There are two folders containing different versions of the notebooks. The _full_ folder contains the exact notebooks used to create the book you're reading now, with all the prose and outputs. The _stripped_ version has the same headings and code cells, but all outputs and prose have been removed. After reading a section of the book, we recommend working through the stripped notebooks, with the book closed, and seeing if you can figure out what each cell will show before you execute it. Also try to recall what the code is demonstrating.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To open a notebook, just click on it. The notebook will open, and it will look something like <<jupyter>> (note that there may be slight differences in details across different platforms; you can ignore those differences).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An example of notebook\\\" width=\\\"700\\\" caption=\\\"A Jupyter notebook\\\" src=\\\"images/0_jupyter.png\\\" id=\\\"jupyter\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A notebook consists of _cells_. There are two main types of cell:\\n\",\n    \"\\n\",\n    \"- Cells containing formatted text, images, and so forth. These use a format called *markdown*, which you will learn about soon.\\n\",\n    \"- Cells containing code that can be executed, and outputs will appear immediately underneath (which could be plain text, tables, images, animations, sounds, or even interactive applications).\\n\",\n    \"\\n\",\n    \"Jupyter notebooks can be in one of two modes: edit mode or command mode. In edit mode typing on your keyboard enters the letters into the cell in the usual way. However, in command mode, you will not see any flashing cursor, and the keys on your keyboard will each have a special function.\\n\",\n    \"\\n\",\n    \"Before continuing, press the Escape key on your keyboard to switch to command mode (if you are already in command mode, this does nothing, so press it now just in case). To see a complete list of all of the functions available, press H; press Escape to remove this help screen. Notice that in command mode, unlike most programs, commands do not require you to hold down Control, Alt, or similar—you simply press the required letter key.\\n\",\n    \"\\n\",\n    \"You can make a copy of a cell by pressing C (the cell needs to be selected first, indicated with an outline around it; if it is not already selected, click on it once). Then press V to paste a copy of it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Click on the cell that begins with the line \\\"# CLICK ME\\\" to select it. The first character in that line indicates that what follows is a comment in Python, so it is ignored when executing the cell. The rest of the cell is, believe it or not, a complete system for creating and training a state-of-the-art model for recognizing cats versus dogs. So, let's train it now! To do so, just press Shift-Enter on your keyboard, or press the Play button on the toolbar. Then wait a few minutes while the following things happen:\\n\",\n    \"\\n\",\n    \"1. A dataset called the [Oxford-IIIT Pet Dataset](http://www.robots.ox.ac.uk/~vgg/data/pets/) that contains 7,349 images of cats and dogs from 37 different breeds will be downloaded from the fast.ai datasets collection to the GPU server you are using, and will then be extracted.\\n\",\n    \"2. A *pretrained model* that has already been trained on 1.3 million images, using a competition-winning model will be downloaded from the internet.\\n\",\n    \"3. The pretrained model will be *fine-tuned* using the latest advances in transfer learning, to create a model that is specially customized for recognizing dogs and cats.\\n\",\n    \"\\n\",\n    \"The first two steps only need to be run once on your GPU server. If you run the cell again, it will use the dataset and model that have already been downloaded, rather than downloading them again. Let's take a look at the contents of the cell, and the results (<<first_training>>):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.180385</td>\\n\",\n       \"      <td>0.023942</td>\\n\",\n       \"      <td>0.006766</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.056023</td>\\n\",\n       \"      <td>0.007580</td>\\n\",\n       \"      <td>0.004060</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#id first_training\\n\",\n    \"#caption Results from the first training\\n\",\n    \"# CLICK ME\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)/'images'\\n\",\n    \"\\n\",\n    \"def is_cat(x): return x[0].isupper()\\n\",\n    \"dls = ImageDataLoaders.from_name_func(\\n\",\n    \"    path, get_image_files(path), valid_pct=0.2, seed=42,\\n\",\n    \"    label_func=is_cat, item_tfms=Resize(224))\\n\",\n    \"\\n\",\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You will probably not see exactly the same results that are in the book. There are a lot of sources of small random variation involved in training models. We generally see an error rate of well less than 0.02 in this example, however.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: Training Time: Depending on your network speed, it might take a few minutes to download the pretrained model and dataset. Running `fine_tune` might take a minute or so. Often models in this book take a few minutes to train, as will your own models, so it's a good idea to come up with good techniques to make the most of this time. For instance, keep reading the next section while your model trains, or open up another notebook and use it for some coding experiments.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: This Book Was Written in Jupyter Notebooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We wrote this book using Jupyter notebooks, so for nearly every chart, table, and calculation in this book, we'll be showing you the exact code required to replicate it yourself. That's why very often in this book, you will see some code immediately followed by a table, a picture or just some text. If you go on the [book's website](https://book.fast.ai) you will find all the code, and you can try running and modifying every example yourself.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You just saw how a cell that outputs a table looks inside the book. Here is an example of a cell that outputs text:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"2\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"1+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Jupyter will always print or show the result of the last line (if there is one). For instance, here is an example of a cell that outputs an image:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<PIL.Image.Image image mode=RGB size=151x192 at 0x7EFCAE0AFFD0>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"img = PILImage.create(image_cat())\\n\",\n    \"img.to_thumb(192)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, how do we know if this model is any good? In the last column of the table you can see the error rate, which is the proportion of images that were incorrectly identified. The error rate serves as our metric—our measure of model quality, chosen to be intuitive and comprehensible. As you can see, the model is nearly perfect, even though the training time was only a few seconds (not including the one-time downloading of the dataset and the pretrained model). In fact, the accuracy you've achieved already is far better than anybody had ever achieved just 10 years ago!\\n\",\n    \"\\n\",\n    \"Finally, let's check that this model actually works. Go and get a photo of a dog, or a cat; if you don't have one handy, just search Google Images and download an image that you find there. Now execute the cell with `uploader` defined. It will output a button you can click, so you can select the image you want to classify:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"2aada8621093499db32f532303c17c1e\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"FileUpload(value={}, description='Upload')\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"uploader = widgets.FileUpload()\\n\",\n    \"uploader\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An upload button\\\" width=\\\"159\\\" id=\\\"upload\\\" src=\\\"images/att_00008.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now you can pass the uploaded file to the model. Make sure that it is a clear photo of a single dog or a cat, and not a line drawing, cartoon, or similar. The notebook will tell you whether it thinks it is a dog or a cat, and how confident it is. Hopefully, you'll find that your model did a great job:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# For the book, we can't actually click an upload button, so we fake it\\n\",\n    \"uploader = SimpleNamespace(data = ['images/chapter1_cat_example.jpg'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Is this a cat?: True.\\n\",\n      \"Probability it's a cat: 1.000000\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"img = PILImage.create(uploader.data[0])\\n\",\n    \"is_cat,_,probs = learn.predict(img)\\n\",\n    \"print(f\\\"Is this a cat?: {is_cat}.\\\")\\n\",\n    \"print(f\\\"Probability it's a cat: {probs[1].item():.6f}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations on your first classifier!\\n\",\n    \"\\n\",\n    \"But what does this mean? What did you actually do? In order to explain this, let's zoom out again to take in the big picture. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Is Machine Learning?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Your classifier is a deep learning model. As was already mentioned, deep learning models use neural networks, which originally date from the 1950s and have become powerful very recently thanks to recent advancements.\\n\",\n    \"\\n\",\n    \"Another key piece of context is that deep learning is just a modern area in the more general discipline of *machine learning*. To understand the essence of what you did when you trained your own classification model, you don't need to understand deep learning. It is enough to see how your model and your training process are examples of the concepts that apply to machine learning in general.\\n\",\n    \"\\n\",\n    \"So in this section, we will describe what machine learning is. We will look at the key concepts, and show how they can be traced back to the original essay that introduced them.\\n\",\n    \"\\n\",\n    \"*Machine learning* is, like regular programming, a way to get computers to complete a specific task. But how would we use regular programming to do what we just did in the last section: recognize dogs versus cats in photos? We would have to write down for the computer the exact steps necessary to complete the task.\\n\",\n    \"\\n\",\n    \"Normally, it's easy enough for us to write down the steps to complete a task when we're writing a program. We just think about the steps we'd take if we had to do the task by hand, and then we translate them into code. For instance, we can write a function that sorts a list. In general, we'd write a function that looks something like <<basic_program>> (where *inputs* might be an unsorted list, and *results* a sorted list).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"285pt\\\" height=\\\"58pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 284.59 58.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 54)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-54 280.59,-54 280.59,4 -4,4\\\"/>\\n\",\n       \"<!-- program -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>program</title>\\n\",\n       \"<polygon fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"172.99,-50 104.99,-50 100.99,-46 100.99,0 168.99,0 172.99,-4 172.99,-50\\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 100.99,-46 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 168.99,0 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 172.99,-50 \\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"136.99\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">program</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- results -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>results</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"242.79\\\" cy=\\\"-25\\\" rx=\\\"33.6\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"242.79\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">results</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- program&#45;&gt;results -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>program&#45;&gt;results</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M173.14,-25C181.33,-25 190.15,-25 198.65,-25\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"198.79,-28.5 208.79,-25 198.79,-21.5 198.79,-28.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>inputs</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"32.5\\\" cy=\\\"-25\\\" rx=\\\"32.49\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"32.5\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">inputs</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs&#45;&gt;program -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>inputs&#45;&gt;program</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M65.09,-25C73.11,-25 81.9,-25 90.47,-25\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"90.76,-28.5 100.76,-25 90.76,-21.5 90.76,-28.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7efcac7fe710>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#caption A traditional program\\n\",\n    \"#id basic_program\\n\",\n    \"#alt Pipeline inputs, program, results\\n\",\n    \"gv('''program[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->program->results''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But for recognizing objects in a photo that's a bit tricky; what *are* the steps we take when we recognize an object in a picture? We really don't know, since it all happens in our brain without us being consciously aware of it!\\n\",\n    \"\\n\",\n    \"Right back at the dawn of computing, in 1949, an IBM researcher named Arthur Samuel started working on a different way to get computers to complete tasks, which he called *machine learning*. In his classic 1962 essay \\\"Artificial Intelligence: A Frontier of Automation\\\", he wrote:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Programming a computer for such computations is, at best, a difficult task, not primarily because of any inherent complexity in the computer itself but, rather, because of the need to spell out every minute step of the process in the most exasperating detail. Computers, as any programmer will tell you, are giant morons, not giant brains.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"His basic idea was this: instead of telling the computer the exact steps required to solve a problem, show it examples of the problem to solve, and let it figure out how to solve it itself. This turned out to be very effective: by 1961 his checkers-playing program had learned so much that it beat the Connecticut state champion! Here's how he described his idea (from the same essay as above):\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Suppose we arrange for some automatic means of testing the effectiveness of any current weight assignment in terms of actual performance and provide a mechanism for altering the weight assignment so as to maximize the performance. We need not go into the details of such a procedure to see that it could be made entirely automatic and to see that a machine so programmed would \\\"learn\\\" from its experience.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are a number of powerful concepts embedded in this short statement: \\n\",\n    \"\\n\",\n    \"- The idea of a \\\"weight assignment\\\" \\n\",\n    \"- The fact that every weight assignment has some \\\"actual performance\\\"\\n\",\n    \"- The requirement that there be an \\\"automatic means\\\" of testing that performance,  \\n\",\n    \"- The need for a \\\"mechanism\\\" (i.e., another automatic process) for improving the performance by changing the weight assignments\\n\",\n    \"\\n\",\n    \"Let us take these concepts one by one, in order to understand how they fit together in practice. First, we need to understand what Samuel means by a *weight assignment*.\\n\",\n    \"\\n\",\n    \"Weights are just variables, and a weight assignment is a particular choice of values for those variables. The program's inputs are values that it processes in order to produce its results—for instance, taking image pixels as inputs, and returning the classification \\\"dog\\\" as a result. The program's weight assignments are other values that define how the program will operate.\\n\",\n    \"\\n\",\n    \"Since they will affect the program they are in a sense another kind of input, so we will update our basic picture in <<basic_program>> and replace it with <<weight_assignment>> in order to take this into account.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"296pt\\\" height=\\\"98pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 296.29 98.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 94)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-94 292.29,-94 292.29,4 -4,4\\\"/>\\n\",\n       \"<!-- model -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>model</title>\\n\",\n       \"<polygon fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"184.69,-70 116.69,-70 112.69,-66 112.69,-20 180.69,-20 184.69,-24 184.69,-70\\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"180.69,-66 112.69,-66 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"180.69,-66 180.69,-20 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"180.69,-66 184.69,-70 \\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"148.69\\\" y=\\\"-41.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">model</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- results -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>results</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"254.49\\\" cy=\\\"-45\\\" rx=\\\"33.6\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"254.49\\\" y=\\\"-41.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">results</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- model&#45;&gt;results -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>model&#45;&gt;results</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M184.83,-45C193.03,-45 201.85,-45 210.35,-45\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"210.49,-48.5 220.49,-45 210.49,-41.5 210.49,-48.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>inputs</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"38.35\\\" cy=\\\"-72\\\" rx=\\\"32.49\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"38.35\\\" y=\\\"-68.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">inputs</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>inputs&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M68.38,-64.76C78.85,-62.15 90.94,-59.14 102.46,-56.27\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"103.54,-59.61 112.39,-53.8 101.84,-52.82 103.54,-59.61\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- weights -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>weights</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"38.35\\\" cy=\\\"-18\\\" rx=\\\"38.19\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"38.35\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">weights</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- weights&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>weights&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M72.44,-26.25C81.96,-28.62 92.51,-31.25 102.63,-33.77\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"101.99,-37.22 112.54,-36.24 103.69,-30.43 101.99,-37.22\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7efcae0c5250>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#caption A program using weight assignment\\n\",\n    \"#id weight_assignment\\n\",\n    \"gv('''model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results; weights->model''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've changed the name of our box from *program* to *model*. This is to follow modern terminology and to reflect that the *model* is a special kind of program: it's one that can do *many different things*, depending on the *weights*. It can be implemented in many different ways. For instance, in Samuel's checkers program, different values of the weights would result in different checkers-playing strategies. \\n\",\n    \"\\n\",\n    \"(By the way, what Samuel called \\\"weights\\\" are most generally referred to as model *parameters* these days, in case you have encountered that term. The term *weights* is reserved for a particular type of model parameter.)\\n\",\n    \"\\n\",\n    \"Next, Samuel said we need an *automatic means of testing the effectiveness of any current weight assignment in terms of actual performance*. In the case of his checkers program, the \\\"actual performance\\\" of a model would be how well it plays. And you could automatically test the performance of two models by setting them to play against each other, and seeing which one usually wins.\\n\",\n    \"\\n\",\n    \"Finally, he says we need *a mechanism for altering the weight assignment so as to maximize the performance*. For instance, we could look at the difference in weights between the winning model and the losing model, and adjust the weights a little further in the winning direction.\\n\",\n    \"\\n\",\n    \"We can now see why he said that such a procedure *could be made entirely automatic and... a machine so programmed would \\\"learn\\\" from its experience*. Learning would become entirely automatic when the adjustment of the weights was also automatic—when instead of us improving a model by adjusting its weights manually, we relied on an automated mechanism that produced adjustments based on performance.\\n\",\n    \"\\n\",\n    \"<<training_loop>> shows the full picture of Samuel's idea of training a machine learning model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"483pt\\\" height=\\\"98pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 483.08 98.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 94)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-94 479.08,-94 479.08,4 -4,4\\\"/>\\n\",\n       \"<!-- model -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>model</title>\\n\",\n       \"<polygon fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"185.69,-77 117.69,-77 113.69,-73 113.69,-27 181.69,-27 185.69,-31 185.69,-77\\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"181.69,-73 113.69,-73 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"181.69,-73 181.69,-27 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"181.69,-73 185.69,-77 \\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"149.69\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">model</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- results -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>results</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"292.49\\\" cy=\\\"-52\\\" rx=\\\"33.6\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"292.49\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">results</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- model&#45;&gt;results -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>model&#45;&gt;results</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M185.86,-52C204.73,-52 228.14,-52 248.13,-52\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"248.22,-55.5 258.22,-52 248.22,-48.5 248.22,-55.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>inputs</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"38.35\\\" cy=\\\"-72\\\" rx=\\\"32.49\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"38.35\\\" y=\\\"-68.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">inputs</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>inputs&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M69.52,-66.48C80.08,-64.55 92.18,-62.34 103.68,-60.23\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"104.39,-63.66 113.59,-58.42 103.13,-56.78 104.39,-63.66\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- performance -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>performance</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"419.18\\\" cy=\\\"-52\\\" rx=\\\"55.79\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"419.18\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">performance</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- results&#45;&gt;performance -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>results&#45;&gt;performance</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M326.58,-52C334.84,-52 344,-52 353.23,-52\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"353.23,-55.5 363.23,-52 353.23,-48.5 353.23,-55.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- weights -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>weights</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"38.35\\\" cy=\\\"-18\\\" rx=\\\"38.19\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"38.35\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">weights</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- weights&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>weights&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M70.68,-27.74C81.03,-30.96 92.75,-34.61 103.9,-38.07\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"102.92,-41.43 113.51,-41.06 105,-34.75 102.92,-41.43\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- performance&#45;&gt;weights -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>performance&#45;&gt;weights</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M380.65,-38.79C364.18,-33.57 344.49,-28.08 326.29,-25 242.8,-10.86 143.72,-12.41 86.54,-15.05\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"86.17,-11.56 76.36,-15.55 86.52,-18.55 86.17,-11.56\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"222.19\\\" y=\\\"-19.8\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">update</text>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7efcac812410>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#caption Training a machine learning model\\n\",\n    \"#id training_loop\\n\",\n    \"#alt The basic training loop\\n\",\n    \"gv('''ordering=in\\n\",\n    \"model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results; weights->model; results->performance\\n\",\n    \"performance->weights[constraint=false label=update]''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice the distinction between the model's *results*  (e.g., the moves in a checkers game) and its *performance* (e.g., whether it wins the game, or how quickly it wins). \\n\",\n    \"\\n\",\n    \"Also note that once the model is trained—that is, once we've chosen our final, best, favorite weight assignment—then we can think of the weights as being *part of the model*, since we're not varying them any more.\\n\",\n    \"\\n\",\n    \"Therefore, actually *using* a model after it's trained looks like <<using_model>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"285pt\\\" height=\\\"58pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 284.59 58.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 54)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-54 280.59,-54 280.59,4 -4,4\\\"/>\\n\",\n       \"<!-- model -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>model</title>\\n\",\n       \"<polygon fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"172.99,-50 104.99,-50 100.99,-46 100.99,0 168.99,0 172.99,-4 172.99,-50\\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 100.99,-46 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 168.99,0 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"168.99,-46 172.99,-50 \\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"136.99\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">model</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- results -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>results</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"242.79\\\" cy=\\\"-25\\\" rx=\\\"33.6\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"242.79\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">results</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- model&#45;&gt;results -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>model&#45;&gt;results</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M173.14,-25C181.33,-25 190.15,-25 198.65,-25\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"198.79,-28.5 208.79,-25 198.79,-21.5 198.79,-28.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>inputs</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"32.5\\\" cy=\\\"-25\\\" rx=\\\"32.49\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"32.5\\\" y=\\\"-21.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">inputs</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>inputs&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M65.09,-25C73.11,-25 81.9,-25 90.47,-25\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"90.76,-28.5 100.76,-25 90.76,-21.5 90.76,-28.5\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7efcac8129d0>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#caption Using a trained model as a program\\n\",\n    \"#id using_model\\n\",\n    \"gv('''model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This looks identical to our original diagram in <<basic_program>>, just with the word *program* replaced with *model*. This is an important insight: *a trained model can be treated just like a regular computer program*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Machine Learning: The training of programs developed by allowing a computer to learn from its experience, rather than through manually coding the individual steps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Is a Neural Network?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's not too hard to imagine what the model might look like for a checkers program. There might be a range of checkers strategies encoded, and some kind of search mechanism, and then the weights could vary how strategies are selected, what parts of the board are focused on during a search, and so forth. But it's not at all obvious what the model might look like for an image recognition program, or for understanding text, or for many other interesting problems we might imagine.\\n\",\n    \"\\n\",\n    \"What we would like is some kind of function that is so flexible that it could be used to solve any given problem, just by varying its weights. Amazingly enough, this function actually exists! It's the neural network, which we already discussed. That is, if you regard a neural network as a mathematical function, it turns out to be a function which is extremely flexible depending on its weights. A mathematical proof called the *universal approximation theorem* shows that this function can solve any problem to any level of accuracy, in theory. The fact that neural networks are so flexible means that, in practice, they are often a suitable kind of model, and you can focus your effort on the process of training them—that is, of finding good weight assignments.\\n\",\n    \"\\n\",\n    \"But what about that process?  One could imagine that you might need to find a new \\\"mechanism\\\" for automatically updating weights for every problem. This would be laborious. What we'd like here as well is a completely general way to update the weights of a neural network, to make it improve at any given task. Conveniently, this also exists!\\n\",\n    \"\\n\",\n    \"This is called *stochastic gradient descent* (SGD). We'll see how neural networks and SGD work in detail in <<chapter_mnist_basics>>, as well as explaining the universal approximation theorem. For now, however, we will instead use Samuel's own words: *We need not go into the details of such a procedure to see that it could be made entirely automatic and to see that a machine so programmed would \\\"learn\\\" from its experience.*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: Don't worry, neither SGD nor neural nets are mathematically complex. Both nearly entirely rely on addition and multiplication to do their work (but they do a _lot_ of addition and multiplication!). The main reaction we hear from students when they see the details is: \\\"Is that all it is?\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In other words, to recap, a neural network is a particular kind of machine learning model, which fits right in to Samuel's original conception. Neural networks are special because they are highly flexible, which means they can solve an unusually wide range of problems just by finding the right weights. This is powerful, because stochastic gradient descent provides us a way to find those weight values automatically.\\n\",\n    \"\\n\",\n    \"Having zoomed out, let's now zoom back in and revisit our image classification problem using Samuel's framework.\\n\",\n    \"\\n\",\n    \"Our inputs are the images. Our weights are the weights in the neural net. Our model is a neural net. Our results are the values that are calculated by the neural net, like \\\"dog\\\" or \\\"cat.\\\"\\n\",\n    \"\\n\",\n    \"What about the next piece, an *automatic means of testing the effectiveness of any current weight assignment in terms of actual performance*? Determining \\\"actual performance\\\" is easy enough: we can simply define our model's performance as its accuracy at predicting the correct answers.\\n\",\n    \"\\n\",\n    \"Putting this all together, and assuming that SGD is our mechanism for updating the weight assignments, we can see how our image classifier is a machine learning model, much like Samuel envisioned.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Bit of Deep Learning Jargon\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Samuel was working in the 1960s, and since then terminology has changed. Here is the modern deep learning terminology for all the pieces we have discussed:\\n\",\n    \"\\n\",\n    \"- The functional form of the *model* is called its *architecture* (but be careful—sometimes people use *model* as a synonym of *architecture*, so this can get confusing).\\n\",\n    \"- The *weights* are called *parameters*.\\n\",\n    \"- The *predictions* are calculated from the *independent variable*, which is the *data* not including the *labels*.\\n\",\n    \"- The *results* of the model are called *predictions*.\\n\",\n    \"- The measure of *performance* is called the *loss*.\\n\",\n    \"- The loss depends not only on the predictions, but also the correct *labels* (also known as *targets* or the *dependent variable*); e.g., \\\"dog\\\" or \\\"cat.\\\"\\n\",\n    \"\\n\",\n    \"After making these changes, our diagram in <<training_loop>> looks like <<detailed_loop>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"489pt\\\" height=\\\"134pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 489.18 134.36\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 130.36)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-130.36 485.18,-130.36 485.18,4 -4,4\\\"/>\\n\",\n       \"<!-- model -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>model</title>\\n\",\n       \"<polygon fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"217.09,-79.36 141.09,-79.36 137.09,-75.36 137.09,-29.36 213.09,-29.36 217.09,-33.36 217.09,-79.36\\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"213.09,-75.36 137.09,-75.36 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"213.09,-75.36 213.09,-29.36 \\\"/>\\n\",\n       \"<polyline fill=\\\"none\\\" stroke=\\\"black\\\" points=\\\"213.09,-75.36 217.09,-79.36 \\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"177.09\\\" y=\\\"-50.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">architecture</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predictions -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>predictions</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"340.14\\\" cy=\\\"-54.36\\\" rx=\\\"50.09\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"340.14\\\" y=\\\"-50.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">predictions</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- model&#45;&gt;predictions -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>model&#45;&gt;predictions</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M217.49,-54.36C236.29,-54.36 259.19,-54.36 280.02,-54.36\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"280.06,-57.86 290.06,-54.36 280.06,-50.86 280.06,-57.86\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>inputs</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"50.05\\\" cy=\\\"-74.36\\\" rx=\\\"32.49\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"50.05\\\" y=\\\"-70.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">inputs</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- inputs&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>inputs&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M81.64,-69.47C95.15,-67.31 111.38,-64.71 126.54,-62.28\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"127.51,-65.67 136.83,-60.64 126.4,-58.76 127.51,-65.67\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss -->\\n\",\n       \"<g id=\\\"node6\\\" class=\\\"node\\\">\\n\",\n       \"<title>loss</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"454.18\\\" cy=\\\"-83.36\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"454.18\\\" y=\\\"-79.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">loss</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predictions&#45;&gt;loss -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>predictions&#45;&gt;loss</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M381.27,-64.75C393.51,-67.91 406.85,-71.37 418.68,-74.43\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"418.07,-77.89 428.63,-77 419.82,-71.11 418.07,-77.89\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- parameters -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>parameters</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"50.05\\\" cy=\\\"-20.36\\\" rx=\\\"50.09\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"50.05\\\" y=\\\"-16.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">parameters</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- parameters&#45;&gt;model -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>parameters&#45;&gt;model</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M90.61,-31.12C102.13,-34.25 114.85,-37.71 126.88,-40.98\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"126.22,-44.42 136.78,-43.67 128.05,-37.67 126.22,-44.42\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- labels -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>labels</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"black\\\" cx=\\\"340.14\\\" cy=\\\"-108.36\\\" rx=\\\"31.4\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"340.14\\\" y=\\\"-104.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">labels</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- labels&#45;&gt;loss -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>labels&#45;&gt;loss</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M369.41,-102.05C384.3,-98.73 402.69,-94.63 418.44,-91.11\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"419.35,-94.49 428.35,-88.9 417.83,-87.66 419.35,-94.49\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss&#45;&gt;parameters -->\\n\",\n       \"<g id=\\\"edge6\\\" class=\\\"edge\\\">\\n\",\n       \"<title>loss&#45;&gt;parameters</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M440.88,-67.53C429.39,-54.1 410.95,-35.74 390.18,-27.36 295.38,10.89 173.21,0.49 104.38,-10.18\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"103.53,-6.77 94.21,-11.81 104.64,-13.68 103.53,-6.77\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"253.59\\\" y=\\\"-6.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">update</text>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7efcac717550>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#caption Detailed training loop\\n\",\n    \"#id detailed_loop\\n\",\n    \"gv('''ordering=in\\n\",\n    \"model[shape=box3d width=1 height=0.7 label=architecture]\\n\",\n    \"inputs->model->predictions; parameters->model; labels->loss; predictions->loss\\n\",\n    \"loss->parameters[constraint=false label=update]''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Limitations Inherent To Machine Learning\\n\",\n    \"\\n\",\n    \"From this picture we can now see some fundamental things about training a deep learning model:\\n\",\n    \"\\n\",\n    \"- A model cannot be created without data.\\n\",\n    \"- A model can only learn to operate on the patterns seen in the input data used to train it.\\n\",\n    \"- This learning approach only creates *predictions*, not recommended *actions*.\\n\",\n    \"- It's not enough to just have examples of input data; we need *labels* for that data too (e.g., pictures of dogs and cats aren't enough to train a model; we need a label for each one, saying which ones are dogs, and which are cats).\\n\",\n    \"\\n\",\n    \"Generally speaking, we've seen that most organizations that say they don't have enough data, actually mean they don't have enough *labeled* data. If any organization is interested in doing something in practice with a model, then presumably they have some inputs they plan to run their model against. And presumably they've been doing that some other way for a while (e.g., manually, or with some heuristic program), so they have data from those processes! For instance, a radiology practice will almost certainly have an archive of medical scans (since they need to be able to check how their patients are progressing over time), but those scans may not have structured labels containing a list of diagnoses or interventions (since radiologists generally create free-text natural language reports, not structured data). We'll be discussing labeling approaches a lot in this book, because it's such an important issue in practice.\\n\",\n    \"\\n\",\n    \"Since these kinds of machine learning models can only make *predictions* (i.e., attempt to replicate labels), this can result in a significant gap between organizational goals and model capabilities. For instance, in this book you'll learn how to create a *recommendation system* that can predict what products a user might purchase. This is often used in e-commerce, such as to customize products shown on a home page by showing the highest-ranked items. But such a model is generally created by looking at a user and their buying history (*inputs*) and what they went on to buy or look at (*labels*), which means that the model is likely to tell you about products the user already has or already knows about, rather than new products that they are most likely to be interested in hearing about. That's very different to what, say, an expert at your local bookseller might do, where they ask questions to figure out your taste, and then tell you about authors or series that you've never heard of before.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another critical insight comes from considering how a model interacts with its environment. This can create *feedback loops*, as described here:\\n\",\n    \"\\n\",\n    \"- A *predictive policing* model is created based on where arrests have been made in the past. In practice, this is not actually predicting crime, but rather predicting arrests, and is therefore partially simply reflecting biases in existing policing processes.\\n\",\n    \"- Law enforcement officers then might use that model to decide where to focus their police activity, resulting in increased arrests in those areas.\\n\",\n    \"- Data on these additional arrests would then be fed back in to retrain future versions of the model.\\n\",\n    \"\\n\",\n    \"This is a *positive feedback loop*, where the more the model is used, the more biased the data becomes, making the model even more biased, and so forth.\\n\",\n    \"\\n\",\n    \"Feedback loops can also create problems in commercial settings. For instance, a video recommendation system might be biased toward recommending content consumed by the biggest watchers of video (e.g., conspiracy theorists and extremists tend to watch more online video content than the average), resulting in those users increasing their video consumption, resulting in more of those kinds of videos being recommended. We'll consider this topic more in detail in <<chapter_ethics>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that you have seen the base of the theory, let's go back to our code example and see in detail how the code corresponds to the process we just described.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### How Our Image Recognizer Works\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see just how our image recognizer code maps to these ideas. We'll put each line into a separate cell, and look at what each one is doing (we won't explain every detail of every parameter yet, but will give a description of the important bits; full details will come later in the book).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first line imports all of the fastai.vision library.\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This gives us all of the functions and classes we will need to create a wide variety of computer vision models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: A lot of Python coders recommend avoiding importing a whole library like this (using the `import *` syntax), because in large software projects it can cause problems. However, for interactive work such as in a Jupyter notebook, it works great. The fastai library is specially designed to support this kind of interactive use, and it will only import the necessary pieces into your environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The second line downloads a standard dataset from the [fast.ai datasets collection](https://docs.fast.ai/data.external.html#datasets) (if not previously downloaded) to your server, extracts it (if not previously extracted), and returns a `Path` object with the extracted location:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"path = untar_data(URLs.PETS)/'images'\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"> S: Throughout my time studying at fast.ai, and even still today, I've learned a lot about productive coding practices. The fastai library and fast.ai notebooks are full of great little tips that have helped make me a better programmer. For instance, notice that the fastai library doesn't just return a string containing the path to the dataset, but a `Path` object. This is a really useful class from the Python 3 standard library that makes accessing files and directories much easier. If you haven't come across it before, be sure to check out its documentation or a tutorial and try it out. Note that the https://book.fast.ai[website] contains links to recommended tutorials for each chapter. I'll keep letting you know about little coding tips I've found useful as we come across them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the third line we define a function, `is_cat`, which labels cats based on a filename rule provided by the dataset creators:\\n\",\n    \"```python\\n\",\n    \"def is_cat(x): return x[0].isupper()\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We use that function in the fourth line, which tells fastai what kind of dataset we have and how it is structured:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"dls = ImageDataLoaders.from_name_func(\\n\",\n    \"    path, get_image_files(path), valid_pct=0.2, seed=42,\\n\",\n    \"    label_func=is_cat, item_tfms=Resize(224))\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"There are various different classes for different kinds of deep learning datasets and problems—here we're using `ImageDataLoaders`. The first part of the class name will generally be the type of data you have, such as image, or text.\\n\",\n    \"\\n\",\n    \"The other important piece of information that we have to tell fastai is how to get the labels from the dataset. Computer vision datasets are normally structured in such a way that the label for an image is part of the filename, or path—most commonly the parent folder name. fastai comes with a number of standardized labeling methods, and ways to write your own. Here we're telling fastai to use the `is_cat` function we just defined.\\n\",\n    \"\\n\",\n    \"Finally, we define the `Transform`s that we need. A `Transform` contains code that is applied automatically during training; fastai includes many predefined `Transform`s, and adding new ones is as simple as creating a Python function. There are two kinds: `item_tfms` are applied to each item (in this case, each item is resized to a 224-pixel square), while `batch_tfms` are applied to a *batch* of items at a time using the GPU, so they're particularly fast (we'll see many examples of these throughout this book).\\n\",\n    \"\\n\",\n    \"Why 224 pixels? This is the standard size for historical reasons (old pretrained models require this size exactly), but you can pass pretty much anything. If you increase the size, you'll often get a model with better results (since it will be able to focus on more details), but at the price of speed and memory consumption; the opposite is true if you decrease the size. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> Note: Classification and Regression: _classification_ and _regression_ have very specific meanings in machine learning. These are the two main types of model that we will be investigating in this book. A classification model is one which attempts to predict a class, or category. That is, it's predicting from a number of discrete possibilities, such as \\\"dog\\\" or \\\"cat.\\\" A regression model is one which attempts to predict one or more numeric quantities, such as a temperature or a location. Sometimes people use the word _regression_ to refer to a particular kind of model called a _linear regression model_; this is a bad practice, and we won't be using that terminology in this book!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Pet dataset contains 7,390 pictures of dogs and cats, consisting of 37 different breeds. Each image is labeled using its filename: for instance the file *great\\\\_pyrenees\\\\_173.jpg* is the 173rd example of an image of a Great Pyrenees breed dog in the dataset. The filenames start with an uppercase letter if the image is a cat, and a lowercase letter otherwise. We have to tell fastai how to get labels from the filenames, which we do by calling `from_name_func` (which means that labels can be extracted using a function applied to the filename), and passing `is_cat`, which returns `x[0].isupper()`, which evaluates to `True` if the first letter is uppercase (i.e., it's a cat).\\n\",\n    \"\\n\",\n    \"The most important parameter to mention here is `valid_pct=0.2`. This tells fastai to hold out 20% of the data and *not use it for training the model at all*. This 20% of the data is called the *validation set*; the remaining 80% is called the *training set*. The validation set is used to measure the accuracy of the model. By default, the 20% that is held out is selected randomly. The parameter `seed=42` sets the *random seed* to the same value every time we run this code, which means we get the same validation set every time we run it—this way, if we change our model and retrain it, we know that any differences are due to the changes to the model, not due to having a different random validation set.\\n\",\n    \"\\n\",\n    \"fastai will *always* show you your model's accuracy using *only* the validation set, *never* the training set. This is absolutely critical, because if you train a large enough model for a long enough time, it will eventually memorize the label of every item in your dataset! The result will not actually be a useful model, because what we care about is how well our model works on *previously unseen images*. That is always our goal when creating a model: for it to be useful on data that the model only sees in the future, after it has been trained.\\n\",\n    \"\\n\",\n    \"Even when your model has not fully memorized all your data, earlier on in training it may have memorized certain parts of it. As a result, the longer you train for, the better your accuracy will get on the training set; the validation set accuracy will also improve for a while, but eventually it will start getting worse as the model starts to memorize the training set, rather than finding generalizable underlying patterns in the data. When this happens, we say that the model is *overfitting*.\\n\",\n    \"\\n\",\n    \"<<img_overfit>> shows what happens when you overfit, using a simplified example where we have just one parameter, and some randomly generated data based on the function `x**2`. As you can see, although the predictions in the overfit model are accurate for data near the observed data points, they are way off when outside of that range.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/att_00000.png\\\" alt=\\\"Example of overfitting\\\" caption=\\\"Example of overfitting\\\" id=\\\"img_overfit\\\" width=\\\"700\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Overfitting is the single most important and challenging issue** when training for all machine learning practitioners, and all algorithms. As you will see, it is very easy to create a model that does a great job at making predictions on the exact data it has been trained on, but it is much harder to make accurate predictions on data the model has never seen before. And of course, this is the data that will actually matter in practice. For instance, if you create a handwritten digit classifier (as we will very soon!) and use it to recognize numbers written on checks, then you are never going to see any of the numbers that the model was trained on—checks will have slightly different variations of writing to deal with. You will learn many methods to avoid overfitting in this book. However, you should only use those methods after you have confirmed that overfitting is actually occurring (i.e., you have actually observed the validation accuracy getting worse during training). We often see practitioners using over-fitting avoidance techniques even when they have enough data that they didn't need to do so, ending up with a model that may be less accurate than what they could have achieved.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: Validation Set: When you train a model, you must _always_ have both a training set and a validation set, and must measure the accuracy of your model only on the validation set. If you train for too long, with not enough data, you will see the accuracy of your model start to get worse; this is called _overfitting_. fastai defaults `valid_pct` to `0.2`, so even if you forget, fastai will create a validation set for you!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The fifth line of the code training our image recognizer tells fastai to create a *convolutional neural network* (CNN) and specifies what *architecture* to use (i.e. what kind of model to create), what data we want to train it on, and what *metric* to use:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Why a CNN? It's the current state-of-the-art approach to creating computer vision models. We'll be learning all about how CNNs work in this book. Their structure is inspired by how the human vision system works.\\n\",\n    \"\\n\",\n    \"There are many different architectures in fastai, which we will introduce in this book (as well as discussing how to create your own). Most of the time, however, picking an architecture isn't a very important part of the deep learning process. It's something that academics love to talk about, but in practice it is unlikely to be something you need to spend much time on. There are some standard architectures that work most of the time, and in this case we're using one called _ResNet_ that we'll be talking a lot about during the book; it is both fast and accurate for many datasets and problems. The `34` in `resnet34` refers to the number of layers in this variant of the architecture (other options are `18`, `50`, `101`, and `152`). Models using architectures with more layers take longer to train, and are more prone to overfitting (i.e. you can't train them for as many epochs before the accuracy on the validation set starts getting worse). On the other hand, when using more data, they can be quite a bit more accurate.\\n\",\n    \"\\n\",\n    \"What is a metric? A *metric* is a function that measures the quality of the model's predictions using the validation set, and will be printed at the end of each *epoch*. In this case, we're using `error_rate`, which is a function provided by fastai that does just what it says: tells you what percentage of images in the validation set are being classified incorrectly. Another common metric for classification is `accuracy` (which is just `1.0 - error_rate`). fastai provides many more, which will be discussed throughout this book.\\n\",\n    \"\\n\",\n    \"The concept of a metric may remind you of *loss*, but there is an important distinction. The entire purpose of loss is to define a \\\"measure of performance\\\" that the training system can use to update weights automatically. In other words, a good choice for loss is a choice that is easy for stochastic gradient descent to use. But a metric is defined for human consumption, so a good metric is one that is easy for you to understand, and that hews as closely as possible to what you want the model to do. At times, you might decide that the loss function is a suitable metric, but that is not necessarily the case.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`vision_learner` also has a parameter `pretrained`, which defaults to `True` (so it's used in this case, even though we haven't specified it), which sets the weights in your model to values that have already been trained by experts to recognize a thousand different categories across 1.3 million photos (using the famous [*ImageNet* dataset](http://www.image-net.org/)). A model that has weights that have already been trained on some other dataset is called a *pretrained model*. You should nearly always use a pretrained model, because it means that your model, before you've even shown it any of your data, is already very capable. And, as you'll see, in a deep learning model many of these capabilities are things you'll need, almost regardless of the details of your project. For instance, parts of pretrained models will handle edge, gradient, and color detection, which are needed for many tasks.\\n\",\n    \"\\n\",\n    \"When using a pretrained model, `vision_learner` will remove the last layer, since that is always specifically customized to the original training task (i.e. ImageNet dataset classification), and replace it with one or more new layers with randomized weights, of an appropriate size for the dataset you are working with. This last part of the model is known as the *head*.\\n\",\n    \"\\n\",\n    \"Using pretrained models is the *most* important method we have to allow us to train more accurate models, more quickly, with less data, and less time and money. You might think that would mean that using pretrained models would be the most studied area in academic deep learning... but you'd be very, very wrong! The importance of pretrained models is generally not recognized or discussed in most courses, books, or software library features, and is rarely considered in academic papers. As we write this at the start of 2020, things are just starting to change, but it's likely to take a while. So be careful: most people you speak to will probably greatly underestimate what you can do in deep learning with few resources, because they probably won't deeply understand how to use pretrained models.\\n\",\n    \"\\n\",\n    \"Using a pretrained model for a task different to what it was originally trained for is known as *transfer learning*. Unfortunately, because transfer learning is so under-studied, few domains have pretrained models available. For instance, there are currently few pretrained models available in medicine, making transfer learning challenging to use in that domain. In addition, it is not yet well understood how to use transfer learning for tasks such as time series analysis.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Transfer learning: Using a pretrained model for a task different to what it was originally trained for.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The sixth line of our code tells fastai how to *fit* the model:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"learn.fine_tune(1)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"As we've discussed, the architecture only describes a *template* for a mathematical function; it doesn't actually do anything until we provide values for the millions of parameters it contains.\\n\",\n    \"\\n\",\n    \"This is the key to deep learning—determining how to fit the parameters of a model to get it to solve your problem. In order to fit a model, we have to provide at least one piece of information: how many times to look at each image (known as number of *epochs*). The number of epochs you select will largely depend on how much time you have available, and how long you find it takes in practice to fit your model. If you select a number that is too small, you can always train for more epochs later.\\n\",\n    \"\\n\",\n    \"But why is the method called `fine_tune`, and not `fit`? fastai actually *does* have a method called `fit`, which does indeed fit a model (i.e. look at images in the training set multiple times, each time updating the parameters to make the predictions closer and closer to the target labels). But in this case, we've started with a pretrained model, and we don't want to throw away all those capabilities that it already has. As you'll learn in this book, there are some important tricks to adapt a pretrained model for a new dataset—a process called *fine-tuning*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Fine-tuning: A transfer learning technique where the parameters of a pretrained model are updated by training for additional epochs using a different task to that used for pretraining.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When you use the `fine_tune` method, fastai will use these tricks for you. There are a few parameters you can set (which we'll discuss later), but in the default form shown here, it does two steps:\\n\",\n    \"\\n\",\n    \"1. Use one epoch to fit just those parts of the model necessary to get the new random head to work correctly with your dataset.\\n\",\n    \"1. Use the number of epochs requested when calling the method to fit the entire model, updating the weights of the later layers (especially the head) faster than the earlier layers (which, as we'll see, generally don't require many changes from the pretrained weights).\\n\",\n    \"\\n\",\n    \"The *head* of a model is the part that is newly added to be specific to the new dataset. An *epoch* is one complete pass through the dataset. After calling `fit`, the results after each epoch are printed, showing the epoch number, the training and validation set losses (the \\\"measure of performance\\\" used for training the model), and any *metrics* you've requested (error rate, in this case).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, with all this code our model learned to recognize cats and dogs just from labeled examples. But how did it do it?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Our Image Recognizer Learned\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At this stage we have an image recognizer that is working very well, but we have no idea what it is actually doing! Although many people complain that deep learning results in impenetrable \\\"black box\\\" models (that is, something that gives predictions but that no one can understand), this really couldn't be further from the truth. There is a vast body of research showing how to deeply inspect deep learning models, and get rich insights from them. Having said that, all kinds of machine learning models (including deep learning, and traditional statistical models) can be challenging to fully understand, especially when considering how they will behave when coming across data that is very different to the data used to train them. We'll be discussing this issue throughout this book.\\n\",\n    \"\\n\",\n    \"In 2013 a PhD student, Matt Zeiler, and his supervisor, Rob Fergus, published the paper [\\\"Visualizing and Understanding Convolutional Networks\\\"](https://arxiv.org/pdf/1311.2901.pdf), which showed how to visualize the neural network weights learned in each layer of a model. They carefully analyzed the model that won the 2012 ImageNet competition, and used this analysis to greatly improve the model, such that they were able to go on to win the 2013 competition! <<img_layer1>> is the picture that they published of the first layer's weights.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/layer1.png\\\" alt=\\\"Activations of the first layer of a CNN\\\" width=\\\"300\\\" caption=\\\"Activations of the first layer of a CNN (courtesy of Matthew D. Zeiler and Rob Fergus)\\\" id=\\\"img_layer1\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This picture requires some explanation. For each layer, the image part with the light gray background shows the reconstructed weights pictures, and the larger section at the bottom shows the parts of the training images that most strongly matched each set of weights. For layer 1, what we can see is that the model has discovered weights that represent diagonal, horizontal, and vertical edges, as well as various different gradients. (Note that for each layer only a subset of the features are shown; in practice there are thousands across all of the layers.) These are the basic building blocks that the model has learned for computer vision. They have been widely analyzed by neuroscientists and computer vision researchers, and it turns out that these learned building blocks are very similar to the basic visual machinery in the human eye, as well as the handcrafted computer vision features that were developed prior to the days of deep learning. The next layer is represented in <<img_layer2>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/layer2.png\\\" alt=\\\"Activations of the second layer of a CNN\\\" width=\\\"800\\\" caption=\\\"Activations of the second layer of a CNN (courtesy of Matthew D. Zeiler and Rob Fergus)\\\" id=\\\"img_layer2\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For layer 2, there are nine examples of weight reconstructions for each of the features found by the model. We can see that the model has learned to create feature detectors that look for corners, repeating lines, circles, and other simple patterns. These are built from the basic building blocks developed in the first layer. For each of these, the right-hand side of the picture shows small patches from actual images which these features most closely match. For instance, the particular pattern in row 2, column 1 matches the gradients and textures associated with sunsets.\\n\",\n    \"\\n\",\n    \"<<img_layer3>> shows the image from the paper showing the results of reconstructing the features of layer 3.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter2_layer3.PNG\\\" alt=\\\"Activations of the third layer of a CNN\\\" width=\\\"800\\\" caption=\\\"Activations of the third layer of a CNN (courtesy of Matthew D. Zeiler and Rob Fergus)\\\" id=\\\"img_layer3\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see by looking at the righthand side of this picture, the features are now able to identify and match with higher-level semantic components, such as car wheels, text, and flower petals. Using these components, layers four and five can identify even higher-level concepts, as shown in <<img_layer4>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter2_layer4and5.PNG\\\" alt=\\\"Activations of layers 4 and 5 of a CNN\\\" width=\\\"800\\\" caption=\\\"Activations of layers 4 and 5 of a CNN (courtesy of Matthew D. Zeiler and Rob Fergus)\\\" id=\\\"img_layer4\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This article was studying an older model called *AlexNet* that only contained five layers. Networks developed since then can have hundreds of layers—so you can imagine how rich the features developed by these models can be! \\n\",\n    \"\\n\",\n    \"When we fine-tuned our pretrained model earlier, we adapted what those last layers focus on (flowers, humans, animals) to specialize on the cats versus dogs problem. More generally, we could specialize such a pretrained model on many different tasks. Let's have a look at some examples. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Image Recognizers Can Tackle Non-Image Tasks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"An image recognizer can, as its name suggests, only recognize images. But a lot of things can be represented as images, which means that an image recogniser can learn to complete many tasks.\\n\",\n    \"\\n\",\n    \"For instance, a sound can be converted to a spectrogram, which is a chart that shows the amount of each frequency at each time in an audio file. Fast.ai student Ethan Sutin used this approach to easily beat the published accuracy of a state-of-the-art [environmental sound detection model](https://medium.com/@etown/great-results-on-audio-classification-with-fastai-library-ccaf906c5f52) using a dataset of 8,732 urban sounds. fastai's `show_batch` clearly shows how each different sound has a quite distinctive spectrogram, as you can see in <<img_spect>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"show_batch with spectrograms of sounds\\\" width=\\\"400\\\" caption=\\\"show_batch with spectrograms of sounds\\\" id=\\\"img_spect\\\" src=\\\"images/att_00012.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A time series can easily be converted into an image by simply plotting the time series on a graph. However, it is often a good idea to try to represent your data in a way that makes it as easy as possible to pull out the most important components. In a time series, things like seasonality and anomalies are most likely to be of interest. There are various transformations available for time series data. For instance, fast.ai student Ignacio Oguiza created images from a time series dataset for olive oil classification, using a technique called Gramian Angular Difference Field (GADF); you can see the result in <<ts_image>>. He then fed those images to an image classification model just like the one you see in this chapter. His results, despite having only 30 training set images, were well over 90% accurate, and close to the state of the art.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Converting a time series into an image\\\" width=\\\"700\\\" caption=\\\"Converting a time series into an image\\\" id=\\\"ts_image\\\" src=\\\"images/att_00013.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another interesting fast.ai student project example comes from Gleb Esman. He was working on fraud detection at Splunk, using a dataset of users' mouse movements and mouse clicks. He turned these into pictures by drawing an image where the position, speed, and acceleration of the mouse pointer was displayed using coloured lines, and the clicks were displayed using [small colored circles](https://www.splunk.com/en_us/blog/security/deep-learning-with-splunk-and-tensorflow-for-security-catching-the-fraudster-in-neural-networks-with-behavioral-biometrics.html), as shown in <<splunk>>. He then fed this into an image recognition model just like the one we've used in this chapter, and it worked so well that it led to a patent for this approach to fraud analytics!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Converting computer mouse behavior to an image\\\" width=\\\"450\\\" caption=\\\"Converting computer mouse behavior to an image\\\" id=\\\"splunk\\\" src=\\\"images/att_00014.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another example comes from the paper [\\\"Malware Classification with Deep Convolutional Neural Networks\\\"](https://ieeexplore.ieee.org/abstract/document/8328749) by Mahmoud Kalash et al., which explains that \\\"the malware binary file is divided into 8-bit sequences which are then converted to equivalent decimal values. This decimal vector is reshaped and a gray-scale image is generated that represents the malware sample,\\\" like in <<malware_proc>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Malware classification process\\\" width=\\\"623\\\" caption=\\\"Malware classification process\\\" id=\\\"malware_proc\\\" src=\\\"images/att_00055.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The authors then show \\\"pictures\\\" generated through this process of malware in different categories, as shown in <<malware_eg>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Malware examples\\\" width=\\\"650\\\" caption=\\\"Malware examples\\\" id=\\\"malware_eg\\\" src=\\\"images/att_00056.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, the different types of malware look very distinctive to the human eye. The model the researchers trained based on this image representation was more accurate at malware classification than any previous approach shown in the academic literature. This suggests a good rule of thumb for converting a dataset into an image representation: if the human eye can recognize categories from the images, then a deep learning model should be able to do so too.\\n\",\n    \"\\n\",\n    \"In general, you'll find that a small number of general approaches in deep learning can go a long way, if you're a bit creative in how you represent your data! You shouldn't think of approaches like the ones described here as \\\"hacky workarounds,\\\" because actually they often (as here) beat previously state-of-the-art results. These really are the right ways to think about these problem domains.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Jargon Recap\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We just covered a lot of information so let's recap briefly, <<dljargon>> provides a handy vocabulary.\\n\",\n    \"\\n\",\n    \"```asciidoc\\n\",\n    \"[[dljargon]]\\n\",\n    \".Deep learning vocabulary\\n\",\n    \"[options=\\\"header\\\"]\\n\",\n    \"|=====\\n\",\n    \"| Term | Meaning\\n\",\n    \"|Label | The data that we're trying to predict, such as \\\"dog\\\" or \\\"cat\\\"\\n\",\n    \"|Architecture | The _template_ of the model that we're trying to fit; the actual mathematical function that we're passing the input data and parameters to\\n\",\n    \"|Model | The combination of the architecture with a particular set of parameters\\n\",\n    \"|Parameters | The values in the model that change what task it can do, and are updated through model training\\n\",\n    \"|Fit | Update the parameters of the model such that the predictions of the model using the input data match the target labels\\n\",\n    \"|Train | A synonym for _fit_\\n\",\n    \"|Pretrained model | A model that has already been trained, generally using a large dataset, and will be fine-tuned\\n\",\n    \"|Fine-tune | Update a pretrained model for a different task\\n\",\n    \"|Epoch | One complete pass through the input data\\n\",\n    \"|Loss | A measure of how good the model is, chosen to drive training via SGD\\n\",\n    \"|Metric | A measurement of how good the model is, using the validation set, chosen for human consumption\\n\",\n    \"|Validation set | A set of data held out from training, used only for measuring how good the model is\\n\",\n    \"|Training set | The data used for fitting the model; does not include any data from the validation set\\n\",\n    \"|Overfitting | Training a model in such a way that it _remembers_ specific features of the input data, rather than generalizing well to data not seen during training\\n\",\n    \"|CNN | Convolutional neural network; a type of neural network that works particularly well for computer vision tasks\\n\",\n    \"|=====\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With this vocabulary in hand, we are now in a position to bring together all the key concepts introduced so far. Take a moment to review those definitions and read the following summary. If you can follow the explanation, then you're well equipped to understand the discussions to come.\\n\",\n    \"\\n\",\n    \"*Machine learning* is a discipline where we define a program not by writing it entirely ourselves, but by learning from data. *Deep learning* is a specialty within machine learning that uses *neural networks* with multiple *layers*. *Image classification* is a representative example (also known as *image recognition*). We start with *labeled data*; that is, a set of images where we have assigned a *label* to each image indicating what it represents. Our goal is to produce a program, called a *model*, which, given a new image, will make an accurate *prediction* regarding what that new image represents.\\n\",\n    \"\\n\",\n    \"Every model starts with a choice of *architecture*, a general template for how that kind of model works internally. The process of *training* (or *fitting*) the model is the process of finding a set of *parameter values* (or *weights*) that specialize that general architecture into a model that works well for our particular kind of data. In order to define how well a model does on a single prediction, we need to define a *loss function*, which determines how we score a prediction as good or bad.\\n\",\n    \"\\n\",\n    \"To make the training process go faster, we might start with a *pretrained model*—a model that has already been trained on someone else's data. We can then adapt it to our data by training it a bit more on our data, a process called *fine-tuning*.\\n\",\n    \"\\n\",\n    \"When we train a model, a key concern is to ensure that our model *generalizes*—that is, that it learns general lessons from our data which also apply to new items it will encounter, so that it can make good predictions on those items. The risk is that if we train our model badly, instead of learning general lessons it effectively memorizes what it has already seen, and then it will make poor predictions about new images. Such a failure is called *overfitting*. In order to avoid this, we always divide our data into two parts, the *training set* and the *validation set*. We train the model by showing it only the training set and then we evaluate how well the model is doing by seeing how well it performs on items from the validation set. In this way, we check if the lessons the model learns from the training set are lessons that generalize to the validation set. In order for a person to assess how well the model is doing on the validation set overall, we define a *metric*. During the training process, when the model has seen every item in the training set, we call that an *epoch*.\\n\",\n    \"\\n\",\n    \"All these concepts apply to machine learning in general. That is, they apply to all sorts of schemes for defining a model by training it with data. What makes deep learning distinctive is a particular class of architectures: the architectures based on *neural networks*. In particular, tasks like image classification rely heavily on *convolutional neural networks*, which we will discuss shortly.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning Is Not Just for Image Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Deep learning's effectiveness for classifying images has been widely discussed in recent years, even showing _superhuman_ results on complex tasks like recognizing malignant tumors in CT scans. But it can do a lot more than this, as we will show here.\\n\",\n    \"\\n\",\n    \"For instance, let's talk about something that is critically important for autonomous vehicles: localizing objects in a picture. If a self-driving car doesn't know where a pedestrian is, then it doesn't know how to avoid one! Creating a model that can recognize the content of every individual pixel in an image is called *segmentation*. Here is how we can train a segmentation model with fastai, using a subset of the [*Camvid* dataset](http://www0.cs.ucl.ac.uk/staff/G.Brostow/papers/Brostow_2009-PRL.pdf) from the paper \\\"Semantic Object Classes in Video: A High-Definition Ground Truth Database\\\" by Gabruel J. Brostow, Julien Fauqueur, and Roberto Cipolla:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.641862</td>\\n\",\n       \"      <td>2.140568</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.624964</td>\\n\",\n       \"      <td>1.464210</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.454148</td>\\n\",\n       \"      <td>1.284032</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.342955</td>\\n\",\n       \"      <td>1.048562</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.199765</td>\\n\",\n       \"      <td>0.852787</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.078090</td>\\n\",\n       \"      <td>0.838206</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.975496</td>\\n\",\n       \"      <td>0.746806</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.892793</td>\\n\",\n       \"      <td>0.725384</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.827645</td>\\n\",\n       \"      <td>0.726778</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"path = untar_data(URLs.CAMVID_TINY)\\n\",\n    \"dls = SegmentationDataLoaders.from_label_func(\\n\",\n    \"    path, bs=8, fnames = get_image_files(path/\\\"images\\\"),\\n\",\n    \"    label_func = lambda o: path/'labels'/f'{o.stem}_P{o.suffix}',\\n\",\n    \"    codes = np.loadtxt(path/'codes.txt', dtype=str)\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"learn = unet_learner(dls, resnet34)\\n\",\n    \"learn.fine_tune(8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are not even going to walk through this code line by line, because it is nearly identical to our previous example! (Although we will be doing a deep dive into segmentation models in <<chapter_arch_details>>, along with all of the other models that we are briefly introducing in this chapter, and many, many more.)\\n\",\n    \"\\n\",\n    \"We can visualize how well it achieved its task, by asking the model to color-code each pixel of an image. As you can see, it nearly perfectly classifies every pixel in every object. For instance, notice that all of the cars are overlaid with the same color and all of the trees are overlaid with the same color (in each pair of images, the lefthand image is the ground truth label and the right is the prediction from the model):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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ookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6FpQ5loookmmuhYaNpQJppoookmOhaaNpSJJppooomOhaYNZaKJJppoomOhaUOZaKKJJproWGjaUCaaaKKJJjoWmjaUiSaaaKKJjoWmDWWiiSaaaKJjoWlDmWiiiSaa6Fho2lAmmmiiiSY6Fpo2lIkmmmiiiY6Fpg1lookmmmiiY6Fp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\\n\",\n      \"text/plain\": [\n       \"<Figure size 504x576 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.show_results(max_n=6, figsize=(7,8))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One other area where deep learning has dramatically improved in the last couple of years is natural language processing (NLP). Computers can now generate text, translate automatically from one language to another, analyze comments, label words in sentences, and much more. Here is all of the code necessary to train a model that can classify the sentiment of a movie review better than anything that existed in the world just five years ago:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.878776</td>\\n\",\n       \"      <td>0.748753</td>\\n\",\n       \"      <td>0.500400</td>\\n\",\n       \"      <td>01:27</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.679118</td>\\n\",\n       \"      <td>0.674778</td>\\n\",\n       \"      <td>0.584040</td>\\n\",\n       \"      <td>02:45</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.653671</td>\\n\",\n       \"      <td>0.670396</td>\\n\",\n       \"      <td>0.618040</td>\\n\",\n       \"      <td>02:55</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.598665</td>\\n\",\n       \"      <td>0.551815</td>\\n\",\n       \"      <td>0.718920</td>\\n\",\n       \"      <td>05:28</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.556812</td>\\n\",\n       \"      <td>0.507450</td>\\n\",\n       \"      <td>0.752480</td>\\n\",\n       \"      <td>03:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\\n\",\n    \"learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)\\n\",\n    \"learn.fine_tune(4, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#clean\\n\",\n    \"If you hit a \\\"CUDA out of memory error\\\" after running this cell, click on the menu Kernel, then restart. Instead of executing the cell above, copy and paste the following code in it:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test', bs=32)\\n\",\n    \"learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)\\n\",\n    \"learn.fine_tune(4, 1e-2)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This reduces the batch size to 32 (we will explain this later). If you keep hitting the same error, change 32 to 16.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model is using the [\\\"IMDb Large Movie Review dataset\\\"](https://ai.stanford.edu/~ang/papers/acl11-WordVectorsSentimentAnalysis.pdf) from the paper \\\"Learning Word Vectors for Sentiment Analysis\\\" by Andrew Maas et al. It works well with movie reviews of many thousands of words, but let's test it out on a very short one to see how it does its thing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('pos', tensor(1), tensor([0.0040, 0.9960]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.predict(\\\"I really liked that movie!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here we can see the model has considered the review to be positive. The second part of the result is the index of \\\"pos\\\" in our data vocabulary and the last part is the probabilities attributed to each class (99.6% for \\\"pos\\\" and 0.4% for \\\"neg\\\"). \\n\",\n    \"\\n\",\n    \"Now it's your turn! Write your own mini movie review, or copy one from the internet, and you can see what this model thinks about it. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: The Order Matters\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In a Jupyter notebook, the order in which you execute each cell is very important. It's not like Excel, where everything gets updated as soon as you type something anywhere—it has an inner state that gets updated each time you execute a cell. For instance, when you run the first cell of the notebook (with the \\\"CLICK ME\\\" comment), you create an object called `learn` that contains a model and data for an image classification problem. If we were to run the cell just shown in the text (the one that predicts if a review is good or not) straight after, we would get an error as this `learn` object does not contain a text classification model. This cell needs to be run after the one containing:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\\n\",\n    \"learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, \\n\",\n    \"                                metrics=accuracy)\\n\",\n    \"learn.fine_tune(4, 1e-2)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The outputs themselves can be deceiving, because they include the results of the last time the cell was executed; if you change the code inside a cell without executing it, the old (misleading) results will remain.\\n\",\n    \"\\n\",\n    \"Except when we mention it explicitly, the notebooks provided on the [book website](https://book.fast.ai/) are meant to be run in order, from top to bottom. In general, when experimenting, you will find yourself executing cells in any order to go fast (which is a super neat feature of Jupyter Notebook), but once you have explored and arrived at the final version of your code, make sure you can run the cells of your notebooks in order (your future self won't necessarily remember the convoluted path you took otherwise!). \\n\",\n    \"\\n\",\n    \"In command mode, pressing `0` twice will restart the *kernel* (which is the engine powering your notebook). This will wipe your state clean and make it as if you had just started in the notebook. Choose Run All Above from the Cell menu to run all cells above the point where you are. We have found this to be very useful when developing the fastai library.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you ever have any questions about a fastai method, you should use the function `doc`, passing it the method name:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"doc(learn.predict)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This will make a small window pop up with content like this:\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/doc_ex.png\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A brief one-line explanation is provided by `doc`. The \\\"Show in docs\\\" link takes you to the full documentation, where you'll find all the details and lots of examples. Also, most of fastai's methods are just a handful of lines, so you can click the \\\"source\\\" link to see exactly what's going on behind the scenes.\\n\",\n    \"\\n\",\n    \"Let's move on to something much less sexy, but perhaps significantly more widely commercially useful: building models from plain *tabular* data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Tabular: Data that is in the form of a table, such as from a spreadsheet, database, or CSV file. A tabular model is a model that tries to predict one column of a table based on information in other columns of the table.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It turns out that looks very similar too. Here is the code necessary to train a model that will predict whether a person is a high-income earner, based on their socioeconomic background:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.tabular.all import *\\n\",\n    \"path = untar_data(URLs.ADULT_SAMPLE)\\n\",\n    \"\\n\",\n    \"dls = TabularDataLoaders.from_csv(path/'adult.csv', path=path, y_names=\\\"salary\\\",\\n\",\n    \"    cat_names = ['workclass', 'education', 'marital-status', 'occupation',\\n\",\n    \"                 'relationship', 'race'],\\n\",\n    \"    cont_names = ['age', 'fnlwgt', 'education-num'],\\n\",\n    \"    procs = [Categorify, FillMissing, Normalize])\\n\",\n    \"\\n\",\n    \"learn = tabular_learner(dls, metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, we had to tell fastai which columns are *categorical* (that is, contain values that are one of a discrete set of choices, such as `occupation`) and which are *continuous* (that is, contain a number that represents a quantity, such as `age`).\\n\",\n    \"\\n\",\n    \"There is no pretrained model available for this task (in general, pretrained models are not widely available for any tabular modeling tasks, although some organizations have created them for internal use), so we don't use `fine_tune` in this case. Instead we use `fit_one_cycle`, the most commonly used method for training fastai models *from scratch* (i.e. without transfer learning):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.372397</td>\\n\",\n       \"      <td>0.357177</td>\\n\",\n       \"      <td>0.832463</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.351544</td>\\n\",\n       \"      <td>0.341505</td>\\n\",\n       \"      <td>0.841523</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.338763</td>\\n\",\n       \"      <td>0.339184</td>\\n\",\n       \"      <td>0.845670</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model is using the [*Adult* dataset](http://robotics.stanford.edu/~ronnyk/nbtree.pdf), from the paper \\\"Scaling Up the Accuracy of Naive-Bayes Classifiers: a Decision-Tree Hybrid\\\" by Rob Kohavi, which contains some demographic data about individuals (like their education, marital status, race, sex, and whether or not they have an annual income greater than \\\\$50k). The model is over 80\\\\% accurate, and took around 30 seconds to train.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's look at one more. Recommendation systems are very important, particularly in e-commerce. Companies like Amazon and Netflix try hard to recommend products or movies that users might like. Here's how to train a model that will predict movies people might like, based on their previous viewing habits, using the [MovieLens dataset](https://doi.org/10.1145/2827872):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.510897</td>\\n\",\n       \"      <td>1.410028</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.375435</td>\\n\",\n       \"      <td>1.350930</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.270062</td>\\n\",\n       \"      <td>1.173962</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.023159</td>\\n\",\n       \"      <td>0.879298</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.797398</td>\\n\",\n       \"      <td>0.739787</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.685500</td>\\n\",\n       \"      <td>0.700903</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.646508</td>\\n\",\n       \"      <td>0.686387</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.623985</td>\\n\",\n       \"      <td>0.681087</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.606319</td>\\n\",\n       \"      <td>0.676885</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.606975</td>\\n\",\n       \"      <td>0.675833</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.602670</td>\\n\",\n       \"      <td>0.675682</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from fastai.collab import *\\n\",\n    \"path = untar_data(URLs.ML_SAMPLE)\\n\",\n    \"dls = CollabDataLoaders.from_csv(path/'ratings.csv')\\n\",\n    \"learn = collab_learner(dls, y_range=(0.5,5.5))\\n\",\n    \"learn.fine_tune(10)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model is predicting movie ratings on a scale of 0.5 to 5.0 to within around 0.6 average error. Since we're predicting a continuous number, rather than a category, we have to tell fastai what range our target has, using the `y_range` parameter.\\n\",\n    \"\\n\",\n    \"Although we're not actually using a pretrained model (for the same reason that we didn't for the tabular model), this example shows that fastai lets us use `fine_tune` anyway in this case (you'll learn how and why this works in <<chapter_pet_breeds>>). Sometimes it's best to experiment with `fine_tune` versus `fit_one_cycle` to see which works best for your dataset.\\n\",\n    \"\\n\",\n    \"We can use the same `show_results` call we saw earlier to view a few examples of user and movie IDs, actual ratings, and predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>userId</th>\\n\",\n       \"      <th>movieId</th>\\n\",\n       \"      <th>rating</th>\\n\",\n       \"      <th>rating_pred</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>66.0</td>\\n\",\n       \"      <td>79.0</td>\\n\",\n       \"      <td>4.0</td>\\n\",\n       \"      <td>3.978900</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>97.0</td>\\n\",\n       \"      <td>15.0</td>\\n\",\n       \"      <td>4.0</td>\\n\",\n       \"      <td>3.851795</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>55.0</td>\\n\",\n       \"      <td>79.0</td>\\n\",\n       \"      <td>3.5</td>\\n\",\n       \"      <td>3.945623</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>98.0</td>\\n\",\n       \"      <td>91.0</td>\\n\",\n       \"      <td>4.0</td>\\n\",\n       \"      <td>4.458704</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>53.0</td>\\n\",\n       \"      <td>7.0</td>\\n\",\n       \"      <td>5.0</td>\\n\",\n       \"      <td>4.670005</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>26.0</td>\\n\",\n       \"      <td>69.0</td>\\n\",\n       \"      <td>5.0</td>\\n\",\n       \"      <td>4.319870</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>81.0</td>\\n\",\n       \"      <td>16.0</td>\\n\",\n       \"      <td>4.5</td>\\n\",\n       \"      <td>4.426761</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>80.0</td>\\n\",\n       \"      <td>7.0</td>\\n\",\n       \"      <td>4.0</td>\\n\",\n       \"      <td>4.046183</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>51.0</td>\\n\",\n       \"      <td>94.0</td>\\n\",\n       \"      <td>5.0</td>\\n\",\n       \"      <td>3.499996</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.show_results()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Datasets: Food for Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You’ve already seen quite a few models in this section, each one trained using a different dataset to do a different task. In machine learning and deep learning, we can’t do anything without data. So, the people that create datasets for us to train our models on are the (often underappreciated) heroes. Some of the most useful and important datasets are those that become important *academic baselines*; that is, datasets that are widely studied by researchers and used to compare algorithmic changes. Some of these become household names (at least, among households that train models!), such as MNIST, CIFAR-10, and ImageNet.\\n\",\n    \"\\n\",\n    \"The datasets used in this book have been selected because they provide great examples of the kinds of data that you are likely to encounter, and the academic literature has many examples of model results using these datasets to which you can compare your work.\\n\",\n    \"\\n\",\n    \"Most datasets used in this book took the creators a lot of work to build. For instance, later in the book we’ll be showing you how to create a model that can translate between French and English. The key input to this is a French/English parallel text corpus prepared back in 2009 by Professor Chris Callison-Burch of the University of Pennsylvania. This dataset contains over 20 million sentence pairs in French and English. He built the dataset in a really clever way: by crawling millions of Canadian web pages (which are often multilingual) and then using a set of simple heuristics to transform URLs of French content onto URLs pointing to the same content in English.\\n\",\n    \"\\n\",\n    \"As you look at datasets throughout this book, think about where they might have come from, and how they might have been curated. Then think about what kinds of interesting datasets you could create for your own projects. (We’ll even take you step by step through the process of creating your own image dataset soon.)\\n\",\n    \"\\n\",\n    \"fast.ai has spent a lot of time creating cut-down versions of popular datasets that are specially designed to support rapid prototyping and experimentation, and to be easier to learn with. In this book we will often start by using one of the cut-down versions and later scale up to the full-size version (just as we're doing in this chapter!). In fact, this is how the world’s top practitioners do their modeling in practice; they do most of their experimentation and prototyping with subsets of their data, and only use the full dataset when they have a good understanding of what they have to do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Each of the models we trained showed a training and validation loss. A good validation set is one of the most important pieces of the training process. Let's see why and learn how to create one.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Validation Sets and Test Sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've discussed, the goal of a model is to make predictions about data. But the model training process is fundamentally dumb. If we trained a model with all our data, and then evaluated the model using that same data, we would not be able to tell how well our model can perform on data it hasn’t seen. Without this very valuable piece of information to guide us in training our model, there is a very good chance it would become good at making predictions about that data but would perform poorly on new data.\\n\",\n    \"\\n\",\n    \"To avoid this, our first step was to split our dataset into two sets: the *training set* (which our model sees in training) and the *validation set*, also known as the *development set* (which is used only for evaluation). This lets us test that the model learns lessons from the training data that generalize to new data, the validation data.\\n\",\n    \"\\n\",\n    \"One way to understand this situation is that, in a sense, we don't want our model to get good results by \\\"cheating.\\\" If it makes an accurate prediction for a data item, that should be because it has learned characteristics of that kind of item, and not because the model has been shaped by *actually having seen that particular item*.\\n\",\n    \"\\n\",\n    \"Splitting off our validation data means our model never sees it in training and so is completely untainted by it, and is not cheating in any way. Right?\\n\",\n    \"\\n\",\n    \"In fact, not necessarily. The situation is more subtle. This is because in realistic scenarios we rarely build a model just by training its weight parameters once. Instead, we are likely to explore many versions of a model through various modeling choices regarding network architecture, learning rates, data augmentation strategies, and other factors we will discuss in upcoming chapters. Many of these choices can be described as choices of *hyperparameters*. The word reflects that they are parameters about parameters, since they are the higher-level choices that govern the meaning of the weight parameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The problem is that even though the ordinary training process is only looking at predictions on the training data when it learns values for the weight parameters, the same is not true of us. We, as modelers, are evaluating the model by looking at predictions on the validation data when we decide to explore new hyperparameter values! So subsequent versions of the model are, indirectly, shaped by us having seen the validation data. Just as the automatic training process is in danger of overfitting the training data, we are in danger of overfitting the validation data through human trial and error and exploration.\\n\",\n    \"\\n\",\n    \"The solution to this conundrum is to introduce another level of even more highly reserved data, the *test set*. Just as we hold back the validation data from the training process, we must hold back the test set data even from ourselves. It cannot be used to improve the model; it can only be used to evaluate the model at the very end of our efforts. In effect, we define a hierarchy of cuts of our data, based on how fully we want to hide it from training and modeling processes: training data is fully exposed, the validation data is less exposed, and test data is totally hidden. This hierarchy parallels the different kinds of modeling and evaluation processes themselves—the automatic training process with back propagation, the more manual process of trying different hyper-parameters between training sessions, and the assessment of our final result.\\n\",\n    \"\\n\",\n    \"The test and validation sets should have enough data to ensure that you get a good estimate of your accuracy. If you're creating a cat detector, for instance, you generally want at least 30 cats in your validation set. That means that if you have a dataset with thousands of items, using the default 20% validation set size may be more than you need. On the other hand, if you have lots of data, using some of it for validation probably doesn't have any downsides.\\n\",\n    \"\\n\",\n    \"Having two levels of \\\"reserved data\\\"—a validation set and a test set, with one level representing data that you are virtually hiding from yourself—may seem a bit extreme. But the reason it is often necessary is because models tend to gravitate toward the simplest way to do good predictions (memorization), and we as fallible humans tend to gravitate toward fooling ourselves about how well our models are performing. The discipline of the test set helps us keep ourselves intellectually honest. That doesn't mean we *always* need a separate test set—if you have very little data, you may need to just have a validation set—but generally it's best to use one if at all possible.\\n\",\n    \"\\n\",\n    \"This same discipline can be critical if you intend to hire a third party to perform modeling work on your behalf. A third party might not understand your requirements accurately, or their incentives might even encourage them to misunderstand them. A good test set can greatly mitigate these risks and let you evaluate whether their work solves your actual problem.\\n\",\n    \"\\n\",\n    \"To put it bluntly, if you're a senior decision maker in your organization (or you're advising senior decision makers), the most important takeaway is this: if you ensure that you really understand what test and validation sets are and why they're important, then you'll avoid the single biggest source of failures we've seen when organizations decide to use AI. For instance, if you're considering bringing in an external vendor or service, make sure that you hold out some test data that the vendor *never gets to see*. Then *you* check their model on your test data, using a metric that *you* choose based on what actually matters to you in practice, and *you* decide what level of performance is adequate. (It's also a good idea for you to try out some simple baseline yourself, so you know what a really simple model can achieve. Often it'll turn out that your simple model performs just as well as one produced by an external \\\"expert\\\"!)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Use Judgment in Defining Test Sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To do a good job of defining a validation set (and possibly a test set), you will sometimes want to do more than just randomly grab a fraction of your original dataset. Remember: a key property of the validation and test sets is that they must be representative of the new data you will see in the future. This may sound like an impossible order! By definition, you haven’t seen this data yet. But you usually still do know some things.\\n\",\n    \"\\n\",\n    \"It's instructive to look at a few example cases. Many of these examples come from predictive modeling competitions on the [Kaggle](https://www.kaggle.com/) platform, which is a good representation of problems and methods you might see in practice.\\n\",\n    \"\\n\",\n    \"One case might be if you are looking at time series data. For a time series, choosing a random subset of the data will be both too easy (you can look at the data both before and after the dates you are trying to predict) and not representative of most business use cases (where you are using historical data to build a model for use in the future). If your data includes the date and you are building a model to use in the future, you will want to choose a continuous section with the latest dates as your validation set (for instance, the last two weeks or last month of available data).\\n\",\n    \"\\n\",\n    \"Suppose you want to split the time series data in <<timeseries1>> into training and validation sets.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/timeseries1.png\\\" width=\\\"400\\\" id=\\\"timeseries1\\\" caption=\\\"A time series\\\" alt=\\\"A serie of values\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A random subset is a poor choice (too easy to fill in the gaps, and not indicative of what you'll need in production), as we can see in <<timeseries2>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/timeseries2.png\\\" width=\\\"400\\\" id=\\\"timeseries2\\\" caption=\\\"A poor training subset\\\" alt=\\\"Random training subset\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Instead, use the earlier data as your training set (and the later data for the validation set), as shown in <<timeseries3>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/timeseries3.png\\\" width=\\\"400\\\" id=\\\"timeseries3\\\" caption=\\\"A good training subset\\\" alt=\\\"Training subset using the data up to a certain timestamp\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For example, Kaggle had a competition to [predict the sales in a chain of Ecuadorian grocery stores](https://www.kaggle.com/c/favorita-grocery-sales-forecasting). Kaggle's training data ran from Jan 1 2013 to Aug 15 2017, and the test data spanned Aug 16 2017 to Aug 31 2017. That way, the competition organizer ensured that entrants were making predictions for a time period that was *in the future*, from the perspective of their model. This is similar to the way quant hedge fund traders do *back-testing* to check whether their models are predictive of future periods, based on past data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A second common case is when you can easily anticipate ways the data you will be making predictions for in production may be *qualitatively different* from the data you have to train your model with.\\n\",\n    \"\\n\",\n    \"In the Kaggle [distracted driver competition](https://www.kaggle.com/c/state-farm-distracted-driver-detection), the independent variables are pictures of drivers at the wheel of a car, and the dependent variables are categories such as texting, eating, or safely looking ahead. Lots of pictures are of the same drivers in different positions, as we can see in <<img_driver>>. If you were an insurance company building a model from this data, note that you would be most interested in how the model performs on drivers it hasn't seen before (since you would likely have training data only for a small group of people). In recognition of this, the test data for the competition consists of images of people that don't appear in the training set.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/driver.PNG\\\" width=\\\"600\\\" id=\\\"img_driver\\\" caption=\\\"Two pictures from the training data\\\" alt=\\\"Two pictures from the training data, showing the same driver\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you put one of the images in <<img_driver>> in your training set and one in the validation set, your model will have an easy time making a prediction for the one in the validation set, so it will seem to be performing better than it would on new people. Another perspective is that if you used all the people in training your model, your model might be overfitting to particularities of those specific people, and not just learning the states (texting, eating, etc.).\\n\",\n    \"\\n\",\n    \"A similar dynamic was at work in the [Kaggle fisheries competition](https://www.kaggle.com/c/the-nature-conservancy-fisheries-monitoring) to identify the species of fish caught by fishing boats in order to reduce illegal fishing of endangered populations.  The test set consisted of boats that didn't appear in the training data.  This means that you'd want your validation set to include boats that are not in the training set.\\n\",\n    \"\\n\",\n    \"Sometimes it may not be clear how your validation data will differ.  For instance, for a problem using satellite imagery, you'd need to gather more information on whether the training set just contained certain geographic locations, or if it came from geographically scattered data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that you have gotten a taste of how to build a model, you can decide what you want to dig into next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A _Choose Your Own Adventure_ moment\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you would like to learn more about how to use deep learning models in practice, including how to identify and fix errors, create a real working web application, and avoid your model causing unexpected harm to your organization or society more generally, then keep reading the next two chapters. If you would like to start learning the foundations of how deep learning works under the hood, skip to <<chapter_mnist_basics>>. (Did you ever read _Choose Your Own Adventure_ books as a kid? Well, this is kind of like that… except with more deep learning than that book series contained.)\\n\",\n    \"\\n\",\n    \"You will need to read all these chapters to progress further in the book, but it is totally up to you which order you read them in. They don't depend on each other. If you skip ahead to <<chapter_mnist_basics>>, we will remind you at the end to come back and read the chapters you skipped over before you go any further.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It can be hard to know in pages and pages of prose what the key things are that you really need to focus on and remember. So, we've prepared a list of questions and suggested steps to complete at the end of each chapter. All the answers are in the text of the chapter, so if you're not sure about anything here, reread that part of the text and make sure you understand it. Answers to all these questions are also available on the [book's website](https://book.fast.ai). You can also visit [the forums](https://forums.fast.ai) if you get stuck to get help from other folks studying this material.\\n\",\n    \"\\n\",\n    \"For more questions, including detailed answers and links to the video timeline, have a look at Radek Osmulski's [aiquizzes](http://aiquizzes.com/howto).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Do you need these for deep learning?\\n\",\n    \"\\n\",\n    \"   - Lots of math T / F\\n\",\n    \"   - Lots of data T / F\\n\",\n    \"   - Lots of expensive computers T / F\\n\",\n    \"   - A PhD T / F\\n\",\n    \"   \\n\",\n    \"1. Name five areas where deep learning is now the best in the world.\\n\",\n    \"1. What was the name of the first device that was based on the principle of the artificial neuron?\\n\",\n    \"1. Based on the book of the same name, what are the requirements for parallel distributed processing (PDP)?\\n\",\n    \"1. What were the two theoretical misunderstandings that held back the field of neural networks?\\n\",\n    \"1. What is a GPU?\\n\",\n    \"1. Open a notebook and execute a cell containing: `1+1`. What happens?\\n\",\n    \"1. Follow through each cell of the stripped version of the notebook for this chapter. Before executing each cell, guess what will happen.\\n\",\n    \"1. Complete the Jupyter Notebook online appendix.\\n\",\n    \"1. Why is it hard to use a traditional computer program to recognize images in a photo?\\n\",\n    \"1. What did Samuel mean by \\\"weight assignment\\\"?\\n\",\n    \"1. What term do we normally use in deep learning for what Samuel called \\\"weights\\\"?\\n\",\n    \"1. Draw a picture that summarizes Samuel's view of a machine learning model.\\n\",\n    \"1. Why is it hard to understand why a deep learning model makes a particular prediction?\\n\",\n    \"1. What is the name of the theorem that shows that a neural network can solve any mathematical problem to any level of accuracy?\\n\",\n    \"1. What do you need in order to train a model?\\n\",\n    \"1. How could a feedback loop impact the rollout of a predictive policing model?\\n\",\n    \"1. Do we always have to use 224×224-pixel images with the cat recognition model?\\n\",\n    \"1. What is the difference between classification and regression?\\n\",\n    \"1. What is a validation set? What is a test set? Why do we need them?\\n\",\n    \"1. What will fastai do if you don't provide a validation set?\\n\",\n    \"1. Can we always use a random sample for a validation set? Why or why not?\\n\",\n    \"1. What is overfitting? Provide an example.\\n\",\n    \"1. What is a metric? How does it differ from \\\"loss\\\"?\\n\",\n    \"1. How can pretrained models help?\\n\",\n    \"1. What is the \\\"head\\\" of a model?\\n\",\n    \"1. What kinds of features do the early layers of a CNN find? How about the later layers?\\n\",\n    \"1. Are image models only useful for photos?\\n\",\n    \"1. What is an \\\"architecture\\\"?\\n\",\n    \"1. What is segmentation?\\n\",\n    \"1. What is `y_range` used for? When do we need it?\\n\",\n    \"1. What are \\\"hyperparameters\\\"?\\n\",\n    \"1. What's the best way to avoid failures when using AI in an organization?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Each chapter also has a \\\"Further Research\\\" section that poses questions that aren't fully answered in the text, or gives more advanced assignments. Answers to these questions aren't on the book's website; you'll need to do your own research!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why is a GPU useful for deep learning? How is a CPU different, and why is it less effective for deep learning?\\n\",\n    \"1. Try to think of three areas where feedback loops might impact the use of machine learning. See if you can find documented examples of that happening in practice.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "02_production.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from fastai.vision.widgets import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_production]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# From Model to Production\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The six lines of code we saw in <<chapter_intro>> are just one small part of the process of using deep learning in practice. In this chapter, we're going to use a computer vision example to look at the end-to-end process of creating a deep learning application. More specifically, we're going to build a bear classifier! In the process, we'll discuss the capabilities and constraints of deep learning, explore how to create datasets, look at possible gotchas when using deep learning in practice, and more. Many of the key points will apply equally well to other deep learning problems, such as those in <<chapter_intro>>. If you work through a problem similar in key respects to our example problems, we expect you to get excellent results with little code, quickly.\\n\",\n    \"\\n\",\n    \"Let's start with how you should frame your problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Practice of Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've seen that deep learning can solve a lot of challenging problems quickly and with little code. As a beginner, there's a sweet spot of problems that are similar enough to our example problems that you can very quickly get extremely useful results. However, deep learning isn't magic! The same 6 lines of code won't work for every problem anyone can think of today. Underestimating the constraints and overestimating the capabilities of deep learning may lead to frustratingly poor results, at least until you gain some experience and can solve the problems that arise. Conversely, overestimating the constraints and underestimating the capabilities of deep learning may mean you do not attempt a solvable problem because you talk yourself out of it. \\n\",\n    \"\\n\",\n    \"We often talk to people who underestimate both the constraints and the capabilities of deep learning. Both of these can be problems: underestimating the capabilities means that you might not even try things that could be very beneficial, and underestimating the constraints might mean that you fail to consider and react to important issues.\\n\",\n    \"\\n\",\n    \"The best thing to do is to keep an open mind. If you remain open to the possibility that deep learning might solve part of your problem with less data or complexity than you expect, then it is possible to design a process where you can find the specific capabilities and constraints related to your particular problem as you work through the process. This doesn't mean making any risky bets — we will show you how you can gradually roll out models so that they don't create significant risks, and can even backtest them prior to putting them in production.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Starting Your Project\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So where should you start your deep learning journey? The most important thing is to ensure that you have some project to work on—it is only through working on your own projects that you will get real experience building and using models. When selecting a project, the most important consideration is data availability. Regardless of whether you are doing a project just for your own learning or for practical application in your organization, you want something where you can get started quickly. We have seen many students, researchers, and industry practitioners waste months or years while they attempt to find their perfect dataset. The goal is not to find the \\\"perfect\\\" dataset or project, but just to get started and iterate from there.\\n\",\n    \"\\n\",\n    \"If you take this approach, then you will be on your third iteration of learning and improving while the perfectionists are still in the planning stages!\\n\",\n    \"\\n\",\n    \"We also suggest that you iterate from end to end in your project; that is, don't spend months fine-tuning your model, or polishing the perfect GUI, or labelling the perfect dataset… Instead, complete every step as well as you can in a reasonable amount of time, all the way to the end. For instance, if your final goal is an application that runs on a mobile phone, then that should be what you have after each iteration. But perhaps in the early iterations you take some shortcuts, for instance by doing all of the processing on a remote server, and using a simple responsive web application. By completing the project end to end, you will see where the trickiest bits are, and which bits make the biggest difference to the final result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you work through this book, we suggest that you complete lots of small experiments, by running and adjusting the notebooks we provide, at the same time that you gradually develop your own projects. That way, you will be getting experience with all of the tools and techniques that we're explaining, as we discuss them.\\n\",\n    \"\\n\",\n    \"> s: To make the most of this book, take the time to experiment between each chapter, be it on your own project or by exploring the notebooks we provide. Then try rewriting those notebooks from scratch on a new dataset. It's only by practicing (and failing) a lot that you will get an intuition of how to train a model.  \\n\",\n    \"\\n\",\n    \"By using the end-to-end iteration approach you will also get a better understanding of how much data you really need. For instance, you may find you can only easily get 200 labeled data items, and you can't really know until you try whether that's enough to get the performance you need for your application to work well in practice.\\n\",\n    \"\\n\",\n    \"In an organizational context you will be able to show your colleagues that your idea can really work by showing them a real working prototype. We have repeatedly observed that this is the secret to getting good organizational buy-in for a project.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since it is easiest to get started on a project where you already have data available, that means it's probably easiest to get started on a project related to something you are already doing, because you already have data about things that you are doing. For instance, if you work in the music business, you may have access to many recordings. If you work as a radiologist, you probably have access to lots of medical images. If you are interested in wildlife preservation, you may have access to lots of images of wildlife.\\n\",\n    \"\\n\",\n    \"Sometimes, you have to get a bit creative. Maybe you can find some previous machine learning project, such as a Kaggle competition, that is related to your field of interest. Sometimes, you have to compromise. Maybe you can't find the exact data you need for the precise project you have in mind; but you might be able to find something from a similar domain, or measured in a different way, tackling a slightly different problem. Working on these kinds of similar projects will still give you a good understanding of the overall process, and may help you identify other shortcuts, data sources, and so forth.\\n\",\n    \"\\n\",\n    \"Especially when you are just starting out with deep learning, it's not a good idea to branch out into very different areas, to places that deep learning has not been applied to before. That's because if your model does not work at first, you will not know whether it is because you have made a mistake, or if the very problem you are trying to solve is simply not solvable with deep learning. And you won't know where to look to get help. Therefore, it is best at first to start with something where you can find an example online where somebody has had good results with something that is at least somewhat similar to what you are trying to achieve, or where you can convert your data into a format similar to what someone else has used before (such as creating an image from your data). Let's have a look at the state of deep learning, just so you know what kinds of things deep learning is good at right now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The State of Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's start by considering whether deep learning can be any good at the problem you are looking to work on. This section provides a summary of the state of deep learning at the start of 2020. However, things move very fast, and by the time you read this some of these constraints may no longer exist. We will try to keep the [book's website](https://book.fast.ai/) up-to-date; in addition, a Google search for \\\"what can AI do now\\\" is likely to provide current information.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Computer vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are many domains in which deep learning has not been used to analyze images yet, but those where it has been tried have nearly universally shown that computers can recognize what items are in an image at least as well as people can—even specially trained people, such as radiologists. This is known as *object recognition*. Deep learning is also good at recognizing where objects in an image are, and can highlight their locations and name each found object. This is known as *object detection* (there is also a variant of this that we saw in <<chapter_intro>>, where every pixel is categorized based on what kind of object it is part of—this is called *segmentation*). Deep learning algorithms are generally not good at recognizing images that are significantly different in structure or style to those used to train the model. For instance, if there were no black-and-white images in the training data, the model may do poorly on black-and-white images. Similarly, if the training data did not contain hand-drawn images, then the model will probably do poorly on hand-drawn images. There is no general way to check what types of images are missing in your training set, but we will show in this chapter some ways to try to recognize when unexpected image types arise in the data when the model is being used in production (this is known as checking for *out-of-domain* data).\\n\",\n    \"\\n\",\n    \"One major challenge for object detection systems is that image labelling can be slow and expensive. There is a lot of work at the moment going into tools to try to make this labelling faster and easier, and to require fewer handcrafted labels to train accurate object detection models. One approach that is particularly helpful is to synthetically generate variations of input images, such as by rotating them or changing their brightness and contrast; this is called *data augmentation* and also works well for text and other types of models. We will be discussing it in detail in this chapter.\\n\",\n    \"\\n\",\n    \"Another point to consider is that although your problem might not look like a computer vision problem, it might be possible with a little imagination to turn it into one. For instance, if what you are trying to classify are sounds, you might try converting the sounds into images of their acoustic waveforms and then training a model on those images.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Text (natural language processing)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Computers are very good at classifying both short and long documents based on categories such as spam or not spam, sentiment (e.g., is the review positive or negative), author, source website, and so forth. We are not aware of any rigorous work done in this area to compare them to humans, but anecdotally it seems to us that deep learning performance is similar to human performance on these tasks. Deep learning is also very good at generating context-appropriate text, such as replies to social media posts, and imitating a particular author's style. It's good at making this content compelling to humans too—in fact, even more compelling than human-generated text. However, deep learning is currently not good at generating *correct* responses! We don't currently have a reliable way to, for instance, combine a knowledge base of medical information with a deep learning model for generating medically correct natural language responses. This is very dangerous, because it is so easy to create content that appears to a layman to be compelling, but actually is entirely incorrect.\\n\",\n    \"\\n\",\n    \"Another concern is that context-appropriate, highly compelling responses on social media could be used at massive scale—thousands of times greater than any troll farm previously seen—to spread disinformation, create unrest, and encourage conflict. As a rule of thumb, text generation models will always be technologically a bit ahead of models recognizing automatically generated text. For instance, it is possible to use a model that can recognize artificially generated content to actually improve the generator that creates that content, until the classification model is no longer able to complete its task.\\n\",\n    \"\\n\",\n    \"Despite these issues, deep learning has many applications in NLP: it can be used to translate text from one language to another, summarize long documents into something that can be digested more quickly, find all mentions of a concept of interest, and more. Unfortunately, the translation or summary could well include completely incorrect information! However, the performance is already good enough that many people are using these systems—for instance, Google's online translation system (and every other online service we are aware of) is based on deep learning.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Combining text and images\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The ability of deep learning to combine text and images into a single model is, generally, far better than most people intuitively expect. For example, a deep learning model can be trained on input images with output captions written in English, and can learn to generate surprisingly appropriate captions automatically for new images! But again, we have the same warning that we discussed in the previous section: there is no guarantee that these captions will actually be correct.\\n\",\n    \"\\n\",\n    \"Because of this serious issue, we generally recommend that deep learning be used not as an entirely automated process, but as part of a process in which the model and a human user interact closely. This can potentially make humans orders of magnitude more productive than they would be with entirely manual methods, and actually result in more accurate processes than using a human alone. For instance, an automatic system can be used to identify potential stroke victims directly from CT scans, and send a high-priority alert to have those scans looked at quickly. There is only a three-hour window to treat strokes, so this fast feedback loop could save lives. At the same time, however, all scans could continue to be sent to radiologists in the usual way, so there would be no reduction in human input. Other deep learning models could automatically measure items seen on the scans, and insert those measurements into reports, warning the radiologists about findings that they may have missed, and telling them about other cases that might be relevant.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Tabular data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For analyzing time series and tabular data, deep learning has recently been making great strides. However, deep learning is generally used as part of an ensemble of multiple types of model. If you already have a system that is using random forests or gradient boosting machines (popular tabular modeling tools that you will learn about soon), then switching to or adding deep learning may not result in any dramatic improvement. Deep learning does greatly increase the variety of columns that you can include—for example, columns containing natural language (book titles, reviews, etc.), and high-cardinality categorical columns (i.e., something that contains a large number of discrete choices, such as zip code or product ID). On the down side, deep learning models generally take longer to train than random forests or gradient boosting machines, although this is changing thanks to libraries such as [RAPIDS](https://rapids.ai/), which provides GPU acceleration for the whole modeling pipeline. We cover the pros and cons of all these methods in detail in <<chapter_tabular>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Recommendation systems\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Recommendation systems are really just a special type of tabular data. In particular, they generally have a high-cardinality categorical variable representing users, and another one representing products (or something similar). A company like Amazon represents every purchase that has ever been made by its customers as a giant sparse matrix, with customers as the rows and products as the columns. Once they have the data in this format, data scientists apply some form of collaborative filtering to *fill in the matrix*. For example, if customer A buys products 1 and 10, and customer B buys products 1, 2, 4, and 10, the engine will recommend that A buy 2 and 4. Because deep learning models are good at handling high-cardinality categorical variables, they are quite good at handling recommendation systems. They particularly come into their own, just like for tabular data, when combining these variables with other kinds of data, such as natural language or images. They can also do a good job of combining all of these types of information with additional metadata represented as tables, such as user information, previous transactions, and so forth.\\n\",\n    \"\\n\",\n    \"However, nearly all machine learning approaches have the downside that they only tell you what products a particular user might like, rather than what recommendations would be helpful for a user. Many kinds of recommendations for products a user might like may not be at all helpful—for instance, if the user is already familiar with the products, or if they are simply different packagings of products they have already purchased (such as a boxed set of novels, when they already have each of the items in that set). Jeremy likes reading books by Terry Pratchett, and for a while Amazon was recommending nothing but Terry Pratchett books to him (see <<pratchett>>), which really wasn't helpful because he already was aware of these books!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Terry Pratchett books recommendation\\\" caption=\\\"A not-so-useful recommendation\\\" id=\\\"pratchett\\\" src=\\\"images/pratchett.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Other data types\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Often you will find that domain-specific data types fit very nicely into existing categories. For instance, protein chains look a lot like natural language documents, in that they are long sequences of discrete tokens with complex relationships and meaning throughout the sequence. And indeed, it does turn out that using NLP deep learning methods is the current state-of-the-art approach for many types of protein analysis. As another example, sounds can be represented as spectrograms, which can be treated as images; standard deep learning approaches for images turn out to work really well on spectrograms.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Drivetrain Approach\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are many accurate models that are of no use to anyone, and many inaccurate models that are highly useful. To ensure that your modeling work is useful in practice, you need to consider how your work will be used. In 2012 Jeremy, along with Margit Zwemer and Mike Loukides, introduced a method called *the Drivetrain Approach* for thinking about this issue.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Drivetrain Approach, illustrated in <<drivetrain>>, was described in detail in [\\\"Designing Great Data Products\\\"](https://www.oreilly.com/radar/drivetrain-approach-data-products/). The basic idea is to start with considering your objective, then think about what actions you can take to meet that objective and what data you have (or can acquire) that can help, and then build a model that you can use to determine the best actions to take to get the best results in terms of your objective.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/drivetrain-approach.png\\\" id=\\\"drivetrain\\\" caption=\\\"The Drivetrain Approach\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Consider a model in an autonomous vehicle: you want to help a car drive safely from point A to point B without human intervention. Great predictive modeling is an important part of the solution, but it doesn't stand on its own; as products become more sophisticated, it disappears into the plumbing. Someone using a self-driving car is completely unaware of the hundreds (if not thousands) of models and the petabytes of data that make it work. But as data scientists build increasingly sophisticated products, they need a systematic design approach.\\n\",\n    \"\\n\",\n    \"We use data not just to generate more data (in the form of predictions), but to produce *actionable outcomes*. That is the goal of the Drivetrain Approach. Start by defining a clear *objective*. For instance, Google, when creating their first search engine, considered \\\"What is the user’s main objective in typing in a search query?\\\" This led them to their objective, which was to \\\"show the most relevant search result.\\\" The next step is to consider what *levers* you can pull (i.e., what actions you can take) to better achieve that objective. In Google's case, that was the ranking of the search results. The third step was to consider what new *data* they would need to produce such a ranking; they realized that the implicit information regarding which pages linked to which other pages could be used for this purpose. Only after these first three steps do we begin thinking about building the predictive *models*. Our objective and available levers, what data we already have and what additional data we will need to collect, determine the models we can build. The models will take both the levers and any uncontrollable variables as their inputs; the outputs from the models can be combined to predict the final state for our objective.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's consider another example: recommendation systems. The *objective* of a recommendation engine is to drive additional sales by surprising and delighting the customer with recommendations of items they would not have purchased without the recommendation. The *lever* is the ranking of the recommendations. New *data* must be collected to generate recommendations that will *cause new sales*. This will require conducting many randomized experiments in order to collect data about a wide range of recommendations for a wide range of customers. This is a step that few organizations take; but without it, you don't have the information you need to actually optimize recommendations based on your true objective (more sales!).\\n\",\n    \"\\n\",\n    \"Finally, you could build two *models* for purchase probabilities, conditional on seeing or not seeing a recommendation. The difference between these two probabilities is a utility function for a given recommendation to a customer. It will be low in cases where the algorithm recommends a familiar book that the customer has already rejected (both components are small) or a book that they would have bought even without the recommendation (both components are large and cancel each other out).\\n\",\n    \"\\n\",\n    \"As you can see, in practice often the practical implementation of your models will require a lot more than just training a model! You'll often need to run experiments to collect more data, and consider how to incorporate your models into the overall system you're developing. Speaking of data, let's now focus on how to find data for your project.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Gathering Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For many types of projects, you may be able to find all the data you need online. The project we'll be completing in this chapter is a *bear detector*. It will discriminate between three types of bear: grizzly, black, and teddy bears. There are many images on the internet of each type of bear that we can use. We just need a way to find them and download them. We've provided a tool you can use for this purpose, so you can follow along with this chapter and create your own image recognition application for whatever kinds of objects you're interested in. In the fast.ai course, thousands of students have presented their work in the course forums, displaying everything from hummingbird varieties in Trinidad to bus types in Panama—one student even created an application that would help his fiancée recognize his 16 cousins during Christmas vacation!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At the time of writing, Bing Image Search is the best option we know of for finding and downloading images. It's free for up to 1,000 queries per month, and each query can download up to 150 images. However, something better might have come along between when we wrote this and when you're reading the book, so be sure to check out the [book's website](https://book.fast.ai/) for our current recommendation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: Keeping in Touch With the Latest Services: Services that can be used for creating datasets come and go all the time, and their features, interfaces, and pricing change regularly too. In this section, we'll show how to use the Bing Image Search API available at the time this book was written. We'll be providing more options and more up to date information on the [book's website](https://book.fast.ai/), so be sure to have a look there now to get the most current information on how to download images from the web to create a dataset for deep learning.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# clean\\n\",\n    \"To download images with Bing Image Search, sign up at [Microsoft Azure](https://azure.microsoft.com/en-us/services/cognitive-services/bing-web-search-api/) for a free account. You will be given a key, which you can copy and enter in a cell as follows (replacing 'XXX' with your key and executing it):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"key = os.environ.get('AZURE_SEARCH_KEY', 'XXX')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Or, if you're comfortable at the command line, you can set it in your terminal with:\\n\",\n    \"\\n\",\n    \"    export AZURE_SEARCH_KEY=your_key_here\\n\",\n    \"\\n\",\n    \"and then restart Jupyter Notebook, and use the above line without editing it.\\n\",\n    \"\\n\",\n    \"Once you've set `key`, you can use `search_images_bing`. This function is provided by the small `utils` class included with the notebooks online. If you're not sure where a function is defined, you can just type it in your notebook to find out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<function fastbook.search_images_bing(key, term, min_sz=128, max_images=150)>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"search_images_bing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"150\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"results = search_images_bing(key, 'grizzly bear')\\n\",\n    \"ims = results.attrgot('contentUrl')\\n\",\n    \"len(ims)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've successfully downloaded the URLs of 150 grizzly bears (or, at least, images that Bing Image Search finds for that search term).\\n\",\n    \"\\n\",\n    \"**NB**: there's no way to be sure exactly what images a search like this will find. The results can change over time. We've heard of at least one case of a community member who found some unpleasant pictures of dead bears in their search results. You'll receive whatever images are found by the web search engine. If you're running this at work, or with kids, etc, then be cautious before you display the downloaded images.\\n\",\n    \"\\n\",\n    \"Let's look at one:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"ims = ['http://3.bp.blogspot.com/-S1scRCkI3vY/UHzV2kucsPI/AAAAAAAAA-k/YQ5UzHEm9Ss/s1600/Grizzly%2BBear%2BWildlife.jpg']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dest = 'images/grizzly.jpg'\\n\",\n    \"download_url(ims[0], dest)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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17LlwkzHe9PuFmRf0q3xVpA9oSeWcKX1dtbMY38s4FmFinGJ+P54Z1lvOaSERQkqjpmkqojp6faFX2bWMNxb40wRXKZg2bTea8VElEsWVEppQEy1FgEQBUAABFgBhQilojADkrG9VQp4I5br7WXZ4uN3n68vcYm3W6breea8SIje1bbTiGg7EqiKUQSqyBYjVrnNG0ItVYziXKtUiakIS2mnkIIEBYW8uScFtyUtawEkTYRQQQSACUmj0opTjlJRhEIpyCrWElIOKQ2tv7vv37+7B0cL3jTXHVec+Pmf/ybwchg/UDiH1vTPt3PMKuVU4jz09313yAHnucathHR+Of3dKx9SXeKZRG6CGc0PP35ohyaJuMYYZ5CJid/ctq11RutcMOQcUnrDtpBIkI3WiFhBFCskqhxBT85prT3Q3fUmlMm0DQ9mi7htV6OdG3bKO6tU443xqDS2ra1SY4y5iNWkDS0x3cK2pXJZtiXENcRQsrYUcxJYGlaOGiPx9rqVtRBpYi0CxFwASGlWSildqsSUChQBBUIiBASlSoq5bVvbsLX7EF8lVymXvH6N8WTMVluiGMu6LUvYlPJS9HJ9DtfX81yv03Jo7o01yP355e/L/GSBQghMxvbexagZ0IhhaFtP/OYEJWdV6y0ghBi3nIhIaq251FJSzooV/0G9IVYhojRTIc3W1qxF6HabD4fD/ftxDXWb1653T78uObXd2PjONF7vDi06co1WSmulEbEghVzWGMdRX7allAJQC9awBoMdAl1fJ1QS5tv1nKbrUgSRUSldBQUBkAAIBJhRa2W0VqQUsdFGK10BighrtbuzZojrbV2259v2LdZtK99KZtb1efpKxel5makUAk1sjZhCL2udJNykxH0zbtMayg1L2FkrtS0l6nZXqftyCuO77vHz+1uca43KsLEaCVOpuea3mg65CCIgMWtdoQJizBWJpVYhFKlhq6d/1OWWGWLaogPa6fztl5fTt4srxStXQ57nSZtGg9p397lyO5C1qvEGkLPUWsE7Z43qdlUAnTMZcbmtRYoxAyrJiFIvVS/ny22e5E2IFYCCCAJGqbedgMpvd1mzQQSF3DrTaHZad94/PjocPSlOt5BqEupTbQuY+fK15N/IeCV5A9UR68GSAqx2QkOmLM/PP1XljFVs27imZV6waGsOrOsUtuxleDiAWcMyDY13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\\n\",\n      \"text/plain\": [\n       \"<PIL.Image.Image image mode=RGB size=108x128 at 0x7F0D8DA91790>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im = Image.open(dest)\\n\",\n    \"im.to_thumb(128,128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This seems to have worked nicely, so let's use fastai's `download_images` to download all the URLs for each of our search terms. We'll put each in a separate folder:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bear_types = 'grizzly','black','teddy'\\n\",\n    \"path = Path('bears')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"if not path.exists():\\n\",\n    \"    path.mkdir()\\n\",\n    \"    for o in bear_types:\\n\",\n    \"        dest = (path/o)\\n\",\n    \"        dest.mkdir(exist_ok=True)\\n\",\n    \"        results = search_images_bing(key, f'{o} bear')\\n\",\n    \"        download_images(dest, urls=results.attrgot('contentUrl'))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our folder has image files, as we'd expect:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#406) [Path('bears/black/00000149.jpg'),Path('bears/black/00000095.jpg'),Path('bears/black/00000133.jpg'),Path('bears/black/00000062.jpg'),Path('bears/black/00000023.jpg'),Path('bears/black/00000029.jpg'),Path('bears/black/00000094.jpg'),Path('bears/black/00000124.jpg'),Path('bears/black/00000105.jpg'),Path('bears/black/00000046.jpg')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"fns = get_image_files(path)\\n\",\n    \"fns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: I just love this about working in Jupyter notebooks! It's so easy to gradually build what I want, and check my work every step of the way. I make a _lot_ of mistakes, so this is really helpful to me...\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Often when we download files from the internet, there are a few that are corrupt. Let's check:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#11) [Path('bears/black/00000147.jpg'),Path('bears/black/00000057.jpg'),Path('bears/black/00000140.jpg'),Path('bears/black/00000129.jpg'),Path('bears/teddy/00000006.jpg'),Path('bears/teddy/00000048.jpg'),Path('bears/teddy/00000076.jpg'),Path('bears/teddy/00000125.jpg'),Path('bears/teddy/00000090.jpg'),Path('bears/teddy/00000075.jpg')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"failed = verify_images(fns)\\n\",\n    \"failed\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To remove all the failed images, you can use `unlink` on each of them. Note that, like most fastai functions that return a collection, `verify_images` returns an object of type `L`, which includes the `map` method. This calls the passed function on each element of the collection:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"failed.map(Path.unlink);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Getting Help in Jupyter Notebooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Jupyter notebooks are great for experimenting and immediately seeing the results of each function, but there is also a lot of functionality to help you figure out how to use different functions, or even directly look at their source code. For instance, if you type in a cell:\\n\",\n    \"```\\n\",\n    \"??verify_images\\n\",\n    \"```\\n\",\n    \"a window will pop up with:\\n\",\n    \"```\\n\",\n    \"Signature: verify_images(fns)\\n\",\n    \"Source:   \\n\",\n    \"def verify_images(fns):\\n\",\n    \"    \\\"Find images in `fns` that can't be opened\\\"\\n\",\n    \"    return L(fns[i] for i,o in\\n\",\n    \"             enumerate(parallel(verify_image, fns)) if not o)\\n\",\n    \"File:      ~/git/fastai/fastai/vision/utils.py\\n\",\n    \"Type:      function\\n\",\n    \"```\\n\",\n    \"This tells us what argument the function accepts (`fns`), then shows us the source code and the file it comes from. Looking at that source code, we can see it applies the function `verify_image` in parallel and only keeps the image files for which the result of that function is `False`, which is consistent with the doc string: it finds the images in `fns` that can't be opened.\\n\",\n    \"\\n\",\n    \"Here are some other features that are very useful in Jupyter notebooks:\\n\",\n    \"\\n\",\n    \"- At any point, if you don't remember the exact spelling of a function or argument name, you can press Tab to get autocompletion suggestions.\\n\",\n    \"- When inside the parentheses of a function, pressing Shift and Tab simultaneously will display a window with the signature of the function and a short description. Pressing these keys twice will expand the documentation, and pressing them three times will open a full window with the same information at the bottom of your screen.\\n\",\n    \"- In a cell, typing `?func_name` and executing will open a window with the signature of the function and a short description.\\n\",\n    \"- In a cell, typing `??func_name` and executing will open a window with the signature of the function, a short description, and the source code.\\n\",\n    \"- If you are using the fastai library, we added a `doc` function for you: executing `doc(func_name)` in a cell will open a window with the signature of the function, a short description and links to the source code on GitHub and the full documentation of the function in the [library docs](https://docs.fast.ai).\\n\",\n    \"- Unrelated to the documentation but still very useful: to get help at any point if you get an error, type `%debug` in the next cell and execute to open the [Python debugger](https://docs.python.org/3/library/pdb.html), which will let you inspect the content of every variable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One thing to be aware of in this process: as we discussed in <<chapter_intro>>, models can only reflect the data used to train them. And the world is full of biased data, which ends up reflected in, for example, Bing Image Search (which we used to create our dataset). For instance, let's say you were interested in creating an app that could help users figure out whether they had healthy skin, so you trained a model on the results of searches for (say) \\\"healthy skin.\\\" <<healthy_skin>> shows you the kinds of results you would get.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/healthy_skin.gif\\\" width=\\\"600\\\" caption=\\\"Data for a healthy skin detector?\\\" id=\\\"healthy_skin\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With this as your training data, you would end up not with a healthy skin detector, but a *young white woman touching her face* detector! Be sure to think carefully about the types of data that you might expect to see in practice in your application, and check carefully to ensure that all these types are reflected in your model's source data. footnote:[Thanks to Deb Raji, who came up with the \\\"healthy skin\\\" example. See her paper [\\\"Actionable Auditing: Investigating the Impact of Publicly Naming Biased Performance Results of Commercial AI Products\\\"](https://dl.acm.org/doi/10.1145/3306618.3314244) for more fascinating insights into model bias.]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have downloaded some data, we need to assemble it in a format suitable for model training. In fastai, that means creating an object called `DataLoaders`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## From Data to DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`DataLoaders` is a thin class that just stores whatever `DataLoader` objects you pass to it, and makes them available as `train` and `valid`. Although it's a very simple class, it's very important in fastai: it provides the data for your model. The key functionality in `DataLoaders` is provided with just these four lines of code (it has some other minor functionality we'll skip over for now):\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"class DataLoaders(GetAttr):\\n\",\n    \"    def __init__(self, *loaders): self.loaders = loaders\\n\",\n    \"    def __getitem__(self, i): return self.loaders[i]\\n\",\n    \"    train,valid = add_props(lambda i,self: self[i])\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: DataLoaders: A fastai class that stores multiple `DataLoader` objects you pass to it, normally a `train` and a `valid`, although it's possible to have as many as you like. The first two are made available as properties.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Later in the book you'll also learn about the `Dataset` and `Datasets` classes, which have the same relationship.\\n\",\n    \"\\n\",\n    \"To turn our downloaded data into a `DataLoaders` object we need to tell fastai at least four things:\\n\",\n    \"\\n\",\n    \"- What kinds of data we are working with\\n\",\n    \"- How to get the list of items\\n\",\n    \"- How to label these items\\n\",\n    \"- How to create the validation set\\n\",\n    \"\\n\",\n    \"So far we have seen a number of *factory methods* for particular combinations of these things, which are convenient when you have an application and data structure that happen to fit into those predefined methods. For when you don't, fastai has an extremely flexible system called the *data block API*. With this API you can fully customize every stage of the creation of your `DataLoaders`. Here is what we need to create a `DataLoaders` for the dataset that we just downloaded:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = DataBlock(\\n\",\n    \"    blocks=(ImageBlock, CategoryBlock), \\n\",\n    \"    get_items=get_image_files, \\n\",\n    \"    splitter=RandomSplitter(valid_pct=0.2, seed=42),\\n\",\n    \"    get_y=parent_label,\\n\",\n    \"    item_tfms=Resize(128))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's look at each of these arguments in turn. First we provide a tuple where we specify what types we want for the independent and dependent variables: \\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"blocks=(ImageBlock, CategoryBlock)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The *independent variable* is the thing we are using to make predictions from, and the *dependent variable* is our target. In this case, our independent variables are images, and our dependent variables are the categories (type of bear) for each image. We will see many other types of block in the rest of this book.\\n\",\n    \"\\n\",\n    \"For this `DataLoaders` our underlying items will be file paths. We have to tell fastai how to get a list of those files. The `get_image_files` function takes a path, and returns a list of all of the images in that path (recursively, by default):\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"get_items=get_image_files\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Often, datasets that you download will already have a validation set defined. Sometimes this is done by placing the images for the training and validation sets into different folders. Sometimes it is done by providing a CSV file in which each filename is listed along with which dataset it should be in. There are many ways that this can be done, and fastai provides a very general approach that allows you to use one of its predefined classes for this, or to write your own. In this case, however, we simply want to split our training and validation sets randomly. However, we would like to have the same training/validation split each time we run this notebook, so we fix the random seed (computers don't really know how to create random numbers at all, but simply create lists of numbers that look random; if you provide the same starting point for that list each time—called the *seed*—then you will get the exact same list each time):\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"splitter=RandomSplitter(valid_pct=0.2, seed=42)\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The independent variable is often referred to as `x` and the dependent variable is often referred to as `y`. Here, we are telling fastai what function to call to create the labels in our dataset:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"get_y=parent_label\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"`parent_label` is a function provided by fastai that simply gets the name of the folder a file is in. Because we put each of our bear images into folders based on the type of bear, this is going to give us the labels that we need.\\n\",\n    \"\\n\",\n    \"Our images are all different sizes, and this is a problem for deep learning: we don't feed the model one image at a time but several of them (what we call a *mini-batch*). To group them in a big array (usually called a *tensor*) that is going to go through our model, they all need to be of the same size. So, we need to add a transform which will resize these images to the same size. *Item transforms* are pieces of code that run on each individual item, whether it be an image, category, or so forth. fastai includes many predefined transforms; we use the `Resize` transform here:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"item_tfms=Resize(128)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This command has given us a `DataBlock` object. This is like a *template* for creating a `DataLoaders`. We still need to tell fastai the actual source of our data—in this case, the path where the images can be found:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = bears.dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `DataLoaders` includes validation and training `DataLoader`s. `DataLoader` is a class that provides batches of a few items at a time to the GPU. We'll be learning a lot more about this class in the next chapter. When you loop through a `DataLoader` fastai will give you 64 (by default) items at a time, all stacked up into a single tensor. We can take a look at a few of those items by calling the `show_batch` method on a `DataLoader`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By default `Resize` *crops* the images to fit a square shape of the size requested, using the full width or height. This can result in losing some important details. Alternatively, you can ask fastai to pad the images with zeros (black), or squish/stretch them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128, ResizeMethod.Squish))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128, ResizeMethod.Pad, pad_mode='zeros'))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All of these approaches seem somewhat wasteful, or problematic. If we squish or stretch the images they end up as unrealistic shapes, leading to a model that learns that things look different to how they actually are, which we would expect to result in lower accuracy. If we crop the images then we remove some of the features that allow us to perform recognition. For instance, if we were trying to recognize breeds of dog or cat, we might end up cropping out a key part of the body or the face necessary to distinguish between similar breeds. If we pad the images then we have a whole lot of empty space, which is just wasted computation for our model and results in a lower effective resolution for the part of the image we actually use.\\n\",\n    \"\\n\",\n    \"Instead, what we normally do in practice is to randomly select part of the image, and crop to just that part. On each epoch (which is one complete pass through all of our images in the dataset) we randomly select a different part of each image. This means that our model can learn to focus on, and recognize, different features in our images. It also reflects how images work in the real world: different photos of the same thing may be framed in slightly different ways.\\n\",\n    \"\\n\",\n    \"In fact, an entirely untrained neural network knows nothing whatsoever about how images behave. It doesn't even recognize that when an object is rotated by one degree, it still is a picture of the same thing! So actually training the neural network with examples of images where the objects are in slightly different places and slightly different sizes helps it to understand the basic concept of what an object is, and how it can be represented in an image.\\n\",\n    \"\\n\",\n    \"Here's another example where we replace `Resize` with `RandomResizedCrop`, which is the transform that provides the behavior we just described. The most important parameter to pass in is `min_scale`, which determines how much of the image to select at minimum each time:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAqwAAACvCAYAAAA4yYy3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy92bM9WXbf9Vlr751nuMNvqEFVXdXdUre6pW7LsoQRSKaNjWXZBFjYQYAJjBUQRPDECw/AA+BgjOBP4IUgwsgoCIYw2MYmUBvkAaxAgzWiwZJ67hp/4733nJOZe+/Fw9qZ5/yqq6tb6qHqp85vxa3fuffkyZPDyr3X+q7vWlvMjAULFixYsGDBggUL3qvQd/sAFixYsGDBggULFix4JywO64IFCxYsWLBgwYL3NBaHdcGCBQsWLFiwYMF7GovDumDBggULFixYsOA9jcVhXbBgwYIFCxYsWPCexuKwLliwYMGCBQsWLHhPY3FYvwaIyH8iIn/lHd7/tIj8yW/mMS1Y8NVgsd0FTyMWu13wtGKx3a8d3/IO62IkC55WLLa74GnEYrcLnlYstvvu4lveYV2wYMGCBQsWLFjw3sa3tMMqIj8OfAD46yJyLSL/voj8oIj8PyLyUER+UUT++Mn23yEif0dErkTkJ4Fn37K/HxORz4jIPRH5D0/+/oKI7ETkmZO//WEReUNE0jf+TBf8fsNiuwueRix2u+BpxWK77z6+pR1WM/sx4LPAj5rZOfDfAf8b8F8Ad4F/F/ifReS59pGfAH4ON7z/HPjXp32JyMeB/wr4MeB9wDPAy+17XgV+CvjzJ1//F4H/3szGb9DpLfh9jMV2FzyNWOx2wdOKxXbffXxLO6xvg78I/E0z+5tmVs3sJ4GfBf45EfkA8APAXzKz3sz+LvDXTz77LwF/w8z+rpn1wF8C6sn7f7ntHxEJwL8K/Pg3/pQWfItgsd0FTyMWu13wtGKx3W8yFof1SXwQ+Jcbvf9QRB4CnwBexKOgB2Z2c7L9Z05evw/43PRL2+7eyfv/K/BxEfkQ8CPAIzP7f79B57HgWw+L7S54GrHY7YKnFYvtfpMR3+0DeA/ATl5/DvhxM/u33rqRiHwQuCMiZydG+IGTz78CfOxk+y1O8/uXmB1E5H8A/jXgu1mipQVfOxbbXfA0YrHbBU8rFtt9F7EwrPAa8KH2+q8APyoif1pEgoisReSPi8jLZvYZnO7/T0WkE5FPAD96sp//CfgzIvIJEemA/4wvvb7/LfBvAP9C+64FC74WLLa74GnEYrcLnlYstvsuYnFY4b8E/qNG5/8rwJ8F/gPgDTyC+vc4Xqe/APyTwH3gP8YNCgAz+1Xg38aF1q8AD4DPn36Rmf3fuE7l583s09+wM1rwrYLFdhc8jVjsdsHTisV230WImX3lrRZ83SAi/yfwE2b2X7/bx7Jgwe8Gi+0ueBqx2O2CpxWL7T6JxWH9JkJEfgD4SeD9Znb1bh/PggVfLRbbXfA0YrHbBU8rFtv9UiySgG8SROQvA58E/p3F+BY8TVhsd8HTiMVuFzytWGz37bEwrAsWLFiwYMGCBQve01gY1gULFixYsGDBggXvabxjH9a/81M/PdOv2l4JBSGjBmqVoHtCeIjqIwC68hCpO6TeoOUaG/dILqzUvyqXnpur+7C7YXz0mDpkDlWx1TkAq9t3kM0luVbGkiEoEgPaJTbbrR+DGQEhBCXFQIqJagWpfpDj0LPb3TAOI2BoCH4O6v752dkZUYXD/oYUA5v1GqjkMQNQysh61WE5k6JglunHHZUCwPpiy+3nnmV9eRvrziEFJAp5HPx7aqHu9sgwztcNOV5XkeMvgoAGwJjZbjHA2nYGmiEaENr7AZMEEhFNSIjUVULiConr4za1YGUAO2BWQASRVbuhG0TXmHaYBqx9rZovtiF1oPY32HAD4x6pI6hAuu0f5wXyeJdq55isyWOklA7B9x80AoKZcfb+D56c/TcHP/0Pfm223dMsgmCIFMz8etd6sriI+XsKbuNyg4Zrgl4DsKn3COWAlh2x3GDjY4INBNxuDo8fkQ87Vt2KGjbcDMJ1nxlKpjYbjNszNmfn3Ll9F2qh5B3jOM7mYTWTxxGqQVFqrdRa6fsegForKhDN2G5WrNYJk8xY3PbW60RkpAuB9WaNnp3BxQXrZ3wZaz2/QKpR+z355pqOSu17qMN8rYSIIIiA6uniK1Ax3DoNVUWiQACTNpSEiKY1hA4k+Q8FM99/KXtMMhoCEteYXmB6DrJFWvwsQCk94foe5dHnGYZ7SCh04tewxnNIdwndC2h6H2a3KGNHv/dltodeqTWhYYO0caeK/0znOP2c/n5qL9PvL3/0I9902/3bf+snTaphVhCevP5feuztfauYVQQfH8EQy9Denz5zOvZghSfbStb2uyEUgj4mxR1RPCOZ9IZQ9lALKoJpRWpBq9t/tELEUKsM40guPuaEZvullPm1dB2CMFzvqAdfbfLu5S0ePHhAwUi3nyP0metXvkAtBwBuP3eX2CV2D294/be+yEvPPs/+8UPK4LbVj4Xu/JzVxV2ueqG/esSWzMr8+Kw/UIcBFWV7sSGdK906kFaXAJy/9J2cfegPUsKOqy/8Q9LwBmkd0DsvABDObmHDntK/Tq17RoTN7Zcp8YJwy+evuioMY0+3viRubiPrM1DFpmOgYBKRuEHiLah34HCLeu3jpowdJh2qK0QSNJs3OU4k1eTt72d737eB1QsvflNt92/9jb9tWitqNtultddGdZu1isjRpv20mt022wsckOBzLXFAdU+nV6T6iFiuCeUKxcdDI5AJVInEVYdEpeaM9sXHUWAcx3kcDSG0MVToUgeAxoCq+hyoioZAikIX/PKdnZ0RglBrpesSN7sbrq+u6fe+/0ePet58UPmN37nPT//Cp/nCmwe+9x//o/zTf+pP+f67iFWjjKC5kOSKe6//Mo8e/RYAq/WeEDMpGl2M3L294cMfeY4PfOAWAJfbFbmvqApFRnK4wMLHSPEHACjhZQgb1qstMXSU4tc5Z38uPvnJT/KT//tf41Of+hleel/HJ37wD/DP/sgPcnE2YvYQgMDeTUcDhIRpAg1Ysz+VgGDuZ6n4+C0BmcZ9ErACMsYAkqkVrGr7fIdyFxtuMVyfU/s1WMC0zYtpSwgdpRS6F17+snb7VS0cYE8YYEEoYAJmKGAq07hItWaEtSKixJgQU0T8wOtgPk5WbY4Xvk1qjg6RYRgoBhIEVSXXiuVCaA7nZrUmiFBrIecRKRmrhdC+I8RAigGxSik+wYvIPMj3+x01JWLXJrg8AhWmSQC4vtmxCpH1ekvXbelyYhh3vv9SuXr1iyQz4q2IEYFAiH6dbQRE/PxKRgVqmaZ6kGnQVsUEqvl3HydNQ3RyrvxRFhNEJ0LcHRkku6MjhZIHlIK2Wy2y8vtWK1YMofqg1wY4QUEUMbAS3fg4mcAEJERIG9AEZaQaoGdt/1uCbKF01BKoBczC/P1vP5h+8zBP5DzpsPoJt0F0/vf4dsAw2vWyikmB5pBKLWAZsYzVjJiRh5HDuAegjCP9zTVX9x9gYU2OG2pYE2KkW7t9FzNKztzcXJOiooBqmB2LMWf6/kAtRpBINT9ejc22JSBm6DhSa8EIdOsV27QBYLNdk8iUsSd1CU2RXCul90nfug4NilFAjFoyItVt0M/STaQ2t7T9y8m9NKtUDE7sVdvgLhawUsCK208Ms5353o/Xu5i2iQqMyjGqM9CArC8J5TliD2V4BM0pF1FEVohsGQdhGDNlFKzE9n4gxjjvz5+7J23Rn5svb5+/H6RSLdw9/v67eh4FrKPWQlWfmCsZfxaa41Eq1Iq1oK9awQTGcXBnFSGoUrI/P0ED2oLYcXfASqX0A9s29udxZBwGzi8vGS0x5MqDxwfOz/y+xrSiv9lR+t7H3pqp+xu0+vGtzAiDUa/h5iqwCsJht598PqwvKImQOiorailogdQm9nh4zPjGp9nVK8b9Y2JUdHVGzn4V674nlkqwiKrPHR70GlLa2C4RCdXHdQxt44nNl14R1INC87nDilBLe74tNmLhS+/fU4t2ImbTmHFyVsbJ7+06W0Ss3TQUUxilILVCCRiCyjQWRAS3K4pQqz/rGkDbMxwASoFSCCmxjhExZn+inMwVtVY0BMZxpPFTiDg5Vmvh+todthgT0rV5/AJKfsyHv33N2a2P8cr9wAc/8j20WJmxjgRim2syogNm14ATIeOwgwpaIzkLjx/ueP2L9/i253yuHTZCqYaNSkiFmDJVerA275QdIQUkdFQUER/zUvLz++Ef/mf4oR/4Ph4++iXWm9c5W+9YxwGRjFpq55h9ztSAiGKTf9AcSpHQCB1DTnyWyaxFQCWBVDzwrfO183+txcKC2dGn1ObwSrv2Xwnv6LCeRvNTpO9OTQVz46gYWt1p9c8cbTLXwnazoVsLD9+87xd/P6BEjzJDomKMuWJ7N8DMAbZbJChmRh4zQxkJXcfNld/g3fUN664jpUhKkaCB2HWUFlFZNboUUYyqhX4Y/MI1Ay5ViEH8ZpiR0gqzwuGwb2denWWzShlHdNWxSmtqG9iCZaIq7G4grRDWENdUO5kgVfHnoWCluHPRbl4Ije3VdlXbiCocWZOKG4YbQmwT+8SwKupeOKIGUtu+S2NNAHEWpLZ9Bp3u59hO0b+tlgItmhdthtWORkLCRCHU5nArIrfaOW4x65oJBQRFLWKnTse7ONxKczKPgyTz7yZHu64ng5Ug7ZCLP4w1ohaQ6NfUasHqQLUdwh4rAyUbue2j5AEZM6Ef2ZUM55GwvkS6Fbn4NtlGQhcZ8oEQVsQQEBGkPYq1FMImcDjssdqYB2UO+MwMnYI/LRhGHTK1DfBDOVA1o1LY554uGqtNguKMhPQDYb0iC1Rx5kNqnVexdlbVqI3lp7Y72WIlFSFoIIg/H9Uyteaj8ycKFhCtfh0784gdZzOoAa0KNviEUisqHkxZS0dUBK0RUgebc5IMRDGknUNNazRcQL4NdkEelMqWqM5yhdjhuzagukOB+v2d7rNM45W1Z/BJ+1HVp99pFZnPGX63TrhgtaOKUcXtv5izJ2oZUejUWSdrma0gilhtmS0IIUKp/gNIVESM4dBjxVAJYDJnxh7eu89w2BPOLwmyRruO+9ZxvroAYPdgR95fs7//CMvGgwePsFK43HhWaRh7rAwcHj/kmcvv4Ds//O188bd/g1c/6ytirkKHoay2F2TtEAYOhx12eAxAzp8hP3pA7uDyViKstkhYcdj5vKP9jlUMYAMSKxKV4XBF3XRYcad7pRvUQnuQANp4c2J7/qwrZgKmVFNqaXPDFMSJcOLlPhUQK0hj+k+zFx6M2zy/idlM3lhjWN3NnN6Px6kj+8CTRajWEewC5AzwuVqlEgN0EaqMYCMlF2odCcE/G1NERKgiiBl93xOCHrNCuPNaSqFNigjGMPp4M4w96/XKfzZbSikM/cDQArE87okycLmB0dZcPvsSm7u3mLwJRH2c1YLGkf3+AbleoS0QlObIlZypNnC2PeewH7j/pi+QZSKQI/1uZHMRPFud9kR1EqLUQrBArUpQRVTatXT7SSvj9nPPcHn749RcCfIplAx1NdtdYxlBtWV8BdUwk2Qz4Vg9MC0lz9cffM4QBqBgOjbHVWafp1BQq7NPA+6n1TnYNbQFau+Ed3RYa63zxD6FG0J2lqQqakcH1WZnsEI1T0tVGAZn5mq7eD7ZKkXEH1QE1Qix0fMSKLVSaiFbpQpIUHQyqHYbsipg5DwyhuDOa4sGDGuUf+Rm6Cn5mBIASCkRB6UTHxyG3d4p9IMb6Dj01FoINXMdAofLC7bnG2Lwy6UY++sbKJUOoQu3sE7mczAVqhlB1aOWWlHRmVk1P1E0RlQUCy1ar6Vdd09Zu6PiD7g7U+1uqqAqc5rIMMwUaqVOhoS2CSuDjP53O4303aB9YIyoJGddT+a0Ot11VTQpKh1WfPKoeU0uShkrdRwJek7QNWUKS9+G1fpm4nTAfDJy8xTAEwPq/I4hVlsGweaBZGYEG5tkpVDGEcmZLiVK7w/zWIySKzkXSg2E6vaec3F5CyAxMPQ9MSX6vqeIEoLQJbeBlBKEQC2Fw343p7Gmo1x1HavViqEXuhhZrTpqHulbWtRSJFNJAfqx52p/w9nQc+f55/370xobDA3mA3kt1OrPi0OevF4qLfVzcl1bZG0iIOqOycRmVgN1JhoTrO7RIEhjpJSIWWwMuCFWwMYnJimbnd+KBKWGDuIZaBsj0gbRM+oYgciqWzPmDrFpcJVZTmNPksNPBaZj92fzyfcmR/qtKWGrOrNyYkZtY8mR4ZAveRZUJ37bMTkP/otgRLd5UvtbIJq45Kl4FszK6PcQKOaBeR5Huq5jSuhobNOMQRkyViubtCIPhTJmbnY+8T68/wCpxj5dcSnP8fC1h9h1Jke37YtbK64eHcj3r7HukutD5nJ7weqWM1G3V4nXXnsVMbhzuSXvH3O2jZxt3W6Gw4ACl3eeYfv8CwjXXL/xGXLvDqsOI3l/TZQtZ/EWhZHHDx9B+36NiSodNQRMC8aIdgWLIzU0Flo7VBSNEQkCsWXSJqddFaq6D6eC1doCvuka1znNOjl1HLkWz3y9Y2agXeh3oTxFphnDjtlK3m78bX/3f6aU7HS+5qHl9PkKnvdaUSRSrWLSIcFtJmoG7Qk6ECQTxZn8Ogpj9ntSSvEMZTuCFCOVSp6dLmGslRQiIQYf47VS52fBiHHDerViHAaurq447A+UoZEQ/YEyjNQxQDViSqRVx6FlfFQVlYKkihZni02Z2ctQjRSUGGG9ClxcbBEx+ubxjvsVgYgIhChuezJSJpdYAEtYVUycAOFUdhHcV4p2i5w3mGV3NCXClBW2ilnx21J9bBCVI4ElhkjweaIYJoqIHDNrGFJGz9xZaXaqM5FiKGqK68fU93Uy/kwStK8UUy9FVwsWLFiwYMGCBQve03hnDWutM4VqdsqcnaRWpTbl41TY1CEyuAbCIoe+x4YD0qIdyyOUQjWhhgSdIjrpQCFbpR8HUCV1ibReEbuupShp3xHA4HA4EINi0RmbIhPDYlgZyeNIMU+Xxy614irouhWlHzjcXFOtEmIkqnBx0TQjh4BVQ+tAtcI49txc1/kanG86VBL7a9caagxICJ7iwlP4pWk6paXt7ZTJqFCLNX2kURs7Utv+qxXXihgtXeZM1jGwPtL4VTwtbCV5ZGPH4hlDwIprzIpLDJ5kWCsmFcHvo+urJrjGMUalmFFFXaMyCXPEReolG1gE8fRBbAdZrVDr71Y39/XD2zKoTatyWhDw1m1qLScMq7nU+hhoU81Zuy5G1Ayp0MgsrIqr1iQQ48pF5GMmI2g4xoYlFwTYbrYEEcaxP8keGEE9Y1BzJOf8RBoljwMqHsWbuObV6iT8gJvDgbPVmrTakFaJfrim3tywe/1VAC5e6IACq4gG8QyGKoyTJsD8+FpWw69YPdGouzxIVLzwBnHZhB6zB1YLwuhSmJwJIrOOEDNqnljagungtiPhRJYQUKo/xxqQuAGJWGljiK4JukXlDMsdpShWPBU23c9J+0178o6s61efGn83Ndi/N5zKcd7mXZG58NQ3ewfZjghmwa87k84sebFrzYQyNB3mkQW2XBiGA5gRUCjVU7GnevJScNWhNB5Q5iOQXCmHnuvxTa5eLQzXA5sQub3xoqgHr73G/v4V6xKIt5/h1p1LxAZ2N144cvv2HTZjJvQZSYV7D77IOmRu33WG9XBtHA6Z6919YnmGoIWcC+tJklW98CuLwpBBBmx8RFh55k23l4TLuxgrxnxN0R0Xt11esLrwguAshmoidB2SAqhrJPOU3Zv03CqtriAjMrreG0CiF1tN2S+RI9P6LQIjnxSZTZIul0+AUks3y0xQkJgZzTM7xkCQgoYIuUm5GuscQvCam5Ms0SmqFdSEUjI5D4S1b7FZb8klc//em1gpWC5EY7Zrq5VSMmP2mpn1ao1qpI6TRtazrv6sBEw6jJXXhgDUA0Jks1rxzJ1LglaCVPZXXjPzevY6gxgzslpxtt2y6jaMTVstQVoGZWKs36rX93HaM2VKzhCDSzTm4cACilJq8Qy3GaLW2NnjnRGcwRZsGl6P90nGSd+AmWIWEVm327RG2FLGSB6VYMkZ1mn/QpuX33nM/QoOa24OU50FzGIKpphUqo6MlnGi1weFoBtEM6K9G10VxEbIrseQeqCWStVI2SQ476hmlGnWBzAhxki3WpFSapqRfp5oKubOUQyksGISdPdNY6oKY+59csSIXWK72WDNgG+urhATUuhAKqvtCsTom9OARtdoaMfl5QVjHsnjAW0z6jiMhACbzTlahEevXpOGju52uznrDdgWr5ntqDa4nm4S5mslBSGYNQ2g602lVWQHqssAzCeZinrV3nwP3PiNaUCDYF7hL7NG1Wl7MwGCPzDtuk3naBpBolf8qYBWbC4wGhCrYIpy1KrS9GyimUikWkcpXthDNxCYRNzxiWrQbza+nFNiTT91mlKdt7UTwXhzTms9PtSV6Xk0EOXs/IIHr99jHPyaqAQsJCqZIRfkpvdq3y7NabE8ZDLG7mZHfziwWa1ZrVJLq0OMXqgXVOmiF7H1fT+n7M2MGpSoQlCXvRz2A3UqbJEWFNY1qVtRhj1BKrG9b7vHSDDo1l41L56akiblqMUdYAnNARRtKfpW7emqWT8O8eDRd9PeV/V0kRqmtXn7+aiB95x1+4xRbfRuCHaUuIh23pFCDNGApbXrYNskZbLFOMdqwiTi7lFznqANfm1fbdKfnO8n7GDe5slU1NPnqH71ePLcvvQ87WQCOga3k5xLCKUg/Q4b94y49j9MzoUV8jCSUmiyMN/h2DpcaNBZP5zH7AUueizsSKqQK+NhR63iBSEhkVauD63ihboxBspwgLol24B2/uw8uH7Mxe1bDGPhMFwjXc/2PNIl3/96FXn8KDMM93nji7/BZmWkfENq41Q0qP2ezcWa4fAGtfas4uP5/cId9Pwl1ttnyNevse9fI5zfIaULZOVkx2HYk7xilmq1FaIJUzVqnzMriagYSEF0JKQE09yVA7BtY8zv8Sa/W/g6+dVGfjI1PL9WZ1xkxSSqd2LMCJIJIVPGHWaZpEKcZIZNkmFUSq0IguoxWJNZ4W7U0vydqLNUYbfbUYaBVYhEhDyM9Iee0rTXeRyopWDVg/+YOky0dcqh6fpGzCJVoMgGCbcJXdOo1mv6cSAOwqOrh2zXCakjU2cJdl7QfXm5pj+sibs7aHweE5d5xe78eKmqtXHUnvRbG4El6tI/mwgBjkSJj/KTcytQjdI6gKiqd2yapF/mcpaJ/BHBJx/MHTCJYCtENm3/W2CDlYjVVveiikz+sLgkRL6C0b9z0dWsYa3zhOZwraMXhajvphVMFE2oRcQSYiNigRgS0k1VlYlsI8UEDYmikdo0JgAxRpfAmZFzppQyOxap6fyY2yr49iEERGHdGNRSRqK4ajas1ZnWfiQ1Dek6dmDCMBpIIOeOkJQQpwmzAANjP/La6w9Zr5Lf3MaAjmKEpJQQObvzAUQ7dnED6UUAuu4OMZ65o7fpmvPTY9UNtNaHSDpgekMZb9Bh9MFruvk0B6CKRyraAYGc9+390RkrDUjwtlYiU4X/9HSX5oC6Nc0s3TS5aNMOaYuktBn6zKS7s2G1DawyaY1ONHHqLFxtTrNXWDKfw7uJt6s4nLV/Jw7rE9va5FxlrAqhMSHW+iGVakj7yRTPHtD0wgAWqPg9C5rQkKgGeczkiT0XIaySa9eAnDNmhdwE+F2XSM22U4qM40DJI8PEwIozm2sNUCv9MJKHnr4VDNaS2VvhcH3F5Z1bdClieWR38MIRCZGuU9gENHVkc53tVOlNNWJoRSOiLXuQmEYWq62AsEXnMs+rk11oe9ki7epFNybjfB9EvN2a2VQsKM6yMulcmfXUjYeFIIRWlWv1wjXUVclDhqKktG7BmTPCE0PlscVbm0Mt+KrQbuU88dVKHQ7Um8eQD6TNCkVm3fw8cQdh6HtS8GLRoTmsq64jJA/eDoMH8VaN0ruztl2tsTXc3H9IWgu379zh3v0HvPbgHgCP+z1dDNRSGfZX7K6E23fP2fWlfX+hpsjdZ25zNUY6iaw5kNvxBxHGDKtc6fMj6k1PlEob9olS2T28R5WEdb23GWJHtKaBHQPDcMnFMy9j2QhasXTp+uroDGuig3rwqu7iin6JOrdXEzN/NDx9hlCQmJE4RcWRmiuV4pmGJxiu9zbMjtmMt8tenW43QWQuNX7rVk+8smqINIfJwuwoUUNj87Q5uVMWwQP6aQ/uDDVi5sjpTwcENmWRhBgiFpizuqLe+spKYXfoKYNnjaYgJGNoc7jUK6oxkabR9HMsKKhSq4JeEjcvECZ3pguUcc/6fE3qjF1/xYM3X+f2bc8srG+dsQ1bJD1PrS9R83eBfTchfrAd/mZmVyfWV73vaPt+/5+75YHZf6NQmVpxtiKp1hpPVSk1H+fGGFpdjF/DID5mT5l1d4iLz4cSnHRgDRwdVmv1IKon2bSpqEulJfTfOep556KrqaIK3iIJaCds1Zk+S3OXgEE6QlgRpEOloBGk9khr21GDUNS75lhQQpdQujklWq2yTt6SqZRCbszQ5IyCt6GaTtQnfHempnSXmVe1pxgY+4E8jM4CR7eQgkdbMUKVSFqfUQz2Lcrdbjd0ZwXb3dDZmscPH1OyEUJL+xRPU97avETuPsT57edZp0tyaAVJnKN1jRDRFAlRCZrRNmkn3SNcU+s10t/H+BQ1X88MrlJ8wg4deYTDdaUMPdJ6z3UpE7QQU0BiQmLCUsv3T9cgtIdYhUkA7cbW7qLSCmpk9jrspLUXNqXOJ8q+bVOn95lTjMcB6m0Gg3cJXyoFOLKrYse2Vu2N9s8xYjTzKvpCnWfsoN4X0WogF+F6t4M8QrPRauaT3QqEjiLCkEdqUNLKJ73VZo0kL6JS9cm35OwV8b4XSmM8y9gztu4Sq1YJfbY9g1I57G8wq8QYWK87uth6lJaM1p5qxv7mhoNUzjeJMvg57u8/RlcdYdW5FKeC2TGdrrgZ1dcXiS0AACAASURBVApSK1YEq3nul+fCfA9garXGeJxU4AvQChasgpUANh6dSRGwjBUfGE0MkeoFh3qUakyuJ9QTWcrUDq71CDSXY6hFRHR+/ksz40kGYHUqWnxyMHyCXX8P4q3dDE6Pd+p6cmrDhiHaGJLgvT/ntCUy78/qaTHa0fZdBtRiWQGTnhQHYvWipC4/QPqHjDdXaB4Zxjf9DjWHFase7NRMRaldZHfYU1rAF1vxR82Vw26AoJRaPegA7mzOGfYV08Q4HLCy50MfeJE3Xn8NgNXNjlC8gDZthP7mATebQG7O4lAyDAfW+YZnX/og/eEhpX8TQqsoZ8/m4EWiVgbqIKip96sFRHZECZReWEfoqhKIlOiTLlGIdh8pd1EgbS4o3YbRCivxfXRRqLk0oiASQ4eFdDS9aqCtBLn6NRPJWJruU8FqAhLGmlrXiCW0BXOTDE8IXsAs+sS4dSy2ee/a9VfE23ZHmMiY+oS8x/1GmeemFBNmlTIWxsYOQiGoYHiBm6q4rzk9S+rPhpUK1orgss2FX1YNy7mRNxBXkSBK7qeiLWvHod7n1dxpiy0IqeLPW62BUgIh3ma1Nmpxuz1bfTtdEu7eWrPpCsPhAfce/DRh5T3P0/ocjWfAyyDfSUofx+QlRnFWP6oQTsiqaZ6bjU6Or73av5EE7Xr61R1nn87HVTl+Fh+L3OEszmXhrUpl6hOMO8vW7t/UytRsYpkDPr7k9tMhJ8fs9/wr+wxfsa3VRKrV2VGZ0qZ+wu7vSKN5AVljNngDe3GNZJXjhIh4P9EYOiwmigil1rknKtUIhNmBBXdKr66u5qbT3WrVmNWjrrPUwm63a19hUAb2+4yKsF1vUITUdfP+Sh0ptfB41/PGY+N6VO4/9oF5c96x2SY23Uinwmp1h5s+M/buNNy6++2c3X4ZLp/jsZ5xdb0hpUtCbG110pouJUJrgZJUiLIhNANL4Q4xtJYc6TF05/RXX6Q/vA6A1h1RYbcvvHl/x+c/d4/PfupzjDfOkr3/hVv8ge9+mbt3hG59Q1wLtfX105YGEY2NBW2tKcRbT00eq4jr01D/Me/+zrHRuDYjb/pCCy0QPdrBFNF5T9jolYXvOrfq+LKR/cSweldjwOa2OlDQKmARE6PqSKbOD13QDSo9KnsYDBiw0kP1itVqUFYb2N5qTpOniWJKrFrAFWP07gClUKx6z+CUsNTYXjNKHrDWOqRSSauObft8fzhguRIlIgnSpvOel5OzloVufclqlTj0O8RG+mFk3XlatSNy9foNHWek4QwJ51QiuQ0FVkdq8X57KQhqxe9vczpEKzJJVgD7ErnKlLZrTooZauNxXJra+YhraVWD26BEJnpeFEybHtsyVEFZQesZ6ONOJlApNVGLkHUkhNZ8XXwhjumeH5voPInTQOu9pAIQmXouH7XD09+ftOuT5+1kAvY/Ned0ChTa3DBpzzwoOJ0kPEU4pQW9696BLg6E0TNDoV5DORCqO32l3BzHA3wylOTjOShlOND3A92m9SDOhuXCzeMrci6sNpvWPaPd9xDJhrfSs8LjR/co/Z7+kS9Ks+ZYvVwYvIVPTFy+8AEA9ibY/gE3NcOhp1ufEdeZnHxe0Hyg2yhDXCPxgtvrW9SH9+HgLRdF96zWAl3ylkhWKCKtIw3UOGD9Z7l6szCExObuJdolxmHH0LdjDIGgpS3B4LIslTB3vpBYUFxL6PO1AQXilOUpSPcYasJq78GdbTyCxAOPqlMwFmYpzgQ7dQLec/hqj0tnW3Zm9OScxNocdrR1o9meKiFF15mWZuvTHpsjY63dpJw8R9Y6CPliHRWrbv/TvKACZ2dbJyRai8o8jLSkGCruAKcYsK7z74iR2Crki2Wv4G9OmRGJ6YLQZCSQSOuEaWB7ueHZ5zKf/fyei9tOgJ3fvsN2fYvLixc5O/sg3fplhhq8GwsQRU4Y5tocxTqPaUfn1RcSmdpjGpNkC7BpMZ02r2fmOgag+W9yvODY/H3QxlnxkbZKbZILZocXzPvqB/MWWFaP49TvAl/RYZ0Prk7U3GQ8noKWmfqeGJQ1pR6wUVpqzuhQ5j50AlHVV1cK0Yt26km5j0IZ/eKFEAghzDrW6eKFGMg5M47OMIUQnlhFRVVAIxI91VnFU61T0HDTH7h+9JjhkHnzkfA7r7zG3/+53+L+jTOsZ3fPObu15bs/9CzP3rrgYjPywvMv820vfsh3sHmWw/ZZruuaOnobk1gyKfrAHssNg8E6BqJtCGVDVqNOBUklUkT9xsVnSPqHWcfvIFx/BoD+5lVev/86X3z1Pr/z6cf80m++wq/95ucJjSV7ZnPFz//qff7sP/99fPjDa+CaID7hzEUVc0+spifBC6NmQaYGRFLrRZdc6G8nsg+BSeSOuUM7tcEGf8hLztTijrGGMKdifIN3sqxvPL6shrU5qza3XjnJIjTm/Sh5MSgKjd0o1orOLFFtJIaEpkTNrYcqxe0uJCy7va4I1GreiBoPlqZWVSl0aPRIPDX2XxRSWlHyQM0QVxtvy9ZYqFWIoDAMIFWxukaDO3DgjOPj6564H0nR2xuVwMyQ6q0XsHTGTm6xjS+xWt8l6IawniQ7lVp31HIf6W4wHmP9Hm22IVNvWNTHBE2YRXJpi2qE6nrpuHId7Jz7mfTh1ccCbZyfmpuZuCzFtzmyKT7OCFMRIO23id1XVWqdHLn3Brv/tWJijJ6ccr8U8iUD/lvPO3Hsn+1Eg+JxQRVDn2CyWnq6lqYUMsyuWUud+0WqZFCIXcfh0JN7Z53mcRlhHPPsiOWyJ3bJFxgAqJmSC+P1HonBF+LIZZZ6DYcDOY/NKQW0cr17RJw6PnlahyDeBzitAvvDgS66Q3z57EtQXuD+K79N2d3n2Ytn6NZbMHcM+t0B1oZ1z7L9tu/h1sWGm8//Ovpw6q9thFUgdxvKOhC2FVtnatfmti5Two79/hV0e5vb27vuIFkk76ZerpkQV5gqVV0OI1pnoiBodG1u60HrUcTJgi1qaKpOAJUVQqXmkdKCZrOmDTQwkS+xEJF3b+gN4iSAO0ITezmNtzQnygOOeXxuKw0dpUXgI+nREVLwAM58c09TzxWajAgWApsYGesNQUZiAmsTfqkGJftiAjE0Vvuk3K96Oydnt70IuWab75kGdVLIKmMZvfizFsa2YIzVTKyVFQPoofUhnTqB+1gZxVtEpa6Q1eVQx/rHzFCFx72i+4h1l5zd/S4u7nrP87S+g64usO1d8uY2ezVyHUlt3jHxlTbFWraq5JlQACcRrBqEe5g8RMzbTYmOx8Uza3IzfPJGzAGRVffZpoys6jRGTf5AAYr/axXMJV6TzMs3PkM1+HnXQqllHhs0BlzX+s429o4OqxfdTNH4afTOrDkVWiQyGagVQkiIbMEGqg04EzA1xw+EqNQYya04I5hRDm21kRC8j1pl7p1a2iRfmpEf9ns0KiEGggqx60gpsWppV8OouWeS03UpMQ4D4yRs7yISAuMIN73wc7/yO3zqtYGhLVv6IMPtMZD7Pc8/2/GhDz/P+5/5MEP3HABlXBP3SiWjsZLSNSUcqK3RsDfndelDSneRepvQnRPiHT9HvYUQvNdrEIpdEuKa1PoJXg9n/LVP/n3+3t/7B7z6+n3evMqYbvjYRz4KwPf/0U/wyz/zSf6Pn/4U/+ZH/whna3XjU3cqHW11MV9yhbkx8BzwTFrDxsKItirGo/Pmvdem1EFzHNogMB4CpV8hJoQgLc1yjIz9s+9etP/lGNYnlracZA8zS2R40VmLhKthOWBNwzZKh8UVkQ60IKFHQ6C0XnalCBYU7ZIHSKUQxbtHTNKWnDMpJVJKDOP4JdIXUbzvals+sJbMuHc9IIDGyJhHdxJih6QtfR7YbJ2BXW83hH7P4XrHzU1PCFvGomzkGf/+9FEun/sgcXWXHG+7fMU6dOUDSwxC0JEYblAeUfJDkM9Qe0/LqjWGlUC1xGFv5OFwlKvEkZgESQVJkZoUDXW2S++iIK5Dl+COq9DkKe02iNDypUyckQfHM03bJBXSJp4Tsoqn3V2lTQrH8/my271FMsD8rE4bxBOHZkTFSKESQnMesjF1FRE7oNZTzHWooVYobxKCEswDcZURolK7jvVmS73ek8tImTSkZXD2MLhToCKEmJDWgaLWTO4HorkGzvJIF3ReDrrf31Dy4CsGqk/ooQvzCoYq3i84YCRZE7rIGLxQEdyxCN0ZVYWUelbrSs7Hla7QAFFQveDu+z9K1w2U/Aqk1j2mZiQkdHNOL5l4O3n9U8t+5BQgRYJA3AYkRqiByGpmwvvdY0J3hiacBAiuR7XGZIWQXJ5xoq/01cOmqveMaQ/VP0tVoDB1arDi+ndlWoo3terv94LVv/14f5xDvj7H6E755Ii0InCmYnBtqetp/GhHZkbOxamzlo04rRmJqqgmJLoeNZfqxXB42Hg4HOgPO0oeGcces8o4ut1PPVJFCmoDtewIdU/XMj7ZnGGPCi6bgTEbNktRWg9lEfpDz2MyNzd7zrYtYxQL3Up8nigjsRZWq+6kK0r1nvbW/LLJNzsmtfHe43vG8SF5eEhK3nd2curRhDCt9NiCApV5apxcvFlmhZ/LdAzegSF5oa0ys7zzKpHkRgKdcJ6/BznW06PoXrBgwYIFCxYsWPAtia/AsB6ZqDkCfGsKokkGJr2HF2Uo6ArTDSIDvpLSpK3snArWSOq2pJAY+hHrPe009j1D3TcNl7XVtp6MltarRLdauUxLW4WzyKyzHfNIoLJZbTg/P6OUzEGE3b6R9AqhS6y2HY++8IgvvPGYviQOLe2yCoFaIw8eZj7y3e/n49//Q4TtJfvcGNwxkvuemg9IeUDd3HCz/wwpOct063JF2CmsCnq+RdaX1PEuafX+dtE/ROheRNlCiS5ologGTwHceu4jfOJP/nl+5Tff5DOv/CLD4YZSR37jNz8NwHd95GN89Hv+CT77j36KV9+45sMXa4oVxEJbTcJPUtp/flWaqmq+jJ5u9WIXL6TB3lI8I8ftvJWWzZF+0oQRm661UGwESSd9Hq11Vnj39VRv35OVpgt7sh9fmdKXtFU+KvNqHVlWwIoQ137NJFD1yHKFFL3yvjEAqUtIlWO7JTxyPRwODMNAWnXEGGdxvn9/Zre7ASvUsUfAlzeeGFbDWa3c8/hxIV8H3nh8Q2hpy+1ZpJM9Z92WnSXG/Rm3nvlO0nPfDsBu9Sw3N2d0+Q4hXni/1hRdZwokDURdkfQWKb6IdiMS7zBe/SYA++svoHaDINx/cOCzn73Hp3/rM0Rz2/+ej7zMB16+YL29IWwEo6OS0LZKlaBYaLpqc320afQq6qkNDG1Z1CpNO9uqrJssqZp5QVhjyKtZS7n97uQopytFTffmvYCZi3rLebzTszQXYT351yOpVSsaMpuNoozU0rseuemvg+2g7hjzjtLGBc2PsANIbC3TGNFOGfrAaruljBWy0Q+eGt1f7em6Nd1qjVG9vVWprd+0y4gsF3/uKtQxk7puHrfFCjEpISpp3YET8aQwtUzzcyzjgMiabBUls3/4Cu0kWEU454pg1wxXr2OSWYfW3SVWCKD1Gg5foNQDVd4kXrSlZDVSwho930K5oZwn4vma9bnXJnRpi3UbcghY2oKuyH1ASpiIaobrA7oSVucrIoKakUs5nmNSzybYlFad0tvT3NTkA6oumagjoFNBOlXAxlYNbp6+FiI65XaZUrrvBuP69vZ5+ox9PeYDZySndIqeaHl9FSVMsRN5m6oiKbXh3gsDvWtekx14Ote73ExZC6G1afL3cxkp40geDlgeMYw4Fcpmo9bs+u+6w8aHxPE+IbndjHSUAl5Vb9QIGirj1Psa9dXRRKiloAjrFLygF7AyolRK7iljT46BGDm2zTIwE6rFeXVGgZnVRw3VnpIfMo5vUst9AoqES88C+EXFs63ezk5C8BruSXvdZJ3zCoLteoVp7tLgxYJTH9YqVI7dpXwpWKMt/Nk0xKcZoSlL/852+859WE9wtDM7+cMxXTen46owjgVNntIptCxyM7Ao3qimlOxV8aJo7MgnZG/IPhGVUr2gBGY9KzAvT1ibvmXSuUxp1VIKKQWGYeDhQ0+3qB51guEsoCaYZVKKrEJCayS0oo4yCtfXB97/vhf5g3/oH0PDhqFn7nWZD3ts3FP6+/QPfwWT+9y6Y3TnfrGzeL+z9VpZB+jSmkMfGUeXFOTxs2zO/hAhfBeid6nihWbTwgMiynd/1/fz5/7cX+ALn79H113xhVde8d6DwK/+0i/xgRdvIzl7b0Npml0N0BwbmeUB4kUMHAsw5vtX22RSM9MSrdMSvDY5qiJMhXbGsSpwakJcrTUGr2Xu1ftewulylPPCAdMyvZPU5dS2qxe7IPWouWoPreqKUjr66mmigDbBf3NYVSAE72ldjZDivLzxZLvr9XouKEzRZQO15vl9bw3m+uPQ+rcWqjchBw67A/fvP+CwG3nlvvBzv/br/MJvfpH1HR8cn/u2W3zsw8/zzEXh7u3nefGlj2LnL3GdngVgyCu0RjorxHRNxw3rGOjM009qW6wEKq4xF+mI3UdY3brrl0h/h/7q89y/f4/f/vQ1P/vL9/i5f/h5UtPY/uwv3uNf/DPfx/d+7yUdO9dMijAtNznrqknNSQ3+niRs7uGbjpKVSUttJy1UOKb4vJfn1K1ieu9rMpl3HafKiLdO9lPh1bG+4ORzbynKshOiQbUQw8D5tsPqgeFwhUmhiz4pRruGfE1IO2rEFzbJe6LBdpJaFX/uWXWYFLbnW0I1dEr570dKzmTJrlVOekJ4uG0P44BUI2mgUqnl2PFFohA0EUSx2IrARJ5oLk6tFBMG8ybwKVZs70VTV194CKly2Y1IcJ2rRp37xK47GNNIGB8wvvEz2Hkghcewdm+zpkgOiRIHaqqMK0XWW+LabV+6S4jndMmo0XtsqyTUKpZbL9mSsCZ5SM2+64kSayr2KaUgUlrq1PV/QCs9aLUD4nUgGo/FMaIZwR1gyx68qa3mZURdGRLmJTO/mbDTApy3IQnmdHIbV4HW1aI+8dAeF/34Kr6zitcKm5Bz688eIqpTUS3tX/EiPY7HMOW7a61YzgjelmocB+8k1IqquhTpUkS6hFhb1OCkGG8cm4ylZow9tb9H7N9A1l7lr+GSLAEkUBDvJ6yRMMcYEXdag8teqtGpIM3foGaXOMYEdfRlkbMSwuR9uQxRzIWX0hzFqZVg0Irke5T+dSQ/IlpPrAnrh/nZq1MxW2sBKKEFTZPPJe5PTB1B3A+olNZbPiKNmGx9un2r+T6bma/aa4pKbEu7PmE8rYXb18Fh9dVKJnFte3CeKHI4alwljN7HNORWZd27roN292XEpGesmbqvWDfQrTZz03yzStRIGTNWcpM6uPhh6ndZ22ttD0AIgRDj7JjUWtntDgQVLi8vWa83qOrJ2sLeCqsf9nzb85d878c+wO4XvsjDfRu4LNKFNX/iR36EyzvP0g+jM15DK5zZX1HGezy891us4ytouOHh1UhpE26uyvmtC9J6TQrGSiIhZLK81i6XUfMK5QJs5QsMWETDNGF3hKD80A/9MX75l36dv/pX/0eU7FWjwKuv/DrWb/nTf+LjvPjSi1h6QGjOv7R9mEbXC7afuZp4lpi6QFso0Azb6rGRsDGC5Pnh1uaEU6demB7JeoNhZjbkveM0nERudnxttSK1tqISX7XpGIPNpYHNmYWpoTIA1ZpztabWHYY4s9Gc+BCVoqHpo4x6GAkhtjZRk20WasnUat6fUoVuleiaXiqlxGrdeaaijoCximku2qoKxMjQF+4/Kvz8//cKr14JsvP379/subl6wEvvU/7IP/U+yvrbGPKK0LeJkpGu66G8iVVfU7p2iog7tCK3CfGSqHfAoFBQtkhoOr+LFV98bc9/8xP/C7/yq/+Iz71+xciaH/7EH/Pjtx3/189+jo987w/RrfB6P9Wj1pLGmgpOF8+a6VM95lSCWTC8J63Xp0xLimXGfqQMBRVvPH/qsDIz+8cxSqf7Cq20ztrdfdcN9euKJxxcKrWNGV1X6LrMag1qPYE9u13fek7TdKrXdDo4gVBgHNypCnEKgv9/9t7sV5YkOfP7mS8RkXnOuUstXaXuZrM1BMkmh5QozHAIUNKAwEgPnAe9EBBA6V3zB4z+OL1K4osGFAaakUjOcEM3e6ntbmfJzAh3N9ODeUTmra03Tnc1UQ4U6t57lsyM8DA3++yz7wvUZoy7iUWPhClRj8GRVODm5ppXr+45nB4IKZB37mYzF4+rtXo8zylhoXOSRTe9ypSdnykSkMG9xpOcfeWtD8dI6J7ppgiFvMYvgUkaUwwcw57KjoBLAAKkKWO7SoozWr8H7Zq8z1gv1ixlZNx11C5TZSLEa0J2PcwwPYV4BbEBSqmVIQWkd/QAdnFAxp0f6NrjjQVi33vB/L648orimtBtGzbxgaQerUV9ElwKa+EhIuQp0wqoBLS5hNA2ra1+6P88ugXbEOBruMjfz/MlctafsU8gyOKDl+LgjDY3IdkgsBCI0mWWtNJq7UoYq2JO/zZcFst1K5TWjYZKq6QYNlUiFSOm8wR9yhHEiCbQFlp5iZw+QPY+s5KTkOIelUTpopVGJPaiIjKwapR2qIApJ1egYR1mq4h1/eoWsRapvVD0getIiA0LBUHReGKIXXZLj9j8bdrD3xHbPVmCn1vanC/tnwLEZTAtcAYJNt32FWhYwZsApIv76/MEyMoRxueWenfS9XJdzcDPV+GshsIFp/vz1+cmrKto/2Wl/tm/tlcr1gnkBs0iQUaU3QYN19AIIRE7YuJyDLYFxUEgLm2blI1JN4WANRhvqFVKr+mArl8fx5EcMtM4cnV15QFBZKs6j8cGBkOKvPkk8vu/+zX2+8C/+4+eUD67U/7Z7/8uX/vGVynmrhutNEJHxoah8ur+PU7L91G5I4dGWSr60BFWS7xRM2G44ep6hxVjSonWB1NauEfb91H5HkEe0eSaGCcuohYhCDePbvij//GPGMbIn/7p/8Hh4TsA/PIvXfNf/95v8gf/7e8wXRXMfJufISkAD+pI9ODeh1P0olXiCEZjpQ8Q4iaBtwUHWkeza28KrHqcoQfWQIhCiImY4gWK+3NOBC51Vlc6Sy98ormG6Krf+5rT1YpkGF6NXyBEWEVIYDuQHWYPTnUJq0aiEPPIbhoop0o7nVhOcx8S6M9H001Sa8jJ5a4uYryIoM1NM8YUePz4EWbmNAFgKQsxR4bdjvdevMeHt4WHumfocmbYxOE08Ku//Xs8euebHOoeSiYcvG1LuyXubrk7/Q3T1Hh8k5D7RnjUD+WrtwjT1wnxW+T4ddTGDfkHkOEp73zzn/KNX/sz/s9/89e8elVRW/jzv/w2AP/9H/w+P/ib9/nBR0cePZlQLY7G2zo40x2nukmF55UuIbSZFwTt3786ofQJ9l70mrlJKJZozTApiAybjaCs2q49aRWh622ue6PfU6HrlPpzI/+wcleQRujt8JQb+ythGguiRwKFUoV6WikBM6NAbZVp/wi1yOF0T22Lu/7RB/Ji8GiRHCi4frTnoaPrRWEYvajNuwkZM4s1pDtR5SFR58UTh1A9bgQ5D00loZnbBY9XewxzgfKONC0P7ugmGENym9NpGIh717O8PxUYRtqQiVdfp8QIciAOq4pBRcdCKUeaGMECg00MfehKousoh+Aa2kUjhGs0dQ3wNEDucdYqJkeaHbF6T+2yVswH0j4TgLYsuHxb2tRZlIqk5kk3q/HO5eoOcVY7xG64QkYvpS32glsdrSJ6MrChhWus/3klrF5QrAlzuPjz+fvOWYTw04IbvZo1IYTk6J2t121Nrrq308e6bW2jBDRo6vtv7X7FSO4/X1sFVXcWHAdK9H9baQnTNKILDqq1rmyyvKLOH/nvmkZSTDQZe8Lmw2EblaxTGQQQLQSM/TRwuO/KK9JLa2uuid0qrcyorcleR0fVkFBRZqQ9IL17UufnyOFvSfUloVXXWU7BGRSroYt2K/ewajiDdcoWgAUhJLcMXgeFP2H1vNJRvDWEmE/++/X2AXBnspy7vWtnUUI4zz5/zvqhslabheW5+b9+8eJvFzhFy2DJ32zzk1is+/8CahmRxSsCiW4FVuVC39M3W4iRhOurmjicn9apPTPSZXIlQm2N1JNeww/8RbzSdHrXqvvlGzjHgbCLLrQuM//0d97gl77pVmcf3e34lW/9NhKU0hqRhNmFbanM1PYCeEVZHkCNnBLLodtflsb733vOG08mbq4TrSlWumguMF4FRI6I3dPqHS0H9z6WVQgjdi4TfOMbX+N/+Vf/iv/5j/8HDqc/B+Bq/xG74UhicZcqG9m06larqRD9oQjR7TO7NuVG/ZH14bXtgBcSZwi20wA267W1fb6iYOsW8PaIdJrGF2WtRQ2cq3ztXKXLltXH1+tmApddBFAVlqIumZK8olfZqE6YNgcOU6YNCSUgJwOraOfGVvUHPefB1QA6tWU9lAPngB5C4HA4olq39zUOA3Z9RV1chzJaImjefKvvHk78xm/8Bu+8+0vUGtBSqMcDurjsTnn1F5TyHR4/XRifJEiZaRKmzkUKtuPh9s8p5Xvsr3+PmL6FhjM3WcLIOD7hD//wj/i///T/o7U/5wfvf8AHP3Ae4V//h78i6eIBLbp8j4S42W/aRlEJF5d5dZFbbYFDb5O5jrOIFxpnHr24fqusUjcuxxTij8xw+oexLlU4nJtyQeHxy5NWW9LJuLkJ5HQL5UiIJ6Y0cGKVQ6ukMbtBSohc7a5opwFZ6pZQuoJEROeGDglRyI+uWB486S2nQhoCQiCNCWKktrbxL+eyIBHSNHaObt2Ey4AuaOKpVlF1zUuB3J+HNI2ElGilkGIgoex3O8K+q6uUB2zaYfsr9u/+JiEah/vvo+KJA8uBFiIl+3u0DQAAIABJREFURuL+it3TrxLSiFZPDAhgMpHzVwh5TykvqBq8tQ9oMBqFUM2l5GKj1HtCvaee/PnSuzsKyj6OtDESB5AUCbLKUvm9Wgsq18OGzWrUBLpZiSu1OOdXepCR1vwskt5RCy5ZeD7shVX/+We9hOy9C/v0BPX1eHzet6sqhnRq4QoW9F8K0Lml62/ULePwH40IiaYZkZHgquSsUn+mC7WdMM8qITjSt+bNMXphrNpoWjZL8sjKnY4sZUa1db6sO2VuDZ8YkDw6T78UAkKrL7GjA0xxMNLkcnAhZILkLqzvnyF2wx//jM31j4dGzV05iUrUQqzFzWuWBTUjrt3OYGgQzzOskuKJPNxhB6fK6Pw+8fBtxBYHaEIECmjdHj6LIHEAiY5QI0hM23mPKbSZtWGpgnNU4/kaRquYZEwCLShijbBq2VrEyoio0w6dVuFUiNdu9A9Znx/h14TGLn/d2dqSrYGs5w1GJjTXbVXAJNHYE1ZfXLkHTu5vLo1hMALLhp5oU7S59ZmkQGjOjxBwR6D1XYhv6tiHrYIZtNXTPaDaeHg4kXLi+vqK3TRtm3w+zdRamI8n2nIkU7gZA+Wxt4aevvMNdo/33BM6OqaEVIniG+h0eEHVO2LsoubijkXVPHBP04gZvHh+YrcXhpw53Z9IQ28LZ8PsgTgcEU5gb6Ga0FXPcLXkE7e/HJIw7b7G007s1/pvifEFQSNmE9rRTuuiwX4RXOrExX+FlROluqLUjda85RyCEqIRbdkKE5UF97r2zdtoqDXS2mKNZ3kLsy7EfwbiXquif15LesHyGofVznvXD4zXfuIzEtYeHEOFUCFWmiwUXTp1osuZoZT5DqyRxp2j0hqghnNL31bB/TXHkNeS1BgjTRu1LNS5stv54ODaHSjFg+5xZ3z9q2/y1bc+ZPmgsPTAc7V/xD/53X8GMnA4Ku10oB5fcbz/O/9Yx78hpucc50a6j0y7gTfSnmH1c4+K2Amxv0TrE4K8jengw2VAjAPCwNtvf53/7l/8S/7iz//KzQm6+Pp//A9/yn/1j9/i3a+9g6RDp5Kks1NWp6h0/LoDnZ2acaFcqGr92patHbiiUSKR1ocrEGEDSX/MvUGPIV+gOgvwfRHkwtP78mu2HtR+uJ27B2uHxfeYmtN5cnSgIKXGkIwxzAQeML3FSMTUD8Xs7fthP9LsxDTtGaZITBNTHy6xWrz9GH1QU8KIENi/6Vy9++OBepzJ4oVUK4K1QltpRlYY9hMlLP3uJ0AYOkIKMKTEsizM9zPTNCKB7ecRQ6LHmpozexLh+EB98IRziM4ZvbcdIX2V/R443WOl2xKzI8gdIUXiuHc0TpWlJw6Wb5j2/wgJ3yQkIcq/pywvuDJv7ZIGNEXs4Q4TJUyCRkG1kmpHFOeG1DtC3mGPI3WYkTCSu1YsVZAaseC2mCIRIyPh6nwfraASsZAxAjFA0H4NpbjOJ4UYzNHV6gOwsJ6fy2Yn/bNdHRT5lNj/w8AML7T6n7l8nD//c6yDxdrELXjFi6pGJGz0tgYUzHxYKqi3v8Ma81IgYtSyeBJqgqg75p3fnw8YqxqqAdNI22SpfODWuZ9CSIUoFcz3XViegSRMInkCkSuw8+tLn6fwXFrIAWISjn2SL1bXGo7SHf3UEKuEPiQu0edITB8YxCUJ7eF9qroRUSsfgN06MBIiIWdCUlLK56TbFpdLC5kYk8daLdjScxYBTQMhZkIcMAkULZTWaZYmjJ2bq0S0A1xhPTs1YC35/7Gus7yaKeCFyxkP+8z1QxDWTyvTLg79CxeDdbetCcx6ihjuQ66sGqkBkdEPI04EXYhipN6KzckdmJZl9iEqg9hvbFzbKqa01vmVOPo65GF7D602WqhIgpQ96SxlZu5t0ePxSC2KlkYrhbYUaoloJxCPu8k12ErsqEVD4tlVxIK3zwmJoIUUEuMYeHTVtTCnQApCOSl3L40hG600rnrXVmmkIUAstHZyBFfDFmQsrNVXT0ClAWlz0moluFZiiF5dhoRZRs22e6bNN4V3SR21FgnbtZR+dxDOnscrnaO/S3fI6AMy5F5ZOsqtdeWwJi8uvgAJ6sfXa5qrn/Hvjnyulf8F+f9TElajIqIoRiPSSF7R96TARMFi53sraXTmmsnq/sNmUYw4p8+1KtO5NSIegKfdxJQCjx8/5lLPNkZPfnMKfPWdiT/4/W/yv/9ff80PXnnw/Ce/89s8fesNihmtKEEbMRw5HDxhbfUZY5ypD5VFE4/euiZfPWYau+afOZm/hXtMv4fpD7BwBdLbop1eknLmv/nn/5x////+O/7kT/43BPd7/61vPeWP//hf8MZbN6jNiJhTU9bWkHTkX6Ini1yi/H3whC5SvZWYPmQSVj/2rrnoPCjnlqWYPoHkrNdzu519BQnOYZXzc/BFS1p/tCUbMvfaER+MiHh7sB+qhg/rSAjuwtaclrab/L6PeeB0OnB1tWNZFgwj50SKgZz9uq+HU8rOXRvHDFWZul7k9c0VuszU49xRq0jMAdKKDnoMn1thyI7epHS+b68POIaLgZwek9TpYQKonrAsNC1bzLve3WDtQGTHLh0QrUQ9bPrYIWYsDOTR0DYz3z8n5kSXy8T0BO0VMbyizguDHDnWA3X2xCPVG2LaYTmzzAfK3QNjqshcqQcHK2yZkdiIDw9YzCCZKCMS+ot0AXzpSgy1+j1ZucQebtygwR2XYn/017jcfMpa3LHJxJth6zbwy/fzY2Y75eeT8fZyfYIS4N/147zK5S8HQlcOOaOuntivQ0u68eC1OZB2pgz153/Nl6U7iMlZwbi1xqo+3boJAjFtT5xK185ujTQMnqfUtjpNE+yI6nMvwtuMxKegeyR4TF07Tj40VcnqVJGp8z/T/MAQE6FVrJwgZXQWytq6iDDFwBiUrAd0/gBpHzLEu35PDrRJKNUHfAf1IS1NstnViy1UPVJNkJTI0+CiLbYWSpGqO1JycFJxc4+8WsHTc77tDA0ICVndCVve3L78/q+d3/7z6r/jh+URHyfQfLm+XF+uL9eX68v15fpyfbm+XF+o9fdI+lrrkeVc7HvJApYuKSuYRkROWDJUGjEGaq/esYUsEKO3i6y5m0K4QA9F3I1CoPOjXB5lrZhqq9jgCICq8urlC5IENufHqlALtVRqcQesWvPF0NbkbUuLrhsm5vSIDsGrTKhcI+kK2r1PE+aBTvUiB4FWWY4HPnhvIURx+ZW48/c/7YjjDap7Qtqfq4wLjs/HW9XO9VlRuK5/uk76B0M0dl5qR5RW//etctFennQEo8sLmenGr0TKGTUXr5LMMsiEsEe4Qlt371gi2jIpDEg0XKND+XE5Kf+p1sph/aHTstY1DXGEdaurP5XD6nsSMwiVaA1pcYM3YnDXE+dldxe3sGAJ8ooyVOejDsNAFCF2tG/de61WYk7Qie2Hw4EQzioDTStC4Hq34ytvLPzWr++5fvwtvvvMUd5f+y9/Cw0NVDq5vRLkSGuOgNZ2iywNyZnTwXj/B6/4ytvXPHnse7MtQBNibKjdQ3tF5ZZhJep2K1ZEefsrb/Cv/9d/zf/0x39IKX8GwNtvzTy5EmAhMgLWEdW+xzuvWrqziljtiFnddowIzvnrU+TmxuCc29+AdRcWc777iix91rqcSO0Cbdt9/4VdPs7b/7LSWapTeaKS0kzodBWs4ooLQq1CK464pFXqLwrTNHI8PLDbjWgrxOiuVbEPs1UB1EgpkpJbLFrQLWaMu4Gr6z2njl6n7FPGi64or6HW+u9zbC2lxO2t8z8fP368UXhCDKSUqLqc0W/T7vLkLcxKYImFFHt3Lpyoc6Fq4OXf/BvGq0zrVp2AW2PHHSkG2nJHRIgWCavOcjP09D51Meb5hAzPkTSjJ0eqWJ4QcqalRLKRhw8+JLUj+7Kstu40BRWFeSYdTyh3BMlnaa5h59QtA9NKqcowZOcTgu91c1UAka6NLbLJCbWqrtktEZNGrSdajW5xDpgOmMXPexT+k6+Po2Q/CUXgh7zCx/6+IpTOZRVpGHoeMNbWdZtl7byTt5jR7ztd09ZcLaCpnWkVwQeiQkr+77g99TB0dQmMcZwIAuU0O991Wc4xXxvSHgh6C3qHxLdJ6U3AaSClnyFigSxK0pmoRx53BLXdf4SVA2nYO+9THN1c+aPjAEOo6OmWV6++z8g9uzyjoQ9UXk/E6W1yDKhUQu8saltYz+uQAjkJjUATmJeFZGFVyfScCx/60uXkCLOcO4Ngm/IOvQMgZGirJF6GPoQldGUXOXNkfVDuh+cMP4YO6ydh/Uvo/zx+peeuakeHRTqhGIDBRWVFsViRrj+qm9Wrv/EYneOhUvsDfjkwtCYXYGqdq+gSNwBjjpRoNK1o8Rtkqpxm54S0ZfHN27qkSE9OViu2mDKLBPd9li6BE4ZNQF7lhji+Q4gGsVLLEYsDp+qvv5QTp8Mtu91A3k9Mu4lHNzeo+VDXfPzPGHa/Thx/lSBf6wmrbUFGtYvudA6rsHJ8VhJ4ptX1RjdMlz7NztY+cxUK6TIeSojprNnKuqF8yt/PffVBr41I5FZ1xoTb7F4jukN13aC5J9DS21Oht1zOO2LdJz+vJdI7cHqZ6PShhVVF4IIG4AnUmaPtc5MX7WVLSI2grnlxIlPsGmTfv76QAgzZCLJgbaHVQpSzCobfoj5QgmEpd3m2/iKq3X8c5jpT28J+t2PsrdtkkdNxppZC0IXrqfHuWzuevvtNAMZHew7W+ZmhIWHmdHiOhEN/jw2UztdaEBt48dEDN4/WoatAmSvXb4yE3ZEUT6g2PwQB19ELfSK/cf1oz6/e/GPavApH/T9Ejlgbeszw51ni6nsdup+0t4VEXVmk1bZJ28XQ1SikYeK6hyaycRmj2UrJppn1ienXi7xP7jvDLhJee43uIa/9zOcN5X2x1sfYfuKDoRIrMSq7qbLf9bZiKMTgNKKYRkLeM893nInnXuC3mnpC6VqZfp/8WoTQI0YMjOOALktPYP3eT9NAGRNaB5oGYhaWWtGVf2k+2Bmje5sLMM/zdt1rrWdKQIwYkGJi7i39CBvnWzUyW8Ji4iafE4OwKFFP1Fd/SykDcTrbDiuBOF4hixKtuoZsCwTtknJimN1htZGsYe1IDIZ1YwTKCeYJlYzWxk3M1OcfIlqIdR10y24cUhocTz4zFRIMq7VyQMIAiMeBUiEbZzKhgFWkD2ea+R5fY5grv3SamLTett1uEa3h59pPuKN+2vXaQBX9fvWB3DMgc0E6X5/bFdzqxfsnnt7L51H0XNyuZ5i6aogP6lVaOFPsoq1HW+h4Q6CprcINXRx/BVr64FcI26AoZljwe5AlbIPcq76vWqPObpdd5uIa7yrU4vsmFuP++YE47hiuH4jjAY0vSIMrs4zpmhiyH0O10ZYD9fTA3UeuWnT78iOudlfcXD3m5uqaw8M98+ngOvbAV955zHF5RTu+4CovhKy00NDV+KDdUFpimR/YjYk4JvI0YjGj3TiktEyYJsKUICUqRhMfegcQU/LgOYmFVftWL4blDRNDW+shPyGaPVEFtAx+fnYt9xAyIokznuR38kx9+fT194iwysf+D+cn6bxBV1FkP6S7ZpzZNuEr1tDaWPXpMHW9Ml1/36YQshGuTTsCeoEOSnPatalh2lhqo3Yd1hijqwzosvEvZXs/UBUkRHISVIxqgmpAuzh0zE+Z9kore/aPvgoU3ni8Y8x96EsP/MWf/VssJh7fPIG0g/A2Zr/iX+dXgF/D5Cs0uUKsbIjpdt3MnZb8zDfONxTnrbKiFP2Q2hKwiwfbQr+OnU+sHe3yqw64Np0n+k4iXw91lxVyUXfrHFZHcdbhudZ5h+s9Dlu19MVZPt6zyhj7temDKj1R/VQE9oKjbRenQUB8glTByDQCyuQHEpDCAuFElBmR4tWpROrKxwZ3DGNFuIWq1YXS+7UbOuJlVlEqgUQeEuuT/XB3x+HhQJ0brSzo0jAdyF3cPQ4DoslR99Q/v7TtoQkhklNgHAJX+8Q0ZsoCp/t16Mo1BU16MSbHHuR7d0EDoX8PGERBbCIGD76t+ACfD4xY51XbFphCOCfnEsQHX5ofHqsuoYghWvz5R7sCxdk4wLqUj/Og+qSpXCZvn3Zc22f8e38vch64e02c/+ewzgf256MO20S5/82fydAYxsa0j1wNxpDXA6d2ZQUIISHDRIgPrJPKRiOE6ImoOkIlwdHUVcEij9kBXCClSKvFk8weu8cxsUyZKMYyK0urILbxaFPyQVJPen045nQ6bShNrdWVXjqfsJmTbbUP0ybxZzAiiOwJ05s81IWhT4NHvYVWSdEYeCBscvprByuT8kQ7PfgEuBasis8qsD4iiw+URaOoEixhvfun8xGRySW9mhJVCbVh84IVv46lGGG3AyJUxaRwerglXXlRG6cJkiBEokSfpEa2zxhDxGhY0y2Zq7VuKh1x2NGHysGMGMWHdDvcFixRGmj9RSi4zutcYMrnPaZ9XQArm8JyxCxj6uih2LgN/IB2Keguo6fi6GuPuSGI861l7Uq61OOq5KqqPtQExJyx1lz2qqPep7nQTFERXJFMsaKIrl8/MUoiVaG9uuWgd+TdNdZ5zfPiBjy7/TX39w8Ea5zu7zkd+tBWm0nhQE4zp7vv8+qDD2inI7Fz/u8f3kZZuJ4MZOEoioUMg8+87G0gtAeWu2eQCnWAvB9hnLAVpNvtEL1G5BoJO3fxWgdagVoLqQYvuFCQ6IVUW9vWdLDMerr3OodVNPcCwguM1eLgnDPIJ4HzT1l//zowFsA+fjjYRT7bZWrE36S36YTUif10cWjP1KUTc3visB50vStrek7STC+RXfFp0lYZQiDvd9RSYDf2l2jUpbqrBE4vGIeM9WnYEAKSBjR2DTkTahf89U8zkfMbjMMNUTL7XWZ3nXl040HjyU3kw+cDURqPnj5lt3vEzdXb7K6+CcDVzX+OpMcswJBWLcrLA9Jf0x1BPJGV1wRgLitCr7TNvNW8GTyY26BJdwEKoSNJ22v0ZLez9l2qws77R82vT/RNZj0fkNST8qg9qK7FyBcrQH680v97+Z2ULqRs/UGLQMCqk+crIEmpsiBB0U5vCSGy6hCLiDtimaPjq8be+l4dMTeKzqR9IqfM7auX20ABVYlqlFaptVBqpbWRaTwPRWnrQcUEs4QyYaGjwPICtDLmiSfXVwStWCl8+N6r9cfZ7410/Yir6z2qsQepMyLyOprZg9CqAmC9AJVV/9TbaLUHb8UIKnSYDBFIIdI4F1uObldM1Ct5jSA7AiuSvacsEWvJZV42FPAnu98eij7myvILsS4/cxeYFx/62e1HrgbQ2oeBbAbrGh9BEA3sdhOnox+K0+gUjJRdkLzW0vdq2BQixjxiMWCtEYsQUqScTqyd02nK6PWOu1rIQ4QGWtomrWUihJxoHU1bi8Vh6La94tquwULXfYyUpZwHEk3JKRGbYbbn6bu/ycEi4ehI1PGDv2CfBIISrZDTFTVFTqUnvDFiCCmNaBm8kFehzR2J6+5DkotLH+kAMm7FVqsLclpo2hhoSKvEIK4Q00NzbZExXRF3A2qFGiNVlbQWQ83cRrt5Jy+FVeLovPfa4uLvAXMqgCnS28+CYZdGHMEP/dURUqt3Q76IQ7Cftdx9yvpADj/CY2ysetn+V3HUmeQWuKaENKGdAxi24l/B+mBYWLsHrngTRNBaaaWirXSVkvOAssc4ccpWlyM8zeuz5UCDj4kGWjBKPbFsUoWJq/GG5bBQ5nuKVq4HIXYVgGfvv2QYJ+ppwo4nTqVwc3PDddf/bS2wGzKpHQll4c3cKMuCVe88lI8+IOTM2+98g/tXHzIXpcQbHr/9qwCkJ4+I8j7T/XMGreiyUFiwdkI7VSXNEQ6ZeHpCfPQU2V9DTJuknVL8LDDt+Fnwvbh2Uo0u/q9eFBMQS6w0SrfL7ferOwy9hqMLP8qN/yEJq5w1K8+t5DWR9gQyfOI1lNZbqoH+IQzOyLF2FE+ogKXEbshUO/bPUsnJEyfX4HUkL6XIpdVakAjBD3dMXSOtf2AtzaVDMPJ+x9Bb1qW3ltAKWin1hJiRzSVGiP3rofikvvbKS31qPw0eFFoo3tIKCREowMsjaHYeYN4/Yvf0N9lPkd3VU4bxEen6KbZ3+Zdl3G8qB7FIb6md0ZJVWN5z9LUKOUH8sF/De8Q8IBI9uLqdpW2ah16o2gUKHX3yehuz6zwYcERNXZxd9TIpFsRmXCVgbf/7ZwxB0GBYK+4yon268gsyxncpXXWuZMwDFv2o/5TEZP2nC5UVtmSymyisaLU/lgGYzt+ljSDZfcmr7/QYMzL6jdHWegW/tqSUtUDxrytB3D1IUY7HB6TaJmJdTjPLvNCaH2YuRRKJvdiqEkgxeysdsDBi4RFx+Er/KHeU5ZalGq/u7hFbOJ7uSb2Ym6aRPL7B6fAW49U3CeMvd/R0bX/5NK5wTkqBs7mAxJ7PN9ydxb83XkyCay2YeLt3m5q2M8JpZlhqGxpoMgJ7hJt+P0ZMu94z3YYynN341te53AufmExW9USkJ6r6C5OkXq6LhFVcuifEQkzNvc/rid2wXvcB1RMxTVhyI4frR9ebPWQthZQCOcVOBWrQxJGptE7ydrwyCCkGyNFdrraWf3DXtimjDezUCI3NCas0ZciZ2jl0rbZeTHf08EIpQ8NZ23n792Zur6mNGAemR18ljG8gd84FPL76LibPqcwk3eH6pIGU1oQ4UE8LY4hY2KGm3eLUn19dRmQSYqqoBlrZ+3R/D2palRSM8uoVeRBsOSJJqFHQrrO6VGPM13C1x+zk4xvKxjFNVQiDOwAFGbyjoRcFnyrWHKAQGrrMSAib7fXaYpeVt8kqadjjB+t5/fMJxD+Krao7TvmfbaWh2SpC72fWxzW0L52QxCKX3bzVKrWRaOZcVm0ur+Zf77oupgR110a7UAEw9S6kzgvUQjKlqaKrRrHqtkeDBLQ4mkqnmkQClMZ8nLmedhy0sCikm3cAuMoj7dUtrRTyGHj86C2macfz918CcP/8jl96d8/y0UseDwMv7o40MldP3BJYh8zp4ZZWZsa6EDviO8+9Y2wOiLz3ve+gAdL4iPHJu9z88rcAaNPIw/vPCSkSYkTzI8LTt4m7HTq7IY21F2g7UW+fQw2kJSP7gO39KrVyAhNSvILU5xBEN7lSo6GSkOjSc67FP2K6Jqx9jsb7Iw6mdOR7u4esTlifvT43YX0tyG9//mkD+wrVddvQzQJsRXC6z2//TpcE8oonrIce3spdD8KUEhbCJntl6jIUsSe593d3lOVE6xaBpXYL1mbdss3cws+6nma9I+kBCzc0c2tNW6sHoCX3LW7qSacXDELpji+vXt1yOs2ICWl4xDA6Z6b0iiuWmWGaiDlu6LAGY4UqxMDHQqwnTkIIldZ8OGEpz7DygnGIxOCSWGvyvK61HYtID2Kega2BbLvc3dc5RtcDDKsWh4CE2O9FRShg+QLFphcLwmsC5l+QtfK/LtfZevWnX5uZhpyv6eZiom4oEEIE7YfixXsJMTi1QNaCgouKrnuoI/3fvH218a9LdZkhq2c6S7ioXiWSovtCNUuoRuLwFsPef37YT6AHnjwa2Q+N977719wfHng6evtoCI8hfBOzb6H628TwTRrjuTDtNIqwdXOs89PXyBN7tt+9rO1cPPRP3zlgfo0cXXIEd5WtAmh4wh0k4m5BY/+vXyvRnkf0zsGn3NmPI6aXz0eQbkG4lrlfrO37Iy5jowSIItEYp0gaKk1PzKcH6tEPtavrHWMOzKcjQwqUomQzrm/8vi+nE60uqAopR0RGyskHntbDWquLqqcYsBhpZWa3mzjeO0o7LzNDSlxd77h9+cCynEgxOOqFH+wpJcSMJup6ma1tSGtKaeOxSkexHHH1jxi0o7K1waCcmtDSzVnDdBhcfzZ6S1SJiAzkyYvsejph2ghpwMKItplmkKJfg5iuUFucEhEG0vSYOE1o6g6FrZGaIceZeloI4UQtJ07zTO6F/O56j+QrJE+kaYSoxKos3UYzF5e788JOnGrV5QEBTIujrl1rU+i2m+tepgMDPc6s0m7j6K9vYaLSKOUXd6DwR0l6P+en8Rg8rbLsSPA9IQhqM8HMKXR92LhopakntDkErHnCuvIzY3AXPDN1fnenc7XOW261cjoc2SUHjU7HE9dX13Dt+r21GPfH55weZt7+6ltIzCxLYXnwZHFPY9LC4faZU8RU0XJPa47gfnRIlPlEbgujVbJW2lJA14HJTJaMLso0RUYq+7AQj67DSktIeYUEQ2NmfPQmNtwQZdgAJtUTGiLVhJxH6mKEIZy1XqWh5pzW0IeT1b8A9FPAOmFHBmBAW0LLas3qA8sSpBcfa9z+8dbP3BrmzBV1jiQ9abVtmCdi5s13Cc7P0ZAwbaS4co2kT/01rKpr2XFORkyVFsTt0Ipi2rBa0S7eHrR5gpsjNns7XUQJzadBbX7GMD0j7fdUS9QmIPHMaYneEq/V8CEU9zLfJo6asBsy1GMfbKk+gFN8A9aUCBFiHHtiFfw9rjZo1uF2MVSUECti95Tiji2tfgj1BRYmRG6cZ7ryJNZElIBEryQ3RYDXQXhP7LvpQojOAbrU1u0gL+DVpmjD2poEyOXL9Zv7k23CL/5aL2qnu2xcae3Ba62+fW+G/lDmOGCLbQYN0A9/rT4tHaSj6by2d6uqH9KmuItaJEpHiabBkalSveUegtuy9veQklsTuvNpoFogxMdMe3+FJF/lZp9588nA08cB4x2effh37K/fBmB39ZQ8/CP2039BGr7JQmIM56TPkzu74FxbDz1nBLV/kk5T6da+W0LeC7CYkNVBTg0kXBzKrG6LzguLa7xY4VznajqqeOFW8ePc0RCIhk/9ftGSVQsb7/r8NPb09BJFvmiNSmikrKRsRFWkQW1hAwJfUy6jAAAgAElEQVSOt7ekHRRbSCkRa+XUTs6PpvNT8X1p5m3SPCWsnu2YQ8poWyjWkAFEGzlcGBbMiw/ESfDkl0KKu23gVgQkJYIIrZbePTvzN1stlHnGdX5Hmvj0dl5NK0Jy60tt5NMtx7/9E+zmCY+mTi1IC8clUxQkZyxFSHK22FycZvYgoFfXpGNFZCI9/nW/oLu3WJbnsHxAThXayae9r6/6bRnQkEihUV89YxeNcDohs20GgzKN2JCpLZJsIiIMGY79TrYwEsked2vbnpvVgqdqIYgSUwcEuoFA7e1h4Zqge8CVNkyNZvNZJcAMelHwC7s+1i7+8Sk6AdPdRuETWR8Tt8DBCmMIG81Km0FTYvT4Ox/7dP1GRVlVGoQYodbmRjAdYAoIoRkxBZ5/+IzT8cjVmzukd95CzNwu75HjNbENLHczy90tywvPN6JGXn70DGuF6zFT60JrR+aXTnWhvcFv/OqvUe9f8u2//AtqUyKJ2Av8OL7BIt6zXo4HON1i5Tvc3zuCuwyJPBb2VyNx3NMUDi+fMQ6ZvA2OuTVtiMJ8uoMxUVtmkp4U5wG1fgQGznStjTARvfjqmvKex8VtODxo8m6KOEBh9pPlCV+QBu6X68v15fpyfbm+XF+uL9eX68v16euHIqzrBP25yuncR/v0yudHI3vLOcM2b69vHJXoaKXLC+EtKJLr2K0ojzrytE5wqylDSltbtbWGIZRlIaeIpIgMuTs54ZyhFDm1hgXr1mwK5hC9Hj8gjU+w8ZoYb0ghYxK3iq0RkJhISZxY3PlEcUXRTJliYFkKwSqtztBGXF8PaAta3U5OTGhqUBs5rjOt3flECiFUop5oy3fR0/f96+WOjBJLxdoJwuguSxdkfC/+XH5IoutgCsE1Y/0qEmPCzOkWzjU+k/VdIsdt6Px+OKK66ry6gkDno/TW8KXSwme5TP3MllmfyO8T73ChaOAo6TrMd2nHunFXbftYry3thOxLByVb3UAwB9k1EnJERYmrM8jaubVGTN2W0tRpF9qwfl+sOe/TqqO14zSw3++Yly4/UguoslghmDKIoamhsT8bMVEUgkaSGJIa1RqhT6QGCVQyL08D+ydvcvOVjAxf5/HTjrDu32C8eQe7epeH6uj+oLnLWOGoL+oDfbJe4xOIV/OCT/ObVOdWN39uNwqaASIEEkY8P/cXF9vMEf2VBhTCguD/+YfYEaPQ+mClmrlkyqeEHvOLzmruur6Us468NSVyRojX9YsxtHLROu37tlUF8Ql214/sCIcY969ecBWN3TQhCFVPpHVfTKkrTXTrYFNSzI5yrijJmGgnR5fSShnizAWMKZEAXapz3FujhsaqMLF2ZQiCREGCoy7S925OqTv4dYTZOuVhnYAPAS2t05cq5fQ+ps+5feXPzk4U8jXTtSuvLNYQU6YLqSyicALSkNETLGVB1uGY1l2n2oxwhwFVI9I/f4sn0EqIhdYqdS6kUglzQ2OP7XpEykzreqphGonDwP7KW/aEQNOGNVfuCCFgwZA1rvZYIsHJHkEixAwhb59BpCuymD+DIXJxNhq16uas97Ncl/aql+tTZa1Wd0XtyhG9o/Sa9TBsucfrslaCvIa1nTXa/a+CWd5+pjYFW8AiSQEtaDXCJnfocwW1KVYLdSkMw3BBg1KyRFcKKI26LOSQyF2qcDnN1KVyd3jJy2fPETUeNHBTHwNw/+IF9fmJIYHeVUKrHL7zIaF3LnR3zUkrN4/fZBgjb91c8d5779H6sOCbj25INhNS5c039ty/vHV6Y4f1H7/9LunRDVEO3L73N5RyhIfDpjttJXM1PGHKew6HF5TTK+KgWJ6oyfelkrGgqBTi2LChEHJDV7ewEIiSCSlC6owWOz/7QQKsbp3Bu72tVVbLYJdhixdx3nnWmxzqj9ic/ZEpAZ8QA2Z7Rj77Z/rPvdaGvuRZWkB7u319K9oWVIwoDslHnNzbWqGt0kD0hwDD1MWnc87bUECMAqbUWmmtkqKT+LtMKs08WXFlAnGhNgw6x9XKKzj8ANs/IiUlpWuUSOHCGlISUQKR3CFwT0YAUjB2Y6Y8VGIX3BWrsPru1hMxCXUxNBhjAKRicZWMEpQjIc9IqNjyPnb8NmH2FkG2Qgwu3Osc2BNYpwX0QGAx4OLxXaw3DEhMZ5Kzrdcqn7mdF5PSiCfTIq5vZ5awFl8rNDww+NR7jCsP+QvSirLeCrp8O67WzTlpXffx2uJnzWHOP/KxX2rbwya9vX3ZthWaBZoFDLdojbJK0Pj3aFNPIPGWrpgrVazTmCZOPGmqTtNoxt3tLa3zrpflRK2VZSl9/zWSzLQ+tCgUapgwiV5ABaXGeuGLrRCMpvDy9sj8UCkt0my1CdzTJFNRchIfMmiKhlU2x5/7YOY8XQTCguoLAGq9JQW35sSi+05fBIq11a0qWBQvzqR7S68df0IfKmxOB7A+Ad+narGpc7L7QdULk8vk7XzL1jv0yWj4ecXUL1zC2kW5MZf6itEYspJ723CKkYf7E/f3B4Z6xS6PQKX2eJFzJqTkMmR4omRmrzEuQggMYcSOFa1zp7SclUlQ13tOOTNNE/Hh4AWJrENVA9NuQnLgNEvX3g0+tAKumNGHraIJ0nwieaUMVIUkggVhjiCpYm3ezA9ahTTd8PgrX6Pcvc8yDuT9Huv80DCMiDVEK0Fw5QpVpPreDYuRc8HkJcIDxMdU9tDbok1PSP2IFHdYjJyOR4alUE5lU0JIcURPD+SrHbosNF0wuyIN/flK4oOqtaLiNpjO3+iJmjXCZqoe+7NxUdhRHfiwTvGS7C7hm8VlQBe7GJ794q+zSsBnfP3yXILXB2k//Rf6UJWsAz9OP0oSSK0Qyj1uoX1W2hFz86F5OZKC+JBol2wS1jmaXgQ2cx+IugJMQgqBRiA1qIeZ+8NH3L/f5dCWgLTGO9/4Gkrh+9//LrmclZGmp2/y6GbHstxzmh/Y54En77zL8dSHwKNwe3yfgYU3vzIwDgPLsXHsVvPPXnyXK3mbJCe0Lg4FmLHvUoeyn4htYbmfQV6RwitSTIThmvTW1/09MnA4PWPRVzx98y0s7kj7R9TVNKQ1pmEg5IRFsKA0FVpbSYOQAYJbbBuFkBYkr7QJV0u4vKc/yfqhQ1efi5CtCcqnHvDyqQnreuifEY9OOO8cPbXCKh9kpjSr7shg5wfQrGv0rXpsqszL7FUrTpLOEhhiorbCMhdEAkMnppdaKM217eKQXEuSiHSE06UHn1MevktORhwEi2PnaEBZqztRT6jXqc2eFEQWYhZSbCRRIuoE+i7tQ6vuua2VlAIqjRAaLfQqXSoiB0QeULtDH75NXN4nmYu/W6sQEhabJ9tpZRF6leNL++S++KWz2oNc/2qfkjZcukoQwloFAbZVP/0+aXDidF1J1LIlui4EHFE7zw79vNemgMBlcPv0N/dTyxltw4A+TCGs7ldxU9RYq92YYh8YdJkd52Kv8mD+XlKMiClhSFitlMPs3CSglRnDuao6134AH5HFD92h3SLDjqousWJipGQsHcFtraOWImgppCAsdUG7RrGg1HJiWY7EFFyPz87Tm6rJP5soQQ0NjWBHlsWdtEr5iBAqKT4Cct9PF3JpvmF8X24xwJOXtbqI0flQQfw7XMu1Elg7JH65VC/usXxBNt7PdElPVHF0ShPaau/+QAgzu6lrRzfjZr+jlAP18EAblLRPxDU6q+tSqikmgsQB0+ZoyjaY4QNDU9yjS8SOB5dyCat+daG49gsxBqZpQtJIH2Ym5OT82ezF3IIbD+Su46pdb9RMySF7nOsxCvzZaKZM+x3jtGeZbxlDZdAVSRO0zjw8+4CYGpISado7KAJINn9+1FzvNEU0LtSDAwFteYXlSkoHwnCFxXfR8BXy4EgZ83vo4T3CmMjDxMIDTSHHzNpCkVIoty8IupB2E7VVR/h68jQ8TlgAtcU1LCU7YrpWlKZY8F6dSz4LMdrWHbQ2O41eupybOfd4I9FaO9+wf6BrNRe6XJ8YsL0ogLcoUwt6vKMdnhHzI6Sj1mLu4NTaQquVNCTq7IAAgITAfDx5tjL6AGpdinOi19dripbCfpzQYsyv7rBeSD26eZO7u3tujw/MOtNCZBgGUr9nr579gF1+m5AaeQjcPbxiv9/zzhuuMnB7ekBo7GIiayOlyHwwQuoJMa84PrslysIVPkyZZeD4wmdeRrlGhyNqjXFayOGEcM39MqD5GwBMT96El99Bl/eR3RNS3hPGK9qKeNvRh7e10eqqnT9unTetntd5XdUQKYSUYFh1cg2r+z5we1YH+HHXj6QS8Dok3xELOyejtiEcq8yVbJvlkznCilB5Ex2NlBpRVvH1qQsoFcSOmM7e9jbdHsogyavwEEnBZXK0lY2RK2bULg/kSJf2Vvh66Gas+cAFWQh5RGQi4BXNYI0sd8TyPeKhIVpggpDfBCCGHYs6khEu9F/XKjgFJeTKMBRiPTDUPSkkYocrHD1ohJwJLWBBqVYIaztITkz5Djl9QK0fIst7mB7OmydnSBAwxAJaDU3SBxq6lqz60JXgU4+mM4S2TWK7XFCgWGPRikQYzEXg/S4lamhg7voSVJCasdr1AA1EKhIcpVb1e/5F0bKUrU2kF6oTXVLNXt/Tr1d7FxJIH/sM6/Tqxz/ZeXDijDq3yubWdn4vHvxE0paM+cvoZiwQRSi10Fojig9cDflcKNRO21gAxIhRSRyx2YNTXj4kjo+oMtDCgEogkLq7zkrpiC4PZEqOwkkbaA9+dQYdoS20ErEMRtiEyEOInbJSMS3EULHyPvSBwKgPBBOYF5eaEnNNy41JEvwaxEQgbOiZiGxtTNdHTP3cda3gEFYpMXqdelYXeP3+rNf0x6ejXH7/FwJh/dhb+Pjnee3vFtDmQ2raoFhhikrqZgyJwHSzZ64PcDh5ER3ThvKYNVRdwUKlu9+FlebT5fZQXM++ITEQxgEr1Yt+wEpBEJZSQIRpNxLSRFFHxkMMxBjcuCV3RYAA4+gx5XTsz56IU74uJUnAHf7MGIaRYZiQ4x1XyZ0LAXIckXiizjOSHjmNLF8om0ijdnWTIELIAzEcCNWHXwIHEB+kJT5mmn6JPH1jaz9HqZT5JQTIIaEhQ9e/rmXtjhWQxnxfMV2wYXIJr6Frds4nj9Pqmp9GQyRjF1P9FgxLyTuQGFYruZ/wzQrQiGmPMOBODpUNCpcCJOTnVMBtMfIitn7iz8YWW22d3O3dwVXSarPL3igtoc+gfty2vMf37n7VFa4wOfngHJDtlqG9JC7PaPfPaXd3MJ6HnDFzRydTcu9qFavI4ADXsZw4LQu73Y7l5MPfh/sHH9YCQo4sS8Fa4+nNY06LYXLs1qegeuSXvvYWp+ORh+cfMZSC1ErtNJIchbsX77N/401avmJulbYsDMXVN978+jecAjM/w8ozUj6iHHncaSRFF47VoAaCBaIuBHvYOhflcGSkMcVAVnM3tjiBNKQ+92tQd0iIjNdvorsrFmsM4gYJAEmi0wctECQT4uig2RqTu0Xz1mQ1RaS4ixveMFCLIAtmGbURsbEXXI6+uqPh51NZfjpKwE/U/t1UMMGCQ8qiZ76IgIUKoYI2TzICXiX3z6IYQRQhOFcziPtBb6eiYQRq65JCBNfc2x4SgZBcTNhHrWmmxN62kVCgqU/P2wPWPnR9zNS1Yu0JsENk9MO4y2SsCecAJCI7MmE+MOQHEgpd6FfiiMWIxkCJHleTCGN3bEl6R5vfA56Rwh1VjtQM89J115ZKHAZCzJ70xojYkTYrrW/SkDNpHDo3qNIkoHFHzH1yMbk97tYWb4pJQ2TVVFx1V6M7J2lyTTW7TBDcvs4tWru23hcF6ZKOrJpdBO/OlfoEL7v/yGVw5bPw2PP3brvtojgz8+TdLKDqqPNKbwF61R5otWCqnjjKue/quoxKDEIrldrFyVdpIUI/+BEkK4SKaKF1hFOOPyDsnzCmJ7SNxiIbwhNIjsoZ5KBkE6I14mpK0TsBWmdMI7WIPwu90NHQOu/uSAwLod5SH/4KTq4RPKLEMEAp/SBKbuW3tjQtQLf9pFv7unRSf5+sBcDZzNk5e3FDE01XFxqHUUIITv/4MYqllbf62iuu8k1dduuLv1Z6S1/m7fQQhZwS45DRLo2zHv0pJSxFYgpIzoSusVpt6cVDckvnTpnR3jYHMK3O/zdQbbTqu2vcdxcnhbAsXny0Rs4ZQtg43rvd5BbDySXNam1gRu7GAcu8IDEiXTptYztseatbmb788Bm7vPv/2Xu3JkmO7M7vd/wWEZl16W4AgyHINa7INVH7sLYmmen7v+hJJjPpRfsgI7nL4YwGQF+rsjIzIvxy9HA8MqsbGJAzsxyAFNys0ejKysy4eLify//CzoPHs24Y2bBDWKGcEW5QcbQN2gDQLFn04tG14PxATANSrHsRWqU2j3pvzx0LQc5mOgO4esCXI3pSAh4/TiCRclo5ni3ozboQ4kDJBVnNFc6FSOsi83WZCcOI1ArFgl1xVylHxWBiiICPlsyuq90HADGFGh88kKwzKQW9VGs2bds//fzddFSfw0k/XWfl0/8TuMxhseceeQ49szVcseskGzfhwpVomPSXSS05zCSncWS3mdzUJ0J5xNUTgnUW8/HIZvBqCYwl0uohtwoK+WTXfK2FMAzUteLFcXw8cXg8MHS5tKCQ10wMEXBWLHeBzTp1Pj/yZj1R15XQqsmYJtcTDVApeBdoPrD/5V8ypR2UIx+ebE3NpyfG3cDNF78gHwsaMm6t+D7vV14Qp1e8urnn/M0/wulbhCPj2NezFHBxxHmlugIxkCOQTszH/weAp/ktLY3c/fJz/Jgo+cy6PFyKgNF3xRG1Ap3BIh2Xrct5PKaLbUGcWrW/y2RqaLgBqGe0BbSNiO7Q1jWQa7QVyrnnKKTvjH+2Dut1/LEyML1Ar2D9HtuMNukUIVgmr8U2z26F2bo/L3SMqpi2aeuC95s22PYNtZnkkHh/rQT3hUfFZHWC8+aLPQ0mhdUz9XWeabkSmXGt0MoB3z6gtWOdwud4/wr0xha4ZpWe7iND0JWgM/dOKPMjms/46dbaOFiVjQ7t8kEYUsPXhfnQjQHmt4z+RIgz4jPp5QuIN/jtbqnimlLrSiuKHwckGYmhd7+oWinLmRgd5sioCIb5stcbKgEXguGvxJn0xyWot0kpGqEl84avgauwr+DEpFWcBLs/F03Wn8qwVvFHi6TDNl2xQOdTa9YL2J/vtpk+HZ9qE19nnyBiGGO9/HtbgM3kwjJTNVmlVpF+HE1sYw7iCF4oLYM2QtrA6wNrzXjniWOC0gi1wCZyvbyl5dcMMeHdiCGL/CVodxIQ9YiC00x0jujl4ottbjDFcHZ5pVBN7mVrOfpGcw3kAGEmn36NnH5FqrbpS1PEC0RF3UpnZ7Ep1DcVe6bBLD3VJFUsaL3OrUupREwI3OAVW8AqHZ+9fbS3wOj3waOI4XPpmE306rzk/tB+1Y8xnidjYprU3me8F7ReK/dDtKqVeCOgLtkqLhfMe7Pug8GKjEplsnhcrFWlO+J5n2iqVCeUUgn9foYYaaWgAvNyZre/oTx7voYh4bxQmgVcIkKIEd/JK+LchYuwrnOPZfQC9dJe69RlRYvSUiP7idmb3qXbfcY0nWnLb0GV0JNp2dwRpCIdurScZtLocT5ecEwWA0XcsKdQqOu3tHJCOlnW5dfU829RN+DDHqmW0Mdpx9ihWKdlIaQBrZlzLkyjkoJn7dewrQu6OKSZiL0oRrh8RkhqHkIabW3VajJHHcOekkPcCpqtK+KqmXSw8TsKzqfvVOf/FMM51+fRD4y+7l55rspmB34dBgeyUW1/d4rB/M0OdJOkEsmILohmk55qRqbS9oahdxc8J0QWc7+MAdnvOR1OtE5qarnS1CEKlXzVH+9zN44DwSuaVyrC+nQiKfgNpphhcA6Hcnx8YFnOtuduxDKpNFHcCF5Cd9cUwiZF6AQZAqd15iaNDC9/QRoCv/n73plYX3Pz8hV+CJTsoY5oKmg3Lkh3f8P9//CfGeKKjMD7maHJ5fsZ98zeEW8ccQclFTQKbVRa6jFPe08aPiNNESeRMUBZz6xPFvNoiGYxH43w6H3tBarefXCBKxtriwMMHmQnUSGuhrdsEakj6EqrQ7/L4RLIxh+YPj8YsD5n9z1XCegr/LVC8awc9WmQ+51qx1a6p7erNUD3AAZoTalqGVZTsfb5Bkjpn117S8EE+626YqXWHs0r+Bg630L74lUvntetWavMaaNqJc8ZEVjPFsx5vNmzlRONxnE+44cdaW/2lS59QN0tId0y+Bu8t8xqY3rX9UxZzhzev+bh7TcMaWA/7nnVnSvWeeb4dKDmmfsXN8it53x4Q+oY1f3QaK6yBsF5TyByevuE9tbabvT4MZKGkeYDrTh0SPhxwo9dXD0EqihFMHyaNJLTC3ZEN6KpVrRaButF0E1JQSLiu5tQG2h5gBqRC5DdqmLOmfC1Bbj+eg++swj9qce2AVzBTHKxDS6X39rmuP3uNs875MW5jjH9FO7yKS57w59qD/IDtUZgQNwez4o2q86X2rV5ZXMGE3PCahvGNINWqkp3j3Ksa7n6ChDN8lJBnMcNe3ytjP2canlNOQ4EB0wRCYa93irvvW7e2+mZIJk0LIQOhwl1xZeMdxmdDbesAVqfOJmFKDNjeqA9/hbmf0SWb67XO3iUDFrM0jMFRK7BpjjXoUCKyALdrafBxb7VB7EWlAxUB41msJQNR5uH7kJXrIKrzmw2Ps4fPrnH8vHPFVSUzWDix4aw/EFDNhw/0CuiJovaqHWl1Ix2qMdcTRe1LQs3w0BtK805fK+weg2UvBiOFN8TlMaVqIitI80+3zlnvuoY9tQOwZ6VeZ4REWKK5HO+EApD8JRaqVrt8wWmabroa3vv8MGjTdDSrTPb9bbVNSO5Iq1S6kLxiVUnhi//EwC7P/trXHvD4Tf/O45jh4yFi6F1bdbaTD5yOh9ZXCBWh9+S8OoQv0PiS/JaGEVpyzuDpAHSjrSlUsoTISmtOtCIxBG609x+tyfdTwxaeXx84LQsxJtrGzuvM24xzL90fK7m60mWloEOf1G6S1ehdJdGJ+C8Is70xU1XtF6Nd6Qafv9HCFi/3znwh58rkd7x/IgIE7jMay04KewnR/SF1lbD3veAVusTkYWSj5S6ULUhrSH5/RVOEKzX5JOQoyfIHmmO+Whr8rrOrKeZ5bSQhpGYBlQbKfZuZVW0Qz5KLuhaCE4uJOrWMmkYDB+tjRAFFwJpsHldtRGDwwl45zDJ9op23oD3idKU4Arzw9eoVFxy3GJV++AOuOpYHh9wsuCCskZFQydOt0eivqWVJ2R6ILhKdJG6wQP39zhZqBHi7Uja74jjRAkj2t05906QdAN+oqw2N2X15IPN/ZUTcS+k/YCPQFVqy5drLKGbAtBjDGnPglbsfnoA66DgPbTlo0JKq8bZ+KHxRxkHXOVgtj/8cB8VMM9rBSxiMhZ6vGruo4gfAGXrjDhXejBh39E6M9XaX5sYbb3avdHYioWGh+m/u9mrgYlRz2ebgGKLY+xV3ppXWBu1razzwm6YcFnI7yxgPZV3jLe3tDByOsGaC/u7F5yOFnC2YiL7y/GJWGYGPzLkM9qFgo/ffks5n8jnI/WzF7wPnpudZ9ft4MvpzCqO4kbSzT23ozlVlLNJBy2xUGLDTwOaEiQLVnW3R/TOznG3Q2LqFxBKybTikLiBoL1BxbDqynWB29pngDOnC9GAtEhr4XKNLVHojis4e9tPrI1qTH7lWm6Q/oC4Ky7v9wxUvv8Mt4qcVaZahdKxmw0su75um5jFqwVqThwh+G7x2sHrTaAprWBuLRIuLcHWGq0bTfjoLkz92NPS4BSvR1x+QwsDMQi4O2rPW81BC6vaipCcMIhDFlu8U1zw4q1SGhdoEfXSnygIVKI7Uh9+jdOvqfU14hZqJ42EYcBFJUQjhbT2BOLxscsnOQ9ZqWulhBEfxwtMZavGldzlhaK5FakDrQ7Zgt4OTRF6twL5qA35h4xPXf1+zAB2O5Xvg6U8/5ls0Krt3851hrkSo0MKl6pxyZkUoORm+Dx1lFouslYQoFVcMxy166L9zw1bqjaDElg214PLeq2et5WyLNTZbDGlmVNV6q1JCYI0wSuspRK7usul3Oas4ivicSnhPbhaqWsP1mrDIzjn0bJyqiulwa3bpHluexI0IpyQFGgxIF1cQtTmiTpnpPzzDHW94ENbVz4RHQhuIsTJqkCXhBe8y5T1A6XOtCzksuAnqB3WMO73SBpIyXMTIofDI6d5YdjZVltrZrNSLZXe5r4Wyl0z58OaC3HwuJBwmtFF+/uNHOdMquMyWy4yT9ue+SMsxUak/PhZ2myRPyp6ffRsfVchwCAkG4G6EPzCzU0k+YW8HDi3E7EnWqEdiXqi6IEqGVVvtqrlSFdLY0oJ74SWBRkHXFVo9YLvPtdGaCC5kddMq0YS9b4HfCjUStNGXldKyYRxwHUcY1OllbXjoh34hBPZUFh4McWXizKMgGalbF1lFxHJJF/g+C2n07dIaLxIdm/r5LvDXLREUWCa1Mw3ANX/xvr1a8JNYkgnNGRqcNRuNrFGoWiDYWBOI+P+M2S8J8Q71Hc7+VhpztOIOEk4VlpxpGrXQF01pzox7o7qxwTrrbtdW+2xwcbb2GTaNuLhRlC3zskGQXSebrmcf3CO/Svqff08fh4/j5/Hz+Pn8fP4efw8/v84fm/SlWrPiOyHoBur+llKp8/y/u9keluNYMMQOJRI7fjUpoKyI3irFhQtRljSerX4885aqa4zimshLwubebAJ1nacTCfYPBc1dt6x5ALacCESnUdLwXUmdfFwykfURabdxKCO9XS+SP+kGNgHRcuJd//vW273eygLsWNk53klThNfvLgn1z3ROXwpyGysvxcRWj1HLuEAACAASURBVFVO5xX39IG5wPDvvjR5FOB0PKNxz/DiL7n/y/9IlQM8/h1psQpvopIVlC7cvZyp+RGdA36+BcDvX+H3L8wwIQkmlix43ysqTkC6zt8mESb+kuqLtyqK02QY1ra1059VdJ5XFgX4iOH341Zbn+vJfh+5asOvft9rcM0Y/1lDr9fBmnyG5zWMb0MlX4gnvUlFrdJbJ8qS8wWgL61ZJi5WPVVnhMG6Fb4VJERrKfpOnqntUuGkNVJbcPWtaT3mM+K/oInh/JokVD1OHVELsazcSkBXM81I8ztcPpmGoXdmcZxgDP3I10fW09cM8p4YHomTUKeJ1uEq5EprmVyEOCZEM7WtlGKtpVgjPtrSUfsVk6Y050mpYw2dM6y+qk1LCUhLsGX71STDRJxhcvEGN/sD0+8N4/5TUbio3eDCjqn/8DnkqsOc/AaEx9QBFNOrjgLRecQLZd3UJ5RWKlMcWR5P3N3dMZdM064eIY61CdIqg8/QVlRch05shJ7Q1w0jCbn+vdt1DyK0UtlLMDPnJZsedO/qrJrxYUCXSsAhweO9J9fePXCg3iqzGrqsXmuXSplrgnOJFCJFPTMz+Hwh/JVvBB8fSO2BBtQxGSzm3Fuv4mjOoXHADyNuORC1XIgjSzaNTnf+wDDcos0bdk+MVJbLA5WZJpGWIWSop5VlfWT46pf2HbcTBINKxPGGWx/JeTWJLmAaJ7NOjYNxUpxZErs+54I2SjXohbhokJfmcZ3/gHhK7wWKKN4ZCWljW5tm9lXZ4V/HkI+acyrVVG2AkArTUNntlOTOlHACVtbZ1psgZ9AT0S1ILQy7W2pV5gx1W5PEOrFUcCkiVWnV4/t6o2smKHiEh4cjuRVCitC1dZu3CqWKUr3gx0Tz12vsnEE0DI/tO38G3Nh1UJ31IQNCXRdyLvb8bFbzQfANUhT8ICylMkRH6GtuG79gcRNFlegCYwC/X9FNhWA9UtsZrffEYcQ7Dx5ctHlb/UDQCXWBIiMt3OPSPTLdwdZhkQJayXkhhgzlDPWI77CHEBISo0HkcqE534lX/abV1lWInMEBe0V9a/mLdMiWKnYjjJS7addrFUT9Bc/+u8YfQLp6Hpw+C1YvYn0ORC8i/t9RF1B3WXw3ByJjOG4PnEfrDnDglSDVoAd1vcZKznTAtJqkhbSClEa/v3g1PFxtXT7Lmfalf6YZ5mOANKC5MJ9mggrDaCX043zEp5F4/wWpwfzmNcuSGW/t9d3dLcEHPrx7z/r4xM3NLee3b3EdfxFrY316Yv8Lh+rAYV5o5yfGjg9NLdPOM1pgzivTbsfT+3fMZzu+NI74kLh7+Yrh/o61FOaHyrBt6D6R7l7hX3xugc3yiJZ3FM20DkuI/s7wa/uEBGeAdF3xcWsh0RUSxHToTHsBdRsBQTpedaDVaAxbu4GX140M+Jyw0K5s1Q0z+CPt/Zu49HPRaWkf47E3iMhzDCtsYvSwHfwFUHCBwHwS1GzXhE0L18wW0EprjtJbqwBSN1mtrkP6iVSWtVKq+Tb3hdYchbqsTTO/NefVhNxDJJf5IrFSl0zQlXz+QA2vibdPhPSEG479C/YWeDTBt4KvM3r6wMPbrkUZBm5vX5DiQMkrSCXeBs6rJUv1+JqRA96vqM/El6+oRYm9tROaR1InlklFhmAM2744r60SetvSuH6K0j3V23VdQQ3nhURzk6uJVlJ/3YJU54L5qatgraZtPbkuktBZ/8/WqA13L7iuHGKwkY/nwU9/2BTdjpnucqRUmqmvGNAZgGEcjXQqQm4ZCZ4h9vkIhOSo3YyldRiVGRKZNBtgRLf+vZtpnCmFbCz9iDqHS4nkPYf1TK3NsJ7AcjrjQyNna2uPu52ZYHTDli2RNGeh2p0DlbK17OMAfkfcv8AdHjk+/QY9PnJ2/xWAY/sVL15mhvQI3BBcwPlI7fraeimsKDFEXEtQ5ws5xRWgKevyAdUjkgcaO8ZoOqxRAhpfUdyR/PSBuiiteZZWyQeDe7W7PTUkvPe4ThCKIbHMlrCVqoS0Yxd64J0zRRXX2dSlVWSY8NH0WbWJXcMOh/Pdi90Stu18nomOYuTDn7RvwHNirn4CIaCb+nQYyTgKL+5GpvGE1yNBn3CT52HpDPucaS2zS4nz05n7FxM+RKQ8Mc8bJt7jHaQx0VxBc6MUR+oFoqjCQ35HKYVhiiQR/DAgnei61moOTyK0qsQxEbyDjvsHtYTRC9UJKkJFLUgG1Jlqhg+2N3jovCS7Dik4IpG721t0uGF+PME0kft+P3z5nwjjnnX9QC3fUhBamCldtis3j5tuSHe/REKgtcXW1R6Men9PCJ+xcmJpM+oGNCTUC6UrFfjSEK9IyOQ208qRfHxDe7J1fzkGphCQyaEScePQJRv7OVYgqH1vy8YX2hZatr9NtkplU6RRNuKBiJjrWf0hjYA/EsP6fFw3dfno7z/ok9pk9qds2bsFS5t4ctCG14bWQm0F1yrJC7VXOGvOVDUQv2A/N9esDWfbKOfFHKKq2a1NN7ccPvSbc5p59dkrcriBrDw+fU1bHXeD4UPzXFjXM/OHR3YCnI/kx3ebRi6xVQSlvll4f0zc3H/O5CKHt8a4m/OKNHAkQkgUmYwZ3ivEbllJ+oC+/q88Le+Z9Qjt4ZLx+d2eFkbOj0eGGPENVAPJC+XieFKppSClkjThw2R4yotsk2nXtW0jFwyresE6RiCiLZoeZwl4ojHAsWDvqr770xsfs/1/91H+TpKg0DHW8k+rYjyvZnyEy1YqCZF0mbvRWYbZRLpxg2n/+U1juAduTgTw1Fot2equJZRK8A7fCsu6cF6zAdW3EmxttJZZz2dCHGnr17RwgPA1AMnfouqJaWQ5nSnziYe33zKfbO7f7m6Y5pecjice375By0L7iy/Q7qQ1+TM1VmYfcGlCQ+P0/rfQSWXTJAw3OxhHWoj4mxucv8V1C8AwBBCl5JVYV5zvQadwlfZpG+64IeoQiYgmtMZ+j2yDFjEWuBGqTC6r34R/4ob9GxnPcGQNMQOQi8ScKaHc3L8AIHJE29lsop3Qaia54RrwlsYQAqXa54CYW5rzfS6CMbZ7MtEKLVtAtkkSllo5rRmnShgijoyUemFb1zVTcyPEgaqWSCzLcqmwbgRI7wTfKo5Gk3plW8dAVuGswpo96ypMfqE+/iNg1rB1VjQoJU8MuaFrvlTvqphSwrqa8oYTz1IhdgF5paGl4hNWccoZykLrZFytEe9GQhHWc2adMyqReHfL/s72hjAMLCHRmjIvK8l7ci64DmiUKrQ1k92M2WXTmfVbkuXxIZnEUqvgHS54lK0STneH67JuG3t2KxQ0R7XT+5OPa/Hq+9dUe72B1GtXakvYFVrHropwsT2NoTKmyhQybj2CHoiq1/qWqwQ3AY00JVo7c7tLrOeID1ZhnAZTbXDa8MESNp+SEYaBcD+w18b5t9/AkgkqRtbrwZOrFech10JIghuEVUtnxtt65YPJnClmCEPOLKdN2SHhO+FQHYQooO3Suahe2Isg5wPl+MTkI+IDyzbv01dML19RD7+iPp3QfMbJDnGdDDgKftzjxMjrRaCFHcPu39nx+z/H+c+J/DeW5e8o64FRbiHEy96lx4UmFZIBqmtZcTkTendC8tk6hi+Voo7iB3wacK4Tb6qYhbGrVF2sKCIeOr4cBth4GM6jEixB7VPFtYpK6fP7d48/qsJqUXHfXC6T0n7nU//gjz/zh4NZrQOVLl6tDaTg64LXrmPauoRVNekJUdNbXc92A1trJkbdNp9wk2za2rJ5Xogh4JqjlELJlfev3/D4vvuhK+QwMNx+xnxY4LExhAE99CpZy3z4zW9oc6HGG16/e2Ia9uz2tqhMQ+Tx8ZFlXZjiyF/9xZ8h5cw77PjefP1bWoPWArcv7rn/i78i1yd8syz9/PAN5XRgWQvlw2tcSnz2i1fX1tV6Jq9vcEkommghUHvVqrnNseiE+ggSCS5esiEJVwIEljRSm+DF7OsuWpdq9cLWGrVWywafVRivEIvNtajf60vC8oO3+F98WKVGL5XWP2RYq/jZAvwpm/UyesYocN1EIrWAMND8eJFAUekVUiedpd6dnXrVoRVLNFpt6Pco0jlvaVdZVkRtYRfvLq4r61pY88wUd/jmOb57oMgHXnxuphfzm69ZlsJuf8Ph6Uj0gbsIu73Ni12qxPwBPT3yoh2o65H89cp0Y4v/q1/c8PT0wJnA9Pmfo/6Wqf2Wet4EqGeW9YE2JiRF/Dzg1xfIy8/tEo07s6OkWlbeKuLULtvF4EGeJQHWKkID1G2DkL7Ze4Tn68mPPOn+BYds+IBnc1n787eN1oRa1IT/u0Vr6Ezi+biS+qWKQ2StGXeukO39uVWG/c4CJ+8Q3yvYcjVs2NZuC4+cueGZbKYdj3O04KEqMkSSH9HzQuvVsBACa7Nnc0vE0jBYtwuYzzPBB7SaKoaxqhXfq4+UMy0vVK3s7r5gGL7k/OFX+GLJUkgRnT01RHyKtHMm7tvFcKUFh9SAK0YYVTHDGu3kGqSgOaO5ok0IRMo84zr5pazKsgbickZKpZVKcY4xBJbF9qbl8ITcv+pteUdZC6nLPYE998tpxuOtzeqsHX7pSAaHi8EIaBbNEqK/wNWq1t752qQg3bM/GOmoyjPb0Z/a2JLLZxJ2KOZ+ZORf5xdUN0JRAQTvHaUqLUNeCzF0EmcKTCnxdDyw31vgqlpIKRG7OsUQA3muaK2E4FCNlHVh7C37Mi/sbnbc3d/iVVlPZ7yXrnULEWeWurlBcDStfevrChtBiDEyLwvTZAFarfWyb/gQ0M6W19a6xi/Qz7HpgvZAWmncTje00pCuUepP/0hNj3B+S1sfwUOTiEs3ACSd0XIiP73GJ08czBGuLQaV8SlQ5gOV3xLckXJcabsb/DBdbI01DZT1xPHtB3a+kuaVelqovTNAbcjxSPAJV4HqcLcOGbeI06PqERraunW4H66fLw5a7luozWFxV+MXbaUTiuW/T8CqzwJS3Ri68p019KP3fj/btl3KwM8/99k77eTEHk6vK048vlVCX5ioldYllKRVVCtzni9adUNKnW1pAUGt9aPjdE2JmKC0NCNb1lJpHRfTlsz7cwFmylwhFz776kvo0havf/sGnjKDj4SXn3N3u0PbwrJYwLm7veV+f8vhcGAk8XR6TT6/5+Z+UymYWM6Z87Gw5geezo9MO8/y1NmwDdPhVLjd7VEnuDXTNumi9hYfjgQ/4u+/wt1+Ceo4z++oYq3f+y9eUmUk7m9owVNaY0gDLvUJFMT8gNUZPgdPaDzzDldUCsiKCw4XpQs2757f5J98iPB91dXfVVW1OWsttd4ktjZ/b+1sEleb2Pfl87bNYYO6OKESqRqMFSyGcbKR8drMGMS7Hqhx0Zqs82zZZq1d6UIv1eztK7KADAlflbZkBucpPdEoEhlefkZaC8vDe1Jy3N/fEnpb9Ztv3/JidwtvPnDvHI/nE3e//CVtsEpcmc/k9cxAo0njlDMcj5Texnn/fqXiiS++5MVf/8+UpJx+84bdBlcJE/ryC+I4UNcHWn6iPqyE7pQVbn6B3E40v6A14OPeKqUuINuiTkFdt0r2IG2Alp4lxV0yRfr1EbUc4dJBcR8tSlYhfC5vZj9v21xQwbkrU1l1Y9f/OJXaC9tan2nCNmu3bc5gYKHjBfaAQ1uhFFDvKAX8GFg7NnnNGchMyRPCjrqsHJ+eTIMZWEoxyFTwVDH5nda6GNqljNugdAfBWnsZr10u6LAbCV9+Rj4c8UPEzRU9z5clJWCGASJm3brb7YjjwHm5mhs478hZMUNrx+gFt7X0l9lsMeeZQ4tM0RH8BH3d19VRTwPZjaT7RD4uuN1ykXRTBzEkWlkp64xIwMXdpdLlZGVZnszww02onxCp1K4xnJdHyqkZ3E8NVhb3N6za8P2+xKbmliRuQyFD1wcF63yN084CAKfU2myd7WVqH/u+pBXRgjZTFdmMAERiZ5Vb0Gp/Apslt2CBQ6s/Qon1nzWEj8MOg0CprDhX8b4xDgvj0NcLt+JcD1gJeL/jXB+RrZXtAz4I0zSQV+uqarPr5fzm6mjvX9dKnEbrsHqhtY2R3gjRsduPUFaCU1oT/GDvL7WQW0W1oU0JIeKcXK6x856cMznni2sbcMFjbljVVld7pvTZMwSoKCf1RB+4GRTPAucV35P206/+D9a3E370prThzcXQj73MvLyl5QPBV1x1uBZxpVyq9trOtDWg7oiLC+oSuhxg3uMG47ysgBfPWJT65q3BxdZK7Z2B6uzZl/MZX0FzMyOPrVgz7RGNhqdupqYgowe/GREZLh4xkwYVgaoXqIu2SsOBbLCv7x//3SABv2t8p0qrH7cMvi/YVWebkdtQgbXBfKSczP5R1OHiLUK1tokW1nXGbyLYtVKr+UW3VplPJ4ZhuMpaqWmh1tIDkFqhNm7HDq5fnigPT6h33Ny84FhWlpKZux7fqsoYzQv4/PiWKVXGKVB74HI4HdiNE19+9UuOOaO6MO4j++68kQZPPiuHD5lSTizv/o78qMQONB+0MniPrpX5Aca7wPk0I73tO6QTgYxq5FxuGG7+hrTfcXz79zS1KrHbvyCEHTLszeYuz7RnOL1WC61LiIl31NL6g3QNClQyLqz41AOA4tBmGaR2T+DNceTf9ujzVa7Wgd/7+rMAZwueVBO1jRR65dsXUKVpNnmVata4vrdLAtL1cM0Uw4lpwT6H2qgKLVdzBsqVadpfSAi3t/fo8ILT6R2Px4UvfvkKkXDRHHTLwm7a8fThTZcxapRQOVS7r8t5JZSZSQu6zFA9XqLhcoF6zux2nsllwvKGVgtOT0auAdLtC3R8YY5KtaGukrUROmmkrg2pHvHJ3OfapiWqz/LYXoURjyOBJmr20MLldeee4/a2a/+70qefelr18TAx9U/0r7+3UyDXKbcF5Sq02iut7ePmQG0NnyJTiiwHZTldmWoOpeVsOpGY1FLVTG1XF8KyZgKW1LVSDeOMEjbh/wCSHGGfrDyajdgY+kGEpiy1IiHgQyLnTBiSVaOwuZ3LZlLQdSu9s8QFKFLM6td7XKjkCneffcXxne0LrVXy6hnY4SRSl0o7zbQuOdVch05sF8UFCCNrJ9NGvHXtFBRPHm4Zbgdy+Y1dQzKuzEgbjfA4RGRIRtDpwyNIKcSQcMHR1FGaYVPBYBNhzZS2kn0GJ6hTencaP3ho5l5nOp9CqyvSK+UujNYpEwtMka3KugVFgla5dMr+lGNL/n6wvbZN40sHpSG+4iQzTDDthF1qBHcNdLzva0FISKuM48R5Pvbv9EAlpYB3nXCt1XCwm+1wKaQhgkZC8NTiGJKndey0toKPid3NQCsDIcC6WiXUvqRRWzbppWBykMoVtiAinM9nhmFgXdeLq+F2HYpWnCi5ZKyZ5IygyBbQ3qO7FzyVhRAysnxAcqEXJ4n6Ad8WhB1r8zQNuDBcYGBOouWMdbG9QSxZvWBspeAC5GaSiaJQ5xMuHdFu+S1+wOXMTjGy5DLD0shdTk3igPMJQ7Zlih7JAqlD1cR78Io0c3ezmoI84zJ1iatqgb/09a30Z9/7gE+jPd8/MH4wYP0Ie/IM3E9fUAUDGG84lO31pm2rTfU+9TPs5GUubx7ARrj42Jp1JvhC4kgs7wnra9rxLeWhB2PiqWHuC7ptet6ZWC8YxlT9QPXK8XSyxcVxdc9oyvHp2D3NPcuy4BQ+vzdh//fHjGqm1QV05s+/esn5dCC/MwzqUDK+VoqYRtzxw4L4L5CdgfNP62qbw/LI/S//Aj8OlOUDWq1t6scZOSzcNIUMxzbTmsNn2zyigrQZz0zOZ/LJkSY1TU3AY4Dq4hNNz1DeoPkLxCeG/S/sFKeJpVYi5gccJKC6smnZGoM92aKt0Hy9VM37bbBASQvEBZUVXTO6XqeOakJ0RDSBRhzB7F77B0hncv9bGRvc5ffCZzdzBSrhWSLQKk4rXhpBDch/WXy8QVtq7W5AKK0YAxWg1kbO2YTzqzliPbx9x3y2gPRmdweyo5Qjro24EllOJ05ve8t+LRzef0BqZj8GwpqpT29pxebu3/yH/4nj22/4+h/+Hq8OL4kwfUHZmODMLIcTkn/DaTlSkmd/63B7a081AueHt4atlmp6hsmRe6WvuRGtmRCSEbOcVRhwetW7xOMw0wrUQ/PUIrgeNDvXjQ+exWv/lsbvCli/f9Y9g0Oou8ACqrO5Ipe90xNiwkdPo+GCIw6xE5s61KRWpFr1v5ZM1dy7VH1tz0snWBmrXbRSWrl0D7RrT2oUC3RTtwjtwZpTg3HlvDKkEUXJOV/cuJ7DjwxBb4Sv3AsNdbfn9u4LDo9HpJxRPMWNuBvDj67n90RXECmEMCA4yrywiRSrE8OTYl23lJLB7DYN5OVs1p4t06Qx7L9Ax4HcbVdpb/B5plBpPjC9uEXTRIyJc92gFyfoVTjvhXDR3+xBd83U8xnnE/NyJgyxu3lslSal5oXkHJSZVpTS8sXZKfkBOhTALIu3vbdX2qsVdPmpQgIE7Knd9omMMiN+xicYpsAUCo5NlL/S6orqgA+OmoXdzR69vF6ozRzSvA/kVSllxXl30Q9uNKITvExWjw4OHz29sc9pOYN6xjHC7Y5Ds66VL/2argsRZ7aw0eO8dSy3xaeUgvf+Ul0VEbz3bJ5fIQZyXkAEHwKh2p6c++fH4XNe/vv/lUUd7unXnH/9f7KLJ5rvRYxaSW6CGFmrUktDmlkhAzi/o7gTjdlMN+ZAIOL7w+9DQ0Oj5URjwEmi5IovmbravtHyieAr5IUQHe3c0CYsHTIU40Tav+rdgMZKoyLE3jlzxXSaRSBIZAgT0rwRqTD0RM2NVhZzLKuFWgubk5HzYjGD/+FE6yc6q38eP4+fx8/j5/Hz+Hn8PH4ePw8bv7cO63dK/rL9p2czosbi3UrBqGX5G3CfLv1zYQRaRr19vhNQDgy+EjniygHfjuYU1JnU+bxQdTWsD+ZgpeIpvbrXWiNrpjRFgiMOgbpc7S2fHh7Ja2a6uaFJo9VGjJG84QibIj7gpXGeH1jng1WFesbkA7jgEFdRt5BSZK2F+8//HIA43jEOnodv/oH1fGIk8+oXn7HJwtVTZVUllomyTsjNv+ez+5eEnu2cf/u3uPKW4FbiEGkpIYNHhn5+sVBHT0kN0gNPj/+F9XCPm/bc3n5lxzgO1PVMXh9AKzFa+2gr0WvbauBmqebF4enEK7sTPYPszmReIS24TurS5tGagAltE1oTtRn7z260R4jPPu9POy7z6Rnh4UIae1aWc85dK0i9Yo/r2TQg+kySyj7AsudnHunXKrJePucyNHRjqa3KNBvLt2YjeChWFumQgHXNlGUlxmA4137MV9vflRQiXhxzPrPkmYe372mr3ZenGgje8fTNWxKe9ljJj0+U113D9/ZzGCLj7S3jGLiNnm+//ZYXN3sAWj4wDIUXLwbOTzPaCtPLV4wvrQJbT9+yvptZTwtxnIkM7OWzi87q8cNrwtRgvKWmPUVHmjsTN+jzUJFBaa7hfcKlgASxQmqHQ3nnoW12v0ptxSoqsrWLwxWT3otL2kmB273/FLZh/9yq3BtmUS545U/HptP7Y4yPKqztWmF9dorPxvYTZ92mqlQxAlbTK35u2O0YY4B65nQ60/KKa+3SvrxoPtZqr2FqDvSqJ1hrVUWpHVcdoqNls7aETpICQvKUrISYCDHSelvRO09KQvbeYATOk/N6weXW0uEyrZJQcyN0gbKxsac7wud/ze1LcE+/5ptff83DeblYaO5eTsyPb8GNuJjIpRqM4fL8G4k0OEeMCfGRNCaGvm8s5wMhRPLpQA0LPg0sfocG6x5om0haWdtKkcp6OCBjJd3cdRtlaE3JpzPVzQTvqMF/hHd3opSc8T4yDoO54Hlho0tLMFmvvM6myapKpVxsiXXYYFjP/lyUAmwZaY1LJ+2nN7bq6nZPCj4U0gQ+rCz5iZBPXU0FpinhRaltNXeraMSel69MV3pdZvKy0GohxsC4S+RVqGu+YKs3XGtrFS9CSpFSVsNbguFf5xl8YBgD6J7zaSWXzilxSvKBmjMpRnyMkPOlMm/fYdjj53vDxn2g83m898ZfcJ5Wr7hkdQGZvsCFO3NCHv+WxtE0hoHGjkakVUccRlwIrMfTVZ84DDSZUJTaQOSWpvuurw5CpvoKckcIN0gSqi+UNdNFf1jfvSPEBpzRllm1mC5qJ3ZJvEXGe2RQNDV8K1R1LJ1QuUtGqkQ8ooHgo60/PS7UDldyeKQaNpuS7Vpy7V5uz9HvGv/8gHVr1zlBtSsAfOQXvwWcg/3cZRyVGNRKwBeBWPP6RWecLqALNednWAdF6ltiU1Io5gkdGzV5/G7fvymwHM/ktdKK6aqJOLzfgiVrQ4UQiDIgqzHQNtkr5swYPFJXnMAUjJn6dOrl8ZYJyRmTHjt+R9yq15vgFp5qDNAQOFEvmJfdzQ3DNHI8HVhOf8f9uEdcomERq08BUoJRUHfLF3/1v3Dzck85Glaq+W8Y84zXCHGkTTfMujLc2c31O0ESaApoHNAYcJoZ74wdaxc6khxUPbM8vqN4j8Q9btgesoh3lVptx/fBd1Z6L+GLnTtSgYJRAxvijYBAi9AGRE3AuJVAq55Wx8vrQkKIP1LI+i87LmQY+F5s4UXTUwTF4XRrZwdCbfj5CHWlkBAKri8ueZ1RrQwhmj2qKOuyXtpboopUS7K8CIgjIRcJlcPTN9R2Qip89uUvUK08fTiy28DsIfLq888o5cTcFtK45/Ov/py5B8SzvudmX/n8zxLzoXF4WPjw/h8YSpftqU8MLZOcI2kjDo58fkOr9uwM/j2+Rhi/wn/xP0JbeDj8iqlvMH68Q8Zb5ryQQjT5HjHw/gYJaKUSJVjyKgXnFyR53NZe0mTJasewfH/I+a93mMJKl/R6e8HYSQAAIABJREFUrrOqeiHyqDbUlUurWdThiCiJpWVQuHFcNv7kEsElgkwUD9oO3Wpxw/2vsIuU0YP3pBiJBNppvpBNY2k4zYZ/9wLR484LIW+yVB6JHoYRH5OtJiFQ+8arwVFyQVLEpX4OeTFjGEC14KRRqFQCRSCwXNRd1sUY3tP+c/wYaF+/ZZKVu257ui5K8YE27ZFpz3p8orbGuD2fuYDCsmYUjzpBwlXjWOJI1ZHS9vb8Lr9m0InljbGtWRzVJ9ZaaerI88oUJzxyCbqFyogDcVRXabWZLNVWKNBGDRVVIQVvRZUhsnZyCjtTLgg98NHW8M51khU9wXLAhOqASEJahGJ7Y50jUrr95Z94qEiXp7vWBAxB+Pz57AGr68mnL6QBUlScNmStrE2pbKL4J/YjzOeMeCEg5HKm9UQupkSIE+t8pmnFiycmgwBuvyM1GqG/eYoWE2CIV1mqNEycOOAVnDZSiDyVJ9Zsa5qPA0qAoviYkBjw7orPDD6aukuzz87LauovU1d2oNBoBG9qRR4jLfm+5rrD1xz+/n+jjRO3MbNPhTU71r5mTz7hY6Q6YUwRzQbbKf25WV3C3b6Ak6I6Eu/+A276nNJsr16X14R0xOGp5xOBAc9Arg7f9W59m1k/PDK6hi4zYcloc8TRuA2y35PVoIXOeVIErUruAWkhEDFZrZatuCiX+23QDdVGCIKodoUcj4Z+jdxkUl26/0HKwT+pEnDBUemnr/0OwhTOANVaCD5zfxdxLNTcmZbryhAELU8kmSnrgdKWjeRIqw2pB/xiG3LyVmVxQ7wcQnCB4Dzr8cxymDmdZmpRhml3ObjQ8ehaKpu8UV76Q5AL0feqlXRcYVVcT1mGfcTjcAkUy8idkwupy2BZlbJCdYbFi76wfvi1Xfz8yOzhhpnmj7hSqceM66bWKVQ0NXJsuPoED/8X1d1Qylt7/e5g2NEwUP0eHQPaCnnXg9HdRLx7QUg3jGEPcaCFBn6HdhZ/y8EIerNDj42VhXCbiD1ucc6DWlWj0UmqXi5YYyfNhI+1oFSQ7giz6QnSE49WULfgXMNpoOQtMQkdv/nDrL9/FeMZp+qfDo16day/TZ2R01xn2YuusDyRH94i2vDpFrSybq4lZSUEx3qeST5RWmWZZ1xfOJwT1vNCyYbAKvPKNEyksTNK3x8Yd7B/cctaZx4PB9SJORIB9fyBpw+V/Z05pxzOT7y6v2O/twqq6pnYDuj53EH/Si1PLMfHfnqFQSAWz3ooVPeAnzLJbxi7BZUXPK2J3fgVTooZe+wsUyeMSNwRJQErtVVa3VQBbH63jZlhTAKcK0hcLtVGXSe0dacrdyUbPV/ornJXf0w4+1OtUn3/PNwQwOICpWUUR+2bYguK9xGyEnxEW0Bz5tyxzyFA8omUIupDX8Kb4TG3RKLpBSSpKqxloc0ZKTb34jgiKpRcULGNPA2Jdra57byg2crEipFiavGX6mJdAWekqOYsAHJOaL16j2Y0H/DTDqcz+9QYNON74NDWM8nDtB+QIaGzt7vf500rBWlKzYWSF2iNECJDT/KbYt1BPMsyc3z8FvzAuYun7zxoEKgmuTiOE8OQWBfTQwarGw5hQIInTAPDzY61lK1eQ1NlvBnZDROtVlSVWsClDW/okTBcuireyBcmxI51ByxZs66idMJVhwFbo+aCa/3TDuX75+V30/nr8YmzTkotpgsuCs4H/GZE4grHD2+JbSHtJqKPaJ1Z6/Y6hJgYpvEiDYg6QnBsnKmajYDtRVjnE7RC8NfQx1RfHN45vCpazGRIOwO+lIIL4WKiId4TvFA6WS/gqSJ45wnO0Uoxwvd25q0rasgWU2EBVJeYrHIiH/4WPZm754BCvOXmM5MidOVMdlAEBu/tGU4DpWt7z6rc7EfWY6PkFdcqXvXSXRFVnL4Dl6gqaNkjvlHkhO/62T5U5ryy5pWUC26pGDzVcLltPSMpUo4LPgc0JdK0Iw2dhO1MM1xrvVSTcWIShNCLmxvo1tZsS3C7qkKIXSnmhxOtP6L49Zx8cn04KivoypgKY1q42VeCnCirAdefOIM2hjgT25HgTtRY8F1XrVal6Eprmegi45ioi+mt+U6bW+TELkzGas+Vwd1zeDyyzOd+DMI4RYJLVNeB7qUayJcuHeKls0/NaScmf5HBaNVgBiSHcybDYEXiTg6ojdoUDZ7qI74pTgpR7PvL6Uzwyi416rSjuRuqG3Bb6zhC2g9IOYGfafP/zfphItxasCmTgIxoGGhpRxVB8OSejbR4hxu/QMZ7XLqluYj35uy1sVGDd7hajFVJwMWIxHS1t22WIXkV3IX01q7sdqwKoF26xjlsAj4D85vtaLGWl1daXYkbaLoFWi7msPUjjc1ycwvWNviKiLV7P237muYklwRHumvJVnVuWswBSHs7WYXW9JmwumkAIt1eFUH8ivdnBmzTG5Zvccs72ulEK5kiZ9tUe6IQvLVKi9rmeFxmYkqsy1ZJU54eDvgYO4mkMu1uWB+tfdXEs8wHdqPD1UY6POBau1i/OlbKudFe3uPuvqTReCwPvOrJXpxeIvqBeip4d+YmR841IV0AOlWPnB5An0ixgEYGhLAFk35k9QmR99TDf6GEe4bdBL07MpeZVA/W7iVTcXg3gk9obwcJzeak0AUEKoQVlY3xp1BHtA009tAmRFMXHrf7aFaWAejETNmMYLFAWHtlVrRDPTybDuz2e+5PX6T6PcengcnWAnTWEq5Xa8S6rvx/7L1rjy3Jca73RGRmVa3V3XtzOENZt2MdHQHCMfwD/Pf9yR8M+IMNGzBwJJyLLVG8DGf23t1rVVVmRvhDZFX3HlLUFeQIngJIDmf1ZXWtrMy4vPG8t76irWJto0xKp3IfA0VTVtKaKdcZq07fKn3fkd44oqG+bmT6uC8hpzDrpyGLmZOBrDoSkT0qKsd9TM5yKbBkwE4KwGkckBSIPUmC+Ia7MI9DbZLEt7/8az58+/9y6c/k/gGv62u1LRmahTLpmL5/QwQg7GoVglOrKfbLvcKxZ3l0EEWFIsq23dBinAxNVYxwEgMlaWJfNyphpxl/Y6KUGU2KlcyuoNeFabQ+S8mYOr32cD+ayvAHHPtuM9JyHNzDWUw45XB+GpnEmQAJd6Vuhy35gbr6vl5HgjlCjzE07dbJxSmamPKNZdyvSRrbBv1+4/n+TL4+IerIfCQ5e5x1KjG3KjF8bdY5euYq4WhXykSaoO0bshPJEwRVCA+DgBFsLcvMvB425gVzZblkLtcFnUqgqEayh8cZMJUJqy2CcCAf+1m3qDqbhWHMOGXTJbqRu+4gG8U6kxZadSRNJ2tWtFGLsrx7QueF3gMBdnac6h4VX3FENuz+t9A/IcPVMusHxG5YeaT6e5J+SUkJ236GDRRnyRe0TGy3O76Hc6ibkUoE5fvLR5TGdL2Egm2fohM21lq6JMx3WquBGjxYwvWVUS6D0x7W5cFxPp5PEcctKAe/bU77X9StfRuwvjp1GCkZl4vz/ilzve6ovWD6PF5PfPqw0/sdtZUlK59uO08PwYFMeeLFd+73jSgCdspcgjow/vbWlDwJc37Hsxn788Z8KRzerJIL5TrTZbBcS4YkJ+su5xKLXjsQWbyOTQ7Ak9JFmB5CF+I9Mq66jgVuceNTEuYCGeV6uVKeou359ccXdJno2chf/gXy8GNcKnuNCmoqnxAzbOvs7Y6rkecFneIeqBhJe7jc6kJO71BduPthBbfg5REvC0wZEyFZRlLDiEp2sw9Yu9NuYa8mOTPP82ks4KzIPLIakQAVp/4Gn/S2gu6cm6e+sVVTInP0FpWRBGpjIrdlxKezZfn7uk67R8YqdU496W+6dLTw/bN6wRHwTiOYiuAnJ2JNmZxfJXSEintHXZD+iUlvzHofX7Miasg8cd9CJ+UDwQZQ3cKtzByzG2meUelR7QLWlzvtvpIeBJPY4Pd1pY5sP2VF1Hi+fRsaxWUgxkdlPGkjLYm1Vd7/5E+4fPETvv3F/8MvXv4WgK+uTzz96Ik9PdHXDR5Al7/kyz/+SwCm9pHbf/3fmHbQArZc6EsiP4wq1qXTL2DznU/3/8ae3vPVl/+ePB1w9k57+SZkEPkC5NBzdcJAAMg6cFaSOXXUahz2PTLviBW8LYhvWL/Qa8ZtIFZkCu28OK8Sl39Mdfzf2vXdnT06Yr2He5q4nkmyd2OvK9QdpTIPydM07Pmkd/bbDV0WWhP6WklpeNyf7W4iV6jhXlXmTJ6Fvh54IIsAsBt725He0eZv+NFtJIAGvfOyPpNUQ7vKCBaHLjMlQ13Yb41ljoPdgb0/I/LMvn4iS7wHG3uMkaLFrxIBsxvTNJ8hfe/xTKqHZl9F2LaK5TfGHynFvosg6uQMeRoBuVicFTnc1Xpr7GZUl5NEsFwXHt6/pyvIZWZ+94BM5VXPqIL2HklzDZB9o9PaYfxRKa2T9dWI5TPzEz/e6EEJSHiHWg/JgfI2hfn+XuOstcBMBfdX6N7RYsxjXabuPLx/oGulfvgIdSUvC1oO21Gl94pqjnulwfj0FNVbIPjZ3WOdJEhTISWwwzq11jCd2GsQXVpFRLiMgDKVhdvasR4Jh+SoHk79tQIrKbHMC6vd0BQSkHR0tbpFG3yI0EUEc+PdF8PMZXvB7r/kmp1e76hOSNpYP4SDm04zMj2RL1eaZ3ROtPud2mPPVw/qT55nentGtl8i9VusjGQ1Gzm/J+U/5eHy57B8heqKuuIfQ4aoV2UuM3uKxD+L4q1ThxkTc2fvK77NlMuFrhu9dWScW5NGoO+2R9fWUsgTz4DVx7kan5P5KKGMZz/JRrcdZz8epd94/eOxViPQiQfmYCAOHZK/WsupKssyMS/O0wNc0oruH4FAUhUUzaG/KhIA3jxlfGhWnt49YK2AXrguCzpazzKnU4OqRUk6UeaAA//q735OXz9R5KhSReBVzSL0kErrO9PQlJCgCwhT8ERLCU3peNJLSux75f58Z5omVGHv7Szh55SxPVhilpRJMpNV+BgB6WyQSqFOQpv+iC/+8H/A2ze8/GosYIPkO+gGeUeuT5TLF0zD+nWvL1TN6PwjyvJHiP47NCda++tY4PVneN9J6QkvhdYrsm6YdnR61YxYu8F6I7/cQv7QQb4Ym/sDWJqRaSLrBW8CLSEjK+1+H9WGhEvBuYwCzqg2iGKSYOCF1A28R4WRUdXMhZQOOPO/jevVXvCt9uoIWHMEpN6ZJ2cuhvt+PpTiO8lf8H6jtZVujvZPaF1J0+DNyYpOSrssXF24fXxhXzfuQz+NCdM0g0SVPGWDvZ2t3X7fmEWgbZScUIe6bxzZXLlkJHtUHQRyiirT0R2YSKBKp+HtRl8/csnOPjLtKQn7zUmpo0WxAvNl5unH0dJv2wfmP0xMdomA8vEdKzvyLp6t6WkiLTO1LExlYdaFfLnS98EctBm2zu3lV6TLe8pjRkel/kgjci6YxDBcfBwxoHno3qLTn4NN2YlNTwpeRwfChxWuzyhhc/mbJpa+z9bCh6Tk77UOZvxJb8oRPrAyPniLbhouYcDow+MWQzmtOiVn5iUOft/HAGA1tAtqw+o6vdFrp4CdaxoOVy6kaWbkUtQtBrlokVxs9zvag/8KUFQxj/1c1an7Rr5c31S2Xz8PEaHHBEn4uANuFe13ettpOOSZeXk8K12VRCpK09DPHsHeqSd3p7XQ0rnZWbU0PwJeoCRsuByJKrXvTPPB86wgQllmtnXnvq6IJubLFT8C1uVCXmZAyNcLnjPpMp/du26dLAnr21nNnctMK68DOr019HAIsh5DoG/WBR7BqpPAFeuCnfruY438fla2fOc3/zqz2geH83g9Bn+TZlQrU8nMJZ8ykDL2QS0JXUpoQEshHQmwGs3W0BBrRmxUcCU6YvFLYv6iVyNJaIPNXmdOpqRcnh7ptxXZdiphwzoNqUiZZp5vH5nnC4+PD+zWkJxfHdQ8nqUyz2zrFq344eZ23JSjexfPaGK/r3z9Nz+L349wnWLOYbUFpgdEd7QP1qyngeDMtDr6GZ7PAaXslb5VcrmSpwb1heyNbsf6znQXaDtp2XD7Fls/kPtH6i1QnW5Xigt5uUCa8bWx1WduI2Cds2LitHunq6DLgnqn3aNAlnIi5wXtDasVb3UUDF612yYpbGynBZGQOa5rFOFy2+I+pd8uIfwnVFjfZvNvHh8Jx47DlUHShlvj8J3OSWndzvJ7rzvLVFCZWeaJl5dPPL57eFP1ioWicmWeCt4qbV+jfTTHAlrvd5Ylyu/zdebdF094q6zPL+e700RUVlVo3sMXe2RU1dpgXAp5msKpovfTVs0GY03QCE5jezzfY+0tWqxudPYYJvCoLAA8zpewd12dtH+NvfwN3j8h7dP4+Tslz7guzA+Jbiu2fjhF3jqFu5L1jNdv0fzAft/QHItL7RP1JaPzgk4LRRTJhbbv3D9GYnDNnXLbaLcNXze8dfqnT+cil9qhOukR5KKg+XOtslVq74jmsLPTNl4bAagcmpQUgYV7CKtHtdEQ0hhW+31f56EvsaEfU5s2gPxvD7SjkvH5xjtexxE6mnauF+fh0qnrB+oANM+pke0Ttn+ksdFN8O2O2MY8BP45Oe4JXRYMJTncqiNj2vK+blSL4YV8nXEzeoM2krVW6xis68ODvJOTBKydcCjy1F8DVg1ZRB2Sgt0z6p0iK+vP/4r6tfB+6izX8bnWlTQnSnJkgX2u2P5X7D+LZEzmnfzwjItjZaFNgqmwj98/P31JfviSNL2HMuEFTK4wtMzajbQn+ibIZGRJJI3Nv/ejZW9BDbA+ptgNaAM+TbD6jilo7Yg0UhJkDK5YbXgPU5EIkBKOhG477tLISV6d2uwNqeQ3O/T97q7XdfgPvIfPtIoCJ1kypFXb3k8HMiVhRAXTBq+VMgWLGaINpzEUIs1jL+s92KqjZR5Oup25BB9YNNowR4U0jZZ7yoXWPCqP7q+OPzmhXchlAldKzliILsd7iBRCRaNF6C32wfG5d+tIioPdS8bzlcf/7t8xDVvibz98zdZf6FpQiURt33cuy3Le16PFnkoezt522lVbEpgSvWSmpZA049t+usS1LrTWyJJJKVHXSqtGnu00T2jWua0ry9MTooqWQlmurx3IKtA3rB1mGU65zOfZVse0uVkPSIN7SDDOtamjXXBQAhJmip9OV997HQtgb5LH6F7moiN/CLKDD+B3zo2qnd46y/VKva0gTp5GEuH76AY2pEssZFMkv0q1unXEIh7BoZSJ6g0dLm9tD/fBlBNWhd4b27ZxfQiZlBOyhcfrBU2hC0+urw6IIjw8PETgnRNlmsCMdezph8guSAUeSYsL9SW6zjlBtUS9fEF//+dMX/4R83xn/eb/Ht9/C4qPZixPSDOEnWkEd9u6cv94Y7rkkEJZVF37eL1cfsSOgD/Tb/+Z1ozMSt9/RVuDzy23C1O5humEKVpm5qeCjbmfdF0oi3K/3bjtG9d5Zip6zl607Y6OIXXpod61vaEHvcIblUoRRSVhYw7J6iGzXJmmhKRzYfzG69/C6v7h+uH64frh+uH64frh+uH64fr/8fWPr7D+mtWbYTREKpqMPHRAl3ljnpyS94GaSjQpaIqhi9Y/ItpJKTSg1+vCvm1n9dN6RVWYpomUBEjs98ZlWc4K5zJPuFXwmKK8PCzUdWE4sbGte7SRRGk20FdiZ+uplKF3GRXRbdvGvx/TohYSh1RyuGQJ9LaFkBtI7iQJ1qwb3F1pmrmOdnyWiq+NbIX6d/8nz8//DZmVNJBSWjIdRed3qO3I/QWxF5QxsWsZeqbTEdnx/QNeG+Qov+dU6TeBh3eQJ9L0wC5Clsx8iO9//ksu1khrp3tMMdIMuUWJPzXwreO10b0hD49g85nJ407bNiQZOc3jfjun1ZXoaL9ENaq5R8XvKOlrxiQj2v+NaKp+/fpuO9aooBvL0nh47DwuGy0/8+nT0PD1FeWZLC+oNsrlkaqBnDr1mSXTO+Trwu6dkhZ82ylnaQxe1g0tBctK09Bh90MLXDKeBE2BdUpZooV+6DuTkJYFJSTdtu3Rojm4tCmR8FDApKhaTuLYEvrrmp7oYkgW0sNO3jp9+4Y6JAN5/hFluYamdH4AnRF5PBEsefoxcvkSmd8HsFhaWHDqwKH5DWkri2RSmSMbbx20kw69aTdIbaB8+ih629HBHcVVR2gxPKmOt+3E2qXc6LthTUJf7Anr6WRTih7K6mMIAH5NL/B7vNw9Kr7/YJH3qLJ99s2gipmzbka7DC2gpqEhi8l5E4XkaDnGy4+hDUXcqHs9XbKOYrYLeBL2Hm5RbKERPaxJpROOTM1QC+aiS+yjwPANV3KeoRtzKeytnlpDTUr3GIYMF8fKMpez6mJdSHrFzdAp3P6e751370L7f+0du4WdKeZkTZ9VyrtHV6yZUaaMJph8PvXVL+qUpZDqBdPRhXF/lePsnbp3mho26DMHw+n4G5zwkJ/mia01ijm+12FjC3RH9x7DORJoSCkJPSwuid9pZpSU3+Aejy5RDAjGvjsq5mONx+t6ar1/19c/pichoyv79nnTlBCJSXrVmNI/3M/udUUnCxvqlMhpopkfYwNxPjNR9y3mC9wRDp/7o/IfA4FJZTxTsSaPCqy5gxnWO3XbWV9uweodVfMOlCmzXBZaD1cr6/3sLFwuF6Z5xnqPqnoKB02xY5gQklsMB9YVWlhwy9GxtQ3LC5WJd1/8B+Yf/wU5faL9KrpaC38bLp65oDrBbYsqqh5kicx9vdG9UVpj0RQYfD+sX5/wlpnykEe1O9od8ZnexuDXdkNyx6rQupDmB1ouTO9Dpjg9PpCWTHl6x8unj3FGLQ1G57BtK2meSSljbeyx1dHDwvSw4O6dVjv5ekGScDiW7esNM8IG/Ldc/yDW6rg+H8AxkIbqHu3Rh8TlEl97LQZeEbYTHaGpnDzBy7Vxuz2PtuzhAeyn3sOshcRAY+PMJXO5Xig50/Z4EJc50/fK3jeSJi6XAu+v3MczO02JvcqwTwv9W8npM5AvSECtLcr98zyfD8kJk5cIyw/t06EkUoSsindH9D3Tj/6YW60kjWBQ7r8g1zVAwf0TxSoiD7TRFg3FQabMV/rNyTLR++3cXPtmqCtpdsTvICuSnX08paqBnam3T0x6oW0gWkh14zp+Rtsrdr/Dbuybo9NCKpfXz7E2mt/YzZiWKQL8IviwWsvTFLBqE8Ql2rPqmB1a5iGII1oc7qH1scMUWwgr3IPn8ju+3toJ/9O+8VW3OhgDb/TZME3Cu3eFd4+dSZ4xf8aWWHi3jyvWd5ac2e4bX375xJ4Eay9nyzCpUpYZ3zvWEnlOZH/PhzGQV5bENc2keUamTLUerarxtspUwrTiOB6SYjkGxWBsrjmfGyslkeSVmFyyskji3dMTmyzce6dfC+Wr/xGA6Udfsa2/oNvf4b3SyspuiXIMRT79EWZ72HGmCzl/heYHnvs34/fPpDxhOQYoikVgXHu0v/r+ifb8Nf58Z0pCloLrDvOrzi/WXBxsbnVM3cobggXxmrSxDhtSQPrRJsxI7gH2NsVaGZKeQ9M25nQlDTzQ96vR9Kq7/Keu30G3IPaY2vyceciiCBkZ2tPwJBV0TBLTwYlhIJFIyFMawytHS98jAa3ripqHhavoOTDoPYI4sY53xy1sQo/Bru6ExCgVnIalzqwFP4I5AcTH8EbCbEWzIEXO35/1gWRCZqc35eX5hXUwiJNWCo5td3wPO9MkryQQA1pvMaCoHhpzTcjhOa8KSZmfHrFWg7KgCT9uosXe33sQZ0QCGC8SzzVAmucRvETSQXds3alDqyce1tvWOpoFx4LINt5DQvHaQ4esYdAgqqf5gIsM7fUxjMWguRxZxT9xyfwrXk085pa/I2Q99+KxNpPEaCoAmjDr9G5MGSYNuU63YxgnjBau5cL64RPT5QGKUlt85mUpdM9sVikKIhXxCqbnvo1qWAqPxCIGYt/U4FRCly0gtfEgoUGta5x1PSXKUth8J0vQftpaKeNvWIYla8exJHjWOEaGLlkUpBoJ44Dn53KhDLnOtn7gxRtwpz3/lPu28nBdmTzOBNzweaI9TNiWydoCH3cU+ZYLqW6k/YXcKykre214H8Wpl19R8lNgvbqSlvf0rSNWziFsvNLXTqoCa+P2aSf/5MdMjxHQ2mWKqf5UuLwv5H2jtn4ajpQSdBuZZjxwDZF4joMru9Pd8GYIiug09uRDshRUl+rTb2Vc/BM0rKe4caTSG8idNDXS5IPZCEXvMT2N0/sdmWfylOkj0Hl4eiCX4LHWtjPPE9McLg4A+76hAxkiLiSBeZ7C83o81NJbbEx1x3pDkvDwdD2Do03Dv/y+bhjOnArVnHkZkFqPzcotAtFSCtP0udhXVQOLUjJ1W8PZZRxsuXeKagzP5vd8+Wf/Ew9yId1/DsDLf/lf0PJzyHGgqi+h65JXDZ0g1HVjShnSE+YdGWMntRbELiRmSnZkjqk7a0NjqzOqmVYbuTbafoO9klKH4ZaVi9LuDq5sLZHLlfnpD84pf9dGw2gpk6qTdkBe/dzpylweY8LRNMTqvdKHLkelk3Ba23APoLLisenDK1Pt9+Rp/da96q0u9eDgffb6+T3E2vbEUQEwC+wZRC0rZ6WUzjJ1yn4D+3R+bZ46JS94b5Qlo6myXBO1XriMCoq3GgSIbOxJSGlmej+zD43qy/pC8krRRO+Z5A7W0OHXrktm904enu7T5YKInMYC27ZRb5VpKXTvuAbNQPLQAWYlq8D9I2KfuDw+0sSRKSqsD+//Hc037OUbsjwg+owugpbYuKRbYLBTYbr8KSn9OSSl1NCPt+0Di38BpdD2jX7f8HII8MHqhm4b+nJD/WuETPcEaaGkoRmzhDTFtWJUhAK6ID4g1lajcKrRRYk6o+ESG7TLCMRyhj6BTKgZfTjXmAmQR+A/hpHJOoWHAAAgAElEQVS+PwXW83LnleUIn3ErOAbSjn/zdkDQ43BubWWv8fyV/BhJi+yY7JRywbSi41CNgZQW6IekWDacIFjkEecnTXjPaFmCNSkC7UDfDc2aJkyE7o3eg8rRDxZjkpjGTnHwYUZbN2Tsi909Bok0jyAj9Jl5VO81GaIp8IapYB3q7qy3qN5f54klP6FZxyCYkpNiQxutYz+K4C7R6kbKnOzpPM/haFhmOoLQ4ned77/HWmke3OARh4lKBCNAcYNtpbdKKZn24Vv6Z3w0QVOiYLgonXh/5zxhUqYyPNhVh3WY0sZRLRpdMEUQz7Sq1P0kXIYG+Hs8TMhRlD7iaxPMonpuEtrrJMI0yBDXKeNbDE016zTrXJfruW+HG6Aylwzu0QUwHwzf454lkM5hvOHuMYTaR8cFBUmYKNUdyYV5nqjjLG3WwIX15YVcGqKZ3uw1wQa2faP1HgmQRHFr0gMz1xEZ9d4S2D9d3pFLdJ3vPxfa/jXp5QM3+79wV+xHzvIQ69p9QV3JJCxF4a2f6Tv44Aknn+j1jqcE4mcHue03mj3jXKi7MpV3JJtJrpQcpILmL2zPHwY+MdE04bUyj4CztUB/jckxcipo72dQ35qTykbSTNZMb43u9axXOS0MF0oUJo5xmWNswTUFV/hfy+nq84C1IakzLcI8g7Cxb/HGpb+Q1LheClpgvX9illfUXas71+uMXWb6vtFapeREmUeknWf63sCcg0VnHiFBGtR76R3zzuPTA9vtxr7vTClzfRgHGs6HDzfMGtNc8Ga4OmW0rrII214jKE6RDfXeyWMate41MtuUCdcuIZFONyLVRK9t4DI27i/P1OvCNG729PCAr0JNleQLpjPumVQOTMZMva/0XmGeaeWKs9NH1kh6R17+EJknqj8jdgNNpBKT2rnMoHGY1TU8JrZvfkXTRpI4lHu9se07qU9cHn+EXN5j+QEdLUKdoYhhzdl2R6fIVo+gnB4EBsei4pUVb5zuIOogviN+MDPT4KodgX+4XPn3mgn43etorR3tvT7kK/G5p7QhbEBUEroF7PxoGc5zZpln9nXl4brg1shJuFwvzMfa8gbNmabCdt+Yp0zf9ki4gPrFE7ePz4hr0DMkU62d1QJ3RzUOpHmaWNeVy+VybuBmRsllcGJDptF6Px90szstCzuVlKEk2NeEf/NXAKz6CavfQr+HZeD0xGTPUN8MDC4Js4KtP0VzoHi0RDWg0+j3b8nLhawZnwrrt79ialFhXdaNdt+xvdLlTvr4idQFsYS8H2tvuuKeEHda3/HemKaMHRxWryO7CIc7QbBesX5UYDNZp/h3ttEtYV5OhnAkLN/bIx3gJBjYm4RqxNbjn8dX+CFuOFZIGn9fwm1iH7fsOCSUHaTyML1nt2+px55WKkpIR5ob+8A+CZDHfbPagv1oiZxS4P7M8X0AzD/dmK4XZJmwURXPOZ0WlKZCyjmCCo0AYav9pBC4K5oSJhnUmJdrDMtJVLBUwxpWJ8KAwpw0Oz6SsVQmzJ06hhk15djH/ajQahRDJKOe0FFhP/ncKePNMGv0PgJTXq2bD4amE0GQSJwb+74y7cOFsORoL0u4aHUL6PwyBnpbb5gqaZrorgiJXg2tByfZ4uDWKbomyfCcaAPZVrgAJQoBlulbZltfUxk/8UHfz8txzM/CG1gkkAfVwi2R88R1ifvZt29CVthX8hwyub6v51ndnjckK9OUqd4jwRABfW35C5FYvRZ/Dff+muMRyUF15947RYX5MlHyuKd7TOEro4sg+hnDe9v2kA+OYd40KouvRgadpAz+VDhH1vUD22FbOr+j7HfYPsD+U8o00V/eYLemC2kz/LZHhTgLll5pu9ZjnNIls3dlGZQZGwNRqVU0daQm0uawVUQKtSqMrlRaK6w7+9rokknv37Fcruzr6BrPC54y3ntwbDUhxungKKbDLlZIqUQ3WhjyD6JzMs1hxSoC3oN3PAo51vvgEf/2kPS3vvp2szxzNnFQQ5OhKSbfsFd0SCch2tlfPtH9xiydPE1nILT3O3cz5vnCvEzUGuzLQ4qlo+zsBn13VDPqmVpXDr/1PE0R5Q9Ab5Now9Zxc5MKra/x/j2/Ru1HxpVTgHZ7Z0oTte6ks2IB1hsqQQfoxIRbUjn9nA/IfgJ0/xXP/+V/xpfpREJN/U7zQisPiCb2nOjKgKVDEQEzcpm4udOWhYflPesv4tDPlx9jD38Wtqz1G6T+DTnfcAu3obo68+M7tE+0tgZrU1bqx4+kkdKUvaK7hT51dlBo3RiqBZJnUpmYc0bnAnkZlafxkPZKLuNzNx3TjZU0HkJJozqpisiElQVJV5RhfuCFaKD9WwpY4XUb6EBFc2UaSKqH684yOVPZo92eZnR64r4GmUHFUXEul4mcRpaFk9/4iYfndLTrl7lgbUPEWJZYm5fHBaWzbx1S4NS6VfzwxdYgX4hDrZXee8hVjsq2RHuLFAmGdSM7obkGzDIrhZ4m3heDbSO1jH39nwDY979BL4GmMkno8h65b9A+jruzk1ohpQlXwe1O6oYNRrBLwu8f8fkRmd/RmvNAov0yvl/3lVKhScE9wW0N9FF3+vE3fvFj4AKDBdgxGFIjIFp+4ohtuEMbWb+nA7RNGFrQ0QEml7f+FSO7Dy5itK8+lz/9vo97+c7//vN+hvnM821UQLoiuiCulHThfn/gef+GZehDH8qFRlBcWjdIiqRruEMNB7J636BVppQGEaRj3dlGhbN3o5uRLByLUkqUXE5Wo49DvojQLaRWOaXAVxFfn0sOPTzCsizsR8Q9rkPCRTdk6AzPapsobTwTbwkgaVRLjgAjpUStATgXgbofUpFwPNrXFj9n20nur/a4AKpoTufPl/F+tnH2AMzTzN6CRDNdAvR+dK7cOk2FooqWjKjQWsdGh0VEYt4ge9ALRIFCksu4ATNqC8KM24T3FEv4CBzG7/mu/v53dp3caz//v43P+nh/yqsMp3twTJtAl0TrRloKdRBztnWjUJkVru8fsa1yu38iD+pQM4OUuL5/ioqdxH2Nqv/RLbSIUQ47a/Ohy3sN8iUJy9OVLF/RXu6kZaKMpVd7JwFTyjQPOUZXzgru4+MDmjO39U7dKyllWt/pR7wgBU1GKQZ9g77iLZJxAJafcCnvqB83tNUooEmhDrOW8sUMu1M/vJAfUphYz1NI7oBcd1rbQSdkeqRLQtVoWxQJaEJfC5Ym8IROjda+od5WhtEVS48sQlMiX6/UpGz7FgYAwILgKYMoxQVpLaqk/cBWOdN8wbZGmnR0hwY/m6NpEjbc4g3xhnU/yS85D4pJ+hdoWD+/RkTph/gjY91wwiHqwMjNuTNnyFTu3zzTthekFN4tD+PnVHqJhZUvQplCn3e0CERTaDZ6bCZmMD1MaA2fdQBrjuSE2cjWLDAZaWRd0zRxuSz0lzUs1kRJeWIZeBOdEnvLIT+QMA5YpoU6hq9yycO/WcPxwRms2bi6h2LQp8ymO8gzrA3GzW4dLE28++JPyamytztpmcnD7ce6kOcL7p1qkWmE3CkWsOzfkO9/i9TCXHbcf4HahknoCKs+gDwARt9/RckZLZldlNs4PKbasb3h3pnTTHv5iKqTjoymOp4nfLmwPM0RHPR6Dpb11lGvoBoyAgkRub7FTvjQxaUc7DnhxJHEkZOiGvGPX2T/atdv2rDPfPu3bOaxhwXzU2RlWjrv3o+NaTK831EN7qeoQionYHrf71HdKxnVwr7vhH+yBoAdKJcp2qi9M02JZo26b8xT/Ix37x949k7Oja1BwklGiO7hdN9KqjHMlD9/hDWlqGABrXeShN76sNfs9sDDT/6SzZ19/Rl+/ylFleKxborExrS1Cmkma0ZkwYjNz6xiW0hENDW0fAIX+iHwlxIC/PVOuys5CWkPu0AAW3fa7rSWmR7eQ4rzY73fSNvI5rcdLwmxTJYyDpjXqqj3FtrWgZazkfy5HgHrOLZlVP5N8PRqT3ssyEMrKm+wQZ+vhd934Povu0xmtjZQfr2NJFLI4tTqwU18iHs2S0VdsRoHuWpCs7JvzzhDzuKJj9984sfvQg9ne6c2ow2s1JRnFKXXcALMI1A9AlLcqb0zP1zDqMTDZewoRB0VsCTR8kwpR1X1M45qdDxcOgoR3I3rAL4z5g7MAjd1JHNmMczjFkNTZS6I8Dq7QBRB2rBMbYdhwlEok2jZi0qYIkSJlZJeGeG32khzR8yRkilpwntlH+YK82XBi8BwCHOJYTcfxh+uipQJ83DkU0m4TyQZ1sb+AP5Ir1PM72whDTjwgSF74jM+7+/qOp4nMzs8ej6TZL1eb4YFR7BtJvQmEbguvD6jI7lJc+FyXejryvay4zbOatGwuN32mLuIQ4hmG/Wwb5VE23Z0JFGYh8vguOeigpTYIdO1QLKxHxwc0466UyyYwtWCH3wkIb33IWcYkr4WA8o6/kZFSFrIRdk3Q8scA0cjyWi+olJ4+uq/5+WbX1L7jlRh6RGw5nRFGvjLRuWGTOHgmd8MXLqDpgkpzt4qE+WcR5FuQKFND6Trj+Gys358JtmGHHb1ukBOzI8XZLmQykwbCRlAv6+oh6mLiIMKvTt1FBF7M3KeaLaxyT107+qn29jlOmF9J/Uc52YHsFMqKtlJJYxkftv1z3C6UvA8+JAtNiXv5wIrGS5LQis8fvFE/Vix2/1VJ7TMaJ5iw+s7UmJ69zhM0oB8y5AReLfB9MxoPnR0Gd+iJ9tbxTUW0jm45dFyfZcyJoXb2klzoQx2W55LuJUQLdOSwgXqYF3qqNwWwoVFPWDHrq/Za3Pjqy//gN029pdfcs0d7YejSyJNyv7xp+wJ0tNTTG4P+0vbQxfatjvdKlMu5DxRBqCa+gH7GK2OPXdKNmT+gjz/OQDz/Cfk+QvEP7Hf/wpvH8hTYZ4v7IMC0HqnSKHVTr+veG9s9YaP4CovC10ydd8wg/npR+g1wVhA1ipmEpauknHX4dYxJn6TYh6OFdIN0QYeFd24RxOa3vg7/5u5hkabDc07qbxWN8XuzFO07cx25inRmvL4Lg6TbVWs7rhrOKKMgYHYnkcV6KxKAzmRpoTt0WqHkBX0hzk81NdGcyhDXwVQlpm99Vcxe86fBa0OZ/IQuutEdkePHlxeePqD/8j18iXt7/532vo1mu8cWmMl08mkPCEu9Loz5Qtt6KdxpbcZ3a6UouS5YZqwHvdAdMJNwnry/oL0DbHb2X1o4jQy1ZTl+iUsoQ00t1MrWCrDplNDBuSOuJ7VI+sOvaPSqXuAurWUUz8dFnmK8Dqs9XYVqugbBdibauv35vrXSfGac/6dYgm3gpKo3mkGy/KIjtKzdkWKodboWwxTdIRt7VyHymcuF2zvfPvLr/nqx1+gzdnuK+XQ8rmPlrpF21QEb/20TrWkmCr3lxsgYXFd6xnYHhWb0KhG0JXzRD4g+i60ZjEdrZEMvw2GRAbb9Rg8bY38pgJ7BFSthed5kWm811c5Tc4hExCNn9P9DYdhFFPEPWYnRIerkZ8FRe+NaiuXaSY1i4Bg318pHzk6W5F0dehtGCO8AtZFFEMwj6BGmVEfxY56obeJtmfqqlhVkhfSGHY174j42dH5XV7BL49JfbO/73n6bvcg5AC9OQ2nayQ4o3jJNM3MGYpWtrrR6h4DUqPClY/7X9swswlpgVHDTAAwUfq+xXPfFXyQA/So0jb6vpNU0dTRRem1oyNemKaJ7VYRd+ac2eoe8uJRoBJR1vtKtz4G8jrSnTIWRREha8HSzJoXvvrj/8BeE8uoLj7//L9SN/hYhfT4SPJn2v0jNpKQMn8VWv+9s+nK5bLQ3MmHnEeiQqG5kObEPDv28Vfko1pZn4O48fRIevoTWr7R8teoraQhRdlTpw/9tCdFp5CV9dF9qN9+wHM40+Wk8ZwQrGSIYL3d7pRpwcXDMncpQdMY96j3CnWLNdIrzY064g2dEinP/6CG9fs1HvvD9cP1w/XD9cP1w/XD9cP1w/XD9Z3rH11hfbXPCz6gmYSzyfBXPhANU1K8bWQV5pRJyxQZx1HgmQppnkGN2ldEUkyUj8qd29CViQ3uqkV7WtKrUtsteH0C08MlBPatnTqgw3rt4fGJ+xZaxIfrhekaVSLXYKGaO7VWlmkmq568QG0xxd/6yFYZ2fkYaRNJ1HXj259/TUG4JGGmcGujAjRfSQXUnnESWZ6QUmKYYNxDc0Mkk0j4VvFLYrk+AdA+fmC2G3Sha8J8wpsiw9N6LorXG1a/ZbGN+vINcnlicqdchvQiLfjWWfdnbrc7s17CxfI57tFkHZ2XELTfXkiaKOVysuG07fRuJDcEo7do8rcxzpqmJfQmArXu1PZCzoeyF3K5jHTo96VhVV5hTn//9et1gIFsy8ZyEabi2NBT3dYXdmk8PiQagSlReZ0+v1xnvGf2bcOBaSmohqD8cPzwHiiblJRUCuLG47tH7p+i5e4Cl8vMvm3UulFKwd5MpOZpwrTFI5L0xB/VN90BmcLlSpOi5kgPoka8vvLyzU/x1liyBXWAThnt9JYmPBWm+cL+csfNqGXCp6ig2ibI9AeUhz/G8sbevkVKtK3i55fQeK1GMqX+6hdo7tgeFIH9vpHTI9f37/ByRS+FNMPszv3QpVVhuozBkh7e72Jydjgg9h68Ihq6Q9eCMCQBzCA5vt8dTUJZphNL13bD3iyNX0NIfUc68Lu//n4N66HLPFybvvsVn70u9mYam9ATeqyNZsb9rocsmLR3ymIsKNKEvu/oIqTW6MNBMKtz0czLh49seYqh09rR0RnqbuG0xqtecWstnK3GleeZl/XOZbmChaXlMbSYNI25g6AL3Ict5KFBTafeNdBSDBeuQ+daUqb3Tt13pmnm4Nke2tW3lVYRjXui8tr6t87WonLqdDx6Ka/vvWR6rQhOtfj9SRXrjcOfVsxRiX1Tu8NeabcbeZSpk8T5Fg5fccaJ28lRxi2GwNI03oGiMuM91rbVmdoLdQ9cGz6RtJxMzpBk28mF/V1e4XgoYJwV0Ljnxz+DSMg5/KAeeEYotF5YpYILj+oxAwBM5cpSFgrGfv8YQ52euOTYj9Q6khy7ZNqkoIFYyiRsoMTYdqYaEje34L0y57PrpLd1vDmFktBpDhnh6PjkeWbPa5RlVcImdsrk6ZAMVLxvwWfvOyJGfzPH76oEW8UxET69VL7647882fMpJ/72P/81i1QeHwqtZtYd+phryE/v2btxrztpyqTayP11aKz1kPdZzmgOspKvCzr25HqvNO9Y/Zq5X6gvd+zDhu0TMgaKN9swEW4fPjE9Og/TAi6nTlbWICC4Qk8a6C7VU8MqOE1eyO5clye22iizcjvkQA8aMRAhM+i2091OeZ6YBC2jyG/ddv8JkoDXaS9GEJdLJuceUPQx7NO2irGTcmejYt2ZrxfafSwekZh+Zo83aePwPaDhasiAonfv4D1sULsFcBroLfRBVqOtkkoO8fv4BNdtw9woJfPpJSYKL9cFxoG3tj3sLVXIOXN9iOECHRvjPC8hpN+CtScDhWH91SIwG2wfP6IJ2px4kff0d/8egOknf8Z0MfYP/wmtP0OBkgp+MEpVYpBLCpIa26cbqyWyjna93mG/I2lCl0f0+shajWLBuqzPL1irZL/T969p60f0dmdKc1irAVhCp4XpXcH2ij4slCWzDu/f274z58ylpLBNW1+QF857INViYGWrY2LZYrhltOdyWRApJI1pwH1/xqWfJAbVhLDjln8v574P/WwEIm+ik6HvPP/znVawjP8K0L9jLfRoQEzNa2N7/pbWnsnLRNbMZgOKT8gyZp2iCS2Ql4xboW+HuHyhktjqPVqd7iHInyMRmDXR1hUVp/seU9mSgyMISMrkpIHNSQVrjZwT/QhICQyXeQyAqaaQbIxWS7Ib60//V/imkCQ+Yx7+EBki9C2Fpq6IhpawZF4Erk+RTNX7jZQeaPMfgGzQVrJ+Q28R1Pe+kHikmTHlgrc77fnONAJq1o7nGvy/XvGbk3ohzxPXkVBSloG6qaQelA5czjajewyk4WPwIS94viDHYIpPQAZxXDvuO6YZG/fQCImBE3p0vhNovQasv5+I9ZxA/peqFOStflCIDPKgClgMhgwUWF2f2f3Gkle03uj7DZrA7YX7pyHzKYnSO+wVu29gFmYNZ6zloZsTgl8tAXD38bmlkskpo+xMubDtg6N7fK7H14nSfPAaTxvSEYwb7HuDrKScT/3pccXAlb8ORcGZzLXWTtlYa50yKBrbCGzmktn3SpZYFyknevUzmFQUyRnvFcnD393C0vcceiTWp3kLpmqrpMQ51Y5C7RVPKezME5gEoxIiJoobGloELRnVib7F2t23wN3RM8pE0gnV8iqXUR/zA7+ftRs6ZHl9lt688vp8vUoo4n5J8G6lULthnmgjAcgpjBXcBKVEG97rKX3r9xeu765omkiX2DfEBasdRrs7D6mJ9AqDuNJo7EO/yd5QkyA5uNBbwxzK2C/KMpGngmpoqzUJiJEGg1SNoL30Tk8Hcgz6QZvRkDr2fQvL1P0Tbf1lYPeAzMpDqcyyk7tR9xemIlwHAzVdL/gWFKEiArUhrZ/3sNVKrZVmcX7P0xRFgwMpKRPWbjx//AVG43bbsH1jyoINRrJteg46TtMSBgq1xVAbUPJEypk0TzFEv0whjcgHR9W5PsxMecZ6FBJ6308pmBYlLaPI1cOkIaRrI2DNGdA4t37L+vrtxgGMe+KckfbY7jlgu4iTxElDD2J7p7UdaeGSVLcAf+fhWd2s0wUkJdQn2raSiawUQL2PQYoemQJRdQpN2/jjs4TGCAczfK9YrWwvI3DYdpZ5GpP4CZkyWhJtbN4pJfoIRK4PD5SpUOE0FlASasrmBU1CslHtPdFdIXhOQGt3Wip0T1wf/yg+3Ke/YL4468dvKfIhBPDLDCUCbvYWej0XUi64Zu73lTwGlh4iYgrQNhnhCRWhlDGB3zpdAkmhfsXrxn57QVLlGDxsTdD5Sp8Xlh9/QXm4olNievcegPvthfu2IttGnhesbVhbgo9IDFbiinXQFgmEWCA9ANreKFmDq+aJ3u5Y27HD9UbAJfSgv7dC1T/rUvAEXkKnpuV0UJtL51Im2Jz90wvPLx/I1yc4POwFPOc46JyYKJaBHRkuZ5gwlwXZHN9XxKJKem4Mwx1unhem6RbjlZ7IA4szXRdMnNs99n0thYScA4OqirqcgYLhNDfK8M3uRbC0kdodlUy3xPXynjLHs7Enozw+4jqhs4M1pO1HrodR0e2X2HMiT0aSXyB9w+QnALT0Y1xn2v4LZlV0mtmeX7DB6/O9k20n6R379A354YI1pe8zSV7Rdt53vFZMoqLhtb/6TA+Inw8/9WAfGm4Hh9UIrFoKTZqOKscwHjGz0HQSA5Wofq9YFhGoEc/avyRo9YQcKC9j6C+DCYlAnjbmcrjrfaKuv+Rmz2S7o60hbULvN7zHZ7cSe8AEbC8v7NvO0/v3J34nhmT7uWf3UQM+ZgNSikHBUgq40fbKdl/PgUM8UIYRZ/sZBB5B5oENMjPENYLTNxQATUqrDVU5v8f9rSnNUWkdmrvakBTe8udN8jj0972+Ug/G4m/HIauhXQ1NZBtDNePgdUE0sIt7H8/OVM5KbfNGNZjShCSJf584XcWQoO9IUXQe2EXSGbT3GugnBpYrp3xW1SFSEtfvL9ZqoBb4rDfwxqwFNHBJx3ZZ9zDl6Z1e7yyLkJKyjWe91RvbzSglMH9t6/S9496R8bl361F4sTpILrE/HmYPh7VNb7F2VBTrle0A70NUcWloylzKTFcPxBUMMkBi31Y0CSY6SAhH0J1ou5HSxNNDpvPCNz//P05MZtmeKb6FM2HvpOTMOZFGRxUNEopOMegrxCDZ8SmbJEgxgF7XLQgMg3gR3y+krJh0ar1HEJl6uLml42eM5wvhfrtRzaO7O9b18vgYXb55wuYM15lLeTgLXCkp5h2vRqv7ia87Eqe67pTZ0BLvX0XO4eD/j713bZIkS87zHj+3iMyq6p7ZIQmBIPVV+qj//zMkM11oMhMpUgKIXcxMd1dlRpyLuz74icjqxWJ2VwB3FrA5a4MZdHZXZ0ZGnOP++nsBkDD5x7/HEPv3J13NEc1R9brxrtsT99Z8LLqEUxGn2CR+e6dyLRduP3ziw7MXShIjo+3kVFASHb+4aZL/TSsmEcx/L8HRPd7H7Jl/YJnJJJIzbdwo8+Ksy5UeYL9vPt4Jxr3dT5J0736Y5+DdSB8TPYzvantRQnZIPExbDpMjESWSrxeWWNhff+BNX2G8sbz+ZwA+vX5CXyCN/4LYhqUnuCzYsTHezDc7ETQn4uXKcu+E3Q+PKObee30Q9zcMH8GPOfpqPbKs3zBGQUIiJsX2v6NtjVAnWlGNt9ed8N23xPKRGgOoEGd0arwGLmVFzDzAYFkY5h6eANGE3sZ8uI3A8Ki5+Xo4LChCYbSBaiTKgk7PRLPkv+efV7WKb5oR08DoAYvhNG9P0ViykCUTv3lm/+EH2O+UZ28kYk6Y9nlgzxH2lO0eEXU2/BhPS0LiigVB9/3sVFUVmyk6T09XCIXXe/ckEXzcZUFoY2Az3nLU5s+K/1UE9VGoqe/8hpGKfy9PH57ZvvwN1+DxkGFZ6be/pR9+fN98S7xc0REhQds6weTcmHLJsP8Ir3dGNiQbaf0LyvV/9Gu0/Dti7IQN7O0HSl58XDVnz1GEvleSROqoWFtIlysj1RORWEMipoSOOmlBBaRjh4E7AbOEinfk1t1/eBx0lrgi8QlIuGdrhVDfEfqPPQyn5swC6c+ns5Lf+udYf1wZIvau4DXOogfrBDFK3inJD+U0bqTxSuILod+IauhtQ2rDJorZWvPGOQjtfke7iysO5CwtxUeEIsQcab056np8hmk5tX54ATVGa+T4Xuv84C940tmMfZ5iVpn/871/FptB5ekAACAASURBVKVmZ4RmDBEN6gXs/PNhFrgwqQDHVZXAUCXFQJmR3G3bGEPR4IIwCZFcPHERoPWdJFPKF/zajqFkxO2SAILvFmMoYSgpugXW8bqO4dOMYJgNunZiMEI6bJ4GYp0UdBY/j0jx4xr4aeyhGd4S2IP+NPebv6/M/3NZB9L/W/e1eQRuTtGng0cLaeIxqK0iQ2m7kS/xFCinsYJ5mpjedtgV2vCrdIyzMS+odM4KdRAskOeeSMi0bfcGaPMEvWGdNl1LknmyVskrA3XxkKQzmvX1yxe++eYbxvAprZh4UzP3fInC3jrXciVKIOgO445OwdKuSlkWYi5s+04jEorQp02f4mmSh6+smdFrJR9WhcP3sCCOJPcxHGWfojFtXmvknBnWpmDKKXPHuVFYaK2zbZs/r6WQUyZe/D08f/yIxYjmSHq6EK4L5HQ6M+kYPg2j0/bq7k8peIgBPkTpYyAzMfRwjziFsqebxD+iYH2/zlrRvGh1nkrAzBOfjmzfkgvr9RuS3bC90duGitGnGuyailfdzc10r6UwVM9uelaqBImOqh6eezy6SOsd7eZ0Q1wxeB+DOjuel+uVFJS67zA8Dqy93U6j3pSLJ2rkTN0rXadpbXx09EGEIh1BkWD0AMyNbVhhjyt5/YZ6M8a+kW+v7PV/A/BC7qY8fzuwsKLNiP0YM4PFwPA6ndY6ZkrMrvyEeQPHBfrumdPpsxu392kvswt6+4KMhFhh0Se0fc/98xujHmhfxi4XcnYTX0XoEtjn69Y7OSbnXw2h3hvE7czyDSES1D1oTadfWgjEmUAiab4XdU5ZmGrug7PqyPDvT674b7XOeEuz33oEjiPr4R389Z8b0w1BCOK2OmVylXKMzs+O0fnOa0GGnVnkMUea7Wh3i7MwDndnPTcnM0WHEoiuKtVOTpHrdBqw20ZrjTY6pWQUT055eXZusmVv0roqvTXWy4X7tO85fv7QMaksvoExjNcfPvkHfGtck39fmyyEfCHaZ8KRWT6tunS4+0eQRNDqdkdAuTyj9QeK3hiaMBbaUMKcDkT7jN4+k9snxvYb8vLMJS/wPHmOW+Pzpy/IVglPmXZ7YwmOaum0reu3V0q5EnpzdM5mPvih5pYIRZxrho90Y99OREEYThWQAtIccZDiKUH4vf2IevWCwMybSPDaznPkfz8H+r/FGup7QpgTFjj2c50NoI+MDwuhY4mEed+DqmsNZPogmgxHLxSMTowbl9B4io7MP8edxSorw2NDNRBtELWfdBPtg5LdAq+3G5ecsH178DyjNzk6Pas9gnM2Tsx7USE139Oj00A5PRxsYH0QxIgDR1yEs7CoeyWJEBW0exFYe2PMJjoneXB4Z2OoY5zWPBxZ78F88mPiji1zj8oWGd2vbgzFvfnDw3IqpUQy6E3PUbZObv/R0IUQnXhRG2JCXhaaGG3Gu8YlQd9cs2FlIsSDI06sd0f/g92Jc+ceWtAjBS5eQAUjuTd23P3sPcAU4hFG9Cdfp9fqT1jEee3woFAYdt7XZkLryn0bLEccsCTnPVpALdL6wKQQjmllBoanT9E9Mcy6MbRiBwCV3Z2iTTejlJI3BkcTMZ+lMBHGGKJbNk3NiupMWJum9yZe7B4pTutSqHXzezng+9W01AO3fJIUkSS+59vwZmSelT0XyuUDT7/6S5Y++PTlB+71M5qn5saEkjO3bUN6R5bFudnH1EsgZadTGBBSpAaBGb7Qa0TyynJ5Yt93UKPMBM+DhhNi9Mlta4xh07koIrMgfdvurM8f3LUlRmJZSJflfLbFBJkNqSdmKmldydOVqAW8BhmDPOOSfbglj3tGIr/Pt/0P57CeUK0f+DpwLz8RTzWZfI+yrmB3bttGEUOCsT5fTo7O9vaZ1ANtDCQFlqerV9pHXnROnBnfh0/fyYzhvDiG3zgSQXMkP11PLzyWhZiMJQf09Y51o8TErgdEL+i8qdL0ytv23cfsOJ9itM4gEAVSUGKCY94uo6L1jdY34vO3fLz+a7Yf/1/CjKd0K5XASCtjSVwtU398I3+cubymjCykVJA6/JpKOn0klQRRMBuMuhMJaIiUuSna3iB/wUal7oZVoewb1H7GEFrBvWrNePv0mSUvEPJj1DJTrhLh5HuNvdPwoqGU4lSGQwAnSsj59APl4FppQ0RZlsJQg3AUvBmRfB64/zyWf9ZJqibl6NZqs9jsWwWqx/PtlWVZGFs7vWljdirJ0AbDhRtigRAnHxsQ65ji45UUMcv0fT8fU5k+kLVWrs9PbLvzgg9Ltq23aWMolHVhWVfqvj8SQ/qY6UFu/6RtENpA5oHZ64+0NVHTf0f6y/+J5dtfMd7+A7L9R8BHTTFkJCbUGiUUTG/cX72wKXmSYYYieSVcvmMbkNuv/eff/oYwudXj/oWYKoGEjce4v7x4xFZ5Wbnd37jVytP1QSvq2xvxNuk5w7DaHImee0iXRskLQiIlmaKH+4lCh9jAKkZzZJaASCcetnjiCPifZR4r8DWSKr/j1/7Q9a7Jfzd+Y4akJDEmU4QsgcUStqsb2jdBTIk50ufURoL4QWszN12bc92PwIcpIgwpoep2gwE5L7Mf/OJWhd2LvvfioDE6rXeGZro6XzTE9Egg3KFNhIYkHgM79ES6NB90pIlEqYMWhyhrTH/V98b2ozf08Dg+rtlhDC6TYjffY5yHerDgPt2q/oy9G7+KCHvbUTOSuU9oeb6gs3iwZXKl1b+UMGkOx5+PORBSnl6mOpHTwSMxaDjtwobTJ9TOQ//4bn8udNXR9D9kvUdYvXW0eQ1769w25brO5z8lhDSbVfGCPCSYsaZpSWjdYXrWqjW0dWIKp2ZFYvB7Pkdqqx5ZrePkXqeUycXBB08yGB5KZcfUy0h5hZA9yn1dyHllzKnRdV257xspJzh8Y2NEZkW5t7t7u1/c+13CQoovp0h8KdA18emt8nR9Zlm7C9LnxRx7JYpjzkGEYUYzPTn9dTRi8SS7shTyZeF2m80RkD8+e6po9Geq3TYSQtv7yYdQqoODh7rDnF523vs5U9YFC4G6V8rTlXHb6fPZEjNiM/ruIUxqXt/JesQqB4/fHQNPHfbn4PQLDmFSfn5aLPhHVBPvKmELEykK6Aj0JvSzqwq0PpyTZ41lyTy9PNGm4nO/fWLcu9+mO6QYkJQfI00FlUZTJdr08euDHOJ5i2vrjN4AI4ZIXCLrN1fS5Hy4SbtCb5gNFolk86Qn8LFsThlCoORCP1qldxurnWhhIEWIWRhTLQ7Or+39RosLWODl279i/+yJR0MHtgn99kxeViKZ/Yc3QvAueQRHWJMk8sjsav7AlcNrr9GtO09r26ElhixoduFLXFcsv7Ht/zdsN9gUtYKkSJ4bY7g80XJ28VmIJHVvviOdgyBYc/85RqfrIKWMToPrbW8eTSsea5uyUBYfeQOE0ZCxgURMO8pw77wjulUO/9aft2Cdjx/wu4cN8luvH9KAQ0ghGHmS662pOyJYI3SFVikhnyrjHAoSM7oPIkaQgeAE83MkiDgHe7priEUv5qbf3WiV/nYjG6fRdcnp9AyMOdEP/vXzk3PcYjifHx+XFqIYSQ22Shz+nABYb7xqQyXx7fIdefk3jLf/+jAeLxldC2jwDVcCpELb/N63euc6P4cZiC2ksJBmMQgDB1tfGG2jbTeiReoRBLRekZcXll99S1wzLy8v3N9e2WrjUg60sHkcc4g+fZFA6JycLcHFgHEJxLSQtNH6DX1XgIroTFGZAhTjoF+784ccCUb+Z8YU+fzLWXJOn3zNCzCbsRBAaAQ7REsDCe6TW3IGMU9bA9osgFIQmjlKGS8FnfzPPu/dt7dXntYntI45DgyElCjT4aLqwIZTAXrX+Yw9PHKPfVfHIC0LqSyePz4R1BorI0wPyJwZs9E+hFdfcV1nsd5aO1HoUgr3+51SCm2GDIw5qQAXez1cFuY1FDkV+CmJI7tT46Dd6LvfYwdFPQahzhSulDJyWeGy0ObrKRcy7ifbt524Fv/5pwDHI8H1K3qacSQGIQOzhlmBOSUQHgWvvWtS/tTLnSuO/81fe//vd8jrGTU9w259L0moDlqDOi9YCotzR0NEQ/fvIKYHBaPcMXWwgJDcNSQphEecNeIIooeLOCUphnSkGjOqk5GsD+eeTiTwiHoeXR24mMBSzGU2Z/7zdxvknH1Sa94MhxhPb1xsn04mQlpWRhNyfiLk+QbCQEekbju//s0blzXydF3Pn699oGKk6OI6d9UQaptAiroGYt+qF80hEJaCzaj3fLm6VqZ3dxFICq2TYj6pJDpdB0KMyKz1Uwzn1LmkRN92TwlNgfbJo7qPZy7gKYyiw/VCTNeQ+RWEkMlBPBCKODVQ4lMZfDJAyI9N+h9Y/5J26F/WL+uX9cv6Zf2yflm/rF/Wv8D1RyOsWDirYFOhN3ePyMc4rzunMefCEo2UjY6iR+7tkrA+KHFGu9bmXJ2TnFvRcOSjR9q+e3MZ4tmuuTnLoI/OMBdyhGTIerwvxQakNTs6o17pH3Fxe61cXlaUwNDBfbt7Utb0A2ytI+aBhFmCdyK2cp8k6G///b+j9UA0RT/9V0Yt1Jix54lC6ytj/4LanVI+EEMhNmP/4l1J/PACKbLvlYJMUn0iTX7ooBKs0/ULSSLUGxYKyzd/4a9fvqWFv6O+fs+ijbBv7LFjKbF8OLiOC8tyoZlngLfxPZbTw9MwCDlObyA6Ojq311eWdaLABmo7+VIY1t1f05QxobKcp21Nm0khDMpaSMlRYJEEpJ+PwyoPdPVEHCZfTt7BqvJuhCZmBIShYExFs+gpKJygC2ZGjpn2emNdL18h86Q4xUMGVnFLDDnvb2L2l1xS7YlWM1ccnJy+hMS6RO6tozITh9qMLSXRq8dBphhpY6AinjsO2DD3YB1OZDPJWM6Uxb8Xu9/43P+O0D9z/9v/Ffv0f5Lz3yAybedyRi4LujtvayDIslDa5H9uN7doibj/7OtvkPVK2w8Bw7NPEgKkuDPu38M+sDlWvm+Ncr0QItThCu+wPLGY0qbNTCqeQFTKBVX/fkwVjhS1IIjE6fma0CEIGZVHhGiUA0kVsIyn851DXyZG7J7S81cOMDJMlO2fXUjbby+Rh/aAiTqHQZTh3OzoKXqAC0uBWDLRIuSZ0x4C7XhYYiAuibwsLGtES+Tl+szn37jd3vd/82uKRGTA8nSlmZKinNxgFaUPo1dH0A/7W3nHY1uW5RwP51ImReyExp3CVQohFz6/fnGU9LSq6j5qNINpDRbmqBEe9lZjjAeH0ox2UAoOdHLuCYLHsB6oTjgETwbajbYPah0ME8r0swxi7H2QcmTNhS5CiInXm/sslyhccmSrbv/4/NE/lxw+qhJAcLswCW5tJXAYB4c4QNxJx4i02t0T/V1088+3ZFpL2vtfeggap82YmPLgtE5RnmRH+CQxRuN2n1MtWcAKwo5ReV4uVOEct4cgxBWC+P3bRakhEqZXNbiJi6lBh0jyuHZzf2rwJNaxVe63N9bnJygJDeG0fY8pE0NiqLJeV9cuxgCL73mtNmqt7j406V6eTOjvsVyuPsnT4sKnvkEy0pxGWlxJEohrQzbIpbgV4rwnqgWCBNKcVMgQ/7PHuYMSNAEVEFrvxJhOfqr1jhHd39cE5msq/d3YMSBRzuepaSNvN57mucLbF0KMDFPSUrjtO5fLhaUcQvaOJZ8GDhOCFLSBTDvHKIaKEcPi33UAS4bN+7aNQpZnTB6ezb9r/WTBaiaHgwwmx7hFwQpBI0aiWcR8SOJ/sRglrazRuORnknb2+2fatKEIGlnSE8GUkBRbEj2DhcPvK3te7cDzgffu9g8zDMB/U3S7qVZ98zvh9nlgxej59hZJ5c3FIym6nyvOTUyrc2XH2LGxu5XG5Kjm4FnTx6jFZDjEPW+g2yj86i//B2LMPH/zf/Gf/sP/gejO5Trh83jhhx8+U1MnfXzByoXt9QuhHab9hrYOqrTeCLmgBGSKC3LJ5NFpn1eQxlYrmhoMPxiyCbfPn9FbwMaFDuw60G68TXFNeX7mmsrkSYHe7sSZMw/QY0CTC9tUFdTQeKfP/OGn6wu1DXIObAasglySF1q4PVmo7ndrmJvYD3MeK8wNdMWs/LOB8d0S0s2dZUzqi7qoEGBNmcv1I6F9wmpFxW1qnqbzAsMt39Y8OWjBDziZNjjgYyfm/q2joR2wgE4F99YHTZXnpyuh7dAa1hr1zUfyIWUXO4bAvu/+PYRDSOZ+f24bBUMUcqLbQs1HrPFCv3+mvH5Pvd/QVXj514pOyzSaEZp7nw7xiMXWHh7FSqKZEqRgbWDjDfodmz6R6GewFdFC0ZV2r9xfN3RSQ8LLCzn7aKuH6GOt7lx4dFqmbZ1x2wj2ULOOpiePLyxXj2Kd6mKJCaFwCv4kTe70tAOyABoZs2jW8X5U7gXq+8Lmz2Edpvfybrwrkxv2U3zW4zME7+rPAymIIdYR3SnpTgk31tQo05KtBCFKRC4LKRZs+IjcWoP73JfWhbIupBx5SlfkaSURuE4Vv/WB3htWO6UUH01mxdrhAOMjfBtKiJG9NfJS2A8eXAhnQ20hEKe48FAiI0y/Tv+9InL+fmAGxui0veIUpeX8OFRlqhGNR4F7jjUlntZZKRVUjlHpw88zBPd/3erG/bZhFthbh5s/n9fLdVIvIhoi23BHmpdvf+VvclpcpZzZbH84RJ+8JHdAYFIlXJCkhFkQL5eA9MB2G5i6dZDZu6bc/P/8PLSAf4rnR+h65cvbtFJrRpQrZoEoK2YX9u1GmPvl83LlmhPW36BXr+tTIaSVPsEVCxntG29fPnMthRSE0doJYFntbG83t2UbLgg0dTsqgCDBC0D89TD1Nr1OKskUaulQ9xnOmW52xpKu63rypw/aS5/jeXBaRM6RPMW7QQLjnTtGGOm8T1NKfo+P884hiLDvOyJuh1drxYadkcm32zb1LhUZg3go9OUhFowc95qcIsV9285426UspBi57zsfvvnIYobpjX7s++LCqnK9ul9rjDRV5xfjz6vGhEXzwji4T/YR9hLDE+gTQZ9+MmvopwvWd/98DTd494kFJGY34Z3cRrVA7zPnIUVHfCikdHjdDdr9znZ/4/JyJcZMvK6PA2Q8TH/jwA1/e8Wlj1MBb0LT7oKXbs4pKfkkEDdzzmuIkeWy0HQnFHlnYO2CmKUUah2sJdNqw6Kcn64H55pqcBsXbOdg0fb9R9r912jMRL3zXDqFncv8CG17Iwfj8rxQXp7RvNBvr276C8gYyMyY32tntEGzdoSlkGNkCUcRk0AWemt8+cFts8r2I69fvpBM3V9yiYzqGdTr6srClAp129lnAVRycQ7MYQeSC/myulcgERG4LJEyi2bTQQiKasWkE8pKKImSphcsgg1X2kYRSJEQ8yOMzAIiGX5Px/Tfap0uAfCuEPHuyw+t2Yy8jzyavD9BZqEGJURXzAN5WRnjC61VCkp5WtE+uL96kxD2QNfB+vI8u3DnZocQz3vPd0X/73CIB0OAeSjnZw+xkMvK0oXxxbCmJwd1MFXYE42Kptxut1OY0utAiaRgLAnoO/Qde50exetf8OHbf0X98b8Q2w3RyPhyQV6mKGRT9HXDpKA5EDQT++4cI3DXC0kEGqN9xjmr5fRQNb1DeGW/dWQ3ZG9YH6elW0iBbdtI9w15WQghYXiBwYmAgu6Nwe68MwzCOEckMSU/1M158jEFYipnklyc/GkvWt3H1jQxxjGBcW9LNXzTFM5C5f3983MuTw36x70HbyXnpmg7QSuZjZdSuZSNJTZymOp183ts6HyWl0xZCrdPX7j8628BuC4Lqp3dBumpkL95gqrEzfeMclt5fbsjo/P5049cnz9y+/TltK5JlwuxZMRwtbfZ5JNOHu1E40KMbvlnxtCHKWeIkX3fCA1CyQ//1eP1d8InV3r7pO4yPYzhEF5xCrUCcu4BcSn06al5JDSZcd7bmO+xqsZ239FJBpaUqLPi1LYRo5CXFVsWehTyunD95hv/+y4X7vtOpBH2L1h4mKfPNz/rvllYC6gMJExBceiIeFjP6IpEOYElf49+Yv/c9+///yUMMm3yR/f7mGj3BTHldheWpXBZ/HqKKMF2CgHrr1g/wJLANgMhSoikuFLvg/3TD3z78YUkgXqfvPzWPVEseL2ie59OEcee5rzqrkrvjSVF6rY9BM5DsaGkEOblV1KIjHA0j/MMODnzwW3P0uN71zHOPWiMTkrpnAgcXGwzY1kWaq2o6mNi0B1NXq4rxqC3gY3OMhFgF2f5e+tjYOLBBhoOQbv3WNr9GQo6BZFq7LMRY2+EVFiA8Hon58y93hiT43p5vmJrwnoj2OLXAM5mz1pFQga8rnE3gEjA64kkH7D+gtgTU07xO9cfQQn4bZzseDAAEw47AlEhBBh1521rSO/Y2LnMai4kodrG6Bv1pu5tmYojKEDfu9OeJ6JqtUPvBBSRY4zgkXgSI9q7dy59IOFQYiu1b04DCIqKi4LSTHUIq9ta9FZpu8df9tGcuA0McYsbCe6jV++dFBdeno4Iwjuff/O/gCl5v1GkkdDzBiYYZc2kEggpsGtHUjythwQvViJu/uSdUaDVI15zuOJVxG0lohOgh/oD2EdydHp09Eis7cLhWwhwf7vRjNnVBMr1gsQEU23OZUGeL25QPJFWzKMWAfrWkCikFKgKvXX63omHm4OIF6W4T+mBvJ7bpAnu9vDz2Vr9rv8+NvR/WEwrODKnrmrswuSuYxdxn0ZVUoAP33xg3O/sb458RxNGV0ZOhHVBFCwMeq3n06O1u5hKAto6vTXcScqv3/LxQkwQMcY2sM+DIuGMERw2SEvGQvBNre6zwH6YoiPJY4sLjN2N4pWJWIw3kgSeP/5bts8/unDkdqW8TCpJNfqnG1xhRDz2UQKHNEfK1V0NRNDaoRojPDGW7/z9P8F+/0/o/j1hE59yXFfC1W27WskIPiWIyMN/tu702fSOPkhlYX+70VPHxLBolMt8fnQg2hDdsRFQbYRkhEnZ8Y3RC1X/LiOmkdEP1e/hG33MpO2r++TnRlrPpKt/pOLbgmJ2iCIaUTZWeeMad17yjSV24pycuRWbI5tDjJQjYV0IOliY9jrDx88pL+SXK1YS0NE5NqzoqUzePm+gX/hye+Xy4QMAH5bFhbRzzH4g7QfCGdP0LI3REe8YyTmeYro406VUjVrrV6N9eB8MYAzcd3KfgRow7YzGYOhwY/OhJ+p7rDEGJeUZcLCeIMnxGjP6dW87IQVSzvN9+ilbloIswnd/+ReUl2e2scOSsad5DZeF1K6gG3yp7sggD6N/OTgAxwjdfZJOezIJAwluxabqTYaqwkTz3k2if4Z1wPpfr/dxwfD3397p6jB/j4qelsFiglkimFt81WH0e6I2b4DHvqNF+WZJxJHQWmGvhEWQGfTTdVCWxFPM/PD6d7y2xseXF9rrDM1IcV5H83Sy4dOx497a20ZK2T2IkzdC+7bxtM4YdB3uljQGMTvSKhJPKkzdqxeCMcx70pHg8/VZrKbgNLQU4ldiwpiyUxjEUffW2leTAR3ufOFBMU4RsKFnwe6F8MPKr6uRY3Q62jE+1CNu2IW+2rsLpM6ivBFCJCGE6k4MY7+T530t5sQq1QY2PA3OAmbH1GvWc+bfrXsTL8jcW2Q8oe1Ct4XJSvyd64/wYT14Rj6K8Q113mBDsTnO0y6E4go8HYr1gQxj349RcyIvhXRw7NrA7hVmjnhq6jnLMlXtKdH6fprmggMtEhJhzXR2em3eJR8QZRBa3aitYdU7eXtQYFEdSBB6rdS6k1Pym23yMbzWCjNoxpOCSl4eysS+gW0M62wKZVlZnz5ynx3b3nYsDva0MqY9F3Lwex6jKp3jYVUlpnSq/ozpNJAClMTYAzHFM5Gl9p1lTWhTjIFIooins9xvt/kzAmldScXNf8v1iuQC01M0Pl2QSyGuKzEFRh+EPpBZ2PTaiMEL7mt+YiQfU9js6iR6paxmHt5w9mrh/Pvdh+5ndgl4t1G6TZqdI8PfXQwE/8dAh9Ca0d/xs4ME5/AlQScvJ80mIKCOdLbuUXPSUfOuPB0JYfth+CzT3KV5HOHsxmM0wiqMYQT10Yq0QZzov7bmnK2ZGlT3ytBxolTBlBUoIQELe7nw7b/999zv/vq6f2J/3dnTinwwxv4Dyp1cvOCMRNp9h1KwEM6x1/H8x3Jx54fdfITa3iAOlpe/8s+3CLX+SNZX2HdqEsrTE0w/vmVZ2M24f/qMbhs5edRsjIGDozpGo7++EfJCq51UMjqUsh6+hjvSAiaOHzZtxBLIyQ+Qkw5w/hMY3XikeH5NCYCvi9SfG536bbT3H/Vz5n2TRVhVWelI/5El7FzX6Nn2QB8CYpTL6vu7mDcs1+WMJo6kOQgwbEb4EoEZ67u+XAkxs1hAP3Q+/ebH09QcvEkf3Zv/GMPk/I2v3vNx7Ye6C4eKnFOb3j1Aw2bT+N4V4O/9+d5Jy/LVwb+uq6NTQ922z6DXyjj2XXNOtaNZbv4vKdLakUm/Y3ujbhuSneqzLAtpKXzzraPQpWT2NZC+/UB4vrDkF3Yd7HOPKMtCGAtaA6G5C4JPXeb5mg5/YEfiRJjUl9l4pAkIaQeKn2kKYyLpgpwTgz/1EvEUo59grPyBP+g92OC75MS7nR6kDenTs9lu7O0TtW+s3JDqYFjaA2E6m9z2jbAWQtvJbTD6jWrhdMRJL08ONomjpc6ZN/qkIB00ExPhsj7zVndKLsRDyzMbH/d7O4IzwkmPO84U09mAmBfwZ0GZ04mi+i98HSN82E6G4GFNfYJ071dvh2+30epOSZFtfr6IN/WIW4GaDaoqJaXHVyUKadpY6XSbgdMhQ6xj1h3NH+4nm2IgHemDYrSxQ8xuTxjMC1OOhjnB4dwSzG3pciFMSsDYMnVLDM2s/MPrj/Bhr9P3GQAAIABJREFUfVDPfYSh7y5aYJ8WKLc4TWclT1THvUA5KvWQkfxEKBFGg+B+ZTK5k7p3jI6kcJKbh4Bqp5xpQIMwnDwM7qMWJtLr7yYwTHysIIm0uOUFc3Ms5TILyIEsC9t2I5f44PbHiXpapO6VmBNhiaf9iQYhhoujEteIxivh5d/wq3/l3cLb7Qt/9+NfEy8Xeh+UcuFmPHKvRaYvredUS4rOvz04MSW7eCcHQizoWL0LnF18uN0xHcQQ2G6Odh3jhoM3M7QTS/EUmBC4152ny4U4R/5DjSVlUsqM3pBhSFP6fhQoipqRcyC/PNFToEk8UYzB5Lg58RNJzlM5usYjTlCnD+nPtXzj/poSgD3oIbwbp3mimluGiEXMEnUk7jpjhcVYy8I1fWQNSts+U/VOmjOMEgQYsCRaxmMfU/GNbG5OqTXCnB5Icp/fcX8YOGsMxGVxWxxJpKWgrZ5JOFESacmEnOh9c6SxV/JhT2JjehYZQzpdEjV95Jt//98DENqv+U//+/+MWOXjh8Lrl0ANg/jsCGiPmb02Lke05RyhHglnshRyyQgDCVda21B2gjrKLFtgvA7iuKCmVIPblzfSbGivaQZZjEpq7snXUmTkdx2lDRo3LkUoeYUMLRpynSO65HZXVneGTYQ05YfIQDJwASmIZhgr456hHzdidNQWCCE5n4qfv1A91ommBA/8gGNSLH4g2mHYM05tAfNIl3OObIzUiOYH+xrvfFzuPMeNqBWi7zMHj6+sV6zfCHF4KpkMRAJpfcfxTJkQndeqDPdcNT0cmWCdtnkGaS18vHyLPQVaOyyZFCHS9ooWb2iDpLPVNTXfwsXAOr0Zy/XCfT47Oibv0JSgQpJBt37SzUJMHggTkk8vxmBZVo7nP6REWAqjN0p6WCOd9w2OLtVa/XxogyKJNsGW7a06vYXI08szacks15W05q/S7tY1E5+eGKlgJZOSo9YAIwgpCTEXinzw9x8Tdn7PwUOskoe1uC1gOv0pTSqkze0L04KXcQ9ec0iu3/g5UNYgYUYBj9/7e39yWTptZx0ynBRE/NPGVLks7nm+yI3YvqfevofxRhq7h6BsGTniqnvn9upWlEmdYvDD3/6aNM/TlJIj3TFMqog3eoddIWZ+9sfIdr9jwOV6pd/9rKzbjphQcnHhWPCR+xHdGmdUrqpSp7BUVYnvyq9aKwKUnCcfdjx0D3M/gEcNcfCvYUbPqlJbJ0QHBWyMU0SeS2av/UyqI0TQwd7aydNlcrMDgk6AJYiR3sUjD9NJfxjOw75ezjCXbo1uQo4LEqHbQOSR4OYapeGxw8XFmwQQO2gXwWOH7Z8qOOB8At4d/pMSIBLZZ6Fzj8b1EiBkohSHokM8DestRKRAojC220nAlRnNikFOyU2nU8SCEZeMddgmOT9gPiJN5t6hzY1+z41nDGQEF7QQnASt7gUGkPJCEKHr7rC4Oa9jnGk/QowJGZFb31nXRFicNAwQeqGkK9I7RTpjRD59fkVkRrlF45ILQQf9vhHJpHdKUB3O8e2je+5uMKzFR578uiABxuQ/XfI3vlGeStGM9cZoAxnTSHhUR57n15NinBnXAcmJcrkQJJ4/Q9XQvdGqj7jEjEzwMS/uIqDT3SGkQFhXInImHpk6uhKi510TIkh4p3b9LW7Vn3h9Xag+/m02PRoPOgvv6iQmaqT+J4yAhXLyswfBY30DIJFA9vCHmbV+//JKSkJ5LpTrgnbxRq0ZUzOBNR9nm3aGelIPWyNN/mVaV+dRmZFCpKzF/TAP3Yn4w5+zd+xLCVi3M7ygG57wEkBGR2zQ798zLl6QynjlWjplbMTeCNZYr1fyTNLq6t1z0JmVPZRaO22m/XQT1pQ8rcQiJgt133n9/j/6NbJAv79RYkCLb7y5LGf8Zd12ttYheDEal+LNWnqgbUES12uizAAPFwh4vjo4F1IkOr/dSYZIzOeh74SKjJCBTK+RXgOix6Hv367HJ6aZpvPns46pwOFrCUzej7nhuc1PGuxBf5yvBwk+EkQJbCzJ98wPF+W7C1yS0Ksg0ZGdvj+Mv4+kH53xwjGvTkmap4SJ+B4lx+91ukmcXLxwSbDMZ2cYugqX/AH5wac+vW6YVnJeGCKEZXWhx/kgTl9WG3NqN9AWsfl8BXFBjKg6unVsePMa2FQzSnDVfNt3j8A+/Cyn+4Ck6BoLEU+sO6gErbvAq04fTRHq28btiyv8t/vN45DXlfL0zNPLE3GNxDWhj17I79Ps3qoW3FUhzjvM0HnNEtlW6n5jwCPGc4I0EszRKeV0DvCLMMgX4aoL1lcHkuRRsKok58X+DEttEBGE9BUIMGdD8/8/JowPEoTIcc/70Es0IAdV5XgCproshp01bjxFP2uf4hvXcGPhjcKOTt/noA0OgKk1+t4IIfGUE9vue98ynVna2yt5XYnr5HwKxJgfNb8dKGeg3jdyWUjdaAdCq+IT2SOxS5XQhXictZPyEVJyQEE9zjfNv2GoImrOr46JmIIXrMfDre+8vG3uy+/SQd1e2bDRMBX3rh16cvbbNhCNxLRAdLBRayWYnQ1ra8PBJoXRlEggSjxR5BiLA4zD/76lXKh9nDRIaQOJgygJdGeEQQj5nFp3lKFG0kSW4kJwYOikysQLEg3rv/iw/rJ+Wb+sX9Yv65f1y/pl/bL+Ga+fRFh1Er8x4UEL91GxiU0eWHZS9GFr1Rr3fUFLBH1DpKJSeVpnpmwUgmU03bFFnFIZwqnQ71kZsoMpabiQJaqPRA57E8HH0KHhZOG3DYnO2QSHo7u6m4DD8c4LKld/3YJAzoQg3D+/MsxFT6dTRIhYTGBCLpfp6Zf9v4FqDSmRsjjhXtV5LLepqIs5s1w+ECJ0MkEhxoU4OyJtRnKZFpgLQLTbaVWh6ur/sl7R0YnpwrDKEREqUf2bUxwBGYOgEQSnWuBd22Ago7GMRNzvWKun4jbnxP3zD6Ti3nCqA0J0RwQcCe8S0QFj96SPGIQUj/jD4khVMiwJQxJwIYTJQJGIWEB0+QNvxX/a9R5h/aNQXvu6h3OR40NQKBj77eYoVNtYV+FIoan9hnVD3gKlFPq9IUNBBzItSrQ6uuopTH5/Dh5iOe19WoT1ScZXLIyT/rIsGRNltIaO7qKRICf6GESQ5D6RgcTLNdHrr/nhb38DQNreSGMjYujo5BLIi+dcA/RdSTk5+jRdE4ZMBB3nSnmnbBNZF099G1NNGgsWByPiqJO6GHC7OSJSDXoIXF+eiZcVWTJcCunpclJ+3EJmYPtAe/VUOvpJVwkXJZbynuHh/KwD1TEXGSAJM6HugzEe+Ou8Q05emDsO/HnQAeARIeqIqf+a4ZNyF+g4LWCyAAAXaokNdGxgg5ICIW88F79mH1blqShLVJoFQnY+pPb5A4b4eF4UMacWmaqL7ubMf4xOb8PR2Hjw4eDId7WRHJFRo4th18L1+UqadJIf//Ov6V8qz+sTIT9RSnGdwTsxjoAn+wzDJFDlIaYKIoi6P64MjyQt6YGO6zAX8qkjqVWVPjrLPBfC5FiGIC5uWVdHqOUd0oX4+NcMC4Ftdy2Ev0Hh+vzMx+++I+TEbgPpg6e0UK6H4E/QKBhKzEJYIhKMGN7vRf5JY07EETD6uS8jHaFMHuWAOCbaeNDJXH+RSkItokMeKDyTRxp+HhzqvQr+nFvZgYA/JrMHkgrHpZevENZgnJ/JRM8YZQEkGin4fQywRuUShWIRq911Hs3F1mHel7VWpwNEt0Ez9cnhfqhpJTAwLjFgwwV5Y+wTjfRPI4fISQIMT9o7ouDjFMeZzRS30RmpMY6xWHA6X5xR6fW+Y8M8cQqfXKQYqftOb81pfHAirHMeRKuVwxJLVdF37jfH9WqtuUMS7/yPp5uP4Paf4GhvQpBJG4gaPXUUQ9uh28lnMmY3Ze9jTtYgLQvrpTCmyFJKQO2GDffMDuK39DH5CwIi2S/faKRphwpO27DQsNDRM3nvd68/jBLwfqefG+nXLwjIHPm1Kz9+NkqJkwda3QNwxo62L18I48Ylr1xKoI47ofUZOAAaEjEltDeiRMyU29srJQbyUfCpb6ZhQL1t1G1zPtYcO07WOSklP+wkPPxG4eRleDygK8Jt2KMYy8kFRijXp6fJ4Qonj+Z4D8emHXMgLuEUODiPzGa82yCdwp/H6+ru9KTogi/DPFaNeWDpcLXeUGrd/EGY47toPmaxydUPMXoc7bvvyQvgzv32ho1O3nb3D5y8nuvLs/ux7buHGQ+lB4jL4Yt2IZfMMBi1+qEV88OqI4pH6gYwCYSwonZFdI6e7QK2wvh5bK2O9bVbAHAMjt8pUx/LnQ/CtK5BDkHh/L3DR8imRm8dulKrcpkP7Xq9QK0uJLztxH367YqeIz+m9UlAwHDe0zXSbtMBojmf2GywbTekGcP0PM+GDoJFWt09ovUYiR7c9+ic4VoHS1rcSm3cGXoUjOojrcszt/uNbg1JxYtSYM4gffPtA5mcpWPzs9FRhIHCktAaSCG/s4TrlCWCDafyiLqf33x20nohrgvr8zP58gRLJr5ciE+Xc3ykqsTW0bETeyDmyJrzaY/UhzcAonOjjnHqNM65KR4L7JZkvQXQR1NgvBul/8R983NyWs1841d7RCfq6M4tH336ObbTBUC0o7oTrPLxZSGXzCW98pJn3nmoRH0jyk7XHYZgFFI5DtWCNA9cEdzurY/hoSvy4KMo5gLCMBt/wlmwoum8d1QMixGrsHzje8LHvbPJZ6gds8EYA+0ugAIPKhijExCSRLr78Jwj+9MSTtWbkhyJ5pGvfo06ISRUjVwWTJXR+6mETjEQhzeJ+75xYXEz9XmexRj9uTZjNNcAfPz4ke+++27+/UbOmedffcvb/Y6JokG5tUpvfkOt19Wz0pNActGqBeM0SzGm37ASosc0G+3kqKoC/Z13tXmxalMMKzSI0xJpiBPleVgDqAj2e+7tP+/l99QhirRJ3XD7Od9HgzSyzOaVhuA0LYuBmDIajbZvyPwZu/m1lmBIVNLTStRImRSAHBKvn77ww/ff8/H5I113pCQsHx6jwrpe2JpHaGjr7NzPekIQ9wyenr2HKD3NszSVlbQUJCbqtE2TwGk71cND+e/uFAco9PUXWet0G5jhGGc9k939QsRFjS2004LzWKrTd1VcgxSTAxKjHbZ2Cbr709b7oKmRLhnJk7/dBgMXwed1heuFUSJv07v+Eq8krtTaGZ9vrP/KI4fl1BlFlOx7dXQQUQQOTkKIioSOWfvJu+OfTMJtB8LKhbp3btX5N4GEoLy++etlWbgu37rYyHaKZay9Tr4pxBgIMXG/f0FwRXbbv+ft9Qe+mdY7JSf61v0GaoMcC0hkHHnsOBoRZzpW7x3MVfQAqSx+AEwUQXTaQhxdn7kYo4fuedCHx+SJ4Djno4TkqVrmBt8Hp8S7pDwPlUm2rvW8EYHTI1BVGbWRSjo9UFsbCIMc3RtudBe+9FNQpcSjAw2eyyuB044DQA7LlzF4+/yFJWUuqZDnhwh2Y1kK29udTV65PD3BEk8kUHRwpEKpKtqqd7nzPeo0ZA+SMCJRPiL6BP3jvEYLvWZ6DVwfNoh/8nUYNft7etfa/0PL4iSS9dPd4QhTuN2VNR3pXcEnC0Mh+gcMuSLqfz6cfsINojivFNAoXmiGmaakNumUkys0hTNKpKmgJqSST4QzSqCU1dX7ZtRWPbllvv2H56sQSqCPjllAJvJtC2h6Yv3ur1gl8Ovf/D/I+qgJckrctrvftyiYOxgcptZV1VX7bWBrZvTiPqjH87/tXhC8FwOaMSb/PC0rOWdqb0RxVbUhXmDMTyEKNPViHz/s15cnWnp40Y4+3PdQDYnuKHLypwmuLraEjoCOMBvT3/Xd26P/fv+rP2PB+td//dfTHNz9FOcbwkwJMgvZoUiYqlsgiRHY+HCFD8+Fy7JziXeeojdCWe8EvWGjusuJJEzraSuGCnU0pA/y9Ets09nkqLUORDpIQMTQMKds6UD3M0fhlJghItGQi987y3cfMaDfdix74xeDu4/4e7D5fYoLOnU4YnugyOL8Wm0DHQ1GIgK1H5OnTG8OLpS0EMz3yj7Ny0dr7vIRI2LqRc0R4gJY7W6X1RqjO5H96cPzaXf4/OHFr1fJpCTktRCzoAffFNw5JHiQi/RKSlMZ3sf5GUTKu3tuTisPRbp5Y5JEnJstCnQO9xZPM9pBKkqfBeuBanK6Cvxc1my/vce6luFkov6D6+v3K+/+ywgMkEYKGyVurGnnkqehvZhbLVkkPF+9eR4w3h5WgG27s8RIXArlsjh/NEOZ/rxxuJXl69/9SNs3rDau4YO7FQF5KUQ1ZCghJnrrvkvPjzR0kKWcNmsHQnpwiVPJDiSkhNbmABOcABUC9/v9LHRba37djoJYAtgjBON9AMF5zZk821n0KnLyT+EAtRypNpuer4QTQQ1RqFvl/rp7j9gUbGdcDmGXYUEYErFUeK2N69PlJJVqKjTLqDX2sZPVv5cTGQjzZIvRp9ICJnYCOTEPyvqw0fqH1k8WrL/tn/a7Xj8u1En6DjrHVwEjzbQaZUzbqtozdYN222jF+HbNpFGweog6GmEZsDXafWBPK08hs98rP765MvC7X/2KsfvGsizLiTo9lIVKjAnVwVD3D9OhrLOjur29ITFSYp4E/sND7YFwxhAJ4vGpIm7Bcoy2am2o2qQRTPKzyGlLcaheveuxU2X73rLlvf3KUCOZnF3lGI4iMBTp4yHWOpWkPv5y9FjOm6m1QQ5HMEB2F4PhAjXb60QuZmFUK4xBv9+Il4WwDkdQpsDBtMPoc67rqkJsPNLGwvR8M3dMwJ6gP9N3V8v2kRgtouMnXID/ROswL1ZVfv82Lue/zOaIcBas227Ua2Ah+6hewgxSmg/doqA3F8OEBOpTgkOcBqAhEsz9IYN6Ck5O+eHR212J6bWij69CycxGmLQu5Lz49zqdLjhM9HHEvm8K0olrpDdIdpkCJIilMkbkhx+/kFMmx0S0ythm9GtcTveHYR5b2Xs7i5JhSl4LOxXTxJo++oF/KGppXsx2aOZirWicdJggbuqeloWUC6qgbTDuO30WtaZGVkcyJM5Iv5wIhxH2YG7mniAmYU5zzg36MPAWTF156mjLO7SdY+Qmv/cw/VOvlJySEYB0mo876Uq1T4TRXGwxN71IZ82Vp3Xn+dJZSuUlDZZZ6OSxE3WDXgmjE1OA0c+pkAUYk2OQJoqTcna6xDGaDD5FChIg6Dl6lkNxFLy4NNxsIwyfUtiR2hsiKcB4vRO6j0EVYbtPNXf02MwoTok5xuLrbJZ0DCwGhgVqU7Q3ZKRzNHtdHSyJZ6iETwfaPPjfPn8hXQrWO0GN+5dXcojTZg6fPo0JYoTg1K6nC+kyP8Ba2LVTLoUS50RAFLQhUzTp9aMhKWMx+d/dxuNgFiFGPYGA1jshvwNDvOI8mxMRxUVV82yRCmHH2CcilSaN6ShefOLysxWs8Pf22D/k+Xof7vJ14EVFzN0unnPlZb1xCXeWNO/r/4+9d12S3EjObZfHDUBmVV841Nnn/Z/tmMkk7eGQXVWZACLC/fzwADKbM6K2bkNtM8KspWF3V3UWEIjwy+frozm8TjK9KjK5Gcl8XVjfPV6Y5euQJCp1MNGXr6+EcZ7bfWOpn5xd+pc3qI1f/vIXpsULZLpVbnwQSmZ6SejotW5j3YXoLlX3dT07UWGYDoG/N613Yujn+9R7Zz06ppObYBzx1mkbLI93n6cgdZqm77BuOrq5x9B5751SJj9Hjvv7nUzj6DM+WLOmxv2+Uvsw6kiw2ihUARKMKU/kT5+oKWI5osuFz68/+mecZ27rSpbOfv8FHYW0x0TzQOyN3/KG2LCHBUKsxNzR9Nvjr/9NkMwRfJnAidw4MsidbndnobVfWOuN2W6E5ho4rTt6F1JrrB9v3N4mQm9MvbMNvMn28zfqVpmW2eHs3TxosKNE71gn1e4w4CTEnM+Ac22VpSzorvTaXJsonA9YgleyqnYOJZ/p8dDB1LFI27ojeUB+n7RYaQCwW/MK7bHQjhJ+rdWzIPXgXrtS93ZqdGutQxeoWGvkENjafh4QvXnbYR+Q694rSPDPcuIYnBkaUGepaUdpj/Z2U2o18mhLEZW97yfix1lq6jBx6aPtb8jB+4uGZZdPxDzDXqhbou5pPOcMmgm/ZVvx33odScGvsn1lVHTs6eU5glR3FzLa2GQjhzkCwF531v0yOp83LKxcp4keH5bB1oUc/KW3PNHaHbHm7TsOHZ1XaOzgwe7Qt1Hl6UqcC007vTnORU3OZCpkN38ITNzf3kGSa6gPrWMsEBohTagmcpnp3RyCDuS4oAp166z7jct1JsaZNnAiwYSSRkBMRPDuhI3P31r3Cn8u7hAjCWzjYKiG3M/KnbbBak1y6nzNOkkbU2/YxxuS3Gb5/vYLZUgCMHMYu0CXhKrQ68MZpkhwzJYE11DnRGMihBFYSEA00fbM/ebVAUcqPXSEB0x7lKS+O2V/bznA58/epRAz5EkSYL17BenkQtrpcEZvvFxnPl8N6/+M6ArKqZMrAWKFtu7Qm6+nVuFw2xF3CKq9UYFSiiNpwiOgN2xwGV3/G2NE8Cqq/wV7rEMT1/Bb92ol3j1Ln14hJfTbjnRvcx4oPu9mOdO5aaObIUTvMADah1VrCKdqzzDK9JAdOSHAP1cwI/AoGKz3D4q4Hbb0Tl9XJMSBvgLbd1IITJcL8+snlpcL+TpzG4SMj/2GBuFzSdiYu8ilEIh0PSD1LqUosZCXy6hAGehRzFC/p+qFidqUKU9edcXPGK/Cjr9r3WcXzmRsB7lD3EfA2scWd2CfhP8qju+/9/qvcGcDRrX5qEjvJFuZ+OAabnxKN+a8sYxWtdbmFIkkoNHlGDkil/mUUV1eFoIpqpUoE2nOyHU+u0poohVBS6C8LMRJWd9X9g+nW/zy/kaaZ778+CfvxpqzTQ+ntWmenyqeMmy5nxJocVdFxN+lmB3Ld1ivauW0XYVHV/Dcg9SD1IMRfLlcXP89Evyu7mRpoytzPP8Dy5VTom6VLm4J7HIvN2TS/YHm2tvuqMVQKDkxTdPpEqfRmL+88PoPf0KjUOnOiB98bXIht0/QV0JoSHE5wEM8Ku6wJV4zR2RInY8CWEeSEtN/osL677tGNqF56Izwk8ECQyXvP1feuJQPFvkgtz+j20/0fsPq8EpXQ+4JWiPXyvr+M1EgqJ5A2Y+f/oKqVx/WA/iveg5NSfRM/7Dh0726vPfd8SRlmsgh8r7e6Xv1KlNIJ9g/SnTeoeqJRVEztm09f1pTr3Ah4g5VQ6QMDLZpOx1btPfv2iS993NRBnxYxL//aN/lTBTY17tjkYYL1kECCdE91rW1k6VmNLes1Me/kYfwOoWADq5qPaq9zStzEjMmjtjqwcjzWBLR21xmlZAzmoRuFRla5ZiMOEU04c8XQTWcNqaQEctn5eH3u54EnuO/nzP+76SP43cege7xtYcX+cIv35RS3FouyEKYXqjvfwagSOGaX0HvtFrdCyNNiKWHbnpb6XunjKyZruje2IZ1qkTHkB0+zzkm90+PD1wYcmCNg+v2YqIMU4luRsyZXMrI1hOt7WfLUUIhpkgqkHZ3eGm1npzkEkeHwMSdToYBxBF0pOh6Kcy7GPv9RtvamYmHo00l3v4JNtr1h21yq2y3D9BOyj50s7xcwToyNkczpQUhXRZSSXQTdK2ENCQ/EglpQlIZCVUGLmBDP62unbaa6Zu4zONpHUgIpxe9r4e/DlJ/z4D1dG/qneOlP3XXOnBMIYyhkEMyoPS6k0IHdkzfWHdhOqyRR0Lft811m2VC9x0dfU3JkZgTZgUxQwfc/BgmAb8nMcXHUIz9dTXEGNLKnLCYaHtlG3t7bMpskRwKu+5jyKQ/pFo5E54kMylEpmU+E3kfDB0SmZu3FJUx/Aes29016CGShr47p4ycjkDuUNR7p2+bx9mtny5wulckZfLFAez3WhGZYWjU8zw7f/VyfWjxrIPWc+g4iJEskqcFi9GDBuvejuWpkjgkLKUs5FQIoZz376iu+17ksPbDWIAYQDZCqEjqI2AN38tdfqeA1dftkHX8as99/nyOH3t+v+zxdwyIemKtptC5hMqLVCbeiHbjshSmMWSqYfLnaxvpMmMoGjoqkXgZa187IlDSDGZ0bYgYx2Ep0Yglcvl8JS4zyYRPu7G9jSJaMtRGo2HIcciZw3kzRnGuNo+OtIi7EgLs+4oMu99tu5NCQsQIh8NePzCHRojeXTlxZuBDjM3tWg8Tg1zKWeHtpizL7H9vr7Rh3XpwZute3YgoCNo84VvvG+w7fbx7vTam60JMiWmZSCVzeb2yXLxjutIpX16RZSHMhRQDTZR2cFZjJkrG9kCRV6D5mfXM7w8+9CXBu1tn4ApgisQO4T+lYT3KyHaK/03tLFs/eIGPgYZgQHAxunVBTAiqpMEDXMLGa9q4xjuXtFNkI2/7EL9D6EKUnWSd3tw6NQXXd25tVFj3nSln6scHkpP70Yo8BZwOr3YzN2e+aXOBPzjMXdYG204Zzl3eQhoa0b2StCFtHLwhEHN5OFX1TjKIarSuJBHWzS3V/C/YqffywQm/T4eOT2tFh8gawKQRROj7COqHOLqQWffq8H0yR+ynwfyAN3O+azdqVdfOHOy3qiiBEjNJgk/yt+0MTLoIyzTToqCMbFBvYyAAUIcgdxNCXiB2Wm9nxVTsjmOGG70LMLtf/K7Hh0Sf7cX+r778pdptYV8rYQ1jfSm3W6RMHmh9viSC7MyW0P0NUSFNmX29nxOfQYxvP/0Lr8vElBN9q/RtR8aBFFOi7R0Ft+jD9ZoHIziGgNTmNAFz5bjYQ4YSQqQHXwu1Nl/7aidEWkSdzyvjK8ZaPSUqh03g2Bxba/TWz/Mylew+8NpYUqS17pOvR9AxytZ2sIyHnk6eJr082nxuAAAgAElEQVT3daOvO5cyEcyIEgkC24cnhNNlhjlD83afyIBjDy0i5YqZr1t3UFmIfHnop1moa2ZfA/RMkskL6kdwFr6fpD54p7/WhP1eQasf+P7rce4PM5N0HOzm7kbjvl6WAtzYtxtzbvS2IpZoB2uyd/runR3rFZoPB1aOPae47GJZsN59+E9H8fRRQPX7Zk4p0K4E5ZTcwNgvBZoIIU3EmCnj0JJbpb6vWDPyslD3xrq+8/HNk7UpZ8iR3ivT9UJeZg9GD5e34SwXxA0VPLgL58GsCNq9orq21TX/z4FSN/Z6x0zZPz6YckZUaP3QuDaaCWW404kYCy8sQ4SfXi/U4GdhMCF0t0hFeMgjBIzsAf8IOuSo4gNGG8VS75pMcSHEdGrUAzI0rYdG0skIhKNF7npOpELw72XK4+Bn7AW/Q8B6dBDHxjJ+10bn0sYCMkJ4nLXjIZ6SHTXFuDMFDxY/Txs/zBufJueOqxpxKgNED9pchym9IUGpbUUQQo6E4YzXVD158PbaWMP1JB8JjWkOKBFR33NNIX72Z/r5h8z9p3esNfaPD5BAU8Pm42csiMVzPw2C/3yjgta0kecJpbnRCx2xyoGezyliobu5RAgQ3PjhSFtKKdw+PkZ8YT6wFOPJjd1uDQuuK89TcS3s3piOju1ePYYRgerzNB8/v2Otn3HXcrlw/fqV5boQp+hV6BzOgDTnQlwmZJlpEgnzzJTjGRdy8IVLQcontvVGk3A6NIqY710JJHTMBNHCMazvA1g7afntgDX85p/+cf1x/XH9cf1x/XH9cf1x/XH9cf3O139Zv/bRAhBM+yj7uxxAhBPrEaWRQyNKJ0Uj5UhbO3lkC1TcKjQGVxIGwSL0w+sWkDlTo5BSpHelvr1x6Q/nh3bfkGVCtfvwUQgn4xQ8k9bqImURIcVEbZU2Bop67/TWkDw7Py0nQi5nlWq/b2eVOYXHhPahKTkHaERGxiUu6B/Zfq2Otti2jWmeftU+gXVdWfI09EBeNXj2PncRNqQihN01PIlCskQfbLm6qeNdZm8B7825nmWguyxG7LKQLxN7FJgzMw9ZxH6vhOK6mRgDoWSwgBxCdTkqK0PuERohNJRjcCZjFh/iyr/79SQyPy9nnz5fz9XFX0+R/3roUIf0ofcIVnyYcFW2NnQ+e8DmztdpIrWVvjekN7Q2+qg8T0nIXfj2z3/mT1+/0O4rAifdARuTkuKVx1bdvvi4j6rK7e2dkoq37G10ew/9dY50O5BtgZQy27Y/aeD8e4ToOqrv2q1Aa17lfdZdt9YfWkl8QLG3zq6GSESC8hjutKHtchlNO7SEx+Rs9UFAr8YIJSbCujnNYDyvUDJCPFtlaCOQOBBOqI9lKOAGhxekPw38tULdM9oSiYkgBZP+XYX1mK4+dOTekXw8/7Na9DtcsTt1hDEhDnDUXDEZYylKkk6e/J68XhslNkpayQmCXYmdh/1jUPY2kGD1jt6VRoF9VPbaRL6+IJeZXhI9QlGc72xHdXx8wBCAQLB6TsUDXnkMjlgKIRGj6wiPzlC8zGhaWL99I1VlermQv73xMtbW3L1aX1unz0BzMoIU/4erCaTCujnj0otz+ewKTWlhr3e6dtZDcmWPCnAOwWeXzOi9UbeNOc+Pae4YvRJmBq0To1Hf38gvfjaFqRDKRGs7UndojleLMRDnoUEtiZAmCN4CJshZdQUfmpOwuRtZMEwDkh5YKuT4uRz9EyyNJueo+gfFQaMfEFYsvKBkDkqPHML836G11Yc7k/D8Lo336NhHzbuv8rRfaNt9QDXAnIRU3rkWX/c/LJ1PpXPJihsHRlJ5yFQkBaRHYsjATlChdYWi3mkF8jSjOOrKeqfEADE8pGEaMU1+VocIqlSM/smf6dxemF6ufPzjT7z/089MksjTTLp6RyfGyO22nRKjY9D6dHYVYe/qrOzWXCqlT/SNrmQRckx0QJtjBM/9UIQgQh2SwXMQ8xiGFJ+vmMvkrfWhlT26cq255MvpSca+HZhK4fPLVwBev371exShmjIFYV6mc3bCsWFANPKcsRSQ+JAv+RBsRKT7vJBGlProLAYBy25Zq8PuW7rPSAAmFZHGv6Ug/K8XGEo4228uMG9EqaTogcyUdubklqbRDOLQqh2ftMN2W+HQdFogTpkwT8yH760uyJRY5gv3n9/46R//GXvrXLJvLNbNtX/aKXlCEao94hHnmR4DGB5Qm9k54ZdnFybLYI6FnAgpcevesowpEZI4oSAF3t/fCeHhub3vuwOKbUB0x58dgWwIDyasBw+uMT10R7VWNvXBr+P3fBt4KoiLuQ9wMPf1xQP/7eYl9e3uFoZoZJ6E2ioW5PT2LcuFTQIlF27bnZQSy7RQB1ftftu4zBPzqx/uEl0AcCjZQ8quSRHOaeU4ddI6Ah/tw0v599WwugD9+b7pf2AvH19wmGUca3yEDnUkCZvdWds3tvpOtHek3ui3SkJZb66fjiVRWmO93dmDTzgv1yv9CDjPdprRpQ2LvsA0JqWrDe9r8IEcNYbgCfChKdSlMAe6xFQG7sfXUUzp9KTuvXsCdSZZDlevtZ7YNeD8+lQ8AE5RWNfNoXXquBdw6oWZ41d6q5AcJ3Vo+I6WsSdzjr6zCqaNPIZnJBpN69DP6ljjD/tJ9wc0LLh3e5CZdi/s6zGcUzArJFmGPXRwjMoxeSzefrRDcwanbAd+f0mAjAPKrD/prY+A5mitOp/zsLQW6UxT4sunT1zLTN3eHPk3DrdonX0Eg9LUJ5QDbjyC2w7HuLneuLgBQDim/p/slo/9xnCjAf9kz8GJkxsQX6OeXBzP3ggpMl0v6PudhPD6+RPvg8KhZmzrxq6NsE10M+c+H5Gy4IUMUw84zD/Lw1zBIER63YYcYHSc9Ug4D1KIYQr73qDvJ4UllUJVWNeN66cXyjzTMe4HQaN3cs7k+YJ0RXqjrndut3fCMLUoEoA6hkcMUX+W5+GjbpdsuLZVTnvd42eUEaCE75LM87JxZpm6vGAkYicj/NiqfgdJwPv7u/vMaz/Zt24lrOP3FNPmyeNIPgMd9M7rNfEPP74wF1jSG9eDHyw7ud0IVGgfoI1eI3Hyd71cCro22m6Ebm4H2psnZmPvyuKcZhvSDYmBHp9O04IXCqLv7ccMgxxmD9WIcuGFQM6F/ZcPb7ufSb5jrnLKjqusjZhk4OEGEkoVmpMzxBRqO4tDajqMjAK9V3QYnxzddovZ8W21gjhrdSqZNBK1lCLbujKl6PuvdmKAbR0aXG3o7gyQl5crr58/kUsilfxgvi4z67YRckASdJRdzhrhQKwd75sS4oFiO3TAglgYaxpiEmp/GGIoRq+O1gop+bOw5tIW/weADZOd31q5v+109W9UGY5pNNXHgalqWOgIlWDNcRRlZ5kcMXFNN5ZUyXQSQgwOF4/DRUokwnWhbTvBGksp5BhA9CzWLdfPpOuCdGMK8CcRPv7lL9xvt3FvA/UvynxduP/85gL5nE5KgDVFUmSrlWmezgAyPgWUIoIGnwSsvbl28NhTxiBV7Z2Y4wnzPaYGgbM6FeQYXpAzoJ3n2bWBvZ8bUK3t5Le5MLyftAFJmRDT+fP34/vi1dsUE1qN+/3GPjZOk0gH3rediowhhkyYRxUqZVYRJGc+//AVmTJNjTimWeP6Rg/p9F03F2qdL7FPD48BJhmJSW5MywiwVVl7R/VvbLp/j+sYRLCHuF1NeFRZ/z3ByPiZNXllQL1S4PrMTim+MSzlndR/ot3/ia19I7aNouLx1ciOb98awYzJjPeffgIJjlArY0J0DDTJAFEfnN4Dmt9jZJmvbO8r+7pTknteP/tOu/4JwM6qvz0N77Qh1p+nCQaD+Kzyj0201eqTpDASr9EdGDxhMaPWjZQC+14fd3No2/fBSZUUCAY6KAgB8ffZQFHXw7YKMXC8Pk0bzQIlzdgIViXJqVszug/9zRFLATRgGtA2qgGaCZKJIRGDcyCD+Dvh6+DQrKpzlDk6Bv9zAtYjTf3rj/AIVkNoDNIXpRjzHJimyFQyU74QTNAxKKrbhomwNXdnst4R7eeep9W7B9FA1LsykvMIAs9/GZOhq1W84wIc5bKADUZrQEhwzA6cgHVAvHqVJkdCpctM+OZnw/v7B70bsWT6thPMoer9SGRyHMWC6DzUUbnvhxbR/IyQ6AxObc66Dk/Bfu/dey8WgURTOSkFYXKGsqWIpkgXXytpvFv7vtPWlTQXYph8jV0ySy4nJaDSsdacv2xKTtHfgxOt1xC2sWcOYkDoT+8P2GDPyqmNfTrCR7XVAetOCvDg7yBsyPjav3/AervdfA3whLGLozMSZOD/EpIgjIA1h8acE6+XztdPjZJ3rmFnEl+3xW5EvcG2EXr1hKrtyHRM4IMFY2+NBOSYSSFBzmdM4nMoPsQagg3k1INoIQSkJDA/Yw3Ial4dwL8/BeLXF3cafJnRvZHHoFxAnF9933zQWgYD9YifVAfSLWBFkOMIGnvqum1EjI6x18ZyfaXu7Sk/7z6nMAgU97d3D3LHhpnGe/3xyzeiBKIJ+7Y9Bqpa92MhBKRk5s8vSI7kuZwM5HSdmV5nYnEzIKWhomfMo+LOb5q8M0fdQcwLCuN5h3jotYcbF4887ZgRUPVCWkjBk+0zYD0qX/ffXGP/hcYBIygY6KPARpKVOXzwmu58Gof6nFaWbFhrblGZIl0jfYhzU0mE6wLrymXOlChYryh6ApzTdYEU3VFoTfRbwKboon1gf79j2863+8r7/cbLl6+8fv1MOOJBHM4eY2Qq0wNcffwMql4NDcGrEIRRZvcrjIe2150YODEWR3n8mOQ7AvkokVIK97vfg8vlcgKAW2vnkMvz6SRHoGgGIuzbTjraTsNhptWd2Bywvn7c2dsOY3oyTZEQF3LOzPPsWIpPC5/+nx/Hkw/sKFIyXGbCVEia6NU3irxmVNfhHjYqiuN+jE84dlQZrcuKxHZOchMUd7P5nSQB4nKFo8oNnO39IHkYPugoYoyNCXMXtafpaDNPwuCocnd0lG7MjBQ3LtHv2Wu68RJvLHan9A2tG8kC1jpyIEi2nZwLJoGPbSeXwv7+TrkOiPU0oeZVFvFE39fJYPaFXEhV2dZKEbdFNRsbCBBMCQ13IYoRQwlmnLQQ9VZ6aw3LmRgG/++p4m8xYgOj5Igdh5uDw9dLmBCF1p0BHMn0fNwjw+pOtOYEhGakEGl1tJXNh7FCCljfR/KYiClTh64gqIGuiBXMNroJOc+0cEzFCmITaQj2u31g8cIDxBxRjfRQMakwzC3ODuBZtPT1K+YGDufwkNp3B8rf+zo2/b99GZ4BNUKqzPPoChUlZyMnX6OCyz3ioAQohb4shFQ8eBKvzst4P6ULuneQnTwkUN6e1lNKcbwH4eDedka11z+Z2zGGEVP5oJ3AKTtxQJz4wfd+Y+0bZSq8/uBtybrtaHeXHqudNIWRWz7uRc6ZmnYYhYCmev65iA+BxJjQ5om0f5bj8ztjVfEKlkiidfXvAUwhkueF+fMVEtSBBFxHhXXadsoykvAQ2VpnKoVSCjo6Uybq26V2t8LudQSvo8PRG+gGwZAEFgMWgg/cHI93xKgiBwbv10tgyAK4g9yRsEAf3cXfrE/9914//PADYh6QHBI8M/VEwsZ5aEbIAcagW4nw45fCkt+w9r+JuSIYaaDSJozYlL7t6L6Sy4TUCsNZjOy0hlAyre4IgVyyO1mHp6AWI8QwjJXMSTtnwCrjL9mZvNLDuZ0oStOGBCO/XJjLRH2/E+5HhbWzbS6TSimNIVJ5YKvUh/RScQJAr42k6aRTmLlDFmaUKfueHcNZJMgxUNX5wr0qdd+o3+ppfFC3ldAb+30jx0iZZrZ1PTsL12lGpgvX1xfydYYcWbVy6xtpJIMv19l/9hwJKRDwwdpjqKr3jqRMuVwhJj8PrHuVlNFlkaO4AVvtw+L7QM45bca3XPXuOw2zwx7Xn4PF23+8wvp8PXv7Ho/xOfM7W1ehEaSxxMpFNi6yMfELeUTOL5dCKQHdMugEtjJfl/Ow6KGhMRKvxbMogRTd81mPBZAAcaeXUALlWijylXKgQ378jN47bz9/Q4MePGtHOY2fIaQj2xJqbePQPgKXA+zc2LYVSQ8kBTjax8SDVG07ptVbaqOCe2BWRPwh1YG4OiQBrTXmZXFmX6uklJhyOStfTWR8Vjm1rsCpoY0SETPuHysyWGpqShkYIIAyDzTFy5X5srDRKZ9fiANTwZSZUqSKsUcZL1omNv8Z8iLUu6A5j+DNMSyHF/FhsOJaq3GDpRPSwVXbEUnk/DvaXAEjtzv/l1/y9OuvA4ORI/yNbyVeTRIb7TpnTaYxwVuCMokxaUBXt0C12gnJHlWgIIQgbv0boYpnz/3u3YFlUCl6bZCiV/aRUzJAUNq6u9HF6AS0VqmjGppSxmIhxUIoha7GruupcXOPaa/kttoIJZw0C2DwhdfTz773Abs+7qEa+7ZRYh4Wth33+T6iFq96RQPrlUwhmrANDa+YIFPECKxt9dZzjJSXF2QeVaI5IbK6Rnd4xocYTmeYGAqIDd/pjlEhPPBEpgOork+PiietMiOIGb9O2snx/o///buhrU55wpOF7Kic6ehoxKiU0onpeO6drjdCyIRgaGuu+z90v2KUeeblyxfWb7+QBMT62RWKKWPq5iOxGdKh0ny9Hm3m4JbFHRvryK2zj2peGF2Xkd0C3oE79MtBBNRIofg623a2ulFGIn799Mq3+jPWutNwuif8++BvJwGtDW3OzyYGrOu537bm9tUBl8CY2Xh3DvQXQ0Pn+u4YI2qOOQRPFvOycP36hTxFcvIO0jbW/v2+YfnOdfaENs+TJ3PWzkAx4PptCTjKSCtaN+iPhFK00q1hSYgXt5A9jEUIAYm+uX4frJ4LgdGyAfkA3kEuMKCPHiD8PkGriAzpjzxp8sMpYw1Rhvym+8Q6Tk2p+42XuUK/0fZ37qTTNrUHdWbutrHfb2SJWN3p6yE5yITkz0KTV9Y7Xmg47p5jKUdRCTllCufW/92cgv+yHJGBCrSutNsK2rCtkbuQQ6Hj8cC+bWxb5/axulwrCHtrZ4GtlEIshTwVLxTIMTswigT+rwxAQGIfgfdRAt73fZjJGMs8c99WAon3b9/G5+te+Q8B2ytNhb5u58+f5gsahdu+Ms/R46WSSctEGhzVUGY/T6K39U1dTpYOwwsLhFh8lsdArflefgLYdASjAWJknq/EHIlpJMziZ8Sje6Se1D1XWKNg/5kKqx6bOiDh0NjZ0CWNBWE22IvHqvzgkjZ+nHe+zDuX1BxHMRZHvEyodXoIRJJjJILS2mCcNn/R0zTRsiIxOkOsP8DfYUToASVkiJcI09PLbWDduPxYyG8vbN/u1P122r/mNFF7Ra4ZZ1fpaQnot8780NNG7ZUyT84WHNmA9IaYY69SDEgwWrCx0eDbuQS0wbQsfLy9wXDPgnFLxbPCoK63KSmMzQ6muLDfV29H5cS9NsdSjMWh9539vvL27dt4AY2XT6+8fvnMtBybbyQvBSmBHoScJsIyEWZfoC1GZJqYSx6aNLdiDQPSHeYrlo062tOuH5MxIAASR4bU3WnId+iOZD9c5teZnBasX39zAf7fcJ0NWgnnOhZRgjRibJTg66LERjB1Z6tpIk6RtlXaVllHsh+SEIuQysJ0ie5cJZE//+O/ANB//oVLmV3nU7LrOmN8+KXXxmb+rvhMh/ewDi1SCJE0FabLBWJiWzdSzpSRTKV55uN+Q0TY9/3ROjwKPEeQKo/N3jPjhwa21oo19UDGRjXt0FoHd/MJ3fmANKO2yjqqEUGNxAQouxrznGFe6NPE/XhBu7KUhfW+InHl8unFBxWOA4QIafBpBUI0yJ0Q/etbHV71zQOOlJQz6nq6ngHdv67E69N//8+4joBbQTpqGzE5jgfg+hKp941ffvnGD59m5yRqPVvRIUDIiWl5oe8da64VO9x0OoGUCmXONIW2NcIczwFPOAKAjvZRTTnkAQ+t1Fkp8QcjmIRzwMZGNdYAolBeL9z36lpShspg2LMqnohZSGd1fm/VK+Hdq3gS3Pt8Sp4U917djvVJbuUB6ghGxtAPIyENKXjLflSq8jLRk7DWjR4iU7kQgjwA8aUg84UUQUL3SqrZ+e/4h1Ba37BekV4JbUVv70h7BN29bjQ6YSnIlOA7WLqc//dgLjOqgoy7JGd19R24enJ3MJLsYY/7975iM3xI8AlzZmOGQMBlVJ1EY1n857lMRpIPxyQmCBaJ+gjWugptV/re6PuKRkXC7IOvQFgjZVk88LpcaDZs0AEZZijS/Ex3WbC4JlvrWSRTvIilh5RCBJOIRC/upCyIZpdfhE79uKPBhwYBUuu0n/9M3Ctp27EQaH1Hgp99eS642bpgMbKbkFJg2w/5XkJxPnEM2avF234qCj5uN7S7DtgDSiObsN+OISxj/XhHQqLEjDZHzqVho97xmI3asT0hvTAvX+D1ynb2/CuxA5snCCEGR4MdbemUIJbxPCHFsRcfuFNrSPTBWQtCiMXjgoMfbj5E6PSyACpISANnhifW0mGcpf/a9ZsBqw9QDN3BQf7GS/xYw/pGCjCVwFEcmcobr5Pyddq5po0p7VR7TBHH6HrINCWkdYIW0O1cXD6o0QmmpFI8w959A8ojkyZGTHwz9OzIS+6nVWzv1CQkApfPL0w/33j/x5/ow9o1bjtiC/nzgqnSWxvT/uOQHi5DvoKVXUfQdnhWh0jo6novcz/sFJM76gC1N3/QatA7OSbW2+3M4krOpBio3V0o3rc7vZcTLt/H5KnWTuud3jxAeMDjffjl8w8/IBifPn+hvFypdT+lFU2MjjKlQp4yFgVLgo3WbZqceUhQYnRnMs+YjsQkUqbMXu8ouz83FbBj8E3dyzpEbw1IxSM1v0exCMEyWn+foatnDdd3msSnbPrUX/8retYH5Ht8H8UriFYR25nijUt653oE6alRgBiSyzHShOwN2eo5ZDDlRMkJicLr8pl4vcB958t48W//8gvb7YOpOAhaDef0jraq67GM1jrTPD+4qSNgZWS4vg/YyRE+jpADmJ9SOgM1Vf2uGtF7Z1mWU64C3vYC1yqpqmfM4q48MT50hF3Vb5cIORXq1nh/e6MPkOveFL3dmYoP7WksbCHQunL90w/+IYuD20Of6NKf2pxHUCyulWVk9qETc2O++J/fu1JXxSz4dGx46JjhEaj+2o/72ZP793a7+lcv8eJBSMY0wzI049eXQk8z91++8dOf3/j8cnHuIUdLrzoPe5pZrsp2u7lF9Pi2ap7Ip2Wh2pC9dD/kT6mEBK+q9+7Q/vDoJoG/RWeiIzL2fDuDuVN9o64f1CBMr1c+Pn4C4O3j3Z3e8Anpre6EKMSDbKKdel/dzaf7vq8oHF2d1gkGtR7VN2WIk8//PvWqQ3MXQjwd1DbdoUHSwiXPzj82Pa1dy2skZKWv7ySZkJzOYPXMh7rLS7Q2dLtDXekf7+jqHZTaK906GmCKr9BnP0+fBsuQp47Fr4NPU5TNdbiSET5AtrH/gtnEuWH9na/jX7UxfPe4nOlhYyo8hkYa7oDT1LnOhc/XSImJtk9IVcohEURYb8JWG7027taJ1rHRSYxj4j6ZIcvsTk0xukvfEQuNQFSCJ1lqzSUhR3VwBNNnch7EOxVD8y5qqAQkJMKUKDFSP+6nnfzl8yu2VdZf3BBl3zb23k6iDiFQTf1NjG7521VpZxXPyRD9UNdIQEKkD5lX7c6fRc3t381JAnIM6uIFuvu6orG7+UCKMAZh77URY+X10wtgLnHZNyZ5ZblexxMKPqTWO7ptrOsN6w96k4xhK0aTMYxq6WOY0JMV43BmGwXAoyNrMiQagyd9yjCeVslRJPiN5fs7TcT8cf1x/XH9cf1x/XH9cf1x/XH9cf2fXb9Z/vqXf/7nEdmPiUYAU2JQgu2UuPMPPy58eZ0ocUweh29cc2PSO7HekF6hbqdwv9dImgshZnSrbLdKVHVdGiAEqjgWqUjybHNkw0drxqKiwVvxzv6avhuKwowsQPOUJX994XPObK9vAOxvq/vc2iidx+TcyvHlXb19n0Ok9TGYo4/WcFTDBpai9wYpkYC9HQNHkY5jPJpEUoiuyxqZ+na/s1xcM5Kjm/pt9w9sZGS9VqIK+3Z3reHuuq02qpdff/zB7WWnTJkLISU0Z2Kr5KEHY2AnTJQeHT9FfNjFidbR0hWkDzSMlEfGJOb3VxyfYogbd+wjs03m9AXcCvKYFLCh6xHZIFROO4/f6Tocx4AHzeI/WDnTMVwWuJH54FO+83V555LGRGuoSG+DcdpJJREvC33bWcrQM0VBe4UI6dMVydldpC4DyZS8Vfn29o1SFm5//on55YXr1y+A+7H7MJY5Omrf4KwUjwGX4Vvtjk7ehjkGAGR/MIT/VhUxpcS2OVOwlOLV1GcnI3W+bywRra7Nbq055sz/AmYuU2m98f7xhgVOqUmai4vxU6K8vPLl//1f9Ag2JeSTW6umZaE2I7eVtv4FyUeb86h4e9tuTKW4nCVWZOxBIh0114CbieN0rH9XrPqrqrs+SQCGROj3ZLH+rUtkOHQJLMtEzusp1Wpt5bIULvkr+8c338N8jMG/dnRZ99rIZSKFzG3bzuqpYGjMNBXnL6dA21bu+50ynp1r8lw3igga1AekTsmMPZ6LRBBDq56OQgwJ2SEpU4wYA/PVW6sfMbK26i3NZXLJmJlzJBlfau7uFcxtfpHAevM9pw+dX6+VUMropD/q8zq6B5hLn3xa3Adq/K8GYvB3Zd93//re2Ecla++GfWxspWNZKMuF+XJljhPhoKF0w8Q1mhJcxBVEzol0HR25tVfatpLbZdAVRnfwaEvztMbhSW/pKCHnXW+I7IhU7LDo/Ve6RX+Py/eUf2V7PTFsO9OsLMcoxQTXa2ZZhBInmCARTqe1X0wAACAASURBVKtn3TqSIruqc021E3QlDH5wSglrHqLEpsji+0vIeVR6AbFzvbm2NiHdtcZwVDWNiPkzCwJk52HjHVtVw92aAk3ByuPrDZg/v9L2ztsvb6gaqWT6OnTLBDRAXTd3b0vBrVVHZy50H/CWNJBtdnSRjipzovaKqlJbI5hQn+gbTYUgmY6wd5fJLC/TiWuTlLEps4uNobhG7B1d7yc5KZTXEV91wnVmvlzpbedAATbMmeK9ETBScLdE06ObcdAvRrshMPaI4x7FowVzyl1C/FW9dHRffquM+psB6+dPn8cBpae+MwaDvnGZlE+Xxlw+mPJfuEx+82bZuMROaneSrth+J7R23hipG2QX2BK8LaQqp7VdTNlHB+PjcJIQCDlx8jR9SNM3SAOJf/2G5G2U/6PRJ0NyZhoWe/Z+w7ZOtkTv5hKCvVHGxFyOiSjirfhRq5+mBRkaU+2KdJ+k3jefauwtnm9qDMmHpVojxzDQKkbtvvHu984vPxl5mWnaSWZs9zvraGW9LAvalXq7nZ+lXC+nEH35/EqcCprghpGKUF4WklyIIzAKUeja6DinT00hROLQsBJHoGSuBVYbrcZTzAjrXmldieUAU4dhZuBtwigBpLlOjRHVH9oWPiDcIM6/tcT+LtdjKCR8H6Cd+rDny371/5+u6BiPOVQuurHIz8zyzutlkBkk0TfXL+c8uVQngcSJVI6hJyPF2QfASnQzgiyEoal5+dNnJhVs7Xz89E4fbdKTJWlKyuKT3DIwWE9c3zSSPWsVAWrd3Wb18J3ujd6bo6zOtrqdpIxAIKZ0ygL2WulNT09pa41qDzJGbd0DhXGohxjY1xtsO/2+oaKEKTGNtVumic9fvyA5wqeZ6csnmAt7MOpozVqeiGRsvxG+re5Lz7HGcCnQ2BAPSDYoIR/JVsOGcauZumwCOZFscn6dP2XT76Uih1zg4Cz+3a9BuPDGma+LhgwJTmWaOvOsTBmuI0FdJqVv78xRuHz5AorjeMY22vaK5EaKlX6/I3QmAvcDRl4yeVpGyy9CN0oo3PfGdiS5KZHKceC4LKBZO1unj2E4w3ojiWDP3q59MK9FT4vK3ptPjQPTy8wv//QvhNpYlglpCtLYDgJGjljKfh6Ya/V4NoUxSDm7NXGMNPXJ8DbkKL7XR3pzAcu0JELgMXgWAxFl0sb29jOaI2Uup9wmTYWYJqbcuO83dP2Z7Zc3umTyON9yzNSYiDFAbdSPlaTGNA+d7OVC3yqlfkDvsG9Ivz7kaOLyHRFH5klwk4hzbYohPXoymgx4R/kLJH8/pU9jUT8Qi3+v67A4dsDNIXGQEfR0QqykWClTZ1rGeR82YjRyEWgV1IdNQz5ayZHleqGtn1lVCWIksTMRi5KIlmhro6vb+4YUaf2x9j1pH++7MmYuvsteRwB1fF44sYj4t0k5jZTZ914tGf3mbO11XSlT4vXHr6gq97ebY9WGZCCUiZx83fXWfIA0xnPd6tBjt2EqYCPpOs/asT85eWAMuz/RMVRx/mxw9qmFiOVCXLzd/+lPX0gv2ROj6EnRtm3Ix405+fk8leha2uDveZTsw5Kn2QqIuGTA6ua/9o1w7JHakF59KD9BKI7EPJahBTkD6Md9/+s1JPz2nvubAWsclRpCxA5CxACvR1GWGUrcQf9Mq57h7QQuSyYGI6iy31fqvrFcvXrCvnvUPXR8aZo8aD0HqoZAe1QSVLsPHIVHsOQH1Vhzh2YKTr9zFcHmAuY4qNZ3ohplbEzL9ZWqN/S2s22VbVf2vTGNgFXV6AfTLwh5KpRlesCQ90osCZpg9+G5Y0oZweDtvjJNgabdY6LmSIqjCtV6Z19XandsRN82pCs20EcqAZpi606cA8vLKzIvJ6szXtywoAUlLTP5eiXOFw/uz6xFnXU39CQoSMjksXGqiAex1gnWfKGEpyqWBdex5oWUZsbb/J1nNuPrTSsWGPpX1wlLuCBxJ/L7VFifdYrHdULiw6PypPY4UAUbrE89q5Ao5/ewcGeKN/403/k6b8S+EUInjXtK24h5ds5crDT9cK30dKGOgNVCGPpAh4cHcw3msYGbTB6Wdbh+yYRfCtvb7m4w4CYAGDoDMhFwtNS5F1hH6wpSiMHQvhJNkFFFik3IYnQJEIsHrT0yjWnO9X4fh69AjIS50G/OSvTPP9jLe3UnrrY5ImbA323rrL/cafuGdeXT58+8fH4lX/z7pzkRp4yUSLpckMuVFhP5spzZOPiQVJoXSvrCjlJifOj6UiAkMOlYL0jInrwmD76m64UYF+gLJsNwIOYHAP9YC2ZEVd/3DwzdWDvS2jms8/e/7PHr2NSGWLLkwLIUprwh2qljWlqjEMTovVLr0I2mTMhPFAB8PUc1CA2Viow9rfZOVGWaZj/gTQkSSLlw2/2+2rbzkmcOxyKPS+R7maU80xjG37FHQIkMU4RRQdLB2AYeQPGUEAJRInWr53MJMXklfCSadp7d47mNCqph9FYJg9LS2xOL2AQY/vPBz6CDHuIBg4AVwGi9kqS43h9oZuSSCdPMdb6QBqVAW38MXYk7FqWUEIGoDXrCuan+OEOORFO2diM1I6g9aVY94fWEcuhBTU6snIPBIgcD12ggu/8Cr2T+j9BeP53LqoSoqK6kRZmmysuL75nBlPv6Cwl4XZwBWvt2nvUiSsiJy6cvjtLbV6/pHz9iCKhEYs5ITrQKjQpTeLjzKaNqqn6u94M9fXxUT2blMMKBsU4eSYT/e04fMPVKa7z4eV+A7ec3kpjHBWZo7eg4K2utSPS6+Me3nWmesdphxEzSbRSVGiVl9la9g3uyrxuHsZHpKD4NTSuMxy3iHZAUSctMeV2QeVCJot+El2VhyhEF5hjoZToHwaM4DSam0QU5Kr1HlVkbqjv0Rug7sq/0+7uvb7x+0NvmzOw5kcLVB7XODo+c8YUboxyDeM9r5sC1/evXvxGwxvGQlEO8L1J5eYnkcKPXN0K6E0TPA1UptO6uE3Wt1G2nbzfmowoaJlp38HOeZ3LJMJXT9WHbd6IZ0QJ0r9rJCBwfP53DmX1Ld5vGs00IINDSRAyFnDoiK7F29OafsdXdeZaXiN5X1vc3rLpoG7xq1ele1VwWt4cN4fyM1RxL0XpHCSCRGCJxiJxLnhCDFALvH++OYWmNdFIC3Pmn3lZUO3270/d6Bg16Wx1hNQ5RM6PtG+iYRt8zeb5y/fqFPhWqgNJ98GxU0ujqVejklbSQEoSHhZ9PmMcxNJVciB4eoGAzIV8Xr0ZFr3AFOUay8JfcJyd8HZ5w6GPjvEP8AHn5zQX433X9egL8+fcC9pgY5rmypkiwUWVWetsI1plG5S+Xdz7PlR8vyqeiWBfUImEEo4qAui2lWMOaoaETxShjYlNR6rYRzIiHjUgOJ9IpJA/Mmin6eebl65X8T2/88v/9bwBShXK5Ul6/0HsfDmmPzbe1ig4YurbqG4w9wOVxdDNSjDQz6N7WPW3+DOq+Ucr05Ljjg4QAOUaCRro4Sq23hnU9cWf7urrLTIx8/tOfmF+ukALtGKKYM/HibTFL7qqSlgJZvCoF37VyyzKxbzeMSji6LuIBhWl3kxLrPpg2BjnyEokUtA17YEBDfHAZeQSsByuUJwmAqjry6HeWBAx7A/8PgRCM6GcSASelHEH1vjWs3Yi6YftOjonl+nommB0/6Lr5NDTie0Meh27rXtnatZNiJoSI9oDkwny44URAAqlMtOaWwlEiMiqsRwAp6lVsZ3A+/zxH+1XG1/TzsAUPWGVwLG2wn2ttTzPn4p2gbmN45hF8gBdYts0lLyIeOHSz09VNm9L74HHm7IFIEA6PzJh8r2utk+fCdJlJ88T88snvkSRICVv8XAiA1p1iXpQAfHDFAOt0VVQiSnwMenYlVqP2yO3ekYtzkx+KOw+KvPgAIgnnVp7LACFhFsYQKBzkCL9+ZxnLr4IQrz0JBCUEY5oD82JcxoBkDhnbJ+5v/5t+71yWCcnyKE71NkDzmeX1M22d2ff9tB01cerwy/xCmBJtMKOlPb07GJIdn6eHGUs8glgnqyCcw1leZZVzkNR0WGCDf65DQnQU8abkw4O3v/D28YH1TlRBx7reavVK/lwcYbjt3LaKjjUTDNquXl2XhO5eXW2jQqtdT7MiGYNJR6LEuL8hBDjg/TmwWzuJdrTEq7yAGdt99Z9fAuVTQm8uZ9v4s0s1c/ZOrDnp5eiciXYfyKobtq+E/UZ//0bf1/M5KUYXJeuFNBWk5O+GMEeF8bzH38nzzMDa0zP729dvj3CLH+JGJ44pxJIa06RcJ+NlybzM3qjrdfC8mpFTJEhn7W4nZnXn/nE8nA3LyeHTrZGW5ZzuAy8lRw2nnZ3/cCM0Pfkozv9SvOKj5pqqcFRQQiBJIUjCgk+ZRslI9KCh5Y1+czvS16+foXb6WmFUONteqaaEVDA29xWWh6ZEcqGrsqlhIQGOwTg6UzFmAsKuO7XufoDboxKAKkJEmkPdTeF+W7F0uH8kbBwMFhK3bWO6LsyHPee2omsg9Ctpmpgmnyj3Kb9huam7TwNGIc8FwfzAPysBow2C0xbMogdZY5UrzV/8GHza2C1knvyLB4Nt2JRyZqBjI6ECK8Jvc9X+u677/f5XVVb3d+5Yd8tT5/H104HMesfwarPYRomV//XjCy+zr6tL+oVPuTLbjdju9H4DGqpHyzCC5FExhyiZql69KtPhWuG13RDj0BkDRMyGzeVZjBotrQzLP3w+p/i3P7/5n3ZFcQJFVztdqWIOZAJdFWmd2AcFoR7rog8klHhAi1fOVQ64u7kMQFwAk2MghcA+NqY4zfS6EcSD094qfW8ny/LLn34gl0wuiel6Zcc7EDJafCpGjULMAYte0Q7jMLMTnWUeHZkSoiDRMKlnF0arszYJhmukd7+HDAvN6Oxbs1GNckHAuX98h+wKo/UXOQ/J8JQo/p7X0WIFvOAdlJwh0AjmTlUHFiYOjWoUX1vWFa31JIuEJM71zRfEjL5X//rj38IrOK33M2nVERSlU8MqqG6YDqoIgSDplGq4BaV3xEyHBerRGmYg2PBKFxKIMfu6GFXkVAqETCASY2bbGr3LWWQWcQkX4sGlqdBNz7PDxPmo27YiIvTWnRXbnytVePIocfhDhFPuRoyEmEhlYl4W8mVhbZWPbz77UE349PUHd6YLkRiEFATbN+rAVtX1TmweTLdR2IjThXwQXhRsXUmtMIWAm1p4tRcgElFLyJFVRMHnNJ72XXP2tT8D/H7yPyFgdRmLp/xHhdWQaEjoLJfEMivLHEkD5RVMKUvmdf4TNA/ULNkZyFiIEDpmFQvKdMnE0h5IKP5/9t6uR5IjWc98zNw9IjKzqpvkzGihA2EF7P7/n6KrxVlgr3Sh1ZHmfAzJ7qrMiHB3s70wj8jinBnO7h5oOAIYQKOb7OqqzEgPd7PX3o+oNzwtNGdQB8HbyvoWZ08qmUljmiSRz4urYR9W/xEOFJx4H3t0/K3BcEY6vjzAjoMjG04lwvX1he37L3z5wxf2vZ2e56mEb/r+WMPqr5QY+uhBMRxFqML2/giNgOrpGx8JXRHvrqJ0d8z8dMNQFcoUxaqrDDqUnw2+urHd35G6RW8mgoni7w98jXOh3neqNzRPTPPMlGayZNKJMgcfNRmBHu+NLIk0gBgsY9ZZ64rtG7ZvpGV+3uEPvGzn+KON9DNiYoL/xanWX/AcCg4R0kgpirnLVVhm43JVXl5mbnOKI8GeMWVh7LshWdmaBSl6FFKpxwaTc8arY9VJtaODi3USpg+DdiK/NnyoxzjaNAq08U4VHwXr0fJo8NeahdjJwxvs2ImtKCwTtjfSdeH63Te8/fMPfHn7eq7HVCbq+wMMujq7yolGSEpBmt520lQwcSSnIEzHV0QNJ0Iu6TRhrwP9VCTMiGuNg7QLIhNDW0Cj4+rcLgXXjEwFK4l22CthQX6uO+3xIEtGywua9bSVypOh1ug9SoaOQa/4KM5wp2iYyIvH9xPfTn8W0RGFW8IT0dzGWOPYOANZDQDuA0v6vAUNWHEeP5kY/rWu3//+92fE7kcOqxC+wWGSnHEX8lhXlhKaJhKdOWdeLhu/+dy4LCP0Im9cZGVqPyJ9Rfs27M7isJI8YQl26yQXpjxD0TNWFYhUlpxivJP6uaaPgvQAKLJB3i04gK+ZaaBcfp1pa434QVdqC0HcgRYkHzQaglNbSsF75wgc22uNQl2iwJiXG/u2IxYbj3rQFfbHg7cvX0jzRMLP8Ir3dWPWFE3dutGrR2c/KAPL51fSnNGSsbmQpzniiwdK3YPQABqWW5Zz8Gfb/iHmb3xWwrB/6QjPJDiz4RWoH+P9FHQ0R3bHZQWZCRJVeqIn/OvfzwS0kyc4xoO/dMEKZ8Hqw/d3npTrnEkMI/0x2aqPnUSlZGG5zEOouWMjESiVhZyHHaBZoHQtilRgRNgGj9PNoqEj3K6PgzpJBjG2xxspa3Bd/VmccDTlZoeDzUm9AU4usfrZ3wZSdjQKKYe7thTMlN4Gtz4flodR24bp+vFMPUe3rY6pmznbuuEGJckZuNK7RbEnSnMnS8I07NcAJAuSM66JvTt961QExtp+/fTK7fNndJmobaXZ2GMfd/b34DN6q0CmLBemORAr0XTeZ2sdNCN75mWZqb6zb4atsfmXy7BTOvQa/gGVij8FQs0QwB038gOa+Itd0uNs8/yh0TI0R5F6vTam3FEztB+BFxYUJh2cbYki/rDxs9zDtqw0LG+wV3LqtMNUv1ZMC2gZXGMBN7JaBAwBj22n+sbtdVC3rA9ea7zGjpEkD24rQ2jeOcwA8wDNzCwKWx0o+JHmNcC0Y1pU6agYc/oAQuydum94VtSDEuMDovWu4W2c5ExadPXzuVICjJpLoQ6LT7N0rmsbsbNpmkhDGyRu6Kg3pilQ+q2t5LlwfX2hk5GkLKOonstlxAZLJBTuW9inHVV7KmguJC24FzqZlJczLltFSHtj1sReH0FvHOFHcRN0RA6Ps2rY5R1BVCN/Dv0L3OufLVidhmhFpDJdYmOcL8K8GKIPUlJyBq+Vs1JRQQokL1xeX+n7yvZVTw1Vkui8sxSSF9rW6A5TOtTnehKmZfCbHBlZuONHUIIH5RZde5JYpx9Ko6AmeqCt83QarEP4oNq00378yrY1puvM5999d26c69sD7Ua3hs5OSZE8dMRj5mUmlekcL6BCb+0cAahm9m2Lg8GH0fWHnx+HAaObCCQol/mZdGUeaMO8ML/cePntJ7TI04dWnK7C9lgRSSxpCdL0T5KohERHewF8FPxBMwCgblB3bFuR3sjeCTPlgTYmj3xlGV6gmkH9yWEd9/m84yeJ/dgwK3AH+fHnltj/sOvv/u7vAM5m4bzcEYvY0fBpfLo3uHugyX3ltsBvvxXU/zvqcRjRoczChMO6Ux/3UH2OYs5T3OfIQjd6SsiIDjy51gN1EY/I00D2DiTl2PwAj6ar1QivKIO/PP/mW/TLHd4r676zb6H6TsfDgQeKmpQyRxpV3bazoNw2H0kzIZBCwgUgH2lBZmQVWuvc376S20ytOwxEY1835ssVe6xo71xvr5SXl6eJ9m3hYRWScb3N5MsNPgROqLdI+XHDSUy3G2jG6cjg+Yn3sxPv3cETSReQsUccEX8j3s9si/Wt4XWJviN5R70N7+DwDz1WwdHYfvTjdfkwARl0hF+aEnB6cxJ0AE1G71HYh9W4UcbXzCWjpojtgcR4iF2Ot6CecIskmwA7HC35RDS6G62GOl6INL+SJjRxpjCJOUKipBFFOgzA7Sz0f0rBARtSuVMA8aGeivF+ILujqJ4mXr/5jrd/egv3CwjHidFjv7/dR5SkYj3ep8ETCEiJ++MebgI9Wuvu/ZkS56GRUA3xVnRGiXbWVse416h747bc+PY3vznXbndHHezxTsLw1nj/8XukNQ60oaTEdJnRZYYpMu3j/DqwUBu57DGBSRIs/+19CMvSgmgbFK5oBiQ9C1j3GE8fCYP/2vTkl4AHntepCRgvQ8WYijBPEoELHntvHcl3Xh94W2m2Y3tjSoX59oJOz/OkD8zTkuI5IQo5HbqBElzorDgRyyuSsKZnUtVSyqB96Ehqarj1sxgL0WAi/IH9SWk5IrllNI4f1q58mOiaemh7kpLKBCmTiXUab0HZ9hYpcpqJ9Wsfjsyf0ltUlW3fn84vwy/YqOxbDfeh7SlOyqWcUcqSNFDLFPQWCH9XdeH6+gmSkJcbKZWgH4xzxa9XpnmOqO/WUHO8fQC4BkBovQUAk2e6pafrUHfUhO4z79sdW51LhXKMRzz0dCIRniBOvN6Tm+1jDvYzFgHPO/rr9ev16/Xr9ev16/Xr9ev16/Xr9bd5/SzCqgrdd1KqzPNIdbgp336eqY/G29cv2AYvl3KOfqo1xML+R0vh9vk7kmbaOsi54+tMhSbKPM/IXAJVBdqjIZOSpxyRyaPj6NZOLpLrYI/I4WJwjEnGJcGL8iDhRjzfBzW4Dz+18nJFVNh+fEfcThaQm+O9YylGoUKIldavgbRN247NO741aOET19ad6RBt1RYqQDfWrT4bzkPUcZKnh/BDBE1C1sGFzJnpekUvhZZhs8YsI6aTAONMhDkXZLmimlFqeDKergn9fO90x6zS+zZGViBtJ7WNdv8af8axVunjLsiUKJ9uaE645pNSIed4+xjfjJHc2eYfKr+gafgHwcBf8zoQso+cGIFxT+K1nZGBT6UZ3RtTFoSdXt+YppVegyqySaalCW0N9p39fmdSPUdPRiUvE2Wawkqqd8x6pNKcVB0naXCazD3cIdxPPhQiI35bsXIlTP8e2GOg71slaaFrZ1tX3r/ceXl9hcGBNYzpspDmQppLvAbxM9eaIZxLGqhjjGlhfcTzefi1phQjp/vXN7xX2shzL5Loj5X22KIjvsZYrq8xjn99Xbh+/oReFygFKQVVGb6ohNdlKgiKayj8Y96gnNvRoJog4SKSpkwqBT/EPfC0s/KQR2AVUrxGdEXyBtZx8omM/DEV4KcL408jr7/odQoVgrO5zJmpdLIYWUJdzuGj6jGKj0jaRtaMaD+5x10baSqkMkUSG4a5/NGPi+fYnRh7WnChD3uvoA00kqcRl5pwG77CAELw5vRQ/stQNft4D2GX5a0HlWCAVsdUKOXMb3/3v/AP//mfSK1xvVwgBTUAoFpHC7TuQYVwDsktAE7w9nMuAxESqoWHNUCrYcXVeyBxb4877HD9FPY/0zwhqWCiXG+vfP7ud+Tpck6dkjrrl6+IGEkFekerM+eZlEcikGq43kjHJKEpuIp+2L5ZTDFU417gGmLDsfb2dY+ppTuSx0g5pQ/aFGdIoce7VgI+PEapvzDCihNUwoPm0VlmKMnJdDI2BDzx9S4VscaUFJky3gzb1ifffMrkkmHKQZ9rDe/ttPlbPkwhTqGtdVzTOV2QnCNZk0atld4ga+aIQldJgYK30Ov8sf3hWTpI0GbiHOEUG6qC50BmyzKDFhgjc4B12wbvVMkk8ERr9hR9iWJ9jMWz0rwDyj40NZFEGa4svRpusK4bcxk0rjxhIjQnYrFLQYs8HULKTFkmynJjt84Pbw+abiy3F16HA4bMM55SnE8lY9vKvt+pj0GzGgl0Nvxi03Ilp/ykYXbD1xVtG6/TgiWj99AjAeNeZyAhFtWifKTKDeqe/IX1+xc5rCnD5Zq4XOIgu1yglM4lz0i/sb//wOO+U8bN0RIFodkoyjQx316ZpxgZbvtO60aX4LAxXeEDxw0V3Br1MWL5SiZNCfdOGxuPqUOKQpbzEOLJGZBQ6HXC/kE9+DHnUz8KxS6GzIXpduVx/5HHNorq1iLScZ6wVtF8KL9Hwbs31r2FEt+jiDAR6pF/PAysQ6ndKPNE3epPeIpmFoWtxQIJpd8YMSSlEdG3yYXUdmYv7GP0TG+0bngu5GbY+0Z/+2d0KqQhfsl5okgO54Du4D1Mgwfvhb3CviLrim8PWttB4lAAYE7olNF5QqZpjE2fi+lkjv1kzGdPCxs5aCK/DKdKR9Ss8jTVP6xJhg1yNDTykWVnzNp4uXZuc+My71xyAhvjbgORQvNM2zutrtR7BYmNyfeE1Avl5QbLQqfjtaPoKeJVGGKruIPuwX86I5U1eIUy4l1FHZ2VNFw2etqoX9+ZXi4sj5X+9mDunb6OQ9kjftOq43sPUWIup+1c8zRU4in8gjXR1/cQ6HHw/KIQTAh9j3Wzjlhj1UwvM25OXqYoInpHRiO039+5fb6RbjdaSiHKqu2MMXS3cAqYEpojejmN13N4jnZriG4YhmcJKkAOvmR8kCH2ExQZY2nEgu8GIA+Qdzx9C37FDuHVuMmnReRH14A/Gv//4sUq8XwdPDtwchamksi5UhBKmbgOzcNcKm27Q40Ru/dOys5lUEGiwdlJdQ8XEyREqGezFoXVZR7iWR+UpQ+2bibB2VSckuegA+DBvxv/KKUU9BQNqoC5nebiKuFV3foINdCwcOrDGieCoYW3+wNZ43UmTdSxdslKa8bewtJLh+9kGWLUH798CZW0KPSOaMa6n/++t2Fr9P5OnsLP9fbphfk27IkuU4ACOUa7j/tG/fH9FDRKDjVAzsGNv10uzPMLmJ+x3ElSNOmqmHoALYNTGFcjzYJ6RmvEXTc38hE/OwRr3vugb+gpCo17OArC4Yt9AgdnwfoLD01lPI568NEbYFG0AuqdxNNXOiUnCSQfTUCCZtvZZOTpyhGEEg+ED5rEk5Tm7rQa/tLHUDlpRgeFSIclnopAV7wLmHKYhIaIMEAMsxDhqkqM+eMtBaXIbZjhfOATEzQIs/DfSdPMdH2hfq08hqDJejQpkhL71ql9g/QsqM2CWugiUTtI0FwOsKW2EAuSo+my7iNG/bkfuqaICh40F5On72kFejXq+8bt0yc+XS6YRnE9j3rBbKPvDbMQaPke4inGArfmtgAAIABJREFU2pvmKzoV8vWCJ43YWf9Ac9wbPkddN80F80Z34f41Ct6JAB305NgOQ9h0UAyV/ze1ws8jrLkzL3C7wXDd4VIScxa8dXKG27ffRsc0PjwfC8lyePx5qdi6oWl0mNPCY93o1sfmsIDKaT4NjsrOXle2PRKfJI3c33HzRAWThg1uWtKwYjhJ1D1QraAeDeW6fTiEZHRSWCA/CZbXC/NLbFz/8ofvKQbLPEUKVO1sj+3s+nya4jVrhq7DvJ0zkeVIM8GFpEqSEN4c77G26PKtK3VvZDfmeT65YiG+D1/F7J1ijfXr99Rxb8sg83uoFuJ97jv1/h7+mkDXREVJmikaKKmlFARywDajbpVEolyuqF4DFd5HaoxV2B6wz8hyjY1Ung3CgQSKHNZQhvHBH89yJGXpTwuBv/4lp+Dhp96rx4YXPMj4ghbFQDGWi/Lt5xdelwVrAz1phvad1pStdfY9HAcO8+RUMr7HWtNu6JSDR6T6LDxEBqHegFBEyyDZM15VpK2EBYo3CyT2OIdKRq8Lsjeu33yiPXa2x0YdGzw5sb+v4cvZG+W6RBrV8ewMxWqQ4Ake4Qe+VrgoxPODS0wDzPDRKW+1s+8beZoQEnvr3F5TWFMRAoatVXJt5PkaYkAcr9FsbduD6sbeOuJrIEYa3L/TBMQqLjsh3OsRHPAB8fiJLcrHjvzwJZQObCAbaEd8InyFP/z7D7//8Z//1H//da/xPg4+MiAybGP6Ru87aYKShdYH17M/WFIKB4jewHuYjx/fUgVpjd4atXWm5Qqi7IP/ac1ImsipDB5bD6cQf2KY4sFhdTN00kj544mK2GG3o4J4cPEDkTr+ntFgKG7h3uJq51THEda9Yiit9hgudD8+VuY80ZrResQouBv98NEleKuRlBMNZVgncAIdeHBzRTO5FKbLxOdvvkFH2EqErAg5Z/b1wfp+p9Unwpwz5JJoopR5wYoyTRN7r+c9SnlC8x7FuxKiEmvnZ0oKT9wDXxGLHJ3j3ERBcng1tx5Jcq490Fji+XWPs8WdEY7xsWCVD79+gUvDIz2P97PMiSl3snSK9BGCZOc5lHDULVB6s0A+pT0nA7KHcC0Xcs5R1sgxkYm7Gsiq0Wsb08o8CqLRaNXReHknk8OOsA6NBiGE6xbC7nSkQsrz3DKL8y2lcGvwQxcxGmizwd/WcPb59//hP/L3/+n/xB/xbN6uFzQnenOaV6jCfL2wDaFdrxVROcNbHOexrlFDHO/UoFkbBWsIDNMQWCeLdff1/o6WxOXlQpnKyWF1SUiZeP32t1w/fR7fMYrk+x++j5+RRiFuRr8/mFRJ+YIeFWLJWAqnAEuQpiEeOwjgOXjwaBphbJFMeoBcdet439DUQ0+RHD4gtMcZlP5C0fqzBWvYUHTmvIUQYvzgXR1sxWyNWLtmTAOeTsuCZh0wdcW6Y9PTsgbTSECpO20oxnLKQSwfH5dYI09LoDOje805nR2Dez8nueH3N+yvxs6mCOKHPYuPTfcJNosISTQCBobggiQnOun6HFuGeXVjr+EIADGFC9P98SD0mG2dG7sI+15PW5ok0fkdSEStjd4sBCEoKS1IKie5PyVOc2zxGKFJkvMeuSrL62so/fJMni/o9JlrTud79NY4rK5kFGiiicNJ1aY5Nv2+B42Dg8YRP+P+/j390eHaKd1jgxyvF4ju/0PRFwvTn12fZZyE6s8vwP/RV6yBZ4HiH+1JgKguB4KiG8ulc7nCPHfmWRDtlIH+56ngzRGbKctCvc8YBvWJ4DrRyaoL06cr5DSQ3Odm5B6xdAGWBJk9fShoQ6GuHGkmKeezq/eccYW97mhJvP7uO374b/+EjQ0+W8K3Srkuw8s3YlTLcBnYVGLz8z6KinCDODxQe2UYsNsQr3QwSMMSrvYaBcCSmJcrt29f0FnDMnnc4/XxID8ezNONvLxQrZGHrdeyXMOAeriAeK9QK74/xsFOFFy2fzjNQy1+jglTjKwPq7ZzHf6ElnJH9A38ith8KnL//Dr55RHV43IJtCZsl45101F1ygTuK9u+0eqO92gw1TYe7NzKCBI0iwb/CHRInaxxD7et0Rtcv7uyvLzGD5WhVB5eiybO0Gui7cOEQhTJC5qFbfuBJDynawStwgBSeI+aPveEZsJEDi/KvUMGkYly2FJlg1Qpy8LjbWXtUdDkIZ7Z9862b5Qce0trTikzdfhrFy/UfcfEWd8boVtKp8BHhil/ThmZwo1GUiINFLpV4/3+TtnScBIZASNj3RWdSAh1r7grtewjgEBjHQPmO0J4H5dBS5MM/ZiQ6PBNFpA5PmTr7WzIkgfyp3mie8TPlqlAP+guE6Q57MJEIjLUh2MDsQMPTPDfvA7/f12DqnOc95HKJ+QUAsE5TUyqzNNA3T2Ap4M2Z62iU2cuRyHT2NYVJGFlImtB03ROSXqPYj6nTL4M28VuUP0s8rsb1uJnQSfrjCePpDQGQtpt7CsaFA59BmCYR5EoAS+MnxkWZDDcLXr7YDsF74+Nxx9CcFxSYdJMbS2EWanwuO+n4MhDjUS3zjTP/PjlR0SVaax7cztFur2FINANtkHTatOdaQo7tk/ffqIsBSl6UgjzlDFRtm3n8ft/Zt/CF1Y0JugQIElKidv1ymX+HJHw3ciHLZ5KjBiT0NUwq+Guc1CStJMuinpCG+FBDue/l5xHoxEOJIdjTz/oRGSS+nAw+fPXzxasc3GydJL3SE2CgPK7Q9+xHtxH7/3koIa35zSUwSPxwxf6MdbpjezOEdgpKtElH/8NWMuBwC4lxtJqdNtwnsb7mUQa9h9uTtsbR3TrUcTGF/+p0XX8t6YSXNcMTEIZBStpQvNCSjPbVmnW6caTB0ii1YaUY+QcC/5ESFN0v/tew6bCYqEdG7c1o64VN5jmBSmRA3x0bKIa3zsnJOfwRrvMXEbm9qNX3tbG7pXpqtzKDb9coRQOLbSa4TWU7G0NaF/8QBcZRcqEliUWjztsG7Rj81dcOr1lcs8Iwfnxg7A5rDmOBIsD8DoUwS6KuWImH/3a/6qXDM7RiViNUXfU1kc0p3HwbnNpTMvO9ZbBHux75XKNbhSiWBPvaEncPn8b4RX7ftqfJBUkldhcTWl7bNxSEjp22OCjGb1FklAaSt9TEX64PAy6gqQIfjgfYnPyZULtytq+kLKyvNzY7gNpqy089rphYjy+vv1kE+h7CwPt2slTYn9sYEYbnn7Ww+zde4+CyXxE/41mKmd0TsyvN/Q6U25Xpms5I0JdoIpQm5FGlGIq6Tz0sR7PgRnuwxS8N3x9YFuo/DPBUTQacilIuoKliG2GMSKM6crHze2MtZAV+BG4IHLBuQy+2f+3hfhLF7EyjkgYzVC3mC/SSMmYc/DVIO5Z31Ye9zc6TlGNfclj373vK1qUl2++5Xq9oNOCs59ej90l1kA/PF4dkZlS5vN7eO9REEisyVIWtvv9fOY1xbhVJGgaOWdatZPrVzQjzUkp02zH1xaJZfWJhClKyTNmmXUL/860x9ppVsNzMx5j9hoI67YdvGulNkHb8zlsHfpQKqsqj3Unv46kIxX2face7hQp7IE0Zbwba62h2h6v30SHW02mDbR6XR+UuTwP3s3JCiKJzkBEm59IE24YFZWDEiGBtB6sig/JW6UU6gBDTgOLI2VRo8gz7wgVZQS2jBjUJ+L617uiVgx/6G6HTyqIVlp/kH2j0elt4zE471kqSzImGVIUDNvaOfRyCTeMKLg2qk4sr98ggwYiKTxN3QV1CwN7d3qyk6bB2NNwwXxYZsnOOviZ81Si+LSYjvXhP97GVKlLWEBVC3qSitLqflKMNBVSEixVTJy9b2iZGSwtVtfgnpIomtn30DY895eYVqScWL9uJMvUbUck3uO2hX5nnhf2rdNa6CB0xKCnMpOXmWmZuX36RJoStVf29uSW0zvd73DwgFWi8XvmDMG00NJMWqYISur7ObInefhl0weqH5HMPR1Je44MDY4XxujO4jMBYA/EOAdVs/aItE/DvsxrhWniGdn4p6+fR1hnj03RgiwNhEikNpROEZhVUC1nLm6vDyx1UrnEClQBf45l3fKw5QB8mLmfnqqjN9RBARi/q4K1RttGYVAS4uFDSY+Hwt3OjTUobn6AOIhE8s85lZEwvgYZCWfB+5pG9q6UC9Uy7EZrTnNHNFPr0bE1fIw9OhYHAx/O5JGvfv5qa/AYD6Sh9rOATZowgo/rg2TP8OoMfnamSSz4PmIYp9sLOk0UFZaXG9NloVOxx3qOELf1AdtG2x94a0xlQcvCfGTCJw3OCwHt99ohFWzweC/Lgnujq/O4V5JuTJf8bArGuI3BRYlIWHl2XJI+0Dz+Fq+BCAu4DkuaqXO5Gq+fM6ln9rfv+X7deBliOsnxEEbRWrh++o79/f0UKrUA3LktN3QpNDFoHubip+tbWLy13sO8WjW61w9UixAUSXinmger4ui/hlLFc2J6vbGuP/L1cX+mnrhQrdO3laQz3Rrb2/1EH7WHEM2642g8z8MTOO5KNIDxa8ROMhoToMwZpgnPwuYVbRuTlJPn52Z4SlyWG77vePlhcKDHunEiqah3etuxfUX2Ozy+0t+/xH3s0eh1dRb5RBrpNydIOrqjkxpw3pvnoR2HwQLpE2KfcJ/5uYL1ly5O/+Rlz3G64ENwUtFsiFVa3cgS9/2xfeFSnNfXhf54UNc73Tib8E+vL+y9Y62j2mnbA6dS+8F91sHVE6YUqWNCAbPzs4NA3g+6SE4Lu+/sj1h782WKotX0bNDInJOlQAUVx8maaG2lPQKNBKgP4+sPb/y3//qPPN6NUoQ+4qshRFvzrOzbTplm1kdjuWRaG+KSpPTuY7wbYqZaGzKOuXWrgU59vXMdYsfa6vMeW3AjPYWABcloyuehWubg/oboZ4hzzIIWdPIdR3HUjYN6FrzC5+cYJvgCkgay9QQSzBvuiV4rOc+UMg2rsLEkjkCQUp56Vzo21r5KHePsX4aKFQ6xH2LULYJBxHfctzHJq2g69qPKen+jWWNEKATPeLz+rW8gcHl9ZSrTmLJ2jihaIdHHJEisRwS1O6SJMgo+39vgNCsiJc7WnGAglNujUkoKrqsHcCQEZWW8CdxjEqz9mCRGYiGEKOqMP/egN+Yy4xLP3n0dXvOqrHultco8Tyc3WUSp1ZmmKE5TTtRd2MZ0sveAobbd2atjFlzX1uMevHwTKV6iwl73oN2In0LXSrj2th5C7EA3hZTyGf+qGG3faXtMtad5wjH2LbQLRWJa6jtQ4md5CsQUYnJorUbJp2Gfhz0tIw9fbbOxdjU/GwqiGe77juZn2MCfun4+mlUaWTo5eeRPA1mckgQxUOu0vQUd4RAMUdm3lSRBLE6pjJHmeCDHIXP49fXeTwN9CI6RenDWfNSYvXXEhCIj03nfkTnjPThezkjEOYriAzszC081hJSfnoPewhQbH3Gro7CeRib8f/iP/xt//5/+nuLO9bIgKdHNaXUciCpMl4V1q1itMZpxZ+fZ0Rw+alnDcw3lLCp6C0RL0DgAUqYJvL3F4ri+XsklMeUCKdNFWeYrL9/8BoD5dhuZ2pFZfP+X70MYhpwChzYU7ItOaImYNMt68MyxHNnDIVCIIihiGwda4glvIz1DBKuw+U46uMg5R/a3BtwvHjjjwQA4pUy/eCHgPKH1n1gxnxzbaY73fLsFBSZrp6jw8t1nqE86DJkIWXCCMJ47l9dv2IegqLYaCSVlwXQ4XXhjvz9OkYDqjOZAQHEwDTTkuE1nTCCxLM2HN+BxOz18U41YU/PtwjpPvNV/ASBVR/MN9ejSIwnoeXiJh4jDEqz1EcWv2SkIVI2JQaQePZHXcqhJUxqj+U7SmLSs7290ff77TqK50u939u83SJl5jmdrzjOZofjVULp77UjtTEdSnRsGrH2jrw9yvaDLNTjUwCHAiFh4Hx/xc6wakPCG6B2xr7g+wK+cBauP5mo0LX98/a0UrypPYQgExzfJcAexB9532kDWbteF7Cv79gg1dhJwP+MfU54DCTXorZKnGbM0fCEZMcPDtzpnkiptjf0lnW4CeiqoWzU0HShr7Fu9fogJTjJ4/nq+hlo7IiXQHAtP09Y6dR/74q78+MOdH39cSemVx64x0RmLf2/OY6uUXOi7srdCauUEEqRH5GvtPcSKCq36B87yxFYrn8o8FNpjvHsUrC5MuVBro1ZjWUKUVgbdbVmutNa4rw9EhFp3JCnFnazPgz+CdAgwxTtymNITdI/WY7rWTXBLSMqnANAHiNOAZB4Ure6ca9daoOwOEPc3EoIOHv5RrP7rdf3XuMR+6qVprUGtpOJkMbytuOyYjbAVNq5LIpth20bbdrox/Hbhulxp1rFm5ByFaa8rrR2uJufkn6zClJWsYxJ4NOkSQq0QD/oopiQEc8D7ly/QjWk+PqdIxDoGppIlKHx+NBmANNJYV22LKRVdqO/Oj9+/8V//y+95+3FM7rICRu8NVcg58dj6KWbMSVnXzvVa2HclZcVsot6PqbWSc2LdO0ckb22VfXgVp283roPLvW873mJakAaVTVSpzXDXUUwGRWxallPb4HV7TuF6UIZUOnK4BpmFpMAjdMSGcOoM5cHoto+krfgZKekJMjid7kOcKDX8y/W5/7oJzcKBRC9/fn39bMGaUyRGLDlRNB7aKRkl7RElV4cVgdlpbaJTjxveN7atIZIoeTpVkFIWDDmV9Cll8pKfHtnmeDXcYtxjjUC0sDMFoZRlIERhmeIWY6czlEEj2aYxBCvu8XfHhKAbmJAkk3KhfshkB+gIP749kG0j/a4wzZm9tTNxJUlmfdT4hhZE7703liWQuK/vb/Temec5OLi1U4qeh/++t8G3de73B2mZycvE7dNnAD59+4qnKCinuSA5Ywj39xiZfvnhjb3WOJTUyFlAlZwLt2ugxJf5c2QGt8h1l6SRGHJYMGmMphIpFKxi6EXIPjLtu+Atn/xLzSUW6dFRWaN3Al0f6RyRTnJ0XBCd6U/Htn/VS3xs4AcEF+8zjSQWE2Oe4XaLz30pleSGWg+RS98pwonQiBYkKZYakiuqE77tkToFtAeYCqSJlKeYLCBM2biPzaU/KreXaVATQtBi+Ln5oSnWdO8kiUM3Ag6OzWfYGYmFHVQS8nWiHpSdpBRXpDn74wFJkTnWB4S9SG8S3Dm349x7ArwOJWW2utM79B4PThrrouRyPme5N4p1+nrHB+fs8vpCyTNaCsv1yqLL6DrHZ1A3jD2svcpMkkzzTNcJpkE7UCfVRtmUvtVwGPDnoe3ESJpDVClRwB8jOrFRAOiGy484PyLcwI7ir0Qh6Ixa5Uln+tu65AO6KWEz1WGvjYKTSKRBQlOFtnWySKT/7JWUphP53u6OpxRBDKnFvrAUrq/fxHe/zjGOE4e20/ed1oeF0DH6JBLvVCPQQq2TU8ZHQSfD/FzEQoSNjFS3WDs2+IpOpP9lBJV8vof3deX77x+k8sqyfEd3BeGMmDxIPB2oFVK5hVHSOW73UwxjvY3PszyRLJyyvPDy+s1PUvCO6YEmHWlGwjRNqCilTE/3lsHrnqZIDZOsY/JutDocZmxncg1xVo3nM/mE2xGRm8g4tbcQzzRFsp0obqQtDSABBz9ExwdHNtAo7x0Z51xQsn5KjvmlLkUHBeRDrinRaGGBnHbbuQyh26QTbf0C3vG2B7ClSj9dRQb6bJ3N1+Abi5LmmBSWeYo0Ng0XgBy2FtTq9DE1SmMfluFS0Vvcvzwmmst0oe1b0OaJSZoPygWEy4BLou3RFGfJtGbkoyBG6M2hCtt7459+/4Wvb0ae4jxf9zhvDp3NNkItDiu0rToiN9aWaV0CqZWw+IJY8akJZnrS2rrlMxZ1udxOOmI3O5+XIxa5t06tTs6ZXCZSUublQi6FNjjw3QMs6b0NfUpHvJ1hLvQjxlqwviM5IXzQHimI15gEN2iiSM6kY2o86Hm9e6RoupHyfCK80ALEGROjP7++fr1+vX69fr1+vX69fr1+vX69fr3+hq+/4MO60vuDSgubGWDbNpJvZHYm6RQxkjOsraDfa4y/pQdfVwvbtlMHQXj5VNC5IGXCfdjpWNgDAcGbTMNU3W24IgXZ2cf30Oxs2xcEmEoekXl6jvwtCS4pBiMaY9BqQj6QMlLErA7hVU6CpX5O36o9KJcrb4/Koyv7Zogmyvj3j3uonKMLVnrrpFy4f4kuO5HY12jX9t5Z143rJdHagbD2oVZNSJrI80y5LFxfxtj0esXEqW3jvq5MKeHWaTyRBAZXcCoF2wMpa6XTBhIu8zKYNobJgPelP418VUOhnhxLjqlxWB0BWAlrGjdDzICNJAk9FL0qNIy91RDWSY/84NH1+ci6fvox/e1c5h0EshqlRIIixFjDe6fXjvtKa3e2/YmgXl5eEXIAhiowxZ8Pd4d5CrEgJdMkCOVuilOYrgO5zgGWpjLRbSOJhj3auPHB95MzevgIvTiV8EOsoZpGBF94RspBwB/mzK0ade/kZZi7H2b4+sGmJWda79S9nghrSvFa9r3GfTDI04yegqfgVktSSIluMF8X5mtMF9K84GWma0LnGbl9x5xzeBsD0hu271hrJIvxqCF4XmjHHuKGeqN6Y9sauglL1/MeeQ86D0nGeI7BjTvmTzliSPXgWHV+KU7fv+mSGEHGnxMcdmc6kzUmR/sQSfa6MUuMtfdq7I+dKRsH2qYK83RBSma3HbPOLEHlAcI+qnfwHgEi4/MqU0YHz9WG2bl5x63H76pMQ/jlvQXvuVrsj6ng9vS/zXlCTNEEa481rTqdDhQ5Zx4rLC+/YZ4/n9HVHxSH8dspnhS6yFMYQvBSrfchtIoJxhN96kx5Ik9L/D8P2thhzZMkk0RH9GfYFd7rG8vwpt23FVWlpBQWSyXR+sZ6f0eJCcqUYL9XmCcaTppKWB71g2qVca8oHuKulMJR4aSzDa6kjojRbk/rRsAlYkXpHvZhqmONfPBh9fHrl7hOb/Rznh77pWWyTqhEiM06Jk4mlRyyKh5rxWtlyoUn8GZMywVNE7VVrDfU8+m9m9OCSx6uOh2rO60Z1v0U+4aAcExiRwhRtxa0LiJEIM8atIpuA/Xz8z2Ei6uQ84xXD/RTEvuYmCaUkhbEJ95Z+f6Hxnz9LcsS0ws8YmNPJz5GhPF4i4YH/xpCx+L+Ex5v7zUCNz7oLsw711sguPPl9jTwP3jmoufkoPc+PI2VXivWhaSJ7YN11jwtEeWdE+aNfbuDrZRhS9n3HrG4WWnuEZDQ9Dl1zop4izNUhznV8KeFceapUjRBGpQwY7BrifX9oQ78c9fPFqxuO8iG0p+eX8kj3alvWN9pvdJt+N8xrFgSbG3HFZaX19goD08w38Pk13WMN8J2KY0PR93RdIk3IA3b28k0O5MlklDKlfX9HW8tbFX6c/QcFh8BgUeSTyKT0SNdQwWVRt/WCA8gFKqDw0yrIbZad+Xt7oRk0RE9bqYzTYXWKikV1rWxLMo+uFgpJVorvHs8IKILW5XjzKZbWL481o2qmW8lbI6O0dXj8WB4nQ8+o2CuZ8ErKuQ0IUOVLhLpIW5+imeaWdih0KIgUUVFTgGDWAo3AxtjJfdQZZ9cSg0/0BwFDk6M+o4zQ4xc5pESwhi1NPyDYvh0TfgbusyHB6o6KXcuizANAUCho9ax2sE3ZnXmy4wdHLv1gehCnguUGZhDCDM+WIUhmGJ4UnaMFCKQcS/SFAfWvg1fP08o+Swoe+1P5TB+ctV+4kPq8SyIGq6RBuWnQCAsnLYt/CzxjJk8yzWNhKE+VIK9H78O8/ZK0kyvnX1rKIpeMv0DjzHnhJaE5rBSSWU5m8m3reEdbt9cKdcFHxugDi5Uqw+2ty9Ya2QSMk3oPJPyy2mB4t1gXdHlSulr+DhUyOM1JMmEmide8elUwTEKU0KxOMQQEubl/7NdQXp6UgJqd+57WJVFve7nhi+e8AR1b4jOvHy6MH1MmdOClpmOs0xLiIto1CGq2J3wRQw7grC4SyVEd0ezI4NiJYKm8IIUF8oHBTx+FLIZ7WUUDcfIPUQtrkKeFtr6gN2Yxt+/vVXWKizX75jmy8mvPoSkPg5xdyMT41Hzfj5b5j24hElDUDJCC+w4+B1SWaIA0hBztVpPy7Wcgz+OhYCnblvsl6Mgr7UiImzuPLaVPGU0GdY3yhBualZq3dnpuAg5Cd4GVQjCg9mCXiaioXLPU7jEMLjrKTiAzqjNx70D0Cq4xxrABDzHLzmO8sMN45cpWM+nbKyJvcO6R1CAq5Ilmm05KBLqqMS+l6cb06Jkwt83vk1Gp4UOaNE4j5JgPcCh9b6Hbn3Q0cQ7KpBLjn0cxhnqGCM8RxmiTz9favCOw3O300GevGKBsLqUBEWQLpTpQh0C5bpttOpkT3x9a2wt8/LN3zFNAUAF6BDr2Ibm5hDPAmSRQaszRIJihz9TGlWnWPseXxMhA0qeg/6Xp3k4KRlmjTzl0zMW4mcnDGuNx2Plclmoa/jGn1+DkKdCLuPM7w+S7Mzz2JPbzl7DCUlG4do7yGjExHK4vuQUeqZcoEynJqa5x+eu0aS5R5OcjpS7VPC2R835M9fPFqxFlTkpYiu1DWK9NOZkTBm0R0qF7fWZhtIh68TteqO28AE0fUapIWCa6Cj94LckpQyuQxKl17DdEZPoZuzgTcbX92qozpRk7I87Ykrh2cmLxMajKmgutNqpzShyFM1jXxPCU68btgs13iK//4c/8H//l39G5YVyT2Ox+OmbJirwHqbOKsK2K8bTRSA6qcRWj2SU+B6tHQswLGcejw0mO9GCkwC9R/qRZmWaC7Ubbe/ksXGmFIrGy+VCKYX18cB8H8DD8TnYsE1rQ6XZUXvycsJhQZASAgtXoG/Pf68j7CClQPMkOI/WxgLsTklzFEvDYN4sPDUBlBw2F78M9//PXiKHHZeRcifdLxptAAAgAElEQVRJY8kDYRkPdsbJScPLsrXwmwO6rZH8lC+Q02hGHD9Q59FRtlqp+45qYtIUB+Gx+blEg+YZayEetBZd9nF1DPVAB8Nb4o+iAgFc6WPd5Hnh83e/A+D7f/iePBBkF+V+39CcKcN2arOd3jrGQFrxiAA82/0ohtresRFhKSnB8ARs2MnNRYTNnFY7n16CU/abz58D0S+K1EhTc+u8fw1PQm0N7Y25FHSe0OsFL/m0pwHwvdFLINOpJFRhX42ehuXalNEsyPC4Fc2Eu8HToUKIv3NnILN/xOsTosD9M3S/j/f7l7rMHJOnmEabse/EXifOXPIZzyjmqHbyDLnMZAffv5wJZ/nwkB6bnyTFbD2L0ZRKTE8k9mORRFtHzOV4Pb3u4agyrAhVQ9i1DzFqPAaBvnrXiNJOzxS3g4+JKfPlymPf2fb9DC/48nXjm+/+PSqvg0saASZHE95tfG8PLmlrwQM96ZvmEbhycJ3PhKjjXIC9dn748SvfTEqeC2WamIbAhyHUnXJoKtx7JMEdzZwAWAAF0SORNEQ+15Gsk3xnt456+LsG8NfOsytS5vxM4sM5nWqePyQ8hs07IocNn55vRexYtzLWdj4bFz/X+i9TsLo1XO304WoIq8S0xbQyJeGiT+410uMeLguFK7Y36vYjzyAGZdJwrzBCqKp0sOBepjKT84SnqBWSlhBz753T+9pDAX8AXz6e/aNYM2u4BToojOhYFaSMhdXH54GR8oSLotNMmY8odtir8+PXyh9+dL77d/87KrdzYsSY3LW+B6hjHbP2rJk8FPZh+ReTB3H/IFQfAvKuhIrccEt8fYuC+V++/8rnNFPmMtZ0ClDmeLY1HI0etUES6ih+RTnjYRElMm7CvH8qiWW+kQbK99juuBm5ZHLSEeJkH5D8mISISAD+HqDN4Z2Ne5y7SPCVrQ5uuJ8/P3zif37o/7N/axYaMUHPmDMY5rjxlOG9s94fHJb1qpn98UD2ipQJcaO1+9kFaxfm2wuX5YprHrZXxgFv9hrjKOudZPEoesB75yKuayUlp6RCmq+xgdWnktqsY8jwf1QUpXsPg2IIG4lmSDeERJLIj/4yRE3/+I938vQdl8t3dCKlSNOHWu98EGKEq2WmWqIdt/Mk/0c0H814dr4EmVoUnW68fvfvyNM0/A3Pj/4UBBxZ70H+P0QpY0ghw7ZFlHleAtWcngIH7xvNN9QbWg2ZhviKiPBMpaA9hY1WyYi3E83oPQqepkoqBVTPRgAYRvaxYYrmoQ7N8fQC3iquBVDkAP/+Fq4xZU0JLpfMPHXyGHsUhCkpc4k4W7E+Dr2xtktsNPu645ooZSivz/HXceAnyOHXpyYjEnKgsBWwHTWJMaAlzJ73PZUYObrEBmCt407kowPe2jjMYxZugKjy8vlbAP6v/+M/c1Xl9dMrHScwbw9vQ4DeQDiL3fvjEYj9UVBbNCN177S908XwZTnJ87VWXq8LeZqZLzPkxHJ9YVpCcbs9As00KuaNpMqUM8WPZitQN0lKV4lsdzFy9jMUTZLDTNiftDikclIYdJa2V9SMxBSG1KPwPnBkccaIdQgtJNbh/yzX6ckpIf6Dgba3mcbEpoleKl7fkKG2nvMOvsc0TBJta6zDaxeCorVMxpTy8IAMcZuM6QKlQJrwgSy5NbTsYEo/PH6tkSWa75wS3QTzFp8NMZFLGDLCJsQU3/tpYeRZA03MsbZzmrHpxj//EGt/7Ynb51fcJ5p3zBvSKzIK4tS3oCv0RqUhvZNaHZSlQHuOFCKTYb91+CcSz05r8H7vXO0COqFFqUfuPY2SlaRO6xvVewAeY13NU2JOiZwUTUJvO9KMZRLKmP71FirpZkGVo0XRWQ5RVetYSlgn7osb1rZzX5XhwiAucaYe4/1x/uZywTUF20osii4Pyla8iXdgAvtlNt2w93pO6qRPtG1ik4wvDfMHaduRfFgJVsyDorLvQBNknk+Fu5nhKSyp8mhAre5R4BEiUOt+UmYOKoikp/iobTVQbaLRSClj5HPaqMNj1PaNIpHiqWniSEPpraKTDYpLj3PRQQdKbDaj0wubG/Prb5lfr7jlM+bcvGGtYq3S6mOs4f1ph0gPL+pWz4mdt/aMi5Z+1gM+aCxg58S29YzrDUsZz9AkisnDihR3tvWdrRleCq1k0lS4ThNDKxvWoQNYSGJc5kwzQQdfbl5utF45OFi9NkT9JKLgPYCHYVLh1oMalA4ENSbgcawNi09vJyUJLeTpird/Q8G6N0XTFLy3w8nXGm91ZckaqrUqoMvZrWQ1ctLBzVwwEUxs8MnizogbdX3QBh8vyvGhRnNDUiajqNnpZxf3/TmaarWCClmjU7XeIxoM8AYuBRgFmii5TCclAGI0VGvFu5K9IMy836Nre3skPv3mf2UqlxO1PH7BGNUdi32MazuG6EimsA/QvZbz649/Ixoj2GWZubx8ppR4X+1YgeakKZM4Nq+w9Kgj3vLxXrler9y/1ihoJQyvcymkAw3QTmt3lJ3rlDDbWbdDyQ+IkK5LfIYqiBXMnyOCkjOkDHmCnGnuIEoZC9i1DHNhR8xjTFtm2hiTOD0Ms8/e/699fbR3+Sk62a2DViLvekdkbH4lxjO1rswajYGGtDH+cWukouFXZ47pSpkW8hJpQc1GprRmprnEWGdvGPZhShCHkZPJJVH3Fl3usbdYpAOpyvB1jUG3nn+vWDWyJFKaqBK2V+sYf20txqDzLTp3LRnvsI61Iz7W4uiPtsfGPE+0Y20bJM3UvYU7VA4k9yhYv339xOu3r0GlyUKZJtq28v3jvwNhXQRGzmHPoqkgLy9clhhf1dbo7oFi5YokcDXcduyA4pKRphwoVBv3TDggPI4MgG5jw+sVcX3yq32k36GEG0D4DT/h1KMIkA9r5M9Arb/gdfDdYKDBHkCBWcIluMof0UMXo/eK7Ttqicv18nTyGsl8rW6oKr0Z+2MlX0ax5iU4kVlALJC9mMmfXDp3p3sbKGaKBhk9fVR7iwLKDu/gHorsfOR6m2G9YV3wptSa6XI5+d2v3ynYjd51hLUch/ywMNpXrO30XlGPvc/rHtaCQJfxtJudquzDhgtCBe1jH9M0xdmW4FAmO2EXFDzYuKmS09ks3m7X4RoSSO/7/S3srCzRa9yD62Xm5fOnUFurPBMRxx6iIrimczUezgMHDz7M88e9H22YDMAmvmDYNcmgu+DjfHzGS3+MFf3rX88R8/Gf5h52TBQ0LWF5ecSo20bzsOr6f9h7tyVJbiRN81MFYGbuHhGZyWLV9Pbu7Yrs+z/V7Ex1k5kR4e5mAFT3QmHmkaxq1oiM9GSNLI2STDKOfoABqr/+h4wwTUtYf60PVP1637jfYw2UEq4PMtLJ8ur4dGJ6EtI0j8IuaC3765BKFPzhj7472ih5n5iOMCSR2Bd6s6DcFD+eUbtVypJodUOz0NaO1djTNgPnwvIyIVPGrNAapDHd6H0UrH0jtxJruNUjXKFai/+vG7atdJFge+wIrcOe5rn//XFdR/pVj0AJ17jXzbiN9MMkziRTxBFfnknTREmJSZW23sZj2JhKjoZPI0Wrp4dN5nyeyUUJ6qBHuALyiC0ergr7Y+xbpQvH+7TT3B5TgTGpPjQuSuiC/icK1ts90bOyKcyjUp7zhIoh2siJYUv1jA/yf9vC/DsdCT3BwtoJwC4Va6+Q5zDmTRkROfwAIUb+NhIrvNVI3xGOtJDjzTNn6xthvtSPMYTjSC7f2d6IanwM8OZMp+gY7tvGenNuryu/xkPnL//6f6NyGahXjMVar/TR1fnORRl+ka21SKrYEdLeBldmoGTm340AgkOZqE345dd3OCVOlwUdY5K8ZFLZkQEjJwlj3/EaS1JqqzFqxsY4NDzarO9EcJiScppPZDXu7zes9+EJN96fHoihD4FPoI/p+B3iOx/T2b1tHwfo8P4bNiwMGsRuAbNHiYr/oEJA+hiJfMhCH0VaJMR1RIyUOr0HF6TRMO4kX6n9Su53JnF2rKJbx6TRvFGWBZLQtko6jZv2tOAeIrzWKmI1rMBKOop26T0Q6TShxblff6GoPDhqHqEWLimmChZrxWy3VAtrkNoaKQlJJlxD4AJQljPr28rrzUhJSeZsdaWUnQ4j9D5M1luFnmj+MCbvPdbbfbXgJ7tTcjlGylLyIWFqa4y4ZJ8oMNhzqsyDB9u3TksT97HVpKyYB0qmbkhnoFO+A6h09XEog0zDnN36wVEVIqNaUnDUs4DXehh1I5EEtIsndPys4/J9ZLoXrHzYOI8v+h9bZ/8J1069jWsvAGC3hgmObkHShMgQrxCUIjUja1iTiXS2YW5eW+Vmt4jNzfkopsrgZ9utUy6fmC4fLZU6kjhQWhen1+B+CmHMv8cLwxByDp9fb5BNwJw+0H0pCq1hLrRaqF7ovpCXoJMsnrA+UavjtSE9Y5qOsyMlpddM6xXxRmsbXUfAxniVwrd4L+Jl5Mz78f+9B9Wlbp08x2h15yr2ZvTtjmtCpDCfT8ynp6NZS6pY3djWK8syHZO0utWj4NySkk9BozEf4mF9aAfyhwbEd9FhkmOCGT6g+xMaK35XFo41IDJEWmOic5i+jpXwo65gOMS9JXvRPBoE9wQ24T5jWmg7ItxD+yDbjckTXcLf+XjPUdZthRacf7qTQ9U9Pi9M8xL0ixJ2aaIeqOgxUu9Mp4JVobdhexkSp3iIDLFhd1p3ehf6augoWPOUwTp9NborSmK7da7XwSHNT5gXGHZnvUOvjbQOzUnv8Xh6QVrGWoFWYfA1fSCXQV9y9n/2t1Q9mjA+FKwOh+bl/XqHX+CzCmjCWXFbD29gc0fnzOnyjJYT3UOAtm0bdSSOuVfUJ86nBcVxb7RtpY57I5uhWcNTPykyfGB30ZbrSB4UifPPIjBDBkqoKcXSFDjUZ6KPxkYFLCbiv1cx/G7Buq5PuCS61jHWBrGNuTRgxb2OlBw5CMIyhyFs9ygGRPa6caCIdcNbpaQS9aUmRPIDXcERXdGi9LrS2zZGI3x4ceLrXRtZM1Zvwz/z0THprHiNiMdUMiQ9+BQ28n7FJ1wmpFy49sry+S8ALJ9OWM80r0ElaBXrj07fjw4pRlPaexgk7+KbkUjjNgzexcLD0x5IhUgPHuvaefYLXU/I8KH0DI2K0ElueN+41426p0YsEzUl8jJzypkkTtBKGtf313hjxTnNwRVOJVGmU9ATPnQ0vTVEnDSiPy2Xo5OXkXZkbcOGAXikWz0O8oTE4Tn+aM6IPx3vI+pROP4zXQ5KQiy41142Utp9GjeSVqRtZK0syWFb2dbYWMwluliC+7xcFkShbkElaes1bhOPwnJKoOkUBdau4uy7Mb+AJ+bpidvrK9O0F/pBlpecKClFupbJQQcJ3lHC+kZdK+JQ3433r/EYfvm3N7wVDMdsRUQoJePXx8axrpVlnqkt0GB3j7QWQFNm2wyzKAZrvaJfXjjtdK7eI9Iwh/AGTfS2K2tDuKI5BD5oPe6JfTogEmEK3gxaMMOwjCc51N6KR3KbCClHxrUrjwmHRwJSKguqBTwmFj7ep1xyLHP1QYq4I2wgIxBaOkd4wL4+P/pY/hPwV0MIKeyyqVgv++Gv4AWkYLsHcIwOaOuNYuBpp0gMuosk7vUe/FV3EkpO5XBWmOeZ+bxEQzJ4qmaxd9lOmVlyOFNYqJojlanD8OD2bngXvCu9OqlFxnsfZ4dZj5ARErc1437BZMJ0OEycCt6B1MM5o7UQu6THoeaqpJZwr4OHHeNfAM0WI/YeTdTO5tzfTyEO721rfPv2jqQQrfpYm9iKeODJp2Xm8vQJy5mjeelO22p4dmbhcjmjbpHYNQQZtTb0FP6TKWfMO9t6Y/fEjAM5hIK99wBXVI/AFWWHiffueoScfPDjPTpv3V1d/NHh/MClG03VEHwd91OkSXZLmBXWLRKPyi6wlEQhkSRj3bnVFbN6aFpU47mHCM9pvVNyOl6PpMp2v5NTCr2Nd2xrtHU7nATICcsp9tC9yer9AFe61SiG1bi/r7St49KPRipPM0kK62agC31beH/t3GucdZfyU3B0PUedlCJNjkGFkdaRVrFe8JqhFbSueB/PsW2k0YA0ge4drLGPR9SiCZPhLOBmR+EKQZG6vt44X06kzKD5PCa6tVVWKfT3K7Jt5Kkw5cR6fTuSLUsRKp3TslBKppQTd9UDQW3NmEqIpepWqbUCcvjrH/HFrQewMwIG2kjnDO1GFPthJDEK9J1OhI7JmP5uUfq/D7Hrj+uP64/rj+uP64/rj+uP64/r/5fXPxBdRTSey0LKI0+djlGpFshfMSeTKENFbG60Ncbf2/XO/R6cqT1VolvksKfVYToH92Q+euGhxO9AR4ugUvAWCOaupFbVQAVjXh0N5khPAbAm+GbkudD6FmPpBHtog2hmuyu9fqK64nrm/LkwXaJb6D3RmlNriL+sV7xv9DqPzwfpu1sjW6O3jV7jDwxSeB2Z095jtP6hI3KP1IgYTznb2imbhUiMGMEj4K2ytY2u4cu3jI5vujwhKYWYRZztdo1RSpKDFoGGZ26rgvfMdJoo04NNuo/69/ckD/T0McoP25reHLKSpjLiOz+M+ge0L8d4SsMZYPwGHyOKf6YrFJgpuI8WCVO7tYb3Smt3ThMUFFs31B6WTO6Kt05KCetCva+k4jG+h8Pf0UXJGii3NaXWjvZ9ZK6EJ2Ao8VPKlDRjI9nFxEPIJYJPwSdtZtS6I2WF1pxMjO+tOtu78d/+a6jwv35rnJYX3m8PFOK22YOqoQmzBbRQq6AaKKfvnoIqERnpADliEst8IHFmRus7+JNotWMG00AzUsosw73i+tZQzbTejphDHFQaWEOHt6r3ikwPpXOMC7bYS/qwVyv5QG2sO80d6aFadfNAbXeXjdQHYhW8KbfO99ZWH3nN/wF/9QemXj3YAA+rruO5D/6z+0Rt+tAOSAgZxAXpnet2pyjMQwHvw1bmfLoco3HsIVRNBL1lKhNCqJbX+50p57iPAS0FdRu037CkCSBwj3eFulZaMzChnCDlcnBgtw2yzmyb8fWbMM1PTOWC5HiM0gXphmoIOqw1tBX6LsRICa8paAJdSb7zI8fkzNrwO1XU/Duhyv4a5JzprXN9u3J5PlO3hstuS9cpOe4rEeV2v2Ma1AeAra7YeiWJsd1v4XShwvl05vr+Fs8hhfw4BLlBHTMbllnsdoGCd6P3TseG8HIXDApMikogrwcV5Dg79qkWROZ9xj8Ieg9E2f3vrer/1OvAseXDOTHur9bhdg9knpTR4RfeWUlWxh5rRPpfO3xacy7MS6a2Bu7h6rBMB4VKSonJF067XmPC40ZazmG3CaAxUU3TFGdxG7Gox9Q3UMG2rlyvb1gXJE9suxdxh04gxKLP9HZini6U07/EYyxnWpcQHmdDrA2x5IMC6KLHfRST/91XlZgGuI/vrWjL9PQQOEsHdi60B73S7EGbiAm2gCklTWjerc/iNVQJfug8Z8ppQXOGvtG84uNrWiVGu/OEoNyu13H/xOvctka3SilT/GziXtJ9ctDDRUHHtDb8xR8IrYxkU9/F+kbQAL6jPOk/3Hd/v2D1hHnBbaEPqXfTMOXGnVor27ZRyOSRaZ3U4+Z0CSIww79sHNh5ZNdnlDxHTFjKeiwux8LuBzA6Zc7IlGjbh82bGKmH5UqcnnXt7HHKvRo5xeZTZMKbUzc/RBlo5vW109tnpvKEWUFTIQ1VoHdDaiNvjveG9aAEUMfG2jZ626BX3CrUnVP0eHxO2ANJj2i4PacbBqQPMKysfvn3b7HxaxSk2sK4XqWRJPJ35/PCfLqM9yVCEtq2UreVvt1RNUrJXJZhc0PYcG3rjdqM7LGIdpeApIJ1Zdvuwx9t2DQdRYFFNKNKjPv3Uc/HmZMMLqCETCDGQeV4BYIPkv6Xb5y/e+2GypJxKZh3zAZ3WGfcNrZtxaUzSeK+Xam3GJtMKeNV0DJTTufY6PqNLOG3Ny1nyFMcLtawuoat0G5NAwxTPgBarXh3pjwdtlfeO7714XeZ0BxNmx2qq4x5uFyoFFKeuHvll6+x+M8v/wfT9BxCJd0bwMeh3h20CA3B00QbgrC2ix6bsRPg3Z3z5cLp/PSgJDD4VMemaUx5PkRl3RutbmHrlRLLVNCSsFH01/Ud8XvkilfCqFqh2Izta3PKKHU4bYQ9ldmDm5hUyYeaPWgGmiasBS3C27DWEeURc7n/2Z/FR7L/b9eI/NA1u99hghyG8juf0R1aV7RKcNH2PS0n1IVJysHvf7tfud6Co5ZLYZqmYaHTEFXmqYQDCLBtGyJKmQoq0HoNNxJND36zKponMMNbuJeY+UM74IMXt3bQztQ6eVrYI3HdBe8z9d5ROZPLFyQtHIktDIU5EgeaaLznB6HXjiJbiWI1mQWXHqClMWLUIRjzEcAxCtbdRginbcZ2ryynfMSihuBmo/fGt/dvzH5B54mpDPuicTalJHgHnSfmuZByog+P7N4akZ8y0c2odcMZolRAGNxq77jZEFkRFmDE/R/VFTzs2OQobkK8tIux8hCpTDjjbGL4b/7Ahgv/UGCLj+ccPuFJJ2CJiGAI/2iZouHEgt5WnJLiNc85Hb6j8zIzTSEC18HJ11LAlevbGyUXyCE+rmtns93SbQp/+LIgXYZwryFH5G9CNfboZg03IUs57j2ThHvBZULlgtmZ0/mEpTDudw/HAZNoesyHj/ZOCRguu4IjI4hHPjQUAWqFK42kjOSEWj6s0IJTGuv44GOrh70ZgAVlqHfneltJpZKToaNgXqbC0/OF0+WEqWC24X1lKhH3CnEL99q4Xa9sq9BG7PIRX7tMGDWoFiXuGRXF2oNqlqcAFcz8g3fOXlRHUID3oCu5HzEI+6sQWpp/EDT0uwVrMyH3DFvidVTSS1bmHF1d8RA2WXNu20AX+4amMBcvpYD50T0CTFNBczzh9XZj0hR+qexoX2TKSkpIKVR35mlGkYdtVQtlde8tEBtVbnWNhBHAhpCjLGfyNLM1w3pCJDgn26qs90ya/gz5CSWFMXrb4YaGpgbJsWZI39BeD1GU1xzCmb6hPdT8oLRxk+5+gRDCFVy/E6b4UGqLanCcbpXbe+V0HvYpSYdiMbr0LTxQqIPolKaJeQ4z4fX2Bm2jZKV743TZieApVNoSr9O2VrJkhuUozTttGGHnUlAJkcC+8RphWabDgNm9Dm3FLv7xccMPWZ3q4NuNG8B9PO/yT8U7CQPpeNxbc65rqN0BuiaylmHHNFHNkHTm8hyvafENR9Gy4BJeuFrABrG83t8iQzmlobLupJyw6hxOF3hw+VSBHjxiHusfj27fXcPvdZDTd6WydqEsZ+q2st5Xiglv753m0ex8+tNfSIOX2ndR3QeXAoi8dCfECe7B19Jh/H8kGLnRraHlHEXKeHytd1SEkqbhGGSoG7dB3k8pUbFDjbuW8AZMaUfBbiyloerU2xok/qngSbDdp9gDlUs5Nm/KhKdy3J6awsfRhqgmaQrj6bpXVn1wIRNiBXQCyqMw8h2Rii1zF3j9s1y76OrBvPx4hahvdSdrYtoTyGTCfcKpUaipU8r0aEQ0eJO1NjQp87KESXjZY96ieG3rSsmJLJDLSB8b6HxYBZbw3fYOHmikDzW0bRv3+xWrIJPEBMCg7Wo6FszOaFKenr6Q5he6KW77oRbFjSCQonGKfmusXeuQPji2WA8nE92FolGwyphi7EjjUXHrQMEsOHQqOXi8eS9owyNWknO5nDk9P5GX6SiI672CN1o1hILbTBuH/N7oqybqfcN7iB7xsLQ6KKajGJUhUJHB0TyEoT7Oh4FEDWTjO9Td97UrBWSOP4wJ6GhYfkTB2qiolZhgjY+FPV80NcIStkXaIq0OQHoUUN4QKt0r1hN9rClKcExLTswp07bOVjfmS+x3QkOmOQJIRKj3G9Ia9+uNfNpTF4W0nBBir1nrjd63wyUAnNor6bzw0/J/hql+TzQ/jef1Qvcznp/o6QXPC8gUkyrGWTdQc9+njqThQkOsvwH8oAlJGXU/3nOnIVhwPC1BT2F5cST3JcR03AdjOuR2eKi6xV747dudT3rheTpTUg0kFTA1Ksol5eD4tkj0ymV6oL61c79fcRpbjYa2tn5MF1oPkK03Cwsstwh9OLQVEo5BOvisIkObNDQCfbi4eHDxxRyvuwcOSCphSfYPioV/EM2q3NdGbuF3BtDSQkg6VqAdRdg+8ug5DmXJ8SI27+SSmecRv1dyKNBzYZaEtcb69sY0vj8nJaWFtccL3qyxlBkxjrFlt454qKW9dWiN2/Wd9TZEF6kgHmo4MaFbwTnh/hIvDhOfPy0w/Rk3pbWhxMuDvG81ol190BNG0fCRvB+8+L3DGSOYsbFpzqhlTEadso8fPn6/6xBADNsiwvw8FiCwUx4cSsk8P1+Y9pu0RFSr140kne4brSpuSh2ISWtCrRsppeGBJrT7iu1qdAkripQSYh5BDVM+Nl4gxuWidDz0U8YhrnNzpPvDNufokAaaQnSuyMQPuTQFkh3wBbC/7hb+jhh1S6yyIPMglqeVSwJNgqhTklLyGR8q53u9owpFbKjmo3NORFEgoqTphKdAplSja42bc6zdbQsEqTNGIpEEtdu6KR31jpORPhaQCozNx1NGy0QuM00Sv74K//Y18/O//D/xeZZo+ryHirquWG8R70fEnrYRcShmMZqXdNBtTBRMx8gq8X5t/PuvV77MsfbKskTca8ypKCMxqe/jr5TBjZKFkkJRqtJjlAwsU+a0TLT7FTOjqJIFqPX7MzalAaMRdkjUx6GtoxmyGqpqT4ikI+LzKFhGK4A7LivsSXW+xGoQ5xCICMcB8vH64XXsHkcrHIbn3cKMv6QS6mSIKcGw8ttjILUY0xBl5ZRiyKWJ6bRQpglJciCsoplt2yK+cirkUmhmYYKf93s69gpEvC8AACAASURBVG2pkagT+5kedJNwTKl4hyJzHOIoh1ujzMCJkmZ0+gRpwbfHa24eI2FRGwLPKEj32G9ShtQQj4/JPhnax8Pj//GwAtyvj1Ss8aJGLeDCum5I36eD4VxxWmZOp/ACNavYcGdJCUoG62GjuN5ubEnpvR1I1DRNzPNC7xUnpl6qGultjPa+TCG02hME/XGWCHvYxeO8+CAfGwXRoGCRiYnWjDCKM8k/DmHdFdZxOMaH9gJrFzybUKseqLt0CYs2Dz9qGtDtAE62dSPnuOV/+fdfERKXy4X7a4yy1683fv7X/4t5OfP617+yvr2iZhGpPaaNzz//mVwEv0eCVZGC5IeCHVVu18bb6zufnv/C0+UnjJlqo4nnme4Lmj9DfgIKRhpuHYG8h/HIaLh2wd/exBDnzoGwun1fsHobVnANz4XUC9YOF9WgkEROevyJBcNu2q9JhqjPaM14e71Rpsb5MiZWRXj79o4YTHMeU/DCOkTk8b4Yl5cXVD0EvVtM/3YxYNYMqSBSwxmqxD6/e8luWyN5jwYsl3DJGO5M+2v8IWD8cT1wFET2icF/fP3+ZwdfxpiRHCiTm4SZeTphtpExhH7MsYRCysH7aS3Sfpb5fLx561qZzktU5pq43+6cpkIbRUEpmfV6Z/POdLlE8ZYm0pRpwwai9RbRgSgmYW57+vR0mBG7KaSJzoRwwXXBuWD6PJ7WTJ5OdJZYNGrDmmXf0MYoMfkwuh1DGNuDAfYFJ8CIWqPj4/PSM2IpNt+WxibkHw7EAYlr3MBOxLp++zVQqstzYT4pmkvk7y4TOhWmYS1Uex0xZo3TecYmxWqot+/3MRb1QPEC8p8HQqeBEhBItwtYi3jPlCPfd19SigyryvAidXOUdKAhu32ldxsT1ogZPcaZ+8b6j3qi/6xLdAQ8fH+LiBA3lgC9ULdELqPRSBGjWtRwKtZXanXSQIim5TQ2J6O2O3tZvluDpLlH5OBArvaXRpJH3B/AnkAikaPuO7o6LNPoBm2MPVukC6VlwofPoqtSO3ib6JxgOnP+IiwvUVD2rtRRoFpbaeuV3tbDEq16JbcWnn/jT0TL7vZO8SLtfpUA3TM+lNzkTFdHxcJIugcfyUdhJNNEnifOpaDe0QSvX39FR3CCTIq2xLyEaXvEazK4weO9ah2XFCMv88i/TnLYCzH2HCEoQRJjFlIORMTdBoDq43mtIPdwLRhvQbx19mhGxR63/w++YgpgQEL3+00yhy+MK9iE+OnwSfS+BZLsGdWRUGXpsNpLmql1Jasy5ynoLLVzPsbdwtYbSy4xllZlvb9DCQ41QJmWsNLKQf0Irt5jZF9OM5cvn9luHdeZZuGz6oMyY/KEywueZ9AF8xz75oE0wUHXEI8qxfSgy0QccUbU0NSwgTwdEZpJR+SsRjy3+wdUKv7aA1cMeHu7Y1q4PI2pUZ7JKZHmCVJiKhNbW7/zUD0/PdG2yu39Sm0bdB+x2uNXeMa60pqRVCK6dbgqxC9JD1TpQ7jFTolT31Go8fPMwTi4hG6PAJ04U3MUqx7ns/gCtvAj9NQRuQqHh288YEbXGagcTregAADh0pNOOIb2QOcmvbEnTbfawoHBO0kzJSttq7y/xTmXpgXZIvHy/d+/oR77wXq98v4WvOLT6YI3I88LooWUC4hHAAOg5cT5cqJb5V5P5PaC5ie2viOUF7ovTPoZlxPNx3h77JkmHtMedFQDw91j3xOJSOIYiw/euD/OWjELZ0iLaZX2Dqk+nCVSP9ZyJNPtxeuHDWvws7et06xRh10lwDQJsyq2dfK8UEpirTfOT0/Uce5YLkznE97vtPdIPpRux0Q2wo5y1H8Wiv+UCynt3vMt6sDxWGx4IadpgAhpBwAZr8n+748fyzjn311jv1tNuDPEKYoNwVHzTrWK9jsMsrT1jg3rEu9Ov95I6qQUpP/b63skYwHzvHDvlY3Kp5//zPPLF+7fvrK+DjsmIipSSmGSHLzNzYGM5N2E9h4cTxXq1nh9e+c0v/Dp538ZD3yiesH1TPUnTJ6Q/IKny/G0jYw3wWUcbgzuHqDDkNu94ylQBPF0eF2qP3wrnWGhYu3Bq7EcGymKxEzjw+YJSFjOuAfNIaF0tz3VFLdM2xoiEeu5bgZvt4e1ifcxbs5sdYufg3B+upDHeLv1FetG78aUp7g5tBxEbSQPP7rH6FjdD16P5jyMtgNZ6e6PzTSe+EAy4j1XFYwUdjT7lUpw1H7A5R/+foyn4gM+RAEi8dzM97HoCdKVLhtba1hbmQzyKNa8daw3au/cbjd8iAD2KzVQS8wvSyB8Ept3UCvGLaqFXmNsKxpIGMPTF6LZsg7eBZ0HonbvRwKe5kS9C1v9TGeC+czpS6ENYcq2ddgaqVesFVLJ9LqSd5TIKrWuNNUwqAb64NwCh52RWeRG99ZY75Xr2yDwFwW1GN3VEKVM5cTz8+f4/DyHb7A79+sb05QoaRQQBAKHRSxgPudhVRd+lHUg4VnSgVBY7/TuSEkPocVetPG94I8h+BO3QPp1v78fHs3/W1wyClYTxPfnNApWGVMZm7Decd3FehvdC60nkvdImhs2QQApR5rP5Xxmu2+s60aeJm7X4e28KOfLM7at3N7e6BJ2QcvLJ9Kyx2Zn6IqUM8Yd9w0VPwQy7nD58ifOz4XaMt1nuj9hDKu7/AnSM5GXPoU5v+5NxSgmUZQccd7OoDI8UBpNaXAGR7Ga9EBYUY2vRwJccDuQp/j5PsD0CDxo3ckyM+U421JaIQlrNUrtlNpHpOcoqEVYmyEeHNVcJIpWHrZu+I6IpvF3xrHD9sroJBnFdc6jsU7H9/sOpTtBI+u7eGyg2K7BgJCEyoRQEJYxNQD6E9iPmWrJ8IV1HgCvADvIioWc2r1gHq+5yRmzTnYLqzVpMQHbz8o8oTnAnrVWblslaSYNoR6aeX9953a/c183vnx65u3tGyaJp5eYqLbaWeuV/nYlTwt5mqgeIQUAKc2k+cKn5cJ6T9Q2MeUXpjFVyvmEy4LLHMhqN4zOnntvAq4fdBySEHusCSP0LA6x7+/A0HGec8T04o5rg1TZvWZhFKw2Qjx89xYfjcvBI9chMgxLqYMn3IPTfv125e31DZPO8+cL0zwddlTlvKAls/VK7RFPjMvBUa12J7GwbZXtvsHlFH6s4zGkpKHzEYHseEp0hToKpZQLeUTZxj0Sjfn+DGUU+DKa2//o+n34SwLBcHnwkLwWvGdMCuTLkWqiY+xTZEXVaT3g5vvtRpLENDKvvRmvv77GQnxxvG68/fUbPuBpA673K7d1JWuhbIZUx0UpY2OJyOswrC/LZ8q28HZVIArSZflE9wn3BewMeiHrJ3yMp9teP4pjEh1SF46xaN87pDQhYkEu/gBnBwYQI/AoXndEKj6fzGitj4J0GBQfnebeV/hj1OXRWe5F1rdvV1KpTItx6ini09pjvPf0fIYRH7hcLqzbikzhHeg9Do9+C8qAdCc7wd1KeQcrwBWRTE5pcKbCmeGhb7DoFN3RUphKeWSC/51rR4x3LpWTY+OU3++Y/tMujY3/A1gR7chHoZgN1bXv7g8rm+dBawjUutdO3cn7Ejn2GNEEfDByhhDXlZQjmUwlwib6Gm4RY7aSSwka8Oi0w17THpG590pbYwSeFyfPE607re6ip5m3b3fW7RPL8gnyjOaEtD3atSHFwsWizchWggM67q/UNkz0cYb44Fr3x4EpqsgHw/Xr+x39Gs+xLJnWO/hKyeHPt8wZGwdyW1dcJZD+tkIXpilTRieuWrjfhi+lDK62ON4EZFdSh6AKc1qtmAqYsVtKCwktken+OCR2bl80IeF3+Xgv4+Dciwr/fmz6T8ZhlWONwjGTY4yI5XFYmfnR5MpQDavEoYPLoE3vYr6IcL5f77T2zmm5kFz59tdfAXj60888XRZeb+/cvl65W2erlXVtfPpL+FOztshs14kpJZLsE7jYl/7t337h6Tbz5dNncjkBY7I19gDVM8hC9xRUAQkhnX+3s8b7IkOsKeYPpEp7NHnq4WutDdF8cPVSDkeBYCrsY1M5XoMdoY4WKVD1+31jaxEcMp86z58mBOP1l2/QOvOcA5EjQAA04rCfLhdUjJTTOOPG+JWgz0Wzb0FPU4lGjeAAoj3GwvsIXQTdEdjfToT29/5AVYewVfZCdeJj4tmPvHIuB6C9o22CkiT4mcGjHwr9nSo2zs9uhUSNf9wRv4/vr2htMVFsQkmFkucHeNMT9apsW+b89C/UlJHzQpoMBrpXJYeLkQiUUOA7T9gAsCQtuJ5I+YmcFzLBeddBMUIL7plmYwCmjJnr7iUrx6TUZYg91R5ZDli4FBE1R9iW+xFLKnn3KA0Ro+SO5N0rGrAt9mMZxerjRY7vl6DShJRGyUXR1Nk9pmvvWFtDYOwNTcMNpjYulygQP/35aTgXOZenZ6RX7vWddTS83cFb5fPnT2zbxrevv4Yjw+5UoELJHudYT8g0kZYZ3d2jRGgtJjIppUgx/e0Q4H+AyvLPpIf54/rj+uP64/rj+uP64/rj+uP64/qb6/cRVvUB3xp999pzxy24fK0LySExU4atVWdk+OaJNARYa63cb4NzIjmScFLh/fWd9b5yfb/x+SW6nfvtneZwfnqhd6e/X3l/u0HOLKfo1LdupLKQ84zqwsufnji3mfst6u8qF3R5RtOCpBPIHIkqAyI0bKinayCsymOsCNHdWyhcXSLrmfSA6naZlOwOAMP/8APECrkFpJ8aoqMrOpJ6RsesKTgpPTK4924lrohPaxVyFrw7rz1oE9++fsXV+fLTC9M8U/JEnmY0K+twSqi9ByrqDW+d1W6oL7ThLXfvYTMSYrmh9rN28NFIKVwSklLNUDNSKYdTwniE3y2XQMsGZ0XPAe/rhR9xDZpQ/PcHIO3gyA1KgJlQt7EuTHAVzlMJqyQmkEof6OG93pB7pAKlpNTeSRp8TIhxeG8tUk3WWyyZ7ojm47Xqqug8Q+1YDTpJ7xY+dcC2rdyvG0imnBun6RTZ6zsKvJ1xWyjzf0HzBXMdjeku/KqD05njPRyc1MfajVSdRKRD0RJYGiKlQOJ9WLDZsK/qNOp99ziGeSngFfpKt859vbPMIxo2T6g4td6gbXQSkpUy/ECRoV5vHbsZ01Qia9uNeZqOx+gjYx2LJDYzDx4VQAqKhOzWPxITkQNh9TFCH+pp5xSj02NO+ePRqN+7DvRIJRBG9nH2Thy34M250gdvvnohpUJOJ8yGk4PcDneGWivuDdWYDiQV7u+3I7Ndu2O3jdvXN2xrFBW26437/c7lKbj/VRI6zaQU4iSX4I8u56CDPL0stG1m6xfQC2sr5HLGBi+tyBPOHG4PHkxdR7DdXWVnJjsxHkTQ5PSxb4rl4VlJWAFZR3oPNAmQtAUaZgQNxGXsy48ZS1Cx9jFmofW+h+1Qq3G7bswlnFOyJM7Lma2NNKBpjuQlTZTzCW8rta4PP3BAXejVQmRigR4mlHlwhbuNFKTxsPrw4Mw7tUjl+101RjAPuqLkGP/7hPspOKtSDrRvP51+xHU+n2PaaPKwGrMGXmOaKIbRQCvCTlsIJxnshPkWyZL+hOym6b5Cv6M0yiSYKHfn4PyWPNOsUE4FOZ+gKJSNWZcjGTNrOqY2lgRPypQ/UfKeZHXGPVMtITrHfu0cI/Wd0dcRTAyTQDt3kfTBR5VhNTX+3j8vEhOd3ePcNTYvH6KvEBqNx0o4CEXE+pgoNXA11Hb/2P4doK5qiO1ccDv0etvw9i5l54gHVSVp1BPr2433X8O/+/1e+fzlBXGjnCbylHl7fT1+zely5na/U+udp6cLKcX5cbgEiA++fIgGe4to5Xy4CAzBZn64evz2EmyIef/j63cL1pxnGBY37rvdUQFOuCvdEokFpbH5UO25gm8oldvWQmHZ8+EykIdvmvbM+papzTk9/Stt2v07n0iTo6nQtAzLJcVzoo7RkOuM5We8nDCdaXpByoll2FhABplQLTiZ7kozOZTMPRF+Xxb+qVGUekDuMMj+NqwlApp35Bgp+ggiCPZpwg9S9Xjhu5GyYaaIbOAxAto3NftoT0EIWD6WfzrUu5LiIN/qxtYqzv4eNEpRXlW4vV+5PF14+fkJkcdN9vz8CVrlur2x1i24inXj06fdOy7x/vYNVR1KbgLS34vmIYlNyzwUxSl8H8fo2VXRZMeo+7h0FxSkKBj8B1ECxuW/+e8H2XsvaoV1KJUnErnMwzN0BlZwPw40luFtmjLNOqlMnE4ndPCG0zShUqjbhrXGVBK5TKzRdYzfqeRS6G2NgpFYFjrWxrreWbeVMp9CquBC9wLDks39hafLGS9/ovdwuAia/86/3j2Nx8GVB3/zUE0Pv7/egqecQ/iyRy/HQRo7nqrAKGDT4Ie6CW3raAol9jwVPn1+Ip8GPykJfbuRU2SEWzW2wauC4LDmnJmmjPQ+rK0Sc8678xdeO7oUUEE9NvqP03EfzgGHY8UYJR8OFSIxMpUZ5IRwRnQ6RnDoBy72P+EVBesY/I+HfAg/fYwGcQwdI+Ggiqx9wayS+hw8YG2DkgSelDQlcgpbrPfbO20zyuDpWe28/fqV6+sbz5eFut4QFZ6enrAxzv7266+gifPlmerBcS5lPnjqn366cL8n7tvE+elnSplI+YLsTWs601HohvUtaHnijz1jsP5dNIoEJKJghz2QpJ3LRRRAaiFI2alVOkXBKo6ncGHxD1Ss+MZhMdiHZkH8+HZ3xQaCIR3u73dut9tOjeannz/jMoQkqeAWFkBzKfg2fogZrYZV3Lquce6pHutfReltDTqLQ5fQgKTdJWBYtn10a/Hx/sOgy8gJdAF9xrmMZvZRsP6oazq9DC6mh+IfIgKVnW4WQNFm9yOmHPcQSnnDe7ibqPXDQ1TouNVYx6P51iSHQDPso+I3bDKFb0sRNJ8PnutUZnKeSDnHI3HDZKbv3rgyhf+p6yj5xn611zzuw41p/yzAg785fggQPvRmH0b08SQRzzgStUzKiDZ624W0fXCrHZWg8JkR9zd7rRLrXKzF3x/EhCqxrn3YFbY+6I3DO9897ODCm3hjvVdKUs5Loa4hGL69vrHdb/z5z1+QNLFtd+6bUUfc9fnlE8s5cV83RG8sy0K3R3FpvYVgMWcsKV0FzTPuH2heqYRPskrc9x9YrImESw6Xi99ZY79fsE5LbAxuNN+OJy/s/poLWMWsRv4tYP4FoYHd8b6StFNydEYAq8QCKGmiSSHPCU4LPo8DPW8UXciaKCmTNIfCTIXdzi+nEzldKOWE5pnaFaMcKUuGIGZs3SO1h3iB7FD1hXxbSOEOoDJ4bTtnJNAMGSiq0oJXtdtUpBy2E70PUvLeZYzlOVRyhkATsIabHX6dcbPGGyY4Sb7fWB0iGKCF76WngbAcvP44cK0a9/vK+9dX3m8rT88nplE8lRKG7V9//RUMnp+fuW93ti0WaHRJF2rbRl5zdHe7wMFU6RaCrCQSnqOaDk4KOcVN8ttFc2Sz7yK2H+MSsNswCj5ujjjiMUE9zLYFiy8cKJW3M6SKNcfTitkdEcfYs9LzwT92c5ZlpjdjG5ZVS17wInQzkjvtfod1Y6uV8hSHti7n8FctmfbeUGnxM8d58/TTF8pidEs0Fpq/4PqE62g09BkpC+ZLbFA6HCf2tStpII/D7qlnNJXDVipsvTri0UiSY0qgu/BsrEVn/FwD90Jtsa6+/Xrj808L82kmFwml/weD6W27QW/My4xnZbut1LbSR0MrKni14D+JUltllkR1O9KwsuRBNwxOZkwyPIoJQE1jemFDlKJB2D+sdDT4sCFIuYB/ArtA3wWA8lin7KXhgz8lPJTYP+IK/qMcmeHxoOKAFJXgoVuESxzI2kDcujUyiaYN6/dD7JZ0jj1p24bX6sT5/HzwT99u0RA3KVBOrFvDyhkpF+qHpKnW4boZJgnlmS4nco5mqkyfyTIh00TThTI/k/OZNiyMmieaWSiqdTfA53iOsRsKO083JlzpcKBAnTEeAAurQ7F+qPjRCdKM9EBgnbAQOrwgsdGQGepyoF570y0DyW/NeF9vfH39RrON89NpPL/Mcpo5Pz+jCtv9PZp5eyBD63pnRbg8PyMCX3/9Jfxux9rKOVGmkQ2fHZ0nTOWYfCXVeD5mg7/7vUVScLV3Z4DTCJuZj/fxR0ZeyPQcUrMPAuMwxQ8dhw4O9iz14QttfdQYj8Y69fXwpZZhOYcTKUoiYfL/4fMxQApf0pTjnEp6OrjNnic8F0iFLGEntpGO0rPCY2n48Eu38FKFw6SCEDulAWDxcH4Rht86YQunPs6aHQDbJwmKSRqdd8P3qVjuaJKR8Becac3TkQDXajgCWav4cAjaC9e4+sHJdnQUiY+wGhPDuCPSwTSACEloUsq+b99XrBdut0YunbY5mi7c77Fvb1VYzk90ufO+VsopXs+9aDZTmkfxH+IpIeXT4e+N5mi+xzT7QJlH06CygDzh+vK7a+x3q4nz80/IsFKogwRto9IPi4VYbG7tWKC512FrEYtPhlzpiBHTEE3pULSZwJbzkXAgs6LpHJZOZYpxd5lgKOkBuidMMlVTLKokuxVqrKvhv+of3jTMH6IN10MoFbz3vdofG6c4Siy8KCNzCK90T2wx0BYGvKkjKZ6fHl6yORTL6UrbhvF0b4fISnuNDsmH+i/F6/lxY11bR3VBdAbfyJpJo/Dq7cbaN84zlJTwXrm+vrLdbvz5v/wcXyMzt9uVe1PW643nzz+zXGbWNd7Hb+83np+fRgHqtFYRYhQGIFMYtad5GmhVoKzsqTAa6Ijvo2QSSWZMRlEgJ9RPiP++6u8/69r9qp1Ho+H7Jw5qgAD2+LwlWs2sHqIJIYPVR6BEc3pfSWpMU+L16yuCsowEsl//+pXz55+4vHzi9a//jXZ9x1un4bzoPmG44HcjyUROOZAFEb5+jUZCmPn8/C8gZ5ovNF4weUHyl3iMww7Ietw7qLEHUwCoZ8KK0sETNkRguhcF1lFrWC4D6c3h4bkjjvLR0SIoAQk57q3elW01zCvnJ4FqvH59O3wmU4p41q2umDllmSlFQkEK1KG6TiiaQ0mdUiElPTr2betxnCRFyxRI6pFWNd7T/X02H1bJiu5QmGREF4QF8Rl8BtsFKvv1m4LU+Y4q8CMP/pIjge2jc00c/IrKkH+KxqTmaGLnUcCCs4UXrxjCWFcWfqPeVkSeEJ34Vh+v6VQWejdOT19oJZGfnsOyLE+H/U+e5igaSg6FehriquGi0fSCns6ozDBSmBqZNvb2BnRxulqstyP5bzyJI6pRxr+/n2zFKDZoLpqGRZB1ZPfPzpWUWliT9i3uDbMPausx1fII9Yi+3ynzKOpTxLS2vsEwSlfNx2v87Zdv3N8yuSycznO4IlyesG3l9XofjyFR1zt1ynz69MzXX3+h1e1o6GrtAZIkieJMhTydDvufOhw6douj367CYw8jARP4jBOTRMZr9qOueVrQ/c75EPYwsupgH1nLB9TbbDj1xsciYKc+7u/diH/8UdX4+g/sHjnYeAOvG43uroB3VZoofTw6x+n8Ldgiss8x4vDY99T9CneZceY5HA/iO6DV4v3FDpqVumE6PFj78O7WFHQsIuqdgb7SE64JTflo1FJd6a0OT+0NcsaHl3b8/gq0UU98eIy79610mmqM+6cpYrRzZ3OwUVCub1eyJd6+XmlrBDUUzYNSA9++vZGXmXk5c//6lbf3lZSUy/CGP08Lvd3pMu7npEQq227HBrQWU66SSelE5wzDQcR5RuWFxP9EwbosL+x976z7D45NQPYx9yhc901FbBuLaJg3SBwmh5JaODgde2wkwkNtJorqNJDVjKdM1zBf3keGeKCM/mGxfIwtcycsmOCYkHx340sCAp2CsWUPr9H9OfrgWIUfYCQF+W527I5LRjUy0dHIO5c+EN5cIn+9zNRtjWjXth2jNW9bfN8YgUQ6TRQe8VAMkXQIXF2jM7OBcqeyUFLBUwqovydubyvTDK+j8Gk1NoJleuL91xuvr3c+/ekz81igb29v5NVIKZFLIs9zRNaNmxxTuigiMznNSIr0ocfWr6iGW4TJDHLG5QnVz+MrnhGe4AcVrMfBJ49OOUTTzuETOIqyne7i4jQrUAvojKRL+CmOZz3pDfFOszWie1WZcmZ9j9d8rY3L2Wjfrlx/eSVj1G3l7XY9ilpMgn89zdGxayKVJ87PceO/v8J1e2aev7D5jPoTkl5IIwawexjAu/QxNWD4AO6bk4e7xWjPxML8ea8JxAO5UTO8dKRuEbN5wAiPg4PRdI5b9HhZ368ruVVchWXS8Kmd4xeUaaLaxunpmfv9xjTPJGmsb8OH1QUd6JH14LtZF0rOh4l9OFa0A7Ewd3RKB3963waOt/n4z+FQ4UusO3vGdUHGkfkfl6D+nVFA1K4/rmBdltOgYT1AGrex1wwHgKA11AfCynhtNYNvmDWqz8jQFuAr2I2sEdbQVWneDrskOJFKQuYzOhdIG0VnkiTyniQliielJ0XzTJm+UKZzUC+ArSumM6KFSFoLJ4N97XX2JncU3T2cEA5a0QAQ9rND3SA5xzHl+7nRMDHSWB/76NbLTGvbsPWJPdvoO+PgcHIR94F4xhq3gdB2idGm5H1QOUgKezPXnG+vv1Idfv7Ln2KEmzJ5nmnjMZxK4lRO1NEYvLw8cb/fPqipAyCRkQzYeyfZo2nOOaPTDHlED/9mbQgWscNAFK1pvD4fA1t+zBV0hRQ7z14PaMStfvAloX/waZXhzaofvsb0cf/therH/87CsSfvxaof3d1gcvqHfWK81budlIn/ZhPh+PlHwfoR7Dq+4IOdpfsDJf7u63Zu9v58GbxrQ8Vx6bH23Q73C28S43KbYhrba6CpeTSCbUXrBtuK1BVvK13XqCMA9xRaFe+H64sfHtSxZhje2Sk7d68j5n9rOQAAIABJREFUfVSOOBbTDUe4rxu1V3rfmJTD3eLt9Y11Xfnppy9s1xvr+5V5npj2ZvayYK2zbnfKcmZbG90U3cZj0ITn8MxPLKT0DPIZCCDG5AvCJ8Q+8WFL+5vrdwvWaXk+jGr3cbqLDdTVSBoj133cGL/YjiIVHotsv2GPUMRRsO4j1u8Rj7CMajGMBw8u2/4V9pu7eDevfhhQ+99Q1HzE5DF+U2xeBzwR/9r/f0eZNA5uNcf0IYwRIYRVPdKERBMpF3x0PNo3vFXICzqt9LZRtztSxwIbn7e2BW9H0jig9o6pBw9rf0wS9tq7+XQujmljG89z9U7vndact29h0XK/3RB1Zg0k+du3bzQ3XoY3Xa+dr79+Gylaz1wuZ7qEBy4EUb338PR0EjJ4MXtYkJSZJGdEX4BPwBecT6h/Ga/4Bez8G1Trf90VnMsdGdwtoQhDYxudOcJHA2fDcS+4L7hf6K2THYoMQaE1kE4uYBpxxNftelg2pbJwu668vl6pzZlOC9t95XR5OaaW19crXe7Mp+Dz5elMyiemS7wvebmwrplenpnyC6mccRY6e6KRYzTMNkwHo+o3gkFvsbG6ehz4/gExdAbPzHDrSFoD4WcXSfTxud1GZaQG7eKfcdCLgHXDmrC1jf++/tt4DRsvX57IOTHNJ8oy0+vtYT5fCmyNut5HQRGoq/X5mMKkpKjUaNbM8Zyp20raxTKyxHTE/dg2AnUcfE69IPoM8gl4winHGvh7147nPbaDUcD+oJN/GgXr0VMRhRTWECbEY6JV+z3WJOPgd4vPWUx11C8D2QJshbQGsiixZnLm8E1WyYDQKNwtYeqUfCaVmWnQgEqZISnVjS4J9wVjJg0Oa1IlEszl2M+6f0z0+YBODduu3RoOBpDhgavavqw9HeeXElSCLgq0QCJTRcceo7mS8hxov48xvcgDYfVA+kRARQZCJbR96buBKJVOHjxiemcbwrTzPCEO9b7y1//3v/Pzz58QTbTeeL8FwprzxHmgTu9vb5wv50OUub8GkyqSUxTIKVLaDpA5Df9rke9OxeP+PSBFDYDD96L1NyjyD7iS5oH0Ch/RpR2Ykh2cEnkUrIO2sX9eZOA2+uH5Hj8p/kQ0wF6wfgCZ5PHc/+YVOG7uAVL9vXvbH8DXiJ/426/Zl5L4h4noh18hse/6YZI56ptA0dBBFwyNwJhKp6AXem9j7224VlLag04WpFVkWrG60tYbnu5RYxB2jG7tKFaR4KvaQQNrIDPdO61VknYMo64dGedKPpUQxGXFM9y2ytrtAHsWz7Rr5xd/x4a1lopQ69iz74L5QjOl3ZRpOWOtHGFKrgnRC+4XsGdE/oSmL1AC4JLyEtxs+33f9t8tWCUtHDTkfWw6uiMZXWysrQ/Fnj7g+8cPehSbu2n7PtoIgcij4I3a8e/dcB8+po9f9/HTD4T1SFv+8BgeH9gL1m79MXqAQ9WxcxTRYYyvcTgmtePnizopGaQch/v/1961Nrmx49YDsNl6ja99nd3///tSSeVmd+0ZSU0C+QCAZEuaGW+S63FtNarskdRvNh94nYNauqUvli6geQHVK7gsoOUKcS7MulxQr2fI9QrIAtUrRGpXWJvy7PmENIO9qg8A1Lpg0oICxSSWV8O7hMqK6xB+e/nHN6uXLBVyKTi//IHrixONi5XoPB0P2OcDSq6oFbherA2uSwHnHVQJdbG2wJRBjvhNdATkCwhfQfwFPP0Oyk+AfvJHmAHM+Kgc1sPBCKmrLA0AIJpMAYqQjRbjT4zkaLUCCoK9EVxLQsUBi5dNXXQCcAaXC1AvQC2Yp4xreKlKQr7sIaJ4+vRXlKSY0r+BiCFTKLUzQAzJ2UKp+QsoH1Gcq5LmE+bjHkAG0wyhjCLcCm8Uru7nNq+hkk/ULYc1Qm8eTo1cGbfgWJORj7shxrmAK0DkZfo83zpKr8LHeluAWK2S3ZQhagUWSrk6UM0Qq8//eMZyueC3L5+x2x9RizakOZUF317OIGKcr//Al69fIZXw/ds/WnlnZkJOasS3VZCYMR8OLTRdW76b9qXL13AA7jXcAzgBeoAOZY8fi67nk+Zu/RiNVbPzWyNCpcbtDM8HJC/zmPQAkaju56AMLTBAWsVULwh2Z8IntPdJ7HnrfV43Y0FRE4GnCSllY1iZdhBHsGvegXky9V8ZhSYUUMPrmYHoXigBCAnmJ/DGFQF7OpZ4fi5RaqBG++6GEgkqEZh7rqGtNgkiDJ3Z1gGSVuwkMSPDeGFl2lkIUhZQCS+z50tCIFSgIF/UI7KVrZyyXMG8gLmiyrcGjmEiTBNDS8ECoBRgqRnnlwvUU6HOF8Vvvz9BcMHL9YwdLHIQoKvlekUSRuY90pSsNHbao5Wk5AnCbFUQ3RttSluwbByhOIH0BNYDoDsQptZP0ErmfoQYoAZEnWPUXV0tignL5ewKq+cRN2cRPGLbfdy3Yt7TIdwKB4gO+6qz7fZ9mpsVpt7eaQi+p4Mb8XDzoIYodNB6Q1mleE7qOk38Fv8oQN1hgLOCuEK4togBcwWaMVrAtWCqC7RcUHYHlOsZ4iTMpVxQiimsGv8gHXAp1odIis0PKKhkKUPRb8q0IE2EwgJQQTp9QSJpYGBOkzELEAftNb6DoC8WQT3QETzP0Gxgq7Q7gfMOAfyiNEHzETrtIekE5d/B+TPIuXCVDKDVgLGvyMbDuskmm2yyySabbLLJLy3v8LD2kKpEgjyReVZV1lZRL5E0hC26xNYqVjVhbRmlYQ80d//KQlqF8GlleQXNpK4sqrfF0gbMzqMwpzrCoVlIzePrLn34d/KcmSllYwtItdX1ttKTFWkyi4alIJWlu/CvZ5TljOlqydRLubiHNa7pYVnPr4wwRY167LoAZJZUFQGTYJqvoAkoKSzXCjp99pBLtRzUoniWzmhAM/AsBJyPWNIRlCdgdpYAIezmJ1A2nj/iCZhmqCOCa9qD+TPy9BU0f4Kmo51QArUcpT0+xtrf7w8wO7x2D6u3seVNRj5gWJ3mGS96AWly8NIOkGvzYi362dpeXkB8RZ4AIUaNfsEJ4BnTnCG7PZAUtLMqT3N4WKcMJEJhAvEe0/SEPB8h7kGpmgAKHkArS+qZtvYMJNCkILWa5MEzyc3DGmykFu6k2bxU5CU8K1VEIg5UILWgivSxI8nSAqS0/pggHZGqYlySBShVoJNaPlnk4AhBi2IpF/zH87/j5brg6Zix/xT8vIzn5YLd8YhZCNfLC05PR3Dao1P/WJ4aJQNLqINPojTrlGdQzh65GSM5kVOm8JpDUI0w5Rv+Uhm8gHGq1/b9CTLlXUt5aFmMA24gWGczz9DmWRvQ1mrAniS9rCg5NRgxNQ8re3jctgMR2UnMhrROO6RknNkAoCkbAhiw9/zA39FzAAcP1yqMFb9ZGld4pgBYXnOsHV5iNSjL7BAGk9dUrNRCrR3QSx7qZStNvSzQem0MNSoLUAtaHXvU9XsmTyXjCcqKKgUpz83zr8xIOePl5QqqwMv3i+VsKrCbzNP08vyMZRHM+yMupeB8Ldjt5pZ6MWWGSEFVS+8BE+ag/IGtfcafwGAyjIBih8ZvjQNARzB2gI6pLj154EfWvz9HuAOghoZVVctDJ3h1M/T5ArZNHTDIrkvw6nluPq10i/Hz8NxKN4N43SYPYrDDaaOE740OIx1kbI879H/tHZk89WSM6FrOh3o+q42z7mVWcE02N/tczNPAEILF1q1aAFkgi1VPjBREWyeqpQdpRam2f6Qs2OW4Rxh0AesChuXV2rMnS3NABdhSxBIZxRgAIGdUAZAM7JkSWynXAGHv9piPn5DzDmk+ANMBKe+QPA83TbOrAglIM3g6AXxApHGZd9XWpLfkTYXVmGV8eaPegRrZs3YHekMpkyXz3r7sVbe7Ww1uB1hMdoSWLrDqozeTZUOBd4VzdQ8+YNZXVCCl7q4f79hprdoP3tmGjGvbB57rwrXVX7fNltdr6GYHVkm1yRKAlIuj/Izeo5QCkdo6mEhxjk7vdF6IOFz8xsxwBaNYQjspjCJCWmiWWDDpYm59rd7hFEHaKypIEwPMuMwZkjPm0ydkr688TTsgH8BOHTZNBuRpsCvO4HwE0hFKOwDZQGlxj6Hko+Ij0gLocEBLPvF2j3KjDO0LPKq1DwBVQdEzUO19WXi1tOMnWVqKDFTA5FQrAd7zXG0FcE2Tgdl4B8oHA1LAlJE0ZWQFijKEJlyRWki/6fii9s7JR0NE5MFuP1loN0GhrK00KkViPycr+UcM4QkSnIO8mNLCisSETAShhCV4VocwKvsEOBI6ixWAx7UaGTfKYhyGngO7LN8hRbHfJVzLBd/++Bsyf0H1lIDrZcH5SjhfFU+/fcL5fMbLpeBwOGHkagWRodJTAs0ZoB2YPSyaEsBsNbx9rCfsoF6HWukI0gNI9iCdbWnS0vJwfenwNdMXrttQlJqS9xEhqDzNtlhpB5fAWUUY6hyVhnVuCqta9mgibcwuGuTrcIWVTOmzEq4ORWuAlnH9tdApUwaoOysEhKLxGQMEE+0cPlOu7P8mzD7VeseO3NWYVhHQODPEDKzrnJYALO/PAFMWZvb9x4REJUxKwJJQ6AJZAn4IaE1QWqBR5EXc0GrOCXvu6sT+nCbs5gyerG9fBcZOs1zAonj5fobUiv0uI7lCKlXw/eUFXw97ME84nxeIaENT7w8H1OXF+p8SOhOCpz0U8TWUwWmG4gClI6LsONETCCcAByBys6NNV+3+ATwXVB1wNf6ofV0kyxNPkdCP6Aotl8dYJsF367VtDhDtqNTY+L/bfZXjM2jQbQ2/R/Zob8KY5dfbOa5nEoUJVLrS3YS1XZKgLTVLHA8QWCAAYEfV88DXO56LdYZKRU2W6lO5NCcWAMxUAJjSKo4/uFfQ7RgOvU1lpZRT6G0xNCS4YXsTZlJP3zDHQ0rJMAmw/HbOT+BptpSiPIOmCRRFAlJypwrZWscMFW7rmlKFKkM1Y9rhVXlTk6ieWAsia1S4567prp1mplPO2ABadZfB49o72ysdDbjpbC3BadxhtcCMHa39huEe2sI2nsHzbL0T6YNLdsCCtpcc363DOeAsWS7SmEMbfxmGJhSpDVVYJ/P0iZinhHhBrX273U9YPjBPq3RvCLPlgFGgXuGGRXiK/bvI2oOiFOhY243ZBknOGTln0PRkOZbw5H+vTEGcgGSo1UYNRlZzXokNXlsVigIJPs9hqf+ILFZOuQP+puG9qKGLGy2b1sHSFSg/NeARu7cqJhaqAwPGDc0K0NK32rsgJiS2CkRwD4qkybzVcIT8ygyH9zNXVuGVqrQrFmHMBVKYAKsj731VRMBgo/SpBiKBDhQvhZHYaeaCpDxlyzcCIMsV1ZGoWq7G+4fulYKwG4viNbENPBLDa96fbB1NgFyvuH6/4nk+g/F3AMCUGLvpiG9/P+P42xfsDhkvL8/gCY1SLe92QL2igCHKTgG2ByLPT20OMpaKGUpHKJ1AZEwKRL/BClbYgk6o3r6PDOOYvx4t7x/jZ7UcXHWFzceRCAjVWFacxUEa0AQdU0DhO1KvW+7eR1qPWyYy3uVBYe1GuTsi1KtPRd9T8/8Bofuv25MpuFV99r0DGrDdk/a9RulgFWnIanMKNGZ/EKxci4Siw5OxpQCW75pmKE8g592sPEEaGvuCArZKTMq+SJbB0eHk6mz3kKeMhaUtqkZuDlS8gIlxWRYsUvD8/K3lCpda8N//9Qcg5oV6fn5GmXOr+LObJkgtWEpByntclzMEDM6DUlcJrAnTtAf4CaqfIPAccD2B5ASjakv+4m4WXG+1n997b5S2uJthviTVVr2tHXVzyEOVYOW6Hb3Irz3lo7O8tf+PnqEf3+7boxcYAIQYgGUAmg+OlSGwXO4WEGqFMwDV7qxrS7UKRJLlpquCs4+hhtSzQhXsv0V/7kA9JxVRbVy25IpD7MOobW1D6EbAsO5Y7m28x8TJ1rcUlHAZlTM4JdtGQbs4RuaDOcrXvRuLwIy4t10Eb4OuXNGMjmaNt7rC/aTz6ByrBSE621sd52GXfeXzj56B7rZHJyNHrN4PNlfPWLyzRSUdAYTckzFcIRTV8dxqCmv8tbM6itsJ2sHFOtuNwtvu4gbSGJ3ELuFVgCBDh+uTRHy2Djdutwk+lK5pmlA5twWSky2WArVqYBxUMzG4yCzhu8lnfM8fJxxUaESdg9Q96YyE4MHtlCtApBDAkauJEJhnO94BEEwd4czEmMKQCIV1XLTVohERui5ASywfm64Tg7u6MISMRoOrT4hhmsLDbNJ+JzbaKCLj/UsAolyPEgOcjLN0ytBpZzRYXjqyXM/A5QxdzpByMeVVrghAoP01z14lS6sRqshBOTVVLFzBpLiIoVefny9YGjE6QHVBLVf853/8Jz5//ozzywXluuDkxRU+f/6EqsXI1BNBLosRTHu6C5KA5h0mPgL8BYrfofgK0q/eJp8APQAaHJrq49s9bWaa+OQe7d/fRTMWMXg4f6KweyKpcarAWEk0tXApeepV50FWZwmotg8BEoYJYi6PK3jP4h4WVbjhju79ulMpqW8x4Ot6u6g5IFS0zQ/3x/u7qOJMKDeOBjKGGGX15xXwEBUKoNZEDEkeFnUjWVKG8tXSGUqGphmUMqr3zXq19tTqcDYHYPWVUwzMQwlMGQUVtSzI4WG+Chg78O4JogsKGImBb99fMIXRCoU+X/BH+QOHwx4vL8+g0wl6tO2yCGohXM6CLAKkGeWsoMXvYZpAfATXJ6P4we9g/grO1reJf3Mk9QxQgnlmLeJjbdSjiR8RHdAHhoxqV3Qe3dO47hHRba8D8EhhfWdcvqav/j9KeI7vQOYu3WRw5gEKA9EdUj5nR+TUjnkkyR0sQ7LkoC8I6erYHrwYlHqv8GaVLT2djMYriHtPuyMmns1v0tc3as6u1eDlBEq2Hiwajpv+ngjApIzU1dYH+tb7c+3bHtZaBzf8/SlXLyy2c9+re/zGDjai916Rn9DZGn2Fv5yHluGNkt0dDQwi89ZFMYDYa/zQ01p01dnG6yssaL7SSe86P6/6BnGyDuMWEhEw6VphhT9XV8rN49EUVvTFDApoYmjSxgBTw8prxxOSWqeL482F/xNe1v9CmHP3SPsH9f5InjNtJDyjwuoLMZw3L0h6/DySbhgwyLqqDpEGDWYHV1jvmycQqLHo32zVmMBHhk30PuWGVSUZemfPrTLPqxrDhSg4iRGsR2EPThAp0FIA2aOWK1LaAZ4KQvMVNL+gXs4ol2cInwG5WP4fYKktziBgIekCxc4oUWDh/IqKRQRIBKYXLNTjKufv3zChYgKh/Nc31Iug1IIpMebgHdwLqhDOF0GaCVSTpdAGUff+ExKfQPJXEP0VnP5iLBXkpNOyBzQjSLQjJagbCPZZNAyBteHZPBRKyG+RAv5ZoqEmsykliHEugwfT+l2n7/OojxvfzcgZQyxtT5OrWU/tV9ul4wn07ggXEgvZP1hgAhtgp319ARKy3HwC2jMQAGVGUAIptHFl20Fi/1gbybpQatgBQgKJ5X7CPaycjM/bmtPI2Eu5oFbPZ6WOxSAST80qxiCjCxgFLSVBzBCbpgzmAp0IlQU627jv7ZhRFXi5JlD6DZeS8LI4CfzVispI2uMiE/a7T7ByslFpbgfwZ4BPIP43cP6LUf94eVvFHhTUUYArqoPyooFx//mGljwIRYf0amaP7yzWYttn9PyTn1vdydKVwJCRGm044833tVIZc+xb8v/HxWz6QtxjGKSNCWHwNPb1pa8dxls7OKlcHxmmM0vf9K0gOHVYH/sSLDHMKx2h8eOj6ydEAFx3aBEeWESnj3leq3KKjrFpffP2M6M5ARV3a6Nd7+138m60NhSrR6mwPWw9doSuXUeJUmukuCnrKLHPrYfuVlZK2OrabyfnvtfZxu2heN9fpDf22LebdUJre3E1yNzCqcNk/OjaOr7UB/dI5FW8qLchkyuKfg/hPLk7ixNPm7WkqzYLX2NYTFWDZ3R9bQM2dO8UDR7WUu7buX/9WEWWIrcLaDcVyrdSMg9VeCdbuxjPY3irNEr4tmcKDsv14l+azWITNrd9dJgG9Obv41xvU4Kjw91Pzn2f2scaqM16DRigprTCQ3BRuzvxBKrVaH2kWpGOtIDUFda6YCpH1MsLlsse6XpGWS6NQFqkIECBAqNSshQGB3VhwQKjWEmpAnkBTaagAAAdP3uyP0DKeAGDM6GS4m9Xuwd5OSLtdpAMTPmIeX+COiE9AOh8gkwnCH9Fzn8B5c9QPiBK7EbONxpg0YoPjDmXAg9ZNa/rfX999NtPFSKs6p/oQGyubrys+iL1OYlh5RsxHH8jNn2v8wHX4znmt9ucwfj/Ud81U9Bvd3291TceVqxhfIqPGUJYb/30RFBmqxikrszXBPWS18LZ+JedvoenHXTetTSnKc8o153xYi9Gd2fAVc9hj3z2mFrVQC4apZlRISSodAImMw6JCqbjF0xB6wa4kUFYRJBzwlUFfy92D8v1hGm/B+aEPB9RdyfwtO9V2lKG5gOED6j4DKavIDpBvShG79vmMGmRukEhDGX/Z8trSuB7a/FjTxsNn/u5JbAjwzqFH/DWjd4+v+qb9/Qjcq8A38gYbVw1zc2sv9ZYfe2gm2cc7379nW+e7WZY2blGulG1/sGDTrEKwNhZbQUaFNbRP66xdjUVSYGauoPz/oSWYuRz7migjE/12L/e5U9IL4wwky3Y1smANsUFSOgHLcDHDryfNRjfv0e6UVrbcaYd3XUmYH33TGiVZFb7DA+uTK6YdoW4ebdN7fT6yndnWf29v9d1DjHXHgClwTs7nq8gvOqjVdz3aXzPH73Yr02E4bOBpLqVp3chFXVlRn1h0KYDuLF1O3XcTshx8rtrh/g2siKlt4dqGHRtNliDBhWIpKR21OglonGxVwWok1STmte1lsmAZZMiqUDRmRIgBbI/QpYnSF1QS4AAgSoVtV4h6nyt6kaMe2BJFpBeDeznBpVQceQpkLAgqdXOrjAAUIUiTQnF+T6/zRn702fM8wE8n0C7IyZHndpNkoH+5iPATwD2UJ3Q6pfbnToAwUPJQ49c4XOjv350d11J11KH9aIpcRa58RzVFvaBpzl4qUsFeIVEftAPV9yVEUkYGkIJKxj/uOrSDUMDYmENh0QHO4XUAWyjnlaz8sIAIO6E7TJeDwCYrUKbO0BIqs+F3I5VnsDqnn8tQM3Q7DmsuxlSDl5kpTaFtdSoGOQgVwdjkRRAF5BYPfUESyGKKoSVCogKgAXcFFaF5Lm9o4WNu1Vcab7OM/j0G+b5gDQfQPmAKR8tXxWel60K8IyUn4B0AsjKr9p7jBQGhfVxN1IDrEPNJXT/vn8BsSn1vcF2r7DGWmW4DG3cvT983Xc9sB8gbT1frwG3K0eisTDE/bMwaL22+ziO3RTdA0uxXW2NbjmsfNMeLU3h9Xa6vY8kvFZYb0QakF1bPu0oZiS+ejm7z7c3b7LJJptssskmm2yyycfKD3tYw8Oz8siN5dMGbb7J4H4ORBuTei7avefxNXno4l7v8cbR9AP7/ICE8+DmR33kHR0+8+AZbdtv0iBurQpzTCX3pjhlBsacRWrpfBFBeFhq7jYMfWMR3VrhLANQa+DJC7yjkkKGvNcIdYyPdxu2+DAZwiwNhMCWS9Sr9BnQJJ6ZAbB0FgwiNlBR4Jlafx6+0z3NyqqZm9dq9BiohfZAuKVTGvdsZyWsWC4CaamOGl0VCEwGFGv9xkusNlosEeOynNmQp94OUV5ZVYzTjw+Q7HmGVBroSoI6peUfKqB1SPlBY6ew8KhidMIH2wX5M7GHjowixaYj4/L7hJR34JzBeTbqLM9FtHY3UKCCoYUsXHvDUBE54oaBZaPiG9u6OfBoAAt+vGggdkGD19i85SNugAVOcRUSAFIfrwOYY+yTPcQ4dtQ0fIsB8ChKkPxkjNuYv9Ez6dB/aTzbqjJQm0akRw9aLmKAGj1C0LyHYhyeKpZ/HmwHY0pXpLAxjJpOuKIG12MSaK7IEKguqM7cEuVtocGO4LQ/MKBJ9XSY+G7TgDaXkHpua7SURe3Vq4kRpmnCNHsJzLwD7T+D5p3l2O72oGluLCKUUvOYGZvIBBVGTEICeOqLe6F9wog0DGn9/NfpzyvRe7qoHkK2+75nkLDx3sazjjoB4TEuRu9+M6939P0fwNIM13+cJ/tPyOjaXP8IHT2sq0iar0s0xCoeBqfX99ZAm8NB1BptYGy48YTS+pR38t7zkw5RrNt9Va2g5IBxus0GZQy4mlfkHYV1cEOPK1L85mFjoSHfQiK7YbwwDb5cAzz0fe4bge46LFaNS83J7Wd80JD2wvpLeTVP9Q3pKSivodrwMCVgFc6nB8Hxm5fyqBtQmxBtEI9H3D6b0UQ8OAeNC4a+O4eNtZhHAt8ApRmZ+Q16EOvFUMPN/07e0p8v+uCzPd/t4r1iVqg3i/ww8ldTTVsUxsXh0Wzy+O2u/77/BKuxGDdHr02kNhkTAmE91t4O8wOd7QDUQFmiAiQBOxeoqkK5lwUe0al2vvgXoSVTxCOFyfJVx1ypkVw8eP2MHiVCRClPEJ7BnMDJEjEqdeOQ2+xBN+mV8Z78r643rb7rzbzx6mT8AaCrEUJxh0zolmojIV9tDlpBasrXervPJ0TA2tQZOlybzG/ua+y3D5Qi7fvcqwvDvY+fuWsfOvweOeb2j4ffjFLNCDuojQFg/T5J2ABZqPBSA0NIWYyP2BXWvgiG4mQFWxpa+m6+8MKePo/bOcdnC4CQA1eYmzE25R2QjkhpwjRNoJSg3LluQakZZCDyabi3poKhA4doMJ/0V9ABNj9bbC66X4/XbXPvKBkmESiMlCeMHVqN5VBqR8CRK7kPhwnd/DbmcUbp6S639x1fO1DpMW3Xa7J+DeRpdPf7rdbSB+vFaiw9eK57Vf12rX/BccrKAAAB4klEQVSgjw1tbses9ZS17uCfRt3v/jG6/tAcPn1sijpgS6m9mzudlqkBmF+TNxXW915OWDyj2sl3L/1OjW6/ByDr7rzQ1cPeLpIIUMkvIO8mXv8ryXuTEfr2j26L165vE+ra2Ik+6H6jJrEQNXAhD0v2SmEdEw0fXPD/6t1/ICOn3q0x1g1BaspkeBd5yCfnNCq7Q3J9eE/Dwz+40QcD2S9hRTxGhbUl+EMb12dU4urJ/3aC8EK528pO64wVlUKlCgXYrpHVKJOYXuFx7g0xtNfai6o6Gi6/6rh9xDKxXgjuoiYrY/ldG/WXkEcK56PtK3TzXZUh9HruRIB4HXRicOrLnIiYQspTKySyQrD78ezOgjReh8hHvCusoQDxbRStM7akxCtjjKcM4akzvcBtrsHQJ6Xugb7X+u8Mr1E+MlBwt04Pv/+z53nrt/Wrf6xHjKCemMPvDdSPHfd3/drlo9fOP0vssXysPnBoxbt8S+hftXE22WSTTTbZZJNNNvnXkA10tckmm2yyySabbLLJLy2bwrrJJptssskmm2yyyS8tm8K6ySabbLLJJptssskvLZvCuskmm2yyySabbLLJLy2bwrrJJptssskmm2yyyS8tm8K6ySabbLLJJptssskvLf8DFZcXkiWrscAAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bears = bears.new(item_tfms=RandomResizedCrop(128, min_scale=0.3))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.train.show_batch(max_n=4, nrows=1, unique=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We used `unique=True` to have the same image repeated with different versions of this `RandomResizedCrop` transform. This is a specific example of a more general technique, called data augmentation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Data Augmentation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Data augmentation* refers to creating random variations of our input data, such that they appear different, but do not actually change the meaning of the data. Examples of common data augmentation techniques for images are rotation, flipping, perspective warping, brightness changes and contrast changes. For natural photo images such as the ones we are using here, a standard set of augmentations that we have found work pretty well are provided with the `aug_transforms` function. Because our images are now all the same size, we can apply these augmentations to an entire batch of them using the GPU, which will save a lot of time. To tell fastai we want to use these transforms on a batch, we use the `batch_tfms` parameter (note that we're not using `RandomResizedCrop` in this example, so you can see the differences more clearly; we're also using double the amount of augmentation compared to the default, for the same reason):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x432 with 8 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128), batch_tfms=aug_transforms(mult=2))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.train.show_batch(max_n=8, nrows=2, unique=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have assembled our data in a format fit for model training, let's actually train an image classifier using it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training Your Model, and Using It to Clean Your Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Time to use the same lines of code as in <<chapter_intro>> to train our bear classifier.\\n\",\n    \"\\n\",\n    \"We don't have a lot of data for our problem (150 pictures of each sort of bear at most), so to train our model, we'll use `RandomResizedCrop` with an image size of 224 px, which is fairly standard for image classification, and default `aug_transforms`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(\\n\",\n    \"    item_tfms=RandomResizedCrop(224, min_scale=0.5),\\n\",\n    \"    batch_tfms=aug_transforms())\\n\",\n    \"dls = bears.dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create our `Learner` and fine-tune it in the usual way:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.235733</td>\\n\",\n       \"      <td>0.212541</td>\\n\",\n       \"      <td>0.087302</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.213371</td>\\n\",\n       \"      <td>0.112450</td>\\n\",\n       \"      <td>0.023810</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.173855</td>\\n\",\n       \"      <td>0.072306</td>\\n\",\n       \"      <td>0.023810</td>\\n\",\n       \"      <td>00:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.147096</td>\\n\",\n       \"      <td>0.039068</td>\\n\",\n       \"      <td>0.015873</td>\\n\",\n       \"      <td>00:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.123984</td>\\n\",\n       \"      <td>0.026801</td>\\n\",\n       \"      <td>0.015873</td>\\n\",\n       \"      <td>00:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18, metrics=error_rate)\\n\",\n    \"learn.fine_tune(4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's see whether the mistakes the model is making are mainly thinking that grizzlies are teddies (that would be bad for safety!), or that grizzlies are black bears, or something else. To visualize this, we can create a *confusion matrix*:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"interp = ClassificationInterpretation.from_learner(learn)\\n\",\n    \"interp.plot_confusion_matrix()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The rows represent all the black, grizzly, and teddy bears in our dataset, respectively. The columns represent the images which the model predicted as black, grizzly, and teddy bears, respectively. Therefore, the diagonal of the matrix shows the images which were classified correctly, and the off-diagonal cells represent those which were classified incorrectly. This is one of the many ways that fastai allows you to view the results of your model. It is (of course!) calculated using the validation set. With the color-coding, the goal is to have white everywhere except the diagonal, where we want dark blue. Our bear classifier isn't making many mistakes!\\n\",\n    \"\\n\",\n    \"It's helpful to see where exactly our errors are occurring, to see whether they're due to a dataset problem (e.g., images that aren't bears at all, or are labeled incorrectly, etc.), or a model problem (perhaps it isn't handling images taken with unusual lighting, or from a different angle, etc.). To do this, we can sort our images by their *loss*.\\n\",\n    \"\\n\",\n    \"The loss is a number that is higher if the model is incorrect (especially if it's also confident of its incorrect answer), or if it's correct, but not confident of its correct answer. In a couple of chapters we'll learn in depth how loss is calculated and used in the training process. For now, `plot_top_losses` shows us the images with the highest loss in our dataset. As the title of the output says, each image is labeled with four things: prediction, actual (target label), loss, and probability. The *probability* here is the confidence level, from zero to one, that the model has assigned to its prediction:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 1080x288 with 5 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"interp.plot_top_losses(5, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This output shows that the image with the highest loss is one that has been predicted as \\\"grizzly\\\" with high confidence. However, it's labeled (based on our Bing image search) as \\\"black.\\\" We're not bear experts, but it sure looks to us like this label is incorrect! We should probably change its label to \\\"grizzly.\\\"\\n\",\n    \"\\n\",\n    \"The intuitive approach to doing data cleaning is to do it *before* you train a model. But as you've seen in this case, a model can actually help you find data issues more quickly and easily. So, we normally prefer to train a quick and simple model first, and then use it to help us with data cleaning.\\n\",\n    \"\\n\",\n    \"fastai includes a handy GUI for data cleaning called `ImageClassifierCleaner` that allows you to choose a category and the training versus validation set and view the highest-loss images (in order), along with menus to allow images to be selected for removal or relabeling:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"d547f14e0f7848f39627ebb88d457e64\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"VBox(children=(Dropdown(options=('black', 'grizzly', 'teddy'), value='black'), Dropdown(options=('Train', 'Val…\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"cleaner = ImageClassifierCleaner(learn)\\n\",\n    \"cleaner\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Cleaner widget\\\" width=\\\"700\\\" src=\\\"images/att_00007.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# for idx in cleaner.delete(): cleaner.fns[idx].unlink()\\n\",\n    \"# for idx,cat in cleaner.change(): shutil.move(str(cleaner.fns[idx]), path/cat)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that amongst our \\\"black bears\\\" is an image that contains two bears: one grizzly, one black. So, we should choose `<Delete>` in the menu under this image. `ImageClassifierCleaner` doesn't actually do the deleting or changing of labels for you; it just returns the indices of items to change. So, for instance, to delete (`unlink`) all images selected for deletion, we would run:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for idx in cleaner.delete(): cleaner.fns[idx].unlink()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"To move images for which we've selected a different category, we would run:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for idx,cat in cleaner.change(): shutil.move(str(cleaner.fns[idx]), path/cat)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"> s: Cleaning the data and getting it ready for your model are two of the biggest challenges for data scientists; they say it takes 90% of their time. The fastai library aims to provide tools that make it as easy as possible.\\n\",\n    \"\\n\",\n    \"We'll be seeing more examples of model-driven data cleaning throughout this book. Once we've cleaned up our data, we can retrain our model. Try it yourself, and see if your accuracy improves!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: No Need for Big Data: After cleaning the dataset using these steps, we generally are seeing 100% accuracy on this task. We even see that result when we download a lot fewer images than the 150 per class we're using here. As you can see, the common complaint that _you need massive amounts of data to do deep learning_ can be a very long way from the truth!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have trained our model, let's see how we can deploy it to be used in practice.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Turning Your Model into an Online Application\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are now going to look at what it takes to turn this model into a working online application. We will just go as far as creating a basic working prototype; we do not have the scope in this book to teach you all the details of web application development generally.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using the Model for Inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once you've got a model you're happy with, you need to save it, so that you can then copy it over to a server where you'll use it in production. Remember that a model consists of two parts: the *architecture* and the trained *parameters*. The easiest way to save the model is to save both of these, because that way when you load a model you can be sure that you have the matching architecture and parameters. To save both parts, use the `export` method.\\n\",\n    \"\\n\",\n    \"This method even saves the definition of how to create your `DataLoaders`. This is important, because otherwise you would have to redefine how to transform your data in order to use your model in production. fastai automatically uses your validation set `DataLoader` for inference by default, so your data augmentation will not be applied, which is generally what you want.\\n\",\n    \"\\n\",\n    \"When you call `export`, fastai will save a file called \\\"export.pkl\\\":\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.export()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's check that the file exists, by using the `ls` method that fastai adds to Python's `Path` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#1) [Path('export.pkl')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path = Path()\\n\",\n    \"path.ls(file_exts='.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You'll need this file wherever you deploy your app to. For now, let's try to create a simple app within our notebook.\\n\",\n    \"\\n\",\n    \"When we use a model for getting predictions, instead of training, we call it *inference*. To create our inference learner from the exported file, we use `load_learner` (in this case, this isn't really necessary, since we already have a working `Learner` in our notebook; we're just doing it here so you can see the whole process end-to-end):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn_inf = load_learner(path/'export.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we're doing inference, we're generally just getting predictions for one image at a time. To do this, pass a filename to `predict`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('grizzly', tensor(1), tensor([9.0767e-06, 9.9999e-01, 1.5748e-07]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn_inf.predict('images/grizzly.jpg')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This has returned three things: the predicted category in the same format you originally provided (in this case that's a string), the index of the predicted category, and the probabilities of each category. The last two are based on the order of categories in the *vocab* of the `DataLoaders`; that is, the stored list of all possible categories. At inference time, you can access the `DataLoaders` as an attribute of the `Learner`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#3) ['black','grizzly','teddy']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn_inf.dls.vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see here that if we index into the vocab with the integer returned by `predict` then we get back \\\"grizzly,\\\" as expected. Also, note that if we index into the list of probabilities, we see a nearly 1.00 probability that this is a grizzly.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We know how to make predictions from our saved model, so we have everything we need to start building our app. We can do it directly in a Jupyter notebook.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Notebook App from the Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To use our model in an application, we can simply treat the `predict` method as a regular function. Therefore, creating an app from the model can be done using any of the myriad of frameworks and techniques available to application developers.\\n\",\n    \"\\n\",\n    \"However, most data scientists are not familiar with the world of web application development. So let's try using something that you do, at this point, know: it turns out that we can create a complete working web application using nothing but Jupyter notebooks! The two things we need to make this happen are:\\n\",\n    \"\\n\",\n    \"- IPython widgets (ipywidgets)\\n\",\n    \"- Voilà\\n\",\n    \"\\n\",\n    \"*IPython widgets* are GUI components that bring together JavaScript and Python functionality in a web browser, and can be created and used within a Jupyter notebook. For instance, the image cleaner that we saw earlier in this chapter is entirely written with IPython widgets. However, we don't want to require users of our application to run Jupyter themselves.\\n\",\n    \"\\n\",\n    \"That is why *Voilà* exists. It is a system for making applications consisting of IPython widgets available to end users, without them having to use Jupyter at all. Voilà is taking advantage of the fact that a notebook _already is_ a kind of web application, just a rather complex one that depends on another web application: Jupyter itself. Essentially, it helps us automatically convert the complex web application we've already implicitly made (the notebook) into a simpler, easier-to-deploy web application, which functions like a normal web application rather than like a notebook.\\n\",\n    \"\\n\",\n    \"But we still have the advantage of developing in a notebook, so with ipywidgets, we can build up our GUI step by step. We will use this approach to create a simple image classifier. First, we need a file upload widget:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"e0c4141e3c76425c98ae9994ccf9a748\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"FileUpload(value={}, description='Upload')\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"btn_upload = widgets.FileUpload()\\n\",\n    \"btn_upload\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An upload button\\\" width=\\\"159\\\" src=\\\"images/att_00008.png\\\">\\n\",\n    \"\\n\",\n    \"Now we can grab the image:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# For the book, we can't actually click an upload button, so we fake it\\n\",\n    \"btn_upload = SimpleNamespace(data = ['images/grizzly.jpg'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(btn_upload.data[-1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Output widget representing the image\\\" width=\\\"117\\\" src=\\\"images/att_00009.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use an `Output` widget to display it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"out_pl = widgets.Output()\\n\",\n    \"out_pl.clear_output()\\n\",\n    \"with out_pl: display(img.to_thumb(128,128))\\n\",\n    \"out_pl\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Output widget representing the image\\\" width=\\\"117\\\" src=\\\"images/att_00009.png\\\">\\n\",\n    \"\\n\",\n    \"Then we can get our predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"pred,pred_idx,probs = learn_inf.predict(img)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and use a `Label` to display them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"08509e39d3454701b5fed10439970e84\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"Label(value='Prediction: grizzly; Probability: 1.0000')\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"lbl_pred = widgets.Label()\\n\",\n    \"lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\\n\",\n    \"lbl_pred\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`Prediction: grizzly; Probability: 1.0000`\\n\",\n    \"\\n\",\n    \"We'll need a button to do the classification. It looks exactly like the upload button:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"5948c2dc026d43cb9afdce7dee8fa425\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"Button(description='Classify', style=ButtonStyle())\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"btn_run = widgets.Button(description='Classify')\\n\",\n    \"btn_run\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll also need a *click event handler*; that is, a function that will be called when it's pressed. We can just copy over the lines of code from above:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def on_click_classify(change):\\n\",\n    \"    img = PILImage.create(btn_upload.data[-1])\\n\",\n    \"    out_pl.clear_output()\\n\",\n    \"    with out_pl: display(img.to_thumb(128,128))\\n\",\n    \"    pred,pred_idx,probs = learn_inf.predict(img)\\n\",\n    \"    lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\\n\",\n    \"\\n\",\n    \"btn_run.on_click(on_click_classify)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can test the button now by pressing it, and you should see the image and predictions update automatically!\\n\",\n    \"\\n\",\n    \"We can now put them all in a vertical box (`VBox`) to complete our GUI:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"#Putting back btn_upload to a widget for next cell\\n\",\n    \"btn_upload = widgets.FileUpload()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"e9e7b05555a44125ac0e5365e17ea59d\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"VBox(children=(Label(value='Select your bear!'), FileUpload(value={}, description='Upload'), Button(descriptio…\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"VBox([widgets.Label('Select your bear!'), \\n\",\n    \"      btn_upload, btn_run, out_pl, lbl_pred])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The whole widget\\\" width=\\\"233\\\" src=\\\"images/att_00011.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have written all the code necessary for our app. The next step is to convert it into something we can deploy.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Turning Your Notebook into a Real App\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# !pip install voila\\n\",\n    \"# !jupyter serverextension enable --sys-prefix voila \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have everything working in this Jupyter notebook, we can create our application. To do this, start a new notebook and add to it only the code needed to create and show the widgets that you need, and markdown for any text that you want to appear. Have a look at the *bear_classifier* notebook in the book's repo to see the simple notebook application we created.\\n\",\n    \"\\n\",\n    \"Next, install Voilà if you haven't already, by copying these lines into a notebook cell and executing it:\\n\",\n    \"\\n\",\n    \"    !pip install voila\\n\",\n    \"    !jupyter serverextension enable --sys-prefix voila\\n\",\n    \"\\n\",\n    \"Cells that begin with a `!` do not contain Python code, but instead contain code that is passed to your shell (bash, Windows PowerShell, etc.). If you are comfortable using the command line, which we'll discuss more later in this book, you can of course simply type these two lines (without the `!` prefix) directly into your terminal. In this case, the first line installs the `voila` library and application, and the second connects it to your existing Jupyter notebook.\\n\",\n    \"\\n\",\n    \"Voilà runs Jupyter notebooks just like the Jupyter notebook server you are using now does, but it also does something very important: it removes all of the cell inputs, and only shows output (including ipywidgets), along with your markdown cells. So what's left is a web application! To view your notebook as a Voilà web application, replace the word \\\"notebooks\\\" in your browser's URL with: \\\"voila/render\\\". You will see the same content as your notebook, but without any of the code cells.\\n\",\n    \"\\n\",\n    \"Of course, you don't need to use Voilà or ipywidgets. Your model is just a function you can call (`pred,pred_idx,probs = learn.predict(img)`), so you can use it with any framework, hosted on any platform. And you can take something you've prototyped in ipywidgets and Voilà and later convert it into a regular web application. We're showing you this approach in the book because we think it's a great way for data scientists and other folks that aren't web development experts to create applications from their models.\\n\",\n    \"\\n\",\n    \"We have our app, now let's deploy it!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Deploying your app\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you now know, you need a GPU to train nearly any useful deep learning model. So, do you need a GPU to use that model in production? No! You almost certainly *do not need a GPU to serve your model in production*. There are a few reasons for this:\\n\",\n    \"\\n\",\n    \"- As we've seen, GPUs are only useful when they do lots of identical work in parallel. If you're doing (say) image classification, then you'll normally be classifying just one user's image at a time, and there isn't normally enough work to do in a single image to keep a GPU busy for long enough for it to be very efficient. So, a CPU will often be more cost-effective.\\n\",\n    \"- An alternative could be to wait for a few users to submit their images, and then batch them up and process them all at once on a GPU. But then you're asking your users to wait, rather than getting answers straight away! And you need a high-volume site for this to be workable. If you do need this functionality, you can use a tool such as Microsoft's [ONNX Runtime](https://github.com/microsoft/onnxruntime), or [AWS Sagemaker](https://aws.amazon.com/sagemaker/)\\n\",\n    \"- The complexities of dealing with GPU inference are significant. In particular, the GPU's memory will need careful manual management, and you'll need a careful queueing system to ensure you only process one batch at a time.\\n\",\n    \"- There's a lot more market competition in CPU than GPU servers, as a result of which there are much cheaper options available for CPU servers.\\n\",\n    \"\\n\",\n    \"Because of the complexity of GPU serving, many systems have sprung up to try to automate this. However, managing and running these systems is also complex, and generally requires compiling your model into a different form that's specialized for that system. It's typically preferable to avoid dealing with this complexity until/unless your app gets popular enough that it makes clear financial sense for you to do so.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For at least the initial prototype of your application, and for any hobby projects that you want to show off, you can easily host them for free. The best place and the best way to do this will vary over time, so check the [book's website](https://book.fast.ai/) for the most up-to-date recommendations. As we're writing this book in early 2020 the simplest (and free!) approach is to use [Binder](https://mybinder.org/). To publish your web app on Binder, you follow these steps:\\n\",\n    \"\\n\",\n    \"1. Add your notebook to a [GitHub repository](http://github.com/).\\n\",\n    \"2. Paste the URL of that repo into Binder's URL, as shown in <<deploy-binder>>.\\n\",\n    \"3. Change the File dropdown to instead select URL.\\n\",\n    \"4. In the \\\"URL to open\\\" field, enter `/voila/render/name.ipynb` (replacing `name` with the name of for your notebook).\\n\",\n    \"5. Click the clickboard button at the bottom right to copy the URL and paste it somewhere safe. \\n\",\n    \"6. Click Launch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Deploying to Binder\\\" width=\\\"800\\\" caption=\\\"Deploying to Binder\\\" id=\\\"deploy-binder\\\" src=\\\"images/att_00001.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first time you do this, Binder will take around 5 minutes to build your site. Behind the scenes, it is finding a virtual machine that can run your app, allocating storage, collecting the files needed for Jupyter, for your notebook, and for presenting your notebook as a web application.\\n\",\n    \"\\n\",\n    \"Finally, once it has started the app running, it will navigate your browser to your new web app. You can share the URL you copied to allow others to access your app as well.\\n\",\n    \"\\n\",\n    \"For other (both free and paid) options for deploying your web app, be sure to take a look at the [book's website](https://book.fast.ai/).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You may well want to deploy your application onto mobile devices, or edge devices such as a Raspberry Pi. There are a lot of libraries and frameworks that allow you to integrate a model directly into a mobile application. However, these approaches tend to require a lot of extra steps and boilerplate, and do not always support all the PyTorch and fastai layers that your model might use. In addition, the work you do will depend on what kind of mobile devices you are targeting for deployment—you might need to do some work to run on iOS devices, different work to run on newer Android devices, different work for older Android devices, etc. Instead, we recommend wherever possible that you deploy the model itself to a server, and have your mobile or edge application connect to it as a web service.\\n\",\n    \"\\n\",\n    \"There are quite a few upsides to this approach. The initial installation is easier, because you only have to deploy a small GUI application, which connects to the server to do all the heavy lifting. More importantly perhaps, upgrades of that core logic can happen on your server, rather than needing to be distributed to all of your users. Your server will have a lot more memory and processing capacity than most edge devices, and it is far easier to scale those resources if your model becomes more demanding. The hardware that you will have on a server is also going to be more standard and more easily supported by fastai and PyTorch, so you don't have to compile your model into a different form.\\n\",\n    \"\\n\",\n    \"There are downsides too, of course. Your application will require a network connection, and there will be some latency each time the model is called. (It takes a while for a neural network model to run anyway, so this additional network latency may not make a big difference to your users in practice. In fact, since you can use better hardware on the server, the overall latency may even be less than if it were running locally!) Also, if your application uses sensitive data then your users may be concerned about an approach which sends that data to a remote server, so sometimes privacy considerations will mean that you need to run the model on the edge device (it may be possible to avoid this by having an *on-premise* server, such as inside a company's firewall). Managing the complexity and scaling the server can create additional overhead too, whereas if your model runs on the edge devices then each user is bringing their own compute resources, which leads to easier scaling with an increasing number of users (also known as *horizontal scaling*).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> A: I've had a chance to see up close how the mobile ML landscape is changing in my work. We offer an iPhone app that depends on computer vision, and for years we ran our own computer vision models in the cloud. This was the only way to do it then since those models needed significant memory and compute resources and took minutes to process inputs. This approach required building not only the models (fun!) but also the infrastructure to ensure a certain number of \\\"compute worker machines\\\" were absolutely always running (scary), that more machines would automatically come online if traffic increased, that there was stable storage for large inputs and outputs, that the iOS app could know and tell the user how their job was doing, etc. Nowadays Apple provides APIs for converting models to run efficiently on device and most iOS devices have dedicated ML hardware, so that's the strategy we use for our newer models. It's still not easy but in our case it's worth it, for a faster user experience and to worry less about servers. What works for you will depend, realistically, on the user experience you're trying to create and what you personally find is easy to do. If you really know how to run servers, do it. If you really know how to build native mobile apps, do that. There are many roads up the hill.\\n\",\n    \"\\n\",\n    \"Overall, we'd recommend using a simple CPU-based server approach where possible, for as long as you can get away with it. If you're lucky enough to have a very successful application, then you'll be able to justify the investment in more complex deployment approaches at that time.\\n\",\n    \"\\n\",\n    \"Congratulations, you have successfully built a deep learning model and deployed it! Now is a good time to take a pause and think about what could go wrong.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## How to Avoid Disaster\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In practice, a deep learning model will be just one piece of a much bigger system. As we discussed at the start of this chapter, a data product requires thinking about the entire end-to-end process, from conception to use in production. In this book, we can't hope to cover all the complexity of managing deployed data products, such as managing multiple versions of models, A/B testing, canarying, refreshing the data (should we just grow and grow our datasets all the time, or should we regularly remove some of the old data?), handling data labeling, monitoring all this, detecting model rot, and so forth. In this section we will give an overview of some of the most important issues to consider; for a more detailed discussion of deployment issues we refer to you to the excellent [Building Machine Learning Powered Applications](http://shop.oreilly.com/product/0636920215912.do) by Emmanuel Ameisen (O'Reilly)\\n\",\n    \"\\n\",\n    \"One of the biggest issues to consider is that understanding and testing the behavior of a deep learning model is much more difficult than with most other code you write. With normal software development you can analyze the exact steps that the software is taking, and carefully study which of these steps match the desired behavior that you are trying to create. But with a neural network the behavior emerges from the model's attempt to match the training data, rather than being exactly defined.\\n\",\n    \"\\n\",\n    \"This can result in disaster! For instance, let's say we really were rolling out a bear detection system that will be attached to video cameras around campsites in national parks, and will warn campers of incoming bears. If we used a model trained with the dataset we downloaded there would be all kinds of problems in practice, such as:\\n\",\n    \"\\n\",\n    \"- Working with video data instead of images\\n\",\n    \"- Handling nighttime images, which may not appear in this dataset\\n\",\n    \"- Dealing with low-resolution camera images\\n\",\n    \"- Ensuring results are returned fast enough to be useful in practice\\n\",\n    \"- Recognizing bears in positions that are rarely seen in photos that people post online (for example from behind, partially covered by bushes, or when a long way away from the camera)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A big part of the issue is that the kinds of photos that people are most likely to upload to the internet are the kinds of photos that do a good job of clearly and artistically displaying their subject matter—which isn't the kind of input this system is going to be getting. So, we may need to do a lot of our own data collection and labelling to create a useful system.\\n\",\n    \"\\n\",\n    \"This is just one example of the more general problem of *out-of-domain* data. That is to say, there may be data that our model sees in production which is very different to what it saw during training. There isn't really a complete technical solution to this problem; instead, we have to be careful about our approach to rolling out the technology.\\n\",\n    \"\\n\",\n    \"There are other reasons we need to be careful too. One very common problem is *domain shift*, where the type of data that our model sees changes over time. For instance, an insurance company may use a deep learning model as part of its pricing and risk algorithm, but over time the types of customers that the company attracts, and the types of risks they represent, may change so much that the original training data is no longer relevant.\\n\",\n    \"\\n\",\n    \"Out-of-domain data and domain shift are examples of a larger problem: that you can never fully understand the entire behaviour of your neural network. They have far too many parameters to be able to analytically understand all of their possible behaviors. This is the natural downside of their best feature—their flexibility, which enables them to solve complex problems where we may not even be able to fully specify our preferred solution approaches. The good news, however, is that there are ways to mitigate these risks using a carefully thought-out process. The details of this will vary depending on the details of the problem you are solving, but we will attempt to lay out here a high-level approach, summarized in <<deploy_process>>, which we hope will provide useful guidance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Deployment process\\\" width=\\\"500\\\" caption=\\\"Deployment process\\\" id=\\\"deploy_process\\\" src=\\\"images/att_00061.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Where possible, the first step is to use an entirely manual process, with your deep learning model approach running in parallel but not being used directly to drive any actions. The humans involved in the manual process should look at the deep learning outputs and check whether they make sense. For instance, with our bear classifier a park ranger could have a screen displaying video feeds from all the cameras, with any possible bear sightings simply highlighted in red. The park ranger would still be expected to be just as alert as before the model was deployed; the model is simply helping to check for problems at this point.\\n\",\n    \"\\n\",\n    \"The second step is to try to limit the scope of the model, and have it carefully supervised by people. For instance, do a small geographically and time-constrained trial of the model-driven approach. Rather than rolling our bear classifier out in every national park throughout the country, we could pick a single observation post, for a one-week period, and have a park ranger check each alert before it goes out.\\n\",\n    \"\\n\",\n    \"Then, gradually increase the scope of your rollout. As you do so, ensure that you have really good reporting systems in place, to make sure that you are aware of any significant changes to the actions being taken compared to your manual process. For instance, if the number of bear alerts doubles or halves after rollout of the new system in some location, we should be very concerned. Try to think about all the ways in which your system could go wrong, and then think about what measure or report or picture could reflect that problem, and ensure that your regular reporting includes that information.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: I started a company 20 years ago called _Optimal Decisions_ that used machine learning and optimization to help giant insurance companies set their pricing, impacting tens of billions of dollars of risks. We used the approaches described here to manage the potential downsides of something going wrong. Also, before we worked with our clients to put anything in production, we tried to simulate the impact by testing the end-to-end system on their previous year's data. It was always quite a nerve-wracking process, putting these new algorithms into production, but every rollout was successful.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Unforeseen Consequences and Feedback Loops\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the biggest challenges in rolling out a model is that your model may change the behaviour of the system it is a part of. For instance, consider a \\\"predictive policing\\\" algorithm that predicts more crime in certain neighborhoods, causing more police officers to be sent to those neighborhoods, which can result in more crimes being recorded in those neighborhoods, and so on. In the Royal Statistical Society paper [\\\"To Predict and Serve?\\\"](https://rss.onlinelibrary.wiley.com/doi/full/10.1111/j.1740-9713.2016.00960.x), Kristian Lum and William Isaac observe that: \\\"predictive policing is aptly named: it is predicting future policing, not future crime.\\\"\\n\",\n    \"\\n\",\n    \"Part of the issue in this case is that in the presence of bias (which we'll discuss in depth in the next chapter), *feedback loops* can result in negative implications of that bias getting worse and worse. For instance, there are concerns that this is already happening in the US, where there is significant bias in arrest rates on racial grounds. [According to the ACLU](https://www.aclu.org/issues/smart-justice/sentencing-reform/war-marijuana-black-and-white), \\\"despite roughly equal usage rates, Blacks are 3.73 times more likely than whites to be arrested for marijuana.\\\" The impact of this bias, along with the rollout of predictive policing algorithms in many parts of the US, led Bärí Williams to [write in the *New York Times*](https://www.nytimes.com/2017/12/02/opinion/sunday/intelligent-policing-and-my-innocent-children.html): \\\"The same technology that’s the source of so much excitement in my career is being used in law enforcement in ways that could mean that in the coming years, my son, who is 7 now, is more likely to be profiled or arrested—or worse—for no reason other than his race and where we live.\\\"\\n\",\n    \"\\n\",\n    \"A helpful exercise prior to rolling out a significant machine learning system is to consider this question: \\\"What would happen if it went really, really well?\\\" In other words, what if the predictive power was extremely high, and its ability to influence behavior was extremely significant? In that case, who would be most impacted? What would the most extreme results potentially look like? How would you know what was really going on?\\n\",\n    \"\\n\",\n    \"Such a thought exercise might help you to construct a more careful rollout plan, with ongoing monitoring systems and human oversight. Of course, human oversight isn't useful if it isn't listened to, so make sure that there are reliable and resilient communication channels so that the right people will be aware of issues, and will have the power to fix them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Get Writing!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the things our students have found most helpful to solidify their understanding of this material is to write it down. There is no better test of your understanding of a topic than attempting to teach it to somebody else. This is helpful even if you never show your writing to anybody—but it's even better if you share it! So we recommend that, if you haven't already, you start a blog. Now that you've completed Chapter 2 and have learned how to train and deploy models, you're well placed to write your first blog post about your deep learning journey. What's surprised you? What opportunities do you see for deep learning in your field? What obstacles do you see?\\n\",\n    \"\\n\",\n    \"Rachel Thomas, cofounder of fast.ai, wrote in the article [\\\"Why You (Yes, You) Should Blog\\\"](https://medium.com/@racheltho/why-you-yes-you-should-blog-7d2544ac1045):\\n\",\n    \"\\n\",\n    \"```asciidoc\\n\",\n    \"____\\n\",\n    \"The top advice I would give my younger self would be to start blogging sooner. Here are some reasons to blog:\\n\",\n    \"\\n\",\n    \"* It’s like a resume, only better. I know of a few people who have had blog posts lead to job offers!\\n\",\n    \"* Helps you learn. Organizing knowledge always helps me synthesize my own ideas. One of the tests of whether you understand something is whether you can explain it to someone else. A blog post is a great way to do that.\\n\",\n    \"* I’ve gotten invitations to conferences and invitations to speak from my blog posts. I was invited to the TensorFlow Dev Summit (which was awesome!) for writing a blog post about how I don’t like TensorFlow.\\n\",\n    \"* Meet new people. I’ve met several people who have responded to blog posts I wrote.\\n\",\n    \"* Saves time. Any time you answer a question multiple times through email, you should turn it into a blog post, which makes it easier for you to share the next time someone asks.\\n\",\n    \"____\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Perhaps her most important tip is this: \\n\",\n    \"\\n\",\n    \"> : You are best positioned to help people one step behind you. The material is still fresh in your mind. Many experts have forgotten what it was like to be a beginner (or an intermediate) and have forgotten why the topic is hard to understand when you first hear it. The context of your particular background, your particular style, and your knowledge level will give a different twist to what you’re writing about.\\n\",\n    \"\\n\",\n    \"We've provided full details on how to set up a blog in <<appendix_blog>>. If you don't have a blog already, take a look at that now, because we've got a really great approach set up for you to start blogging for free, with no ads—and you can even use Jupyter Notebook!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Provide an example of where the bear classification model might work poorly in production, due to structural or style differences in the training data.\\n\",\n    \"1. Where do text models currently have a major deficiency?\\n\",\n    \"1. What are possible negative societal implications of text generation models?\\n\",\n    \"1. In situations where a model might make mistakes, and those mistakes could be harmful, what is a good alternative to automating a process?\\n\",\n    \"1. What kind of tabular data is deep learning particularly good at?\\n\",\n    \"1. What's a key downside of directly using a deep learning model for recommendation systems?\\n\",\n    \"1. What are the steps of the Drivetrain Approach?\\n\",\n    \"1. How do the steps of the Drivetrain Approach map to a recommendation system?\\n\",\n    \"1. Create an image recognition model using data you curate, and deploy it on the web.\\n\",\n    \"1. What is `DataLoaders`?\\n\",\n    \"1. What four things do we need to tell fastai to create `DataLoaders`?\\n\",\n    \"1. What does the `splitter` parameter to `DataBlock` do?\\n\",\n    \"1. How do we ensure a random split always gives the same validation set?\\n\",\n    \"1. What letters are often used to signify the independent and dependent variables?\\n\",\n    \"1. What's the difference between the crop, pad, and squish resize approaches? When might you choose one over the others?\\n\",\n    \"1. What is data augmentation? Why is it needed?\\n\",\n    \"1. What is the difference between `item_tfms` and `batch_tfms`?\\n\",\n    \"1. What is a confusion matrix?\\n\",\n    \"1. What does `export` save?\\n\",\n    \"1. What is it called when we use a model for getting predictions, instead of training?\\n\",\n    \"1. What are IPython widgets?\\n\",\n    \"1. When might you want to use CPU for deployment? When might GPU be better?\\n\",\n    \"1. What are the downsides of deploying your app to a server, instead of to a client (or edge) device such as a phone or PC?\\n\",\n    \"1. What are three examples of problems that could occur when rolling out a bear warning system in practice?\\n\",\n    \"1. What is \\\"out-of-domain data\\\"?\\n\",\n    \"1. What is \\\"domain shift\\\"?\\n\",\n    \"1. What are the three steps in the deployment process?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Consider how the Drivetrain Approach maps to a project or problem you're interested in.\\n\",\n    \"1. When might it be best to avoid certain types of data augmentation?\\n\",\n    \"1. For a project you're interested in applying deep learning to, consider the thought experiment \\\"What would happen if it went really, really well?\\\"\\n\",\n    \"1. Start a blog, and write your first blog post. For instance, write about what you think deep learning might be useful for in a domain you're interested in.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "03_ethics.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_ethics]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Acknowledgement: Dr. Rachel Thomas\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This chapter was co-authored by Dr. Rachel Thomas, the cofounder of fast.ai, and founding director of the Center for Applied Data Ethics at the University of San Francisco. It largely follows a subset of the syllabus she developed for the [Introduction to Data Ethics](https://ethics.fast.ai) course.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we discussed in Chapters 1 and 2, sometimes machine learning models can go wrong. They can have bugs. They can be presented with data that they haven't seen before, and behave in ways we don't expect. Or they could work exactly as designed, but be used for something that we would much prefer they were never, ever used for.\\n\",\n    \"\\n\",\n    \"Because deep learning is such a powerful tool and can be used for so many things, it becomes particularly important that we consider the consequences of our choices. The philosophical study of *ethics* is the study of right and wrong, including how we can define those terms, recognize right and wrong actions, and understand the connection between actions and consequences. The field of *data ethics* has been around for a long time, and there are many academics focused on this field. It is being used to help define policy in many jurisdictions; it is being used in companies big and small to consider how best to ensure good societal outcomes from product development; and it is being used by researchers who want to make sure that the work they are doing is used for good, and not for bad.\\n\",\n    \"\\n\",\n    \"As a deep learning practitioner, therefore, it is likely that at some point you are going to be put in a situation where you need to consider data ethics. So what is data ethics? It's a subfield of ethics, so let's start there.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: At university, philosophy of ethics was my main thing (it would have been the topic of my thesis, if I'd finished it, instead of dropping out to join the real world). Based on the years I spent studying ethics, I can tell you this: no one really agrees on what right and wrong are, whether they exist, how to spot them, which people are good, and which bad, or pretty much anything else. So don't expect too much from the theory! We're going to focus on examples and thought starters here, not theory.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In answering the question [\\\"What Is Ethics\\\"](https://www.scu.edu/ethics/ethics-resources/ethical-decision-making/what-is-ethics/), The Markkula Center for Applied Ethics says that the term refers to:\\n\",\n    \"\\n\",\n    \"- Well-founded standards of right and wrong that prescribe what humans ought to do\\n\",\n    \"- The study and development of one's ethical standards.\\n\",\n    \"\\n\",\n    \"There is no list of right answers. There is no list of do and don't. Ethics is complicated, and context-dependent. It involves the perspectives of many stakeholders. Ethics is a muscle that you have to develop and practice. In this chapter, our goal is to provide some signposts to help you on that journey.\\n\",\n    \"\\n\",\n    \"Spotting ethical issues is best to do as part of a collaborative team. This is the only way you can really incorporate different perspectives. Different people's backgrounds will help them to see things which may not be obvious to you. Working with a team is helpful for many \\\"muscle-building\\\" activities, including this one.\\n\",\n    \"\\n\",\n    \"This chapter is certainly not the only part of the book where we talk about data ethics, but it's good to have a place where we focus on it for a while. To get oriented, it's perhaps easiest to look at a few examples. So, we picked out three that we think illustrate effectively some of the key topics.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Key Examples for Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are going to start with three specific examples that illustrate three common ethical issues in tech:\\n\",\n    \"\\n\",\n    \"1.  *Recourse processes*—Arkansas's buggy healthcare algorithms left patients stranded.\\n\",\n    \"2.  *Feedback loops*—YouTube's recommendation system helped unleash a conspiracy theory boom.\\n\",\n    \"3.  *Bias*—When a traditionally African-American name is searched for on Google, it displays ads for criminal background checks.\\n\",\n    \"\\n\",\n    \"In fact, for every concept that we introduce in this chapter, we are going to provide at least one specific example. For each one, think about what you could have done in this situation, and what kinds of obstructions there might have been to you getting that done. How would you deal with them? What would you look out for?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bugs and Recourse: Buggy Algorithm Used for Healthcare Benefits\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Verge investigated software used in over half of the US states to determine how much healthcare people receive, and documented their findings in the article [\\\"What Happens When an Algorithm Cuts Your Healthcare\\\"](https://www.theverge.com/2018/3/21/17144260/healthcare-medicaid-algorithm-arkansas-cerebral-palsy). After implementation of the algorithm in Arkansas, hundreds of people (many with severe disabilities) had their healthcare drastically cut. For instance, Tammy Dobbs, a woman with cerebral palsy who needs an aid to help her to get out of bed, to go to the bathroom, to get food, and more, had her hours of help suddenly reduced by 20 hours a week. She couldn’t get any explanation for why her healthcare was cut. Eventually, a court case revealed that there were mistakes in the software implementation of the algorithm, negatively impacting people with diabetes or cerebral palsy. However, Dobbs and many other people reliant on these healthcare benefits live in fear that their benefits could again be cut suddenly and inexplicably.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feedback Loops: YouTube's Recommendation System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Feedback loops can occur when your model is controlling the next round of data you get. The data that is returned quickly becomes flawed by the software itself.\\n\",\n    \"\\n\",\n    \"For instance, YouTube has 1.9 billion users, who watch over 1 billion hours of YouTube videos a day. Its recommendation algorithm (built by Google), which was designed to optimize watch time, is responsible for around 70% of the content that is watched. But there was a problem: it led to out-of-control feedback loops, leading the *New York Times* to run the headline [\\\"YouTube Unleashed a Conspiracy Theory Boom. Can It Be Contained?\\\"](https://www.nytimes.com/2019/02/19/technology/youtube-conspiracy-stars.html). Ostensibly recommendation systems are predicting what content people will like, but they also have a lot of power in determining what content people even see.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bias: Professor Latanya Sweeney \\\"Arrested\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Dr. Latanya Sweeney is a professor at Harvard and director of the university's data privacy lab. In the paper [\\\"Discrimination in Online Ad Delivery\\\"](https://arxiv.org/abs/1301.6822) (see <<latanya_arrested>>) she describes her discovery that Googling her name resulted in advertisements saying \\\"Latanya Sweeney, arrested?\\\" even though she is the only known Latanya Sweeney and has never been arrested. However when she Googled other names, such as \\\"Kirsten Lindquist,\\\" she got more neutral ads, even though Kirsten Lindquist has been arrested three times.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image1.png\\\" id=\\\"latanya_arrested\\\" caption=\\\"Google search showing ads about Professor Latanya Sweeney's arrest record\\\" alt=\\\"Screenshot of google search showing ads about Professor Latanya Sweeney's arrest record\\\" width=\\\"400\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Being a computer scientist, she studied this systematically, and looked at over 2000 names. She found a clear pattern where historically Black names received advertisements suggesting that the person had a criminal record, whereas, white names had more neutral advertisements.\\n\",\n    \"\\n\",\n    \"This is an example of bias. It can make a big difference to people's lives—for instance, if a job applicant is Googled it may appear that they have a criminal record when they do not.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Why Does This Matter?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One very natural reaction to considering these issues is: \\\"So what? What's that got to do with me? I'm a data scientist, not a politician. I'm not one of the senior executives at my company who make the decisions about what we do. I'm just trying to build the most predictive model I can.\\\"\\n\",\n    \"\\n\",\n    \"These are very reasonable questions. But we're going to try to convince you that the answer is that everybody who is training models absolutely needs to consider how their models will be used, and consider how to best ensure that they are used as positively as possible. There are things you can do. And if you don't do them, then things can go pretty badly.\\n\",\n    \"\\n\",\n    \"One particularly hideous example of what happens when technologists focus on technology at all costs is the story of IBM and Nazi Germany. In 2001, a Swiss judge ruled that it was not unreasonable \\\"to deduce that IBM's technical assistance facilitated the tasks of the Nazis in the commission of their crimes against humanity, acts also involving accountancy and classification by IBM machines and utilized in the concentration camps themselves.\\\"\\n\",\n    \"\\n\",\n    \"IBM, you see, supplied the Nazis with data tabulation products necessary to track the extermination of Jews and other groups on a massive scale. This was driven from the top of the company, with marketing to Hitler and his leadership team. Company President Thomas Watson personally approved the 1939 release of special IBM alphabetizing machines to help organize the deportation of Polish Jews. Pictured in <<meeting>> is Adolf Hitler (far left) meeting with IBM CEO Tom Watson Sr. (second from left), shortly before Hitler awarded Watson a special “Service to the Reich” medal in 1937.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image2.png\\\" id=\\\"meeting\\\" caption=\\\"IBM CEO Tom Watson Sr. meeting with Adolf Hitler\\\" alt=\\\"A picture of IBM CEO Tom Watson Sr. meeting with Adolf Hitler\\\" width=\\\"400\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But this was not an isolated incident—the organization's involvement was extensive. IBM and its subsidiaries provided regular training and maintenance onsite at the concentration camps: printing off cards, configuring machines, and repairing them as they broke frequently. IBM set up categorizations on its punch card system for the way that each person was killed, which group they were assigned to, and the logistical information necessary to track them through the vast Holocaust system. IBM's code for Jews in the concentration camps  was 8: some 6,000,000 were killed. Its code for Romanis was 12 (they were labeled by the Nazis as \\\"asocials,\\\" with over 300,000 killed in the *Zigeunerlager*, or “Gypsy camp”). General executions were coded as 4, death in the gas chambers as 6.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image3.jpeg\\\" id=\\\"punch_card\\\" caption=\\\"A punch card used by IBM in concentration camps\\\" alt=\\\"Picture of a punch card used by IBM in concentration camps\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Of course, the project managers and engineers and technicians involved were just living their ordinary lives. Caring for their families, going to the church on Sunday, doing their jobs the best they could. Following orders. The marketers were just doing what they could to meet their business development goals. As Edwin Black, author of *IBM and the Holocaust* (Dialog Press) observed: \\\"To the blind technocrat, the means were more important than the ends. The destruction of the Jewish people became even less important because the invigorating nature of IBM's technical achievement was only heightened by the fantastical profits to be made at a time when bread lines stretched across the world.\\\"\\n\",\n    \"\\n\",\n    \"Step back for a moment and consider: How would you feel if you discovered that you had been part of a system that ended up hurting society? Would you be open to finding out? How can you help make sure this doesn't happen? We have described the most extreme situation here, but there are many negative societal consequences linked to AI and machine learning being observed today, some of which we'll describe in this chapter.\\n\",\n    \"\\n\",\n    \"It's not just a moral burden, either. Sometimes technologists pay very directly for their actions. For instance, the first person who was jailed as a result of the Volkswagen scandal, where the car company was revealed to have cheated on its diesel emissions tests, was not the manager that oversaw the project, or an executive at the helm of the company. It was one of the engineers, James Liang, who just did what he was told.\\n\",\n    \"\\n\",\n    \"Of course, it's not all bad—if a project you are involved in turns out to make a huge positive impact on even one person, this is going to make you feel pretty great!\\n\",\n    \"\\n\",\n    \"Okay, so hopefully we have convinced you that you ought to care. But what should you do? As data scientists, we're naturally inclined to focus on making our models better by optimizing some metric or other. But optimizing that metric may not actually lead to better outcomes. And even if it *does* help create better outcomes, it almost certainly won't be the only thing that matters. Consider the pipeline of steps that occurs between the development of a model or an algorithm by a researcher or practitioner, and the point at which this work is actually used to make some decision. This entire pipeline needs to be considered *as a whole* if we're to have a hope of getting the kinds of outcomes we want.\\n\",\n    \"\\n\",\n    \"Normally there is a very long chain from one end to the other. This is especially true if you are a researcher, where you might not even know if your research will ever get used for anything, or if you're involved in data collection, which is even earlier in the pipeline. But no one is better placed to inform everyone involved in this chain about the capabilities, constraints, and details of your work than you are. Although there's no \\\"silver bullet\\\" that can ensure your work is used the right way, by getting involved in the process, and asking the right questions, you can at the very least ensure that the right issues are being considered.\\n\",\n    \"\\n\",\n    \"Sometimes, the right response to being asked to do a piece of work is to just say \\\"no.\\\" Often, however, the response we hear is, \\\"If I don’t do it, someone else will.\\\" But consider this: if you’ve been picked for the job, you’re the best person they’ve found to do it—so if you don’t do it, the best person isn’t working on that project. If the first five people they ask all say no too, even better!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Integrating Machine Learning with Product Design\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Presumably the reason you're doing this work is because you hope it will be used for something. Otherwise, you're just wasting your time. So, let's start with the assumption that your work will end up somewhere. Now, as you are collecting your data and developing your model, you are making lots of decisions. What level of aggregation will you store your data at? What loss function should you use? What validation and training sets should you use? Should you focus on simplicity of implementation, speed of inference, or accuracy of the model? How will your model handle out-of-domain data items? Can it be fine-tuned, or must it be retrained from scratch over time?\\n\",\n    \"\\n\",\n    \"These are not just algorithm questions. They are data product design questions. But the product managers, executives, judges, journalists, doctors… whoever ends up developing and using the system of which your model is a part will not be well-placed to understand the decisions that you made, let alone change them.\\n\",\n    \"\\n\",\n    \"For instance, two studies found that Amazon’s facial recognition software produced [inaccurate](https://www.nytimes.com/2018/07/26/technology/amazon-aclu-facial-recognition-congress.html) and [racially biased](https://www.theverge.com/2019/1/25/18197137/amazon-rekognition-facial-recognition-bias-race-gender) results. Amazon claimed that the researchers should have changed the default parameters, without explaining how this would have changed the biased results. Furthermore, it turned out that [Amazon was not instructing police departments](https://gizmodo.com/defense-of-amazons-face-recognition-tool-undermined-by-1832238149) that used its software to do this either. There was, presumably, a big distance between the researchers that developed these algorithms and the Amazon documentation staff that wrote the guidelines provided to the police. A lack of tight integration led to serious problems for society at large, the police, and Amazon themselves. It turned out that their system erroneously matched 28 members of congress to criminal mugshots!  (And the Congresspeople wrongly matched to criminal mugshots were disproportionately people of color, as seen in <<congressmen>>.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image4.png\\\" id=\\\"congressmen\\\" caption=\\\"Congresspeople matched to criminal mugshots by Amazon software\\\" alt=\\\"Picture of the congresspeople matched to criminal mugshots by Amazon software, they are disproportionately people of color\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Data scientists need to be part of a cross-disciplinary team. And researchers need to work closely with the kinds of people who will end up using their research. Better still is if the domain experts themselves have learned enough to be able to train and debug some models themselves—hopefully there are a few of you reading this book right now!\\n\",\n    \"\\n\",\n    \"The modern workplace is a very specialized place. Everybody tends to have well-defined jobs to perform. Especially in large companies, it can be hard to know what all the pieces of the puzzle are. Sometimes companies even intentionally obscure the overall project goals that are being worked on, if they know that their employees are not going to like the answers. This is sometimes done by compartmentalising pieces as much as possible.\\n\",\n    \"\\n\",\n    \"In other words, we're not saying that any of this is easy. It's hard. It's really hard. We all have to do our best. And we have often seen that the people who do get involved in the higher-level context of these projects, and attempt to develop cross-disciplinary capabilities and teams, become some of the most important and well rewarded members of their organizations. It's the kind of work that tends to be highly appreciated by senior executives, even if it is sometimes considered rather uncomfortable by middle management.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Topics in Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Data ethics is a big field, and we can't cover everything. Instead, we're going to pick a few topics that we think are particularly relevant:\\n\",\n    \"\\n\",\n    \"- The need for recourse and accountability\\n\",\n    \"- Feedback loops\\n\",\n    \"- Bias\\n\",\n    \"- Disinformation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's look at each in turn.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Recourse and Accountability\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In a complex system, it is easy for no one person to feel responsible for outcomes. While this is understandable, it does not lead to good results. In the earlier example of the Arkansas healthcare system in which a bug led to people with cerebral palsy losing access to needed care, the creator of the algorithm blamed government officials, and government officials blamed those who implemented the software. NYU professor [Danah Boyd](https://www.youtube.com/watch?v=NTl0yyPqf3E) described this phenomenon: \\\"Bureaucracy has often been used to shift or evade responsibility... Today's algorithmic systems are extending bureaucracy.\\\"\\n\",\n    \"\\n\",\n    \"An additional reason why recourse is so necessary is because data often contains errors. Mechanisms for audits and error correction are crucial. A database of suspected gang members maintained by California law enforcement officials was found to be full of errors, including 42 babies who had been added to the database when they were less than 1 year old (28 of whom were marked as “admitting to being gang members”). In this case, there was no process in place for correcting mistakes or removing people once they’d been added. Another example is the US credit report system: in a large-scale study of credit reports by the Federal Trade Commission (FTC) in 2012, it was found that 26% of consumers had at least one mistake in their files, and 5% had errors that could be devastating.  Yet, the process of getting such errors corrected is incredibly slow and opaque. When public radio reporter [Bobby Allyn](https://www.washingtonpost.com/posteverything/wp/2016/09/08/how-the-careless-errors-of-credit-reporting-agencies-are-ruining-peoples-lives/) discovered that he was erroneously listed as having a firearms conviction, it took him \\\"more than a dozen phone calls, the handiwork of a county court clerk and six weeks to solve the problem. And that was only after I contacted the company’s communications department as a journalist.\\\"\\n\",\n    \"\\n\",\n    \"As machine learning practitioners, we do not always think of it as our responsibility to understand how our algorithms end up being implemented in practice. But we need to.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feedback Loops\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We explained in <<chapter_intro>> how an algorithm can interact with its environment to create a feedback loop, making predictions that reinforce actions taken in the real world, which lead to predictions even more pronounced in the same direction. \\n\",\n    \"As an example, let's again consider YouTube's recommendation system. A couple of years ago the Google team talked about how they had introduced reinforcement learning (closely related to deep learning, but where your loss function represents a result potentially a long time after an action occurs) to improve YouTube's recommendation system. They described how they used an algorithm that made recommendations such that watch time would be optimized.\\n\",\n    \"\\n\",\n    \"However, human beings tend to be drawn to controversial content. This meant that videos about things like conspiracy theories started to get recommended more and more by the recommendation system. Furthermore, it turns out that the kinds of people that are interested in conspiracy theories are also people that watch a lot of online videos! So, they started to get drawn more and more toward YouTube. The increasing number of conspiracy theorists watching videos on YouTube resulted in the algorithm recommending more and more conspiracy theory and other extremist content, which resulted in more extremists watching videos on YouTube, and more people watching YouTube developing extremist views, which led to the algorithm recommending more extremist content... The system was spiraling out of control.\\n\",\n    \"\\n\",\n    \"And this phenomenon was not contained to this particular type of content. In June 2019 the *New York Times* published an article on YouTube's recommendation system, titled [\\\"On YouTube’s Digital Playground, an Open Gate for Pedophiles\\\"](https://www.nytimes.com/2019/06/03/world/americas/youtube-pedophiles.html). The article started with this chilling story:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Christiane C. didn’t think anything of it when her 10-year-old daughter and a friend uploaded a video of themselves playing in a backyard pool… A few days later… the video had thousands of views. Before long, it had ticked up to 400,000... “I saw the video again and I got scared by the number of views,” Christiane said. She had reason to be. YouTube’s automated recommendation system… had begun showing the video to users who watched other videos of prepubescent, partially clothed children, a team of researchers has found.\\n\",\n    \"\\n\",\n    \"> : On its own, each video might be perfectly innocent, a home movie, say, made by a child. Any revealing frames are fleeting and appear accidental. But, grouped together, their shared features become unmistakable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"YouTube's recommendation algorithm had begun curating playlists for pedophiles, picking out innocent home videos that happened to contain prepubescent, partially clothed children. \\n\",\n    \"\\n\",\n    \"No one at Google planned to create a system that turned family videos into porn for pedophiles. So what happened?\\n\",\n    \"\\n\",\n    \"Part of the problem here is the centrality of metrics in driving a financially important system. When an algorithm has a metric to optimize, as you have seen, it will do everything it can to optimize that number. This tends to lead to all kinds of edge cases, and humans interacting with a system will search for, find, and exploit these edge cases and feedback loops for their advantage.\\n\",\n    \"\\n\",\n    \"There are signs that this is exactly what has happened with YouTube's recommendation system. *The Guardian* ran an article called [\\\"How an ex-YouTube Insider Investigated its Secret Algorithm\\\"](https://www.theguardian.com/technology/2018/feb/02/youtube-algorithm-election-clinton-trump-guillaume-chaslot) about Guillaume Chaslot, an ex-YouTube engineer who created AlgoTransparency, which tracks these issues. Chaslot published the chart in <<ethics_yt_rt>>, following the release of Robert Mueller's \\\"Report on the Investigation Into Russian Interference in the 2016 Presidential Election.\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image18.jpeg\\\" id=\\\"ethics_yt_rt\\\" caption=\\\"Coverage of the Mueller report\\\" alt=\\\"Coverage of the Mueller report\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Russia Today's coverage of the Mueller report was an extreme outlier in terms of how many channels were recommending it. This suggests the possibility that Russia Today, a state-owned Russia media outlet, has been successful in gaming YouTube's recommendation algorithm. Unfortunately, the lack of transparency of systems like this makes it hard to uncover the kinds of problems that we're discussing.\\n\",\n    \"\\n\",\n    \"One of our reviewers for this book, Aurélien Géron, led YouTube's video classification team from 2013 to 2016 (well before the events discussed here). He pointed out that it's not just feedback loops involving humans that are a problem. There can also be feedback loops without humans! He told us about an example from YouTube:\\n\",\n    \"\\n\",\n    \"> : One important signal to classify the main topic of a video is the channel it comes from. For example, a video uploaded to a cooking channel is very likely to be a cooking video. But how do we know what topic a channel is about? Well… in part by looking at the topics of the videos it contains! Do you see the loop? For example, many videos have a description which indicates what camera was used to shoot the video. As a result, some of these videos might get classified as videos about “photography.” If a channel has such a misclassified video, it might be classified as a “photography” channel, making it even more likely for future videos on this channel to be wrongly classified as “photography.” This could even lead to runaway virus-like classifications! One way to break this feedback loop is to classify videos with and without the channel signal. Then when classifying the channels, you can only use the classes obtained without the channel signal. This way, the feedback loop is broken.\\n\",\n    \"\\n\",\n    \"There are positive examples of people and organizations attempting to combat these problems. Evan Estola, lead machine learning engineer at Meetup, [discussed the example](https://www.youtube.com/watch?v=MqoRzNhrTnQ) of men expressing more interest than women in tech meetups. taking gender into account could therefore cause Meetup’s algorithm to recommend fewer tech meetups to women, and as a result, fewer women would find out about and attend tech meetups, which could cause the algorithm to suggest even fewer tech meetups to women, and so on in a self-reinforcing feedback loop. So, Evan and his team made the ethical decision for their recommendation algorithm to not create such a feedback loop, by explicitly not using gender for that part of their model. It is encouraging to see a company not just unthinkingly optimize a metric, but consider its impact. According to Evan, \\\"You need to decide which feature not to use in your algorithm... the most optimal algorithm is perhaps not the best one to launch into production.\\\"\\n\",\n    \"\\n\",\n    \"While Meetup chose to avoid such an outcome, Facebook provides an example of allowing a runaway feedback loop to run wild. Like YouTube, it tends to radicalize users interested in one conspiracy theory by introducing them to more. As Renee DiResta, a researcher on proliferation of disinformation, [writes](https://www.fastcompany.com/3059742/social-network-algorithms-are-distorting-reality-by-boosting-conspiracy-theories):\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Once people join a single conspiracy-minded [Facebook] group, they are algorithmically routed to a plethora of others. Join an anti-vaccine group, and your suggestions will include anti-GMO, chemtrail watch, flat Earther (yes, really), and \\\"curing cancer naturally groups. Rather than pulling a user out of the rabbit hole, the recommendation engine pushes them further in.\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It is extremely important to keep in mind that this kind of behavior can happen, and to either anticipate a feedback loop or take positive action to break it when you see the first signs of it in your own projects. Another thing to keep in mind is *bias*, which, as we discussed briefly in the previous chapter, can interact with feedback loops in very troublesome ways.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Discussions of bias online tend to get pretty confusing pretty fast. The word \\\"bias\\\" means so many different things. Statisticians often think when data ethicists are talking about bias that they're talking about the statistical definition of the term bias. But they're not. And they're certainly not talking about the biases that appear in the weights and biases which are the parameters of your model!\\n\",\n    \"\\n\",\n    \"What they're talking about is the social science concept of bias. In [\\\"A Framework for Understanding Unintended Consequences of Machine Learning\\\"](https://arxiv.org/abs/1901.10002) MIT's Harini Suresh and John Guttag describe six types of bias in machine learning, summarized in <<bias>> from their paper.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/pipeline_diagram.svg\\\" id=\\\"bias\\\" caption=\\\"Bias in machine learning can come from multiple sources (courtesy of Harini Suresh and John V. Guttag)\\\" alt=\\\"A diagram showing all sources where bias can appear in machine learning\\\" width=\\\"700\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll discuss four of these types of bias, those that we've found most helpful in our own work (see the paper for details on the others).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Historical bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Historical bias* comes from the fact that people are biased, processes are biased, and society is biased. Suresh and Guttag say: \\\"Historical bias is a fundamental, structural issue with the first step of the data generation process and can exist even given perfect sampling and feature selection.\\\"\\n\",\n    \"\\n\",\n    \"For instance, here are a few examples of historical *race bias* in the US, from the *New York Times* article [\\\"Racial Bias, Even When We Have Good Intentions\\\"](https://www.nytimes.com/2015/01/04/upshot/the-measuring-sticks-of-racial-bias-.html) by the University of Chicago's Sendhil Mullainathan:\\n\",\n    \"\\n\",\n    \"  - When doctors were shown identical files, they were much less likely to recommend cardiac catheterization (a helpful procedure) to Black patients.\\n\",\n    \"  - When bargaining for a used car, Black people were offered initial prices $700 higher and received far smaller concessions.\\n\",\n    \"  - Responding to apartment rental ads on Craigslist with a Black name elicited fewer responses than with a white name.\\n\",\n    \"  - An all-white jury was 16 percentage points more likely to convict a Black defendant than a white one, but when a jury had one Black member it convicted both at the same rate.\\n\",\n    \"\\n\",\n    \"The COMPAS algorithm, widely used for sentencing and bail decisions in the US, is an example of an important algorithm that, when tested by [ProPublica](https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing), showed clear racial bias in practice (<<bail_algorithm>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image6.png\\\" id=\\\"bail_algorithm\\\" caption=\\\"Results of the COMPAS algorithm\\\" alt=\\\"Table showing the COMPAS algorithm is more likely to give bail to white people, even if they re-offend more\\\" width=\\\"700\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Any dataset involving humans can have this kind of bias: medical data, sales data, housing data, political data, and so on. Because underlying bias is so pervasive, bias in datasets is very pervasive. Racial bias even turns up in computer vision, as shown in the example of autocategorized photos shared on Twitter by a Google Photos user shown in <<google_photos>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image7.png\\\" id=\\\"google_photos\\\" caption=\\\"One of these labels is very wrong...\\\" alt=\\\"Screenshot of the use of Google photos labeling a black user and her friend as gorillas\\\" width=\\\"450\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Yes, that is showing what you think it is: Google Photos classified a Black user's photo with their friend as \\\"gorillas\\\"! This algorithmic misstep got a lot of attention in the media. “We’re appalled and genuinely sorry that this happened,” a company spokeswoman said. “There is still clearly a lot of work to do with automatic image labeling, and we’re looking at how we can prevent these types of mistakes from happening in the future.”\\n\",\n    \"\\n\",\n    \"Unfortunately, fixing problems in machine learning systems when the input data has problems is hard. Google's first attempt didn't inspire confidence, as coverage by *The Guardian* suggested (<<gorilla-ban>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image8.png\\\" id=\\\"gorilla-ban\\\" caption=\\\"Google's first response to the problem\\\" alt=\\\"Pictures of a headlines from the Guardian, showing Google removed gorillas and other moneys from the possible labels of its algorithm\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"These kinds of problems are certainly not limited to just Google. MIT researchers studied the most popular online computer vision APIs to see how accurate they were. But they didn't just calculate a single accuracy number—instead, they looked at the accuracy across four different groups, as illustrated in <<face_recognition>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image9.jpeg\\\" id=\\\"face_recognition\\\" caption=\\\"Error rate per gender and race for various facial recognition systems\\\" alt=\\\"Table showing how various facial recognition systems perform way worse on darker shades of skin and females\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"IBM's system, for instance, had a 34.7% error rate for darker females, versus 0.3% for lighter males—over 100 times more errors! Some people incorrectly reacted to these experiments by claiming that the difference was simply because darker skin is harder for computers to recognize. However, what actually happened was that, after the negative publicity that this result created, all of the companies in question dramatically improved their models for darker skin, such that one year later they were nearly as good as for lighter skin. So what this actually showed is that the developers failed to utilize datasets containing enough darker faces, or test their product with darker faces.\\n\",\n    \"\\n\",\n    \"One of the MIT researchers, Joy Buolamwini, warned: \\\"We have entered the age of automation overconfident yet underprepared. If we fail to make ethical and inclusive artificial intelligence, we risk losing gains made in civil rights and gender equity under the guise of machine neutrality.\\\"\\n\",\n    \"\\n\",\n    \"Part of the issue appears to be a systematic imbalance in the makeup of popular datasets used for training models. The abstract to the paper [\\\"No Classification Without Representation: Assessing Geodiversity Issues in Open Data Sets for the Developing World\\\"](https://arxiv.org/abs/1711.08536) by Shreya Shankar et al. states, \\\"We analyze two large, publicly available image data sets to assess geo-diversity and find that these data sets appear to exhibit an observable amerocentric and eurocentric representation bias. Further, we analyze classifiers trained on these data sets to assess the impact of these training distributions and find strong differences in the relative performance on images from different locales.\\\" <<image_provenance>> shows one of the charts from the paper, showing the geographic makeup of what was, at the time (and still are, as this book is being written) the two most important image datasets for training models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image10.png\\\" id=\\\"image_provenance\\\" caption=\\\"Image provenance in popular training sets\\\" alt=\\\"Graphs showing how the vast majority of images in popular training datasets come from the US or Western Europe\\\" width=\\\"800\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The vast majority of the images are from the United States and other Western countries, leading to models trained on ImageNet performing worse on scenes from other countries and cultures. For instance, research found that such models are worse at identifying household items (such as soap, spices, sofas, or beds) from lower-income countries. <<object_detect>> shows an image from the paper, [\\\"Does Object Recognition Work for Everyone?\\\"](https://arxiv.org/pdf/1906.02659.pdf) by Terrance DeVries et al. of Facebook AI Research that illustrates this point.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image17.png\\\" id=\\\"object_detect\\\" caption=\\\"Object detection in action\\\" alt=\\\"Figure showing an object detection algorithm performing better on western products\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this example, we can see that the lower-income soap example is a very long way away from being accurate, with every commercial image recognition service predicting \\\"food\\\" as the most likely answer!\\n\",\n    \"\\n\",\n    \"As we will discuss shortly, in addition, the vast majority of AI researchers and developers are young white men. Most projects that we have seen do most user testing using friends and families of the immediate product development group. Given this, the kinds of problems we just discussed should not be surprising.\\n\",\n    \"\\n\",\n    \"Similar historical bias is found in the texts used as data for natural language processing models. This crops up in downstream machine learning tasks in many ways. For instance, it [was widely reported](https://nypost.com/2017/11/30/google-translates-algorithm-has-a-gender-bias/) that until last year Google Translate showed systematic bias in how it translated the Turkish gender-neutral pronoun \\\"o\\\" into English: when applied to jobs which are often associated with males it used \\\"he,\\\" and when applied to jobs which are often associated with females it used \\\"she\\\" (<<turkish_gender>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image11.png\\\" id=\\\"turkish_gender\\\" caption=\\\"Gender bias in text data sets\\\" alt=\\\"Figure showing gender bias in data sets used to train language models showing up in translations\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We also see this kind of bias in online advertisements. For instance, a [study](https://arxiv.org/abs/1904.02095) in 2019 by Muhammad Ali et al. found that even when the person placing the ad does not intentionally discriminate, Facebook will show ads to very different audiences based on race and gender. Housing ads with the same text, but picture either a white or a Black family, were shown to racially different audiences.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Measurement bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the paper [\\\"Does Machine Learning Automate Moral Hazard and Error\\\"](https://scholar.harvard.edu/files/sendhil/files/aer.p20171084.pdf) in *American Economic Review*, Sendhil Mullainathan and Ziad Obermeyer look at a model that tries to answer the question: using historical electronic health record (EHR) data, what factors are most predictive of stroke? These are the top predictors from the model:\\n\",\n    \"\\n\",\n    \"  - Prior stroke\\n\",\n    \"  - Cardiovascular disease\\n\",\n    \"  - Accidental injury\\n\",\n    \"  - Benign breast lump\\n\",\n    \"  - Colonoscopy\\n\",\n    \"  - Sinusitis\\n\",\n    \"\\n\",\n    \"However, only the top two have anything to do with a stroke! Based on what we've studied so far, you can probably guess why. We haven’t really measured *stroke*, which occurs when a region of the brain is denied oxygen due to an interruption in the blood supply. What we’ve measured is who had symptoms, went to a doctor, got the appropriate tests, *and* received a diagnosis of stroke. Actually having a stroke is not the only thing correlated with this complete list—it's also correlated with being the kind of person who actually goes to the doctor (which is influenced by who has access to healthcare, can afford their co-pay, doesn't experience racial or gender-based medical discrimination, and more)! If you are likely to go to the doctor for an *accidental injury*, then you are likely to also go the doctor when you are having a stroke.\\n\",\n    \"\\n\",\n    \"This is an example of *measurement bias*. It occurs when our models make mistakes because we are measuring the wrong thing, or measuring it in the wrong way, or incorporating that measurement into the model inappropriately.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Aggregation bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Aggregation bias* occurs when models do not aggregate data in a way that incorporates all of the appropriate factors, or when a model does not include the necessary interaction terms, nonlinearities, or so forth. This can particularly occur in medical settings. For instance, the way diabetes is treated is often based on simple univariate statistics and studies involving small groups of heterogeneous people. Analysis of results is often done in a way that does not take account of different ethnicities or genders. However, it turns out that diabetes patients have [different complications across ethnicities](https://www.ncbi.nlm.nih.gov/pubmed/24037313), and HbA1c levels (widely used to diagnose and monitor diabetes) [differ in complex ways across ethnicities and genders](https://www.ncbi.nlm.nih.gov/pubmed/22238408). This can result in people being misdiagnosed or incorrectly treated because medical decisions are based on a model that does not include these important variables and interactions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Representation bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The abstract of the paper [\\\"Bias in Bios: A Case Study of Semantic Representation Bias in a High-Stakes Setting\\\"](https://arxiv.org/abs/1901.09451) by Maria De-Arteaga et al. notes that there is gender imbalance in occupations (e.g., females are more likely to be nurses, and males are more likely to be pastors), and says that: \\\"differences in true positive rates between genders are correlated with existing gender imbalances in occupations, which may compound these imbalances.\\\"\\n\",\n    \"\\n\",\n    \"In other words, the researchers noticed that models predicting occupation did not only *reflect* the actual gender imbalance in the underlying population, but actually *amplified* it! This type of *representation bias* is quite common, particularly for simple models. When there is some clear, easy-to-see underlying relationship, a simple model will often simply assume that this relationship holds all the time. As <<representation_bias>> from the paper shows, for occupations that had a higher percentage of females, the model tended to overestimate the prevalence of that occupation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image12.png\\\" id=\\\"representation_bias\\\" caption=\\\"Model error in predicting occupation plotted against percentage of women in said occupation\\\" alt=\\\"Graph showing how model predictions overamplify existing bias\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For example, in the training dataset 14.6% of surgeons were women, yet in the model predictions only 11.6% of the true positives were women. The model is thus amplifying the bias existing in the training set.\\n\",\n    \"\\n\",\n    \"Now that we've seen that those biases exist, what can we do to mitigate them?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Addressing different types of bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Different types of bias require different approaches for mitigation. While gathering a more diverse dataset can address representation bias, this would not help with historical bias or measurement bias.  All datasets contain bias.  There is no such thing as a completely debiased dataset.  Many researchers in the field have been converging on a set of proposals to enable better documentation of the decisions, context, and specifics about how and why a particular dataset was created, what scenarios it is appropriate to use in, and what the limitations are. This way, those using a particular dataset will not be caught off guard by its biases and limitations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We often hear the question—\\\"Humans are biased, so does algorithmic bias even matter?\\\" This comes up so often, there must be some reasoning that makes sense to the people that ask it, but it doesn't seem very logically sound to us! Independently of whether this is logically sound, it's important to realize that algorithms (particularly machine learning algorithms!) and people are different. Consider these points about machine learning algorithms:\\n\",\n    \"\\n\",\n    \"  - _Machine learning can create feedback loops_:: Small amounts of bias can rapidly increase exponentially due to feedback loops.\\n\",\n    \"  - _Machine learning can amplify bias_:: Human bias can lead to larger amounts of machine learning bias.\\n\",\n    \"  - _Algorithms & humans are used differently_:: Human decision makers and algorithmic decision makers are not used in a plug-and-play interchangeable way in practice.\\n\",\n    \"  - _Technology is power_:: And with that comes responsibility.\\n\",\n    \"\\n\",\n    \"As the Arkansas healthcare example showed, machine learning is often implemented in practice not because it leads to better outcomes, but because it is cheaper and more efficient. Cathy O'Neill, in her book *Weapons of Math Destruction* (Crown), described the pattern of how the privileged are processed by people, whereas the poor are processed by algorithms. This is just one of a number of ways that algorithms are used differently than human decision makers. Others include:\\n\",\n    \"\\n\",\n    \"  - People are more likely to assume algorithms are objective or error-free (even if they’re given the option of a human override).\\n\",\n    \"  - Algorithms are more likely to be implemented with no appeals process in place.\\n\",\n    \"  - Algorithms are often used at scale.\\n\",\n    \"  - Algorithmic systems are cheap.\\n\",\n    \"\\n\",\n    \"Even in the absence of bias, algorithms (and deep learning especially, since it is such an effective and scalable algorithm) can lead to negative societal problems, such as when used for *disinformation*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Disinformation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Disinformation* has a history stretching back hundreds or even thousands of years. It is not necessarily about getting someone to believe something false, but rather often used to sow disharmony and uncertainty, and to get people to give up on seeking the truth.  Receiving conflicting accounts can lead people to assume that they can never know whom or what to trust.\\n\",\n    \"\\n\",\n    \"Some people think disinformation is primarily about false information or *fake news*, but in reality, disinformation can often contain seeds of truth, or half-truths taken out of context. Ladislav Bittman was an intelligence officer in the USSR who later defected to the US and wrote some books in the 1970s and 1980s on the role of disinformation in Soviet propaganda operations. In *The KGB and Soviet Disinformation* (Pergamon) he wrote, \\\"Most campaigns are a carefully designed mixture of facts, half-truths, exaggerations, and deliberate lies.\\\"\\n\",\n    \"\\n\",\n    \"In the US this has hit close to home in recent years, with the FBI detailing a massive disinformation campaign linked to Russia in the 2016 election. Understanding the disinformation that was used in this campaign is very educational. For instance, the FBI found that the Russian disinformation campaign often organized two separate fake \\\"grass roots\\\" protests, one for each side of an issue, and got them to protest at the same time! The [*Houston Chronicle*](https://www.houstonchronicle.com/local/gray-matters/article/A-Houston-protest-organized-by-Russian-trolls-12625481.php) reported on one of these odd events (<<texas>>).\\n\",\n    \"\\n\",\n    \"> : A group that called itself the \\\"Heart of Texas\\\" had organized it on social media—a protest, they said, against the \\\"Islamization\\\" of Texas. On one side of Travis Street, I found about 10 protesters. On the other side, I found around 50 counterprotesters. But I couldn't find the rally organizers. No \\\"Heart of Texas.\\\" I thought that was odd, and mentioned it in the article: What kind of group is a no-show at its own event? Now I know why. Apparently, the rally's organizers were in Saint Petersburg, Russia, at the time. \\\"Heart of Texas\\\" is one of the internet troll groups cited in Special Prosecutor Robert Mueller's recent indictment of Russians attempting to tamper with the U.S. presidential election.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image13.png\\\" id=\\\"texas\\\" caption=\\\"Event organized by the group Heart of Texas\\\" alt=\\\"Screenshot of an event organized by the group Heart of Texas\\\" width=\\\"300\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Disinformation often involves coordinated campaigns of inauthentic behavior.  For instance, fraudulent accounts may try to make it seem like many people hold a particular viewpoint.  While most of us like to think of ourselves as independent-minded, in reality we evolved to be influenced by others in our in-group, and in opposition to those in our out-group.  Online discussions can influence our viewpoints, or alter the range of what we consider acceptable viewpoints. Humans are social animals, and as social animals we are extremely influenced by the people around us. Increasingly, radicalization occurs in online environments; influence is coming from people in the virtual space of online forums and social networks.\\n\",\n    \"\\n\",\n    \"Disinformation through autogenerated text is a particularly significant issue, due to the greatly increased capability provided by deep learning. We discuss this issue in depth when we delve into creating language models, in <<chapter_nlp>>.\\n\",\n    \"\\n\",\n    \"One proposed approach is to develop some form of digital signature, to implement it in a seamless way, and to create norms that we should only trust content that has been verified. The head of the Allen Institute on AI, Oren Etzioni, wrote such a proposal in an article titled [\\\"How Will We Prevent AI-Based Forgery?\\\"](https://hbr.org/2019/03/how-will-we-prevent-ai-based-forgery): \\\"AI is poised to make high-fidelity forgery inexpensive and automated, leading to potentially disastrous consequences for democracy, security, and society. The specter of AI forgery means that we need to act to make digital signatures de rigueur as a means of authentication of digital content.\\\"\\n\",\n    \"\\n\",\n    \"Whilst we can't hope to discuss all the ethical issues that deep learning, and algorithms more generally, brings up, hopefully this brief introduction has been a useful starting point you can build on. We'll now move on to the questions of how to identify ethical issues, and what to do about them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Identifying and Addressing Ethical Issues\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Mistakes happen. Finding out about them, and dealing with them, needs to be part of the design of any system that includes machine learning (and many other systems too).  The issues raised within data ethics are often complex and interdisciplinary, but it is crucial that we work to address them.\\n\",\n    \"\\n\",\n    \"So what can we do?  This is a big topic, but a few steps towards addressing ethical issues are:\\n\",\n    \"\\n\",\n    \"- Analyze a project you are working on.\\n\",\n    \"- Implement processes at your company to find and address ethical risks.\\n\",\n    \"- Support good policy.\\n\",\n    \"- Increase diversity.\\n\",\n    \"\\n\",\n    \"Let's walk through each of these steps, starting with analyzing a project you are working on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Analyze a Project You Are Working On\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's easy to miss important issues when considering ethical implications of your work. One thing that helps enormously is simply asking the right questions. Rachel Thomas recommends considering the following questions throughout the development of a data project:\\n\",\n    \"\\n\",\n    \"  - Should we even be doing this?\\n\",\n    \"  - What bias is in the data?\\n\",\n    \"  - Can the code and data be audited?\\n\",\n    \"  - What are the error rates for different sub-groups?\\n\",\n    \"  - What is the accuracy of a simple rule-based alternative?\\n\",\n    \"  - What processes are in place to handle appeals or mistakes?\\n\",\n    \"  - How diverse is the team that built it?\\n\",\n    \"\\n\",\n    \"These questions may be able to help you identify outstanding issues, and possible alternatives that are easier to understand and control. In addition to asking the right questions, it's also important to consider practices and processes to implement.\\n\",\n    \"\\n\",\n    \"One thing to consider at this stage is what data you are collecting and storing. Data often ends up being used for different purposes than what it was originally collected for. For instance, IBM began selling to Nazi Germany well before the Holocaust, including helping with Germany’s 1933 census conducted by Adolf Hitler, which was effective at identifying far more Jewish people than had previously been recognized in Germany. Similarly, US census data was used to round up Japanese-Americans (who were US citizens) for internment during World War II. It is important to recognize how data and images collected can be weaponized later. Columbia professor [Tim Wu wrote](https://www.nytimes.com/2019/04/10/opinion/sunday/privacy-capitalism.html) that “You must assume that any personal data that Facebook or Android keeps are data that governments around the world will try to get or that thieves will try to steal.”\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Processes to Implement\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Markkula Center has released [An Ethical Toolkit for Engineering/Design Practice](https://www.scu.edu/ethics-in-technology-practice/ethical-toolkit/) that includes some concrete practices to implement at your company, including regularly scheduled sweeps to proactively search for ethical risks (in a manner similar to cybersecurity penetration testing), expanding the ethical circle to include the perspectives of a variety of stakeholders, and considering the terrible people (how could bad actors abuse, steal, misinterpret, hack, destroy, or weaponize what you are building?). \\n\",\n    \"\\n\",\n    \"Even if you don't have a diverse team, you can still try to pro-actively include the perspectives of a wider group, considering questions such as these (provided by the Markkula Center):\\n\",\n    \"\\n\",\n    \"  - Whose interests, desires, skills, experiences, and values have we simply assumed, rather than actually consulted?\\n\",\n    \"  - Who are all the stakeholders who will be directly affected by our product? How have their interests been protected? How do we know what their interests really are—have we asked?\\n\",\n    \"  - Who/which groups and individuals will be indirectly affected in significant ways?\\n\",\n    \"  - Who might use this product that we didn’t expect to use it, or for purposes we didn’t initially intend?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Ethical lenses\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another useful resource from the Markkula Center is its [Conceptual Frameworks in Technology and Engineering Practice](https://www.scu.edu/ethics-in-technology-practice/ethical-lenses/). This considers how different foundational ethical lenses can help identify concrete issues, and lays out the following approaches and key questions:\\n\",\n    \"\\n\",\n    \"  - The rights approach:: Which option best respects the rights of all who have a stake?\\n\",\n    \"  - The justice approach:: Which option treats people equally or proportionately?\\n\",\n    \"  - The utilitarian approach:: Which option will produce the most good and do the least harm?\\n\",\n    \"  - The common good approach:: Which option best serves the community as a whole, not just some members?\\n\",\n    \"  - The virtue approach:: Which option leads me to act as the sort of person I want to be?\\n\",\n    \"\\n\",\n    \"Markkula's recommendations include a deeper dive into each of these perspectives, including looking at a project through the lenses of its *consequences*:\\n\",\n    \"\\n\",\n    \"  - Who will be directly affected by this project? Who will be indirectly affected?\\n\",\n    \"  - Will the effects in aggregate likely create more good than harm, and what types of good and harm?\\n\",\n    \"  - Are we thinking about all relevant types of harm/benefit (psychological, political, environmental, moral, cognitive, emotional, institutional, cultural)?\\n\",\n    \"  - How might future generations be affected by this project?\\n\",\n    \"  - Do the risks of harm from this project fall disproportionately on the least powerful in society? Will the benefits go disproportionately to the well-off?\\n\",\n    \"  - Have we adequately considered \\\"dual-use\\\"?\\n\",\n    \"\\n\",\n    \"The alternative lens to this is the *deontological* perspective, which focuses on basic concepts of *right* and *wrong*:\\n\",\n    \"\\n\",\n    \"  - What rights of others and duties to others must we respect?\\n\",\n    \"  - How might the dignity and autonomy of each stakeholder be impacted by this project?\\n\",\n    \"  - What considerations of trust and of justice are relevant to this design/project?\\n\",\n    \"  - Does this project involve any conflicting moral duties to others, or conflicting stakeholder rights? How can we prioritize these?\\n\",\n    \"\\n\",\n    \"One of the best ways to help come up with complete and thoughtful answers to questions like these is to ensure that the people asking the questions are *diverse*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Power of Diversity\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Currently, less than 12% of AI researchers are women, according to [a study from Element AI](https://medium.com/element-ai-research-lab/estimating-the-gender-ratio-of-ai-researchers-around-the-world-81d2b8dbe9c3). The statistics are similarly dire when it comes to race and age. When everybody on a team has similar backgrounds, they are likely to have similar blindspots around ethical risks. The *Harvard Business Review* (HBR) has published a number of studies showing many benefits of diverse teams, including:\\n\",\n    \"\\n\",\n    \"- [\\\"How Diversity Can Drive Innovation\\\"](https://hbr.org/2013/12/how-diversity-can-drive-innovation)\\n\",\n    \"- [\\\"Teams Solve Problems Faster When They’re More Cognitively Diverse\\\"](https://hbr.org/2017/03/teams-solve-problems-faster-when-theyre-more-cognitively-diverse)\\n\",\n    \"- [\\\"Why Diverse Teams Are Smarter\\\"](https://hbr.org/2016/11/why-diverse-teams-are-smarter), and\\n\",\n    \"- [\\\"Defend Your Research: What Makes a Team Smarter? More Women\\\"](https://hbr.org/2011/06/defend-your-research-what-makes-a-team-smarter-more-women)\\n\",\n    \"\\n\",\n    \"Diversity can lead to problems being identified earlier, and a wider range of solutions being considered. For instance, Tracy Chou was an early engineer at Quora. She [wrote of her experiences](https://qz.com/1016900/tracy-chou-leading-silicon-valley-engineer-explains-why-every-tech-worker-needs-a-humanities-education/), describing how she advocated internally for adding a feature that would allow trolls and other bad actors to be blocked. Chou recounts, “I was eager to work on the feature because I personally felt antagonized and abused on the site (gender isn’t an unlikely reason as to why)... But if I hadn’t had that personal perspective, it’s possible that the Quora team wouldn’t have prioritized building a block button so early in its existence.” Harassment often drives people from marginalized groups off online platforms, so this functionality has been important for maintaining the health of Quora's community.\\n\",\n    \"\\n\",\n    \"A crucial aspect to understand is that women leave the tech industry at over twice the rate that men do, according to the [*Harvard Business Review*](https://www.researchgate.net/publication/268325574_By_RESEARCH_REPORT_The_Athena_Factor_Reversing_the_Brain_Drain_in_Science_Engineering_and_Technology) (41% of women working in tech leave, compared to 17% of men). An analysis of over 200 books, white papers, and articles found that the reason they leave is that “they’re treated unfairly; underpaid, less likely to be fast-tracked than their male colleagues, and unable to advance.” \\n\",\n    \"\\n\",\n    \"Studies have confirmed a number of the factors that make it harder for women to advance in the workplace. Women receive more vague feedback and personality criticism in performance evaluations, whereas men receive actionable advice tied to business outcomes (which is more useful). Women frequently experience being excluded from more creative and innovative roles, and not receiving high-visibility “stretch” assignments that are helpful in getting promoted. One study found that men’s voices are perceived as more persuasive, fact-based, and logical than women’s voices, even when reading identical scripts.\\n\",\n    \"\\n\",\n    \"Receiving mentorship has been statistically shown to help men advance, but not women. The reason behind this is that when women receive mentorship, it’s advice on how they should change and gain more self-knowledge. When men receive mentorship, it’s public endorsement of their authority. Guess which is more useful in getting promoted?\\n\",\n    \"\\n\",\n    \"As long as qualified women keep dropping out of tech, teaching more girls to code will not solve the diversity issues plaguing the field. Diversity initiatives often end up focusing primarily on white women, even though women of color face many additional barriers. In [interviews](https://worklifelaw.org/publications/Double-Jeopardy-Report_v6_full_web-sm.pdf) with 60 women of color who work in STEM research, 100% had experienced discrimination.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The hiring process is particularly broken in tech. One study indicative of the dysfunction comes from Triplebyte, a company that helps place software engineers in companies, conducting a standardized technical interview as part of this process. They have a fascinating dataset: the results of how over 300 engineers did on their exam, coupled with the results of how those engineers did during the interview process for a variety of companies. The number one finding from [Triplebyte’s research](https://triplebyte.com/blog/who-y-combinator-companies-want) is that “the types of programmers that each company looks for often have little to do with what the company needs or does. Rather, they reflect company culture and the backgrounds of the founders.”\\n\",\n    \"\\n\",\n    \"This is a challenge for those trying to break into the world of deep learning, since most companies' deep learning groups today were founded by academics. These groups tend to look for people \\\"like them\\\"—that is, people that can solve complex math problems and understand dense jargon. They don't always know how to spot people who are actually good at solving real problems using deep learning.\\n\",\n    \"\\n\",\n    \"This leaves a big opportunity for companies that are ready to look beyond status and pedigree, and focus on results!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fairness, Accountability, and Transparency\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The professional society for computer scientists, the ACM, runs a data ethics conference called the Conference on Fairness, Accountability, and Transparency. \\\"Fairness, Accountability, and Transparency\\\" which used to go under the acronym *FAT* but now uses to the less objectionable *FAccT*. Microsoft has a group focused on \\\"Fairness, Accountability, Transparency, and Ethics\\\" (FATE). In this section, we'll use \\\"FAccT\\\" to refer to the concepts of *Fairness, Accountability, and Transparency*.\\n\",\n    \"\\n\",\n    \"FAccT is another lens that you may find useful in considering ethical issues. One useful resource for this is the free online book [*Fairness and Machine Learning: Limitations and Opportunities*](https://fairmlbook.org/) by Solon Barocas, Moritz Hardt, and Arvind Narayanan, which \\\"gives a perspective on machine learning that treats fairness as a central concern rather than an afterthought.\\\" It also warns, however, that it \\\"is intentionally narrow in scope... A narrow framing of machine learning ethics might be tempting to technologists and businesses as a way to focus on technical interventions while sidestepping deeper questions about power and accountability. We caution against this temptation.\\\" Rather than provide an overview of the FAccT approach to ethics (which is better done in books such as that one), our focus here will be on the limitations of this kind of narrow framing.\\n\",\n    \"\\n\",\n    \"One great way to consider whether an ethical lens is complete is to try to come up with an example where the lens and our own ethical intuitions give diverging results. Os Keyes, Jevan Hutson, and Meredith Durbin explored this in a graphic way in their paper [\\\"A Mulching Proposal:\\n\",\n    \"Analysing and Improving an Algorithmic System for Turning the Elderly into High-Nutrient Slurry\\\"](https://arxiv.org/abs/1908.06166). The paper's abstract says:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : The ethical implications of algorithmic systems have been much discussed in both HCI and the broader community of those interested in technology design, development and policy. In this paper, we explore the application of one prominent ethical framework - Fairness, Accountability, and Transparency - to a proposed algorithm that resolves various societal issues around food security and population aging. Using various standardised forms of algorithmic audit and evaluation, we drastically increase the algorithm's adherence to the FAT framework, resulting in a more ethical and beneficent system. We discuss how this might serve as a guide to other researchers or practitioners looking to ensure better ethical outcomes from algorithmic systems in their line of work.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this paper, the rather controversial proposal (\\\"Turning the Elderly into High-Nutrient Slurry\\\") and the results (\\\"drastically increase the algorithm's adherence to the FAT framework, resulting in a more ethical and beneficent system\\\") are at odds... to say the least!\\n\",\n    \"\\n\",\n    \"In philosophy, and especially philosophy of ethics, this is one of the most effective tools: first, come up with a process, definition, set of questions, etc., which is designed to resolve some problem. Then try to come up with an example where that apparent solution results in a proposal that no one would consider acceptable. This can then lead to a further refinement of the solution.\\n\",\n    \"\\n\",\n    \"So far, we've focused on things that you and your organization can do. But sometimes individual or organizational action is not enough. Sometimes, governments also need to consider policy implications.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Role of Policy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We often talk to people who are eager for technical or design fixes to be a full solution to the kinds of problems that we've been discussing; for instance, a technical approach to debias data, or design guidelines for making technology less addictive. While such measures can be useful, they will not be sufficient to address the underlying problems that have led to our current state. For example, as long as it is incredibly profitable to create addictive technology, companies will continue to do so, regardless of whether this has the side effect of promoting conspiracy theories and polluting our information ecosystem. While individual designers may try to tweak product designs, we will not see substantial changes until the underlying profit incentives change.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Effectiveness of Regulation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To look at what can cause companies to take concrete action, consider the following two examples of how Facebook has behaved. In 2018, a UN investigation found that Facebook had played a “determining role” in the ongoing genocide of the Rohingya, an ethnic minority in Mynamar described by UN Secretary-General Antonio Guterres as \\\"one of, if not the, most discriminated people in the world.\\\" Local activists had been warning Facebook executives that their platform was being used to spread hate speech and incite violence since as early as 2013. In 2015, they were warned that Facebook could play the same role in Myanmar that the radio broadcasts played during the Rwandan genocide (where a million people were killed). Yet, by the end of 2015, Facebook only employed four contractors that spoke Burmese. As one person close to the matter said, \\\"That’s not 20/20 hindsight. The scale of this problem was significant and it was already apparent.\\\" Zuckerberg promised during the congressional hearings to hire \\\"dozens\\\" to address the genocide in Myanmar (in 2018, years after the genocide had begun, including the destruction by fire of at least 288 villages in northern Rakhine state after August 2017).\\n\",\n    \"\\n\",\n    \"This stands in stark contrast to Facebook quickly [hiring 1,200 people in Germany](http://thehill.com/policy/technology/361722-facebook-opens-second-german-office-to-comply-with-hate-speech-law) to try to avoid expensive penalties (of up to 50 million euros) under a new German law against hate speech. Clearly, in this case, Facebook was more reactive to the threat of a financial penalty than to the systematic destruction of an ethnic minority.\\n\",\n    \"\\n\",\n    \"In an [article on privacy issues](https://idlewords.com/2019/06/the_new_wilderness.htm), Maciej Ceglowski draws parallels with the environmental movement: \\n\",\n    \"\\n\",\n    \"> : This regulatory project has been so successful in the First World that we risk forgetting what life was like before it. Choking smog of the kind that today kills thousands in Jakarta and Delhi was https://en.wikipedia.org/wiki/Pea_soup_fog[once emblematic of London]. The Cuyahoga River in Ohio used to http://www.ohiohistorycentral.org/w/Cuyahoga_River_Fire[reliably catch fire]. In a particularly horrific example of unforeseen consequences, tetraethyl lead added to gasoline https://en.wikipedia.org/wiki/Lead%E2%80%93crime_hypothesis[raised violent crime rates] worldwide for fifty years. None of these harms could have been fixed by telling people to vote with their wallet, or carefully review the environmental policies of every company they gave their business to, or to stop using the technologies in question. It took coordinated, and sometimes highly technical, regulation across jurisdictional boundaries to fix them. In some cases, like the https://en.wikipedia.org/wiki/Montreal_Protocol[ban on commercial refrigerants] that depleted the ozone layer, that regulation required a worldwide consensus. We’re at the point where we need a similar shift in perspective in our privacy law.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Rights and Policy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Clean air and clean drinking water are public goods which are nearly impossible to protect through individual market decisions, but rather require coordinated regulatory action. Similarly, many of the harms resulting from unintended consequences of misuses of technology involve public goods, such as a polluted information environment or deteriorated ambient privacy. Too often privacy is framed as an individual right, yet there are societal impacts to widespread surveillance (which would still be the case even if it was possible for a few individuals to opt out).\\n\",\n    \"\\n\",\n    \"Many of the issues we are seeing in tech are actually human rights issues, such as when a biased algorithm recommends that Black defendants have longer prison sentences, when particular job ads are only shown to young people, or when police use facial recognition to identify protesters. The appropriate venue to address human rights issues is typically through the law.\\n\",\n    \"\\n\",\n    \"We need both regulatory and legal changes, *and* the ethical behavior of individuals. Individual behavior change can’t address misaligned profit incentives, externalities (where corporations reap large profits while offloading their costs and harms to the broader society), or systemic failures. However, the law will never cover all edge cases, and it is important that individual software developers and data scientists are equipped to make ethical decisions in practice.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cars: A Historical Precedent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The problems we are facing are complex, and there are no simple solutions. This can be discouraging, but we find hope in considering other large challenges that people have tackled throughout history. One example is the movement to increase car safety, covered as a case study in [\\\"Datasheets for Datasets\\\"](https://arxiv.org/abs/1803.09010) by Timnit Gebru et al. and in the design podcast [99% Invisible](https://99percentinvisible.org/episode/nut-behind-wheel/). Early cars had no seatbelts, metal knobs on the dashboard that could lodge in people’s skulls during a crash, regular plate glass windows that shattered in dangerous ways, and non-collapsible steering columns that impaled drivers. However, car companies were incredibly resistant to even discussing the idea of safety as something they could help address, and the widespread belief was that cars are just the way they are, and that it was the people using them who caused problems.\\n\",\n    \"\\n\",\n    \"It took consumer safety activists and advocates decades of work to even change the national conversation to consider that perhaps car companies had some responsibility which should be addressed through regulation. When the collapsible steering column was invented, it was not implemented for several years as there was no financial incentive to do so. Major car company General Motors hired private detectives to try to dig up dirt on consumer safety advocate Ralph Nader. The requirement of seatbelts, crash test dummies, and collapsible steering columns were major victories. It was only in 2011 that car companies were required to start using crash test dummies that would represent the average woman, and not just average men’s bodies; prior to this, women were 40% more likely to be injured in a car crash of the same impact compared to a man. This is a vivid example of the ways that bias, policy, and technology have important consequences.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Coming from a background of working with binary logic, the lack of clear answers in ethics can be frustrating at first.  Yet, the implications of how our work impacts the world, including unintended consequences and the work becoming weaponized by bad actors, are some of the most important questions we can (and should!) consider.  Even though there aren't any easy answers, there are definite pitfalls to avoid and practices to follow to move toward more ethical behavior.\\n\",\n    \"\\n\",\n    \"Many people (including us!) are looking for more satisfying, solid answers about how to address harmful impacts of technology. However, given the complex, far-reaching, and interdisciplinary nature of the problems we are facing, there are no simple solutions. Julia Angwin, former senior reporter at ProPublica who focuses on issues of algorithmic bias and surveillance (and one of the 2016 investigators of the COMPAS recidivism algorithm that helped spark the field of FAccT) said in [a 2019 interview](https://www.fastcompany.com/90337954/who-cares-about-liberty-julia-angwin-and-trevor-paglen-on-privacy-surveillance-and-the-mess-were-in):\\n\",\n    \"\\n\",\n    \"> : I strongly believe that in order to solve a problem, you have to diagnose it, and that we’re still in the diagnosis phase of this. If you think about the turn of the century and industrialization, we had, I don’t know, 30 years of child labor, unlimited work hours, terrible working conditions, and it took a lot of journalist muckraking and advocacy to diagnose the problem and have some understanding of what it was, and then the activism to get laws changed. I feel like we’re in a second industrialization of data information... I see my role as trying to make as clear as possible what the downsides are, and diagnosing them really accurately so that they can be solvable. That’s hard work, and lots more people need to be doing it. \\n\",\n    \"\\n\",\n    \"It's reassuring that Angwin thinks we are largely still in the diagnosis phase: if your understanding of these problems feels incomplete, that is normal and natural. Nobody has a “cure” yet, although it is vital that we continue working to better understand and address the problems we are facing.\\n\",\n    \"\\n\",\n    \"One of our reviewers for this book, Fred Monroe, used to work in hedge fund trading. He told us, after reading this chapter, that many of the issues discussed here (distribution of data being dramatically different than what a model was trained on, the impact feedback loops on a model once deployed and at scale, and so forth) were also key issues for building profitable trading models. The kinds of things you need to do to consider societal consequences are going to have a lot of overlap with things you need to do to consider organizational, market, and customer consequences—so thinking carefully about ethics can also help you think carefully about how to make your data product successful more generally!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Does ethics provide a list of \\\"right answers\\\"?\\n\",\n    \"1. How can working with people of different backgrounds help when considering ethical questions?\\n\",\n    \"1. What was the role of IBM in Nazi Germany? Why did the company participate as it did? Why did the workers participate?\\n\",\n    \"1. What was the role of the first person jailed in the Volkswagen diesel scandal?\\n\",\n    \"1. What was the problem with a database of suspected gang members maintained by California law enforcement officials?\\n\",\n    \"1. Why did YouTube's recommendation algorithm recommend videos of partially clothed children to pedophiles, even though no employee at Google had programmed this feature?\\n\",\n    \"1. What are the problems with the centrality of metrics?\\n\",\n    \"1. Why did Meetup.com not include gender in its recommendation system for tech meetups?\\n\",\n    \"1. What are the six types of bias in machine learning, according to Suresh and Guttag?\\n\",\n    \"1. Give two examples of historical race bias in the US.\\n\",\n    \"1. Where are most images in ImageNet from?\\n\",\n    \"1. In the paper [\\\"Does Machine Learning Automate Moral Hazard and Error\\\"](https://scholar.harvard.edu/files/sendhil/files/aer.p20171084.pdf) why is sinusitis found to be predictive of a stroke?\\n\",\n    \"1. What is representation bias?\\n\",\n    \"1. How are machines and people different, in terms of their use for making decisions?\\n\",\n    \"1. Is disinformation the same as \\\"fake news\\\"?\\n\",\n    \"1. Why is disinformation through auto-generated text a particularly significant issue?\\n\",\n    \"1. What are the five ethical lenses described by the Markkula Center?\\n\",\n    \"1. Where is policy an appropriate tool for addressing data ethics issues?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Read the article \\\"What Happens When an Algorithm Cuts Your Healthcare\\\". How could problems like this be avoided in the future?\\n\",\n    \"1. Research to find out more about YouTube's recommendation system and its societal impacts. Do you think recommendation systems must always have feedback loops with negative results? What approaches could Google take to avoid them? What about the government?\\n\",\n    \"1. Read the paper [\\\"Discrimination in Online Ad Delivery\\\"](https://arxiv.org/abs/1301.6822). Do you think Google should be considered responsible for what happened to Dr. Sweeney? What would be an appropriate response?\\n\",\n    \"1. How can a cross-disciplinary team help avoid negative consequences?\\n\",\n    \"1. Read the paper \\\"Does Machine Learning Automate Moral Hazard and Error\\\". What actions do you think should be taken to deal with the issues identified in this paper?\\n\",\n    \"1. Read the article \\\"How Will We Prevent AI-Based Forgery?\\\" Do you think Etzioni's proposed approach could work? Why?\\n\",\n    \"1. Complete the section \\\"Analyze a Project You Are Working On\\\" in this chapter.\\n\",\n    \"1. Consider whether your team could be more diverse. If so, what approaches might help?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning in Practice: That's a Wrap!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations! You've made it to the end of the first section of the book. In this section we've tried to show you what deep learning can do, and how you can use it to create real applications and products. At this point, you will get a lot more out of the book if you spend some time trying out what you've learned. Perhaps you have already been doing this as you go along—in which case, great! If not, that's no problem either... Now is a great time to start experimenting yourself.\\n\",\n    \"\\n\",\n    \"If you haven't been to the [book's website](https://book.fast.ai) yet, head over there now. It's really important that you get yourself set up to run the notebooks. Becoming an effective deep learning practitioner is all about practice, so you need to be training models. So, please go get the notebooks running now if you haven't already! And also have a look on the website for any important updates or notices; deep learning changes fast, and we can't change the words that are printed in this book, so the website is where you need to look to ensure you have the most up-to-date information.\\n\",\n    \"\\n\",\n    \"Make sure that you have completed the following steps:\\n\",\n    \"\\n\",\n    \"- Connect to one of the GPU Jupyter servers recommended on the book's website.\\n\",\n    \"- Run the first notebook yourself.\\n\",\n    \"- Upload an image that you find in the first notebook; then try a few different images of different kinds to see what happens.\\n\",\n    \"- Run the second notebook, collecting your own dataset based on image search queries that you come up with.\\n\",\n    \"- Think about how you can use deep learning to help you with your own projects, including what kinds of data you could use, what kinds of problems may come up, and how you might be able to mitigate these issues in practice.\\n\",\n    \"\\n\",\n    \"In the next section of the book you will learn about how and why deep learning works, instead of just seeing how you can use it in practice. Understanding the how and why is important for both practitioners and researchers, because in this fairly new field nearly every project requires some level of customization and debugging. The better you understand the foundations of deep learning, the better your models will be. These foundations are less important for executives, product managers, and so forth (although still useful, so feel free to keep reading!), but they are critical for anybody who is actually training and deploying models themselves.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "04_mnist_basics.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"from fastbook import *\\n\",\n    \"\\n\",\n    \"matplotlib.rc('image', cmap='Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_mnist_basics]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Under the Hood: Training a Digit Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Having seen what it looks like to actually train a variety of models in Chapter 2, let’s now look under the hood and see exactly what is going on. We’ll start by using computer vision to introduce fundamental tools and concepts for deep learning.\\n\",\n    \"\\n\",\n    \"To be exact, we'll discuss the roles of arrays and tensors and of broadcasting, a powerful technique for using them expressively. We'll explain stochastic gradient descent (SGD), the mechanism for learning by updating weights automatically. We'll discuss the choice of a loss function for our basic classification task, and the role of mini-batches. We'll also describe the math that a basic neural network is actually doing. Finally, we'll put all these pieces together.\\n\",\n    \"\\n\",\n    \"In future chapters we’ll do deep dives into other applications as well, and see how these concepts and tools generalize. But this chapter is about laying foundation stones. To be frank, that also makes this one of the hardest chapters, because of how these concepts all depend on each other. Like an arch, all the stones need to be in place for the structure to stay up. Also like an arch, once that happens, it's a powerful structure that can support other things. But it requires some patience to assemble.\\n\",\n    \"\\n\",\n    \"Let's begin. The first step is to consider how images are represented in a computer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Pixels: The Foundations of Computer Vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In order to understand what happens in a computer vision model, we first have to understand how computers handle images. We'll use one of the most famous datasets in computer vision, [MNIST](https://en.wikipedia.org/wiki/MNIST_database), for our experiments. MNIST contains images of handwritten digits, collected by the National Institute of Standards and Technology and collated into a machine learning dataset by Yann Lecun and his colleagues. Lecun used MNIST in 1998 in [Lenet-5](http://yann.lecun.com/exdb/lenet/), the first computer system to demonstrate practically useful recognition of handwritten digit sequences. This was one of the most important breakthroughs in the history of AI.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Sidebar: Tenacity and Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The story of deep learning is one of tenacity and grit by a handful of dedicated researchers. After early hopes (and hype!) neural networks went out of favor in the 1990's and 2000's, and just a handful of researchers kept trying to make them work well. Three of them, Yann Lecun, Yoshua Bengio, and Geoffrey Hinton, were awarded the highest honor in computer science, the Turing Award (generally considered the \\\"Nobel Prize of computer science\\\"), in 2018 after triumphing despite the deep skepticism and disinterest of the wider machine learning and statistics community.\\n\",\n    \"\\n\",\n    \"Geoff Hinton has told of how even academic papers showing dramatically better results than anything previously published would be rejected by top journals and conferences, just because they used a neural network. Yann Lecun's work on convolutional neural networks, which we will study in the next section, showed that these models could read handwritten text—something that had never been achieved before. However, his breakthrough was ignored by most researchers, even as it was used commercially to read 10% of the checks in the US!\\n\",\n    \"\\n\",\n    \"In addition to these three Turing Award winners, there are many other researchers who have battled to get us to where we are today. For instance, Jurgen Schmidhuber (who many believe should have shared in the Turing Award) pioneered many important ideas, including working with his student Sepp Hochreiter on the long short-term memory (LSTM) architecture (widely used for speech recognition and other text modeling tasks, and used in the IMDb example in <<chapter_intro>>). Perhaps most important of all, Paul Werbos in 1974 invented back-propagation for neural networks, the technique shown in this chapter and used universally for training neural networks ([Werbos 1994](https://books.google.com/books/about/The_Roots_of_Backpropagation.html?id=WdR3OOM2gBwC)). His development was almost entirely ignored for decades, but today it is considered the most important foundation of modern AI.\\n\",\n    \"\\n\",\n    \"There is a lesson here for all of us! On your deep learning journey you will face many obstacles, both technical, and (even more difficult) posed by people around you who don't believe you'll be successful. There's one *guaranteed* way to fail, and that's to stop trying. We've seen that the only consistent trait amongst every fast.ai student that's gone on to be a world-class practitioner is that they are all very tenacious.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For this initial tutorial we are just going to try to create a model that can classify any image as a 3 or a 7. So let's download a sample of MNIST that contains images of just these digits:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST_SAMPLE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see what's in this directory by using `ls`, a method added by fastai. This method returns an object of a special fastai class called `L`, which has all the same functionality of Python's built-in `list`, plus a lot more. One of its handy features is that, when printed, it displays the count of items, before listing the items themselves (if there are more than 10 items, it just shows the first few):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#9) [Path('cleaned.csv'),Path('item_list.txt'),Path('trained_model.pkl'),Path('models'),Path('valid'),Path('labels.csv'),Path('export.pkl'),Path('history.csv'),Path('train')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The MNIST dataset follows a common layout for machine learning datasets: separate folders for the training set and the validation set (and/or test set). Let's see what's inside the training set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [Path('train/7'),Path('train/3')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(path/'train').ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's a folder of 3s, and a folder of 7s. In machine learning parlance, we say that \\\"3\\\" and \\\"7\\\" are the *labels* (or targets) in this dataset. Let's take a look in one of these folders (using `sorted` to ensure we all get the same order of files):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#6131) [Path('train/3/10.png'),Path('train/3/10000.png'),Path('train/3/10011.png'),Path('train/3/10031.png'),Path('train/3/10034.png'),Path('train/3/10042.png'),Path('train/3/10052.png'),Path('train/3/1007.png'),Path('train/3/10074.png'),Path('train/3/10091.png')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"threes = (path/'train'/'3').ls().sorted()\\n\",\n    \"sevens = (path/'train'/'7').ls().sorted()\\n\",\n    \"threes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we might expect, it's full of image files. Let’s take a look at one now. Here’s an image of a handwritten number 3, taken from the famous MNIST dataset of handwritten numbers:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAAA9ElEQVR4nM3Or0sDcRjH8c/pgrfBVBjCgibThiKIyTWbWF1bORhGwxARxH/AbtW0JoIGwzXRYhJhtuFY2q1ocLgbe3sGReTuuWbwkx6+r+/zQ/pncX6q+YOldSe6nG3dn8U/rTQ70L8FCGJUewvxl7NTmezNb8xIkvKugr1HSeMP6SrWOVkoTEuSyh0Gm2n3hQyObMnXnxkempRrvgD+gokzwxFAr7U7YXHZ8x4A/Dl7rbu6D2yl3etcw/F3nZgfRVI7rXM7hMUUqzzBec427x26rkmlkzEEa4nnRqnSOH2F0UUx0ePzlbuqMXAHgN6GY9if5xP8dmtHFfwjuQAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<PIL.PngImagePlugin.PngImageFile image mode=L size=28x28 at 0x7F10D53E7E90>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im3_path = threes[1]\\n\",\n    \"im3 = Image.open(im3_path)\\n\",\n    \"im3\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here we are using the `Image` class from the *Python Imaging Library* (PIL), which is the most widely used Python package for opening, manipulating, and viewing images. Jupyter knows about PIL images, so it displays the image for us automatically.\\n\",\n    \"\\n\",\n    \"In a computer, everything is represented as a number. To view the numbers that make up this image, we have to convert it to a *NumPy array* or a *PyTorch tensor*. For instance, here's what a section of the image looks like, converted to a NumPy array:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[  0,   0,   0,   0,   0,   0],\\n\",\n       \"       [  0,   0,   0,   0,   0,  29],\\n\",\n       \"       [  0,   0,   0,  48, 166, 224],\\n\",\n       \"       [  0,  93, 244, 249, 253, 187],\\n\",\n       \"       [  0, 107, 253, 253, 230,  48],\\n\",\n       \"       [  0,   3,  20,  20,  15,   0]], dtype=uint8)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"array(im3)[4:10,4:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `4:10` indicates we requested the rows from index 4 (included) to 10 (not included) and the same for the columns. NumPy indexes from top to bottom and left to right, so this section is located in the top-left corner of the image. Here's the same thing as a PyTorch tensor:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[  0,   0,   0,   0,   0,   0],\\n\",\n       \"        [  0,   0,   0,   0,   0,  29],\\n\",\n       \"        [  0,   0,   0,  48, 166, 224],\\n\",\n       \"        [  0,  93, 244, 249, 253, 187],\\n\",\n       \"        [  0, 107, 253, 253, 230,  48],\\n\",\n       \"        [  0,   3,  20,  20,  15,   0]], dtype=torch.uint8)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tensor(im3)[4:10,4:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can slice the array to pick just the part with the top of the digit in it, and then use a Pandas DataFrame to color-code the values using a gradient, which shows us clearly how the image is created from the pixel values:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<style  type=\\\"text/css\\\" >\\n\",\n       \"    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row0_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #efefef;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #7c7c7c;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #4a4a4a;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #606060;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #4d4d4d;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #7c7c7c;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #bbbbbb;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row1_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e4e4e4;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #6b6b6b;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #171717;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #4b4b4b;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #171717;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row2_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #272727;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #0a0a0a;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #050505;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #333333;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e6e6e6;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fafafa;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fbfbfb;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fdfdfd;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fafafa;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #4b4b4b;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #171717;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row3_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #1b1b1b;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e0e0e0;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #4e4e4e;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #767676;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row4_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fcfcfc;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f6f6f6;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f6f6f6;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f8f8f8;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e8e8e8;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #222222;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #090909;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #d0d0d0;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row5_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #060606;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #090909;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #979797;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row6_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f8f8f8;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #b6b6b6;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #252525;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #060606;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #999999;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row7_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f9f9f9;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #6b6b6b;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #101010;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #020202;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #545454;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f1f1f1;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row8_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f7f7f7;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #060606;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #030303;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #020202;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #010101;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #181818;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #303030;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #a9a9a9;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #fefefe;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row9_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e8e8e8;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #bababa;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #bababa;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #393939;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_5949cb40_7ea5_11ea_8470_251223b34593row10_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }</style><table id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593\\\" ><thead>    <tr>        <th class=\\\"blank level0\\\" ></th>        <th class=\\\"col_heading level0 col0\\\" >0</th>        <th class=\\\"col_heading level0 col1\\\" >1</th>        <th class=\\\"col_heading level0 col2\\\" >2</th>        <th class=\\\"col_heading level0 col3\\\" >3</th>        <th class=\\\"col_heading level0 col4\\\" >4</th>        <th class=\\\"col_heading level0 col5\\\" >5</th>        <th class=\\\"col_heading level0 col6\\\" >6</th>        <th class=\\\"col_heading level0 col7\\\" >7</th>        <th class=\\\"col_heading level0 col8\\\" >8</th>        <th class=\\\"col_heading level0 col9\\\" >9</th>        <th class=\\\"col_heading level0 col10\\\" >10</th>        <th class=\\\"col_heading level0 col11\\\" >11</th>        <th class=\\\"col_heading level0 col12\\\" >12</th>        <th class=\\\"col_heading level0 col13\\\" >13</th>        <th class=\\\"col_heading level0 col14\\\" >14</th>        <th class=\\\"col_heading level0 col15\\\" >15</th>        <th class=\\\"col_heading level0 col16\\\" >16</th>        <th class=\\\"col_heading level0 col17\\\" >17</th>    </tr></thead><tbody>\\n\",\n       \"                <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row0\\\" class=\\\"row_heading level0 row0\\\" >0</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col0\\\" class=\\\"data row0 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col1\\\" class=\\\"data row0 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col2\\\" class=\\\"data row0 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col3\\\" class=\\\"data row0 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col4\\\" class=\\\"data row0 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col5\\\" class=\\\"data row0 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col6\\\" class=\\\"data row0 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col7\\\" class=\\\"data row0 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col8\\\" class=\\\"data row0 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col9\\\" class=\\\"data row0 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col10\\\" class=\\\"data row0 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col11\\\" class=\\\"data row0 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col12\\\" class=\\\"data row0 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col13\\\" class=\\\"data row0 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col14\\\" class=\\\"data row0 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col15\\\" class=\\\"data row0 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col16\\\" class=\\\"data row0 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row0_col17\\\" class=\\\"data row0 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row1\\\" class=\\\"row_heading level0 row1\\\" >1</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col0\\\" class=\\\"data row1 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col1\\\" class=\\\"data row1 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col2\\\" class=\\\"data row1 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col3\\\" class=\\\"data row1 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col4\\\" class=\\\"data row1 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col5\\\" class=\\\"data row1 col5\\\" >29</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col6\\\" class=\\\"data row1 col6\\\" >150</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col7\\\" class=\\\"data row1 col7\\\" >195</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col8\\\" class=\\\"data row1 col8\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col9\\\" class=\\\"data row1 col9\\\" >255</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col10\\\" class=\\\"data row1 col10\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col11\\\" class=\\\"data row1 col11\\\" >176</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col12\\\" class=\\\"data row1 col12\\\" >193</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col13\\\" class=\\\"data row1 col13\\\" >150</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col14\\\" class=\\\"data row1 col14\\\" >96</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col15\\\" class=\\\"data row1 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col16\\\" class=\\\"data row1 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row1_col17\\\" class=\\\"data row1 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row2\\\" class=\\\"row_heading level0 row2\\\" >2</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col0\\\" class=\\\"data row2 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col1\\\" class=\\\"data row2 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col2\\\" class=\\\"data row2 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col3\\\" class=\\\"data row2 col3\\\" >48</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col4\\\" class=\\\"data row2 col4\\\" >166</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col5\\\" class=\\\"data row2 col5\\\" >224</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col6\\\" class=\\\"data row2 col6\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col7\\\" class=\\\"data row2 col7\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col8\\\" class=\\\"data row2 col8\\\" >234</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col9\\\" class=\\\"data row2 col9\\\" >196</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col10\\\" class=\\\"data row2 col10\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col11\\\" class=\\\"data row2 col11\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col12\\\" class=\\\"data row2 col12\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col13\\\" class=\\\"data row2 col13\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col14\\\" class=\\\"data row2 col14\\\" >233</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col15\\\" class=\\\"data row2 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col16\\\" class=\\\"data row2 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row2_col17\\\" class=\\\"data row2 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row3\\\" class=\\\"row_heading level0 row3\\\" >3</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col0\\\" class=\\\"data row3 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col1\\\" class=\\\"data row3 col1\\\" >93</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col2\\\" class=\\\"data row3 col2\\\" >244</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col3\\\" class=\\\"data row3 col3\\\" >249</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col4\\\" class=\\\"data row3 col4\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col5\\\" class=\\\"data row3 col5\\\" >187</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col6\\\" class=\\\"data row3 col6\\\" >46</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col7\\\" class=\\\"data row3 col7\\\" >10</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col8\\\" class=\\\"data row3 col8\\\" >8</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col9\\\" class=\\\"data row3 col9\\\" >4</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col10\\\" class=\\\"data row3 col10\\\" >10</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col11\\\" class=\\\"data row3 col11\\\" >194</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col12\\\" class=\\\"data row3 col12\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col13\\\" class=\\\"data row3 col13\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col14\\\" class=\\\"data row3 col14\\\" >233</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col15\\\" class=\\\"data row3 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col16\\\" class=\\\"data row3 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row3_col17\\\" class=\\\"data row3 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row4\\\" class=\\\"row_heading level0 row4\\\" >4</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col0\\\" class=\\\"data row4 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col1\\\" class=\\\"data row4 col1\\\" >107</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col2\\\" class=\\\"data row4 col2\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col3\\\" class=\\\"data row4 col3\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col4\\\" class=\\\"data row4 col4\\\" >230</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col5\\\" class=\\\"data row4 col5\\\" >48</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col6\\\" class=\\\"data row4 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col7\\\" class=\\\"data row4 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col8\\\" class=\\\"data row4 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col9\\\" class=\\\"data row4 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col10\\\" class=\\\"data row4 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col11\\\" class=\\\"data row4 col11\\\" >192</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col12\\\" class=\\\"data row4 col12\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col13\\\" class=\\\"data row4 col13\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col14\\\" class=\\\"data row4 col14\\\" >156</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col15\\\" class=\\\"data row4 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col16\\\" class=\\\"data row4 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row4_col17\\\" class=\\\"data row4 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row5\\\" class=\\\"row_heading level0 row5\\\" >5</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col0\\\" class=\\\"data row5 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col1\\\" class=\\\"data row5 col1\\\" >3</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col2\\\" class=\\\"data row5 col2\\\" >20</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col3\\\" class=\\\"data row5 col3\\\" >20</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col4\\\" class=\\\"data row5 col4\\\" >15</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col5\\\" class=\\\"data row5 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col6\\\" class=\\\"data row5 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col7\\\" class=\\\"data row5 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col8\\\" class=\\\"data row5 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col9\\\" class=\\\"data row5 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col10\\\" class=\\\"data row5 col10\\\" >43</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col11\\\" class=\\\"data row5 col11\\\" >224</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col12\\\" class=\\\"data row5 col12\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col13\\\" class=\\\"data row5 col13\\\" >245</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col14\\\" class=\\\"data row5 col14\\\" >74</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col15\\\" class=\\\"data row5 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col16\\\" class=\\\"data row5 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row5_col17\\\" class=\\\"data row5 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row6\\\" class=\\\"row_heading level0 row6\\\" >6</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col0\\\" class=\\\"data row6 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col1\\\" class=\\\"data row6 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col2\\\" class=\\\"data row6 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col3\\\" class=\\\"data row6 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col4\\\" class=\\\"data row6 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col5\\\" class=\\\"data row6 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col6\\\" class=\\\"data row6 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col7\\\" class=\\\"data row6 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col8\\\" class=\\\"data row6 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col9\\\" class=\\\"data row6 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col10\\\" class=\\\"data row6 col10\\\" >249</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col11\\\" class=\\\"data row6 col11\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col12\\\" class=\\\"data row6 col12\\\" >245</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col13\\\" class=\\\"data row6 col13\\\" >126</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col14\\\" class=\\\"data row6 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col15\\\" class=\\\"data row6 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col16\\\" class=\\\"data row6 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row6_col17\\\" class=\\\"data row6 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row7\\\" class=\\\"row_heading level0 row7\\\" >7</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col0\\\" class=\\\"data row7 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col1\\\" class=\\\"data row7 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col2\\\" class=\\\"data row7 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col3\\\" class=\\\"data row7 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col4\\\" class=\\\"data row7 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col5\\\" class=\\\"data row7 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col6\\\" class=\\\"data row7 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col7\\\" class=\\\"data row7 col7\\\" >14</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col8\\\" class=\\\"data row7 col8\\\" >101</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col9\\\" class=\\\"data row7 col9\\\" >223</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col10\\\" class=\\\"data row7 col10\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col11\\\" class=\\\"data row7 col11\\\" >248</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col12\\\" class=\\\"data row7 col12\\\" >124</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col13\\\" class=\\\"data row7 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col14\\\" class=\\\"data row7 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col15\\\" class=\\\"data row7 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col16\\\" class=\\\"data row7 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row7_col17\\\" class=\\\"data row7 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row8\\\" class=\\\"row_heading level0 row8\\\" >8</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col0\\\" class=\\\"data row8 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col1\\\" class=\\\"data row8 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col2\\\" class=\\\"data row8 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col3\\\" class=\\\"data row8 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col4\\\" class=\\\"data row8 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col5\\\" class=\\\"data row8 col5\\\" >11</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col6\\\" class=\\\"data row8 col6\\\" >166</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col7\\\" class=\\\"data row8 col7\\\" >239</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col8\\\" class=\\\"data row8 col8\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col9\\\" class=\\\"data row8 col9\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col10\\\" class=\\\"data row8 col10\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col11\\\" class=\\\"data row8 col11\\\" >187</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col12\\\" class=\\\"data row8 col12\\\" >30</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col13\\\" class=\\\"data row8 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col14\\\" class=\\\"data row8 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col15\\\" class=\\\"data row8 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col16\\\" class=\\\"data row8 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row8_col17\\\" class=\\\"data row8 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row9\\\" class=\\\"row_heading level0 row9\\\" >9</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col0\\\" class=\\\"data row9 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col1\\\" class=\\\"data row9 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col2\\\" class=\\\"data row9 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col3\\\" class=\\\"data row9 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col4\\\" class=\\\"data row9 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col5\\\" class=\\\"data row9 col5\\\" >16</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col6\\\" class=\\\"data row9 col6\\\" >248</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col7\\\" class=\\\"data row9 col7\\\" >250</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col8\\\" class=\\\"data row9 col8\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col9\\\" class=\\\"data row9 col9\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col10\\\" class=\\\"data row9 col10\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col11\\\" class=\\\"data row9 col11\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col12\\\" class=\\\"data row9 col12\\\" >232</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col13\\\" class=\\\"data row9 col13\\\" >213</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col14\\\" class=\\\"data row9 col14\\\" >111</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col15\\\" class=\\\"data row9 col15\\\" >2</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col16\\\" class=\\\"data row9 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row9_col17\\\" class=\\\"data row9 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593level0_row10\\\" class=\\\"row_heading level0 row10\\\" >10</th>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col0\\\" class=\\\"data row10 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col1\\\" class=\\\"data row10 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col2\\\" class=\\\"data row10 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col3\\\" class=\\\"data row10 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col4\\\" class=\\\"data row10 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col5\\\" class=\\\"data row10 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col6\\\" class=\\\"data row10 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col7\\\" class=\\\"data row10 col7\\\" >43</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col8\\\" class=\\\"data row10 col8\\\" >98</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col9\\\" class=\\\"data row10 col9\\\" >98</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col10\\\" class=\\\"data row10 col10\\\" >208</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col11\\\" class=\\\"data row10 col11\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col12\\\" class=\\\"data row10 col12\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col13\\\" class=\\\"data row10 col13\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col14\\\" class=\\\"data row10 col14\\\" >253</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col15\\\" class=\\\"data row10 col15\\\" >187</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col16\\\" class=\\\"data row10 col16\\\" >22</td>\\n\",\n       \"                        <td id=\\\"T_5949cb40_7ea5_11ea_8470_251223b34593row10_col17\\\" class=\\\"data row10 col17\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"    </tbody></table>\"\n      ],\n      \"text/plain\": [\n       \"<pandas.io.formats.style.Styler at 0x7f10d4f3b8d0>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"im3_t = tensor(im3)\\n\",\n    \"df = pd.DataFrame(im3_t[4:15,4:22])\\n\",\n    \"df.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img width=\\\"453\\\" id=\\\"output_pd_pixels\\\" src=\\\"images/att_00058.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can see that the background white pixels are stored as the number 0, black is the number 255, and shades of gray are between the two. The entire image contains 28 pixels across and 28 pixels down, for a total of 784 pixels. (This is much smaller than an image that you would get from a phone camera, which has millions of pixels, but is a convenient size for our initial learning and experiments. We will build up to bigger, full-color images soon.)\\n\",\n    \"\\n\",\n    \"So, now you've seen what an image looks like to a computer, let's recall our goal: create a model that can recognize 3s and 7s. How might you go about getting a computer to do that?\\n\",\n    \"\\n\",\n    \"> Warning: Stop and Think!: Before you read on, take a moment to think about how a computer might be able to recognize these two different digits. What kinds of features might it be able to look at? How might it be able to identify these features? How could it combine them together? Learning works best when you try to solve problems yourself, rather than just reading somebody else's answers; so step away from this book for a few minutes, grab a piece of paper and pen, and jot some ideas down…\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## First Try: Pixel Similarity\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, here is a first idea: how about we find the average pixel value for every pixel of the 3s, then do the same for the 7s. This will give us two group averages, defining what we might call the \\\"ideal\\\" 3 and 7. Then, to classify an image as one digit or the other, we see which of these two ideal digits the image is most similar to. This certainly seems like it should be better than nothing, so it will make a good baseline.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Baseline: A simple model which you are confident should perform reasonably well. It should be very simple to implement, and very easy to test, so that you can then test each of your improved ideas, and make sure they are always better than your baseline. Without starting with a sensible baseline, it is very difficult to know whether your super-fancy models are actually any good. One good approach to creating a baseline is doing what we have done here: think of a simple, easy-to-implement model. Another good approach is to search around to find other people that have solved similar problems to yours, and download and run their code on your dataset. Ideally, try both of these!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Step one for our simple model is to get the average of pixel values for each of our two groups. In the process of doing this, we will learn a lot of neat Python numeric programming tricks!\\n\",\n    \"\\n\",\n    \"Let's create a tensor containing all of our 3s stacked together. We already know how to create a tensor containing a single image. To create a tensor containing all the images in a directory, we will first use a Python list comprehension to create a plain list of the single image tensors.\\n\",\n    \"\\n\",\n    \"We will use Jupyter to do some little checks of our work along the way—in this case, making sure that the number of returned items seems reasonable:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(6131, 6265)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"seven_tensors = [tensor(Image.open(o)) for o in sevens]\\n\",\n    \"three_tensors = [tensor(Image.open(o)) for o in threes]\\n\",\n    \"len(three_tensors),len(seven_tensors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: List Comprehensions: List and dictionary comprehensions are a wonderful feature of Python. Many Python programmers use them every day, including the authors of this book—they are part of \\\"idiomatic Python.\\\" But programmers coming from other languages may have never seen them before. There are a lot of great tutorials just a web search away, so we won't spend a long time discussing them now. Here is a quick explanation and example to get you started. A list comprehension looks like this: `new_list = [f(o) for o in a_list if o>0]`. This will return every element of `a_list` that is greater than 0, after passing it to the function `f`. There are three parts here: the collection you are iterating over (`a_list`), an optional filter (`if o>0`), and something to do to each element (`f(o)`). It's not only shorter to write but way faster than the alternative ways of creating the same list with a loop.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll also check that one of the images looks okay. Since we now have tensors (which Jupyter by default will print as values), rather than PIL images (which Jupyter by default will display as images), we need to use fastai's `show_image` function to display it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAADjElEQVR4nO2aPyh9YRjHP/f4k38L5X+ysohsUpTBhEVMJGUyGAwWg0kGkcFqlMFIyv+kSGIwKWUiUvKn5P/9DXrvcR+He+695957+vV8llPnvvd9n77n2/s8z3tOIBgMothYqQ7Ab6ggAhVEoIIIVBBBeoTf/+cUFHC6qQ4RqCACFUSggghUEIEKIlBBBCqIQAURRKpUPeHh4QGAyclJAI6PjwFYXl4GIBgMEgh8FY59fX0A3N7eAlBTUwNAU1MTAC0tLQmNVR0iCEQ4MYupl7m4uABgYmICgJWVFQDOz8/DxhUVFQFQX18fGvMbxcXFAFxeXsYSkhPay7jBkz1ke3sbgLa2NgBeX18BeH9/B6CzsxOAnZ0dAAoLCwFC+4ZlWXx8fISNXVpa8iK0qFGHCDxxyN3dHQBPT09h98vLywGYmpoCoKys7Nc5LMsKu0p6enrijtMN6hCBJ1nm8/MTgOfn57D75mlnZWVFnOPq6gqAxsZGwM5I2dnZAOzu7gJQW1vrJiQ3aJZxgyd7iHFCTk5OzHNUVlYCdmYyzjDVrYfO+BN1iCApvYzk5eUFgM3NTQCGhoZCzsjMzARgenoagIGBgaTGpg4RJMUhpnIdHh4GYH5+HrDrl++0t7cD0NXVlYzQfqAOESSk25WY+iQ/Px8g1LeYqxMlJSUAlJaWAjAyMgLYvY7pg+LAcYKkCCIxRdjJyUno3tjYGAD7+/t//tcIMjc3B0Bubm6sYWhh5oaUOMSJt7c3wHaPScn9/f2O4w8PDwGoq6uLdUl1iBtSUpg5kZGRAUBFRQUAvb29AKyurgKwsLAQNn5tbQ2IyyGOqEMEvnGIxKTV39JrdXV1QtZVhwh8k2Uke3t7ADQ3NwP2sYDh5uYGgIKCgliX0CzjBt/tIWdnZwAMDg4CP51h6pK8vLyErK8OEfhmDzF1RUdHB2AfIhnMEePp6Slg1y1xoHuIG1K6h1xfXwMwOzvL+Pg48PVpxHfMS+6trS3AE2f8iTpE4KlDzBPf2NgA7I9bHh8fATg4OADg6OgIsM807u/vQ3OkpaUB9qvLmZkZIHFZRaIOEXiaZbq7uwFYXFyMOpDW1lYARkdHAWhoaIh6jijRLOMGTx1iPnIxtUQkzEHy+vo6VVVVXwHFf3jsFnWIG3xTqaYAdYgbVBCBCiJQQQQqiCBSL5O0osAvqEMEKohABRGoIAIVRKCCCP4B/PMI7HrW9/wAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_image(three_tensors[1]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For every pixel position, we want to compute the average over all the images of the intensity of that pixel. To do this we first combine all the images in this list into a single three-dimensional tensor. The most common way to describe such a tensor is to call it a *rank-3 tensor*. We often need to stack up individual tensors in a collection into a single tensor. Unsurprisingly, PyTorch comes with a function called `stack` that we can use for this purpose.\\n\",\n    \"\\n\",\n    \"Some operations in PyTorch, such as taking a mean, require us to *cast* our integer types to float types. Since we'll be needing this later, we'll also cast our stacked tensor to `float` now. Casting in PyTorch is as simple as typing the name of the type you wish to cast to, and treating it as a method.\\n\",\n    \"\\n\",\n    \"Generally when images are floats, the pixel values are expected to be between 0 and 1, so we will also divide by 255 here:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([6131, 28, 28])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"stacked_sevens = torch.stack(seven_tensors).float()/255\\n\",\n    \"stacked_threes = torch.stack(three_tensors).float()/255\\n\",\n    \"stacked_threes.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Perhaps the most important attribute of a tensor is its *shape*. This tells you the length of each axis. In this case, we can see that we have 6,131 images, each of size 28×28 pixels. There is nothing specifically about this tensor that says that the first axis is the number of images, the second is the height, and the third is the width—the semantics of a tensor are entirely up to us, and how we construct it. As far as PyTorch is concerned, it is just a bunch of numbers in memory.\\n\",\n    \"\\n\",\n    \"The *length* of a tensor's shape is its rank:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(stacked_threes.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It is really important for you to commit to memory and practice these bits of tensor jargon: _rank_ is the number of axes or dimensions in a tensor; _shape_ is the size of each axis of a tensor.\\n\",\n    \"\\n\",\n    \"> A: Watch out because the term \\\"dimension\\\" is sometimes used in two ways. Consider that we live in \\\"three-dimensonal space\\\" where a physical position can be described by a 3-vector `v`. But according to PyTorch, the attribute `v.ndim` (which sure looks like the \\\"number of dimensions\\\" of `v`) equals one, not three! Why? Because `v` is a vector, which is a tensor of rank one, meaning that it has only one _axis_ (even if that axis has a length of three). In other words, sometimes dimension is used for the size of an axis (\\\"space is three-dimensional\\\"); other times, it is used for the rank, or the number of axes (\\\"a matrix has two dimensions\\\"). When confused, I find it helpful to translate all statements into terms of rank, axis, and length, which are unambiguous terms.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also get a tensor's rank directly with `ndim`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"3\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"stacked_threes.ndim\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally, we can compute what the ideal 3 looks like. We calculate the mean of all the image tensors by taking the mean along dimension 0 of our stacked, rank-3 tensor. This is the dimension that indexes over all the images.\\n\",\n    \"\\n\",\n    \"In other words, for every pixel position, this will compute the average of that pixel over all images. The result will be one value for every pixel position, or a single image. Here it is:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAE1klEQVR4nO2byU8jPRTEf2En7AgQO4gDi9hO8P9fOIE4AGIR+xoU1kAgQAKZA6o4eUMU6O7R983IdbE66XYHv3K98rOJ5fN5PByq/usf8H+DHxADPyAGfkAM/IAY1FT4/l9OQbGvPvQMMfADYuAHxMAPiIEfEINKWSYSaL1kW/t9MWKx2JfX5T6PCp4hBpEwxEb+/f0dgFwuB0A2mwXg6emppH1+fgbg9fWVj48PAGprawGIx+MANDc3A9DU1ARAfX19yX3V1dVAeQb9FJ4hBqEYIkZYJmQyGQBub28BuLi4AGBnZweAvb09AM7PzwFIJpOFPsSEvr4+AMbHxwGYnZ0FYHR0FICuri7AMUiMqar6jHFQpniGGARiSDmtkDZcXV0BsL+/D8Da2hoAu7u7ABwcHACOOalUipeXl5J3tLW1AXB6elrS58LCAgBTU1MA9Pf3A44pYkhQeIYYhGKIMoMYoigXZw+AmprP13R2dgJuvo+NjQGf2qNnbm5uSvp4e3sD4O7uDnC6I41Rn8pK+m1eQyJCJFlG0VDkW1tbARgaGgKgo6MDcFEX5CFyuVwhIx0dHQFwcnICOF3SO8RGsbOc+w0KzxCDUAyRoivSmse6lvIrGymqgqKayWRIJBIAXF9fl/Ste6RD8il6V11dXcn93qlGjEAMURQUFUVP19ISO8/FFGWfx8dH4NNjbGxsALC1tQU4DWloaAAc2wYGBgCXXRobGwHHyrDwDDGIREMsY8QMtVrjKMtcXl4CsLm5CcDq6irr6+uAc7fqc35+HoDe3l7AOVNlsqjWMIW/KdTT/yBCaUglVyjNSKVSgIv+0tISACsrKwAsLy8XHKhYJScqBrS0tABOU6JmhuAZYhBKQyxTBF0rm2ilKp3Q6lcMSSQSBWbIX6gyJv2RPxHburu7S+6zlbOgiLTIbBd9tjygHytBnJ6eBmBkZKTQh50KelZlABWZ2tvbATeFoiol+iljEMnizk4Zu9iTiVIZUNcyZvl8vsAmlR+TySRAwdI/PDwAcHh4CMDw8DDgmGItfFCj5hliEKpAZDWjXDnAFnGkGcXPSyskmipEizlKy/peDBJTrFELWijyDDH4EUMsI2xrmaPoKDVqnlsUM0T3SDO03NcC0pYrldpticFrSEQIpCG2uKxWURLEEEVLGcBuFcRisd88ixiirKN32ixiWesXdxEjlIbYTWw7nxUt6YLdqC4uHIsRcqTb29uA8yF6l5yptEV9e6f6hxDKh2i+q/CjzSQ5UGUCRdEu3IR0Os3x8THgmCEfoj61ua1FXU9PD+BKi9apBoVniMGPGGLnp90qSKfTgCsEyV1KY3SfXcmmUqlCiUDPaAtzcHAQcI50cnIScAUkOVT5FJ9lIkYgDZGiKyrSBm0JCPf394DTA2UQfS6NyWazBdboGMTMzAwAc3NzACwuLgIwMTEBOA0pVw8JCs8Qg0AaomhK2VUA1haBXcvY+8/OzgDnQuPxeEEjdERCtZNymmFLh2Gzi+AZYhCrcIzgyy8rHcOUY1V2kQtVK99SfBRTkbetdMkew4xg+8H/e8h3EIghZW8uc4S70tFu+N3jVGojgGfIdxApQ/4yeIZ8B35ADPyAGFRyqtH+d85fAM8QAz8gBn5ADPyAGPgBMfADYvALMumtb+Vr5kIAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"mean3 = stacked_threes.mean(0)\\n\",\n    \"show_image(mean3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"According to this dataset, this is the ideal number 3! (You may not like it, but this is what peak number 3 performance looks like.) You can see how it's very dark where all the images agree it should be dark, but it becomes wispy and blurry where the images disagree. \\n\",\n    \"\\n\",\n    \"Let's do the same thing for the 7s, but put all the steps together at once to save some time:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAElUlEQVR4nO2bSUszWRSGn3JKUGOM84giCA7oQnHj33ejiKCI4MIpxhES5ylx6oW8dTvnMyaWJd1033dzqVRqyLlPnelWgvf3d7yc6v7pG/i3yRvEyBvEyBvEyBvEqKHK/v9yCAo++9ATYuQNYuQNYuQNYuQNYuQNYuQNYuQNYuQNYlQtU42kaj2Wz/YHwaeJY+TvRZUnxOhHhGimNb69vZWNr6+vX25r/Ep1dR9zVl9f/3HDDQ1l29qvUQRFJckTYvQtQiwRmvGXlxcAnp6eALi9vQXg+voagMvLSwAuLi7KxoeHh/A4nUOjrtHU1ARAR0cHAENDQwAMDw8D0NvbC0BraysAjY2NgCPou6R4QowiEaJZfH5+BhwR+XwegIODAwC2t7cB2NvbA+Dw8BCAo6MjAK6urgAoFovhuUSdRhEiMubn5wFYXFwEYGFhoWx/JZ9SqzwhRpEIUXTQrN7f3wNQKBQA2N/fB2B3dxdwpIicm5ubsvMlEgkSiQTgyBB1Oufj4yPgfMXo6GjZtXWc5KNMTKqJkGqZp2ZDnr25uRmA9vZ2AEZGRgDo7u4GnF/Q/nQ6HRKiGRdNq6urgPM3IsFe0+YlUeUJMaqJEJv9aRaUNYqIzs5OAMbGxsr29/f3A44Mbff19QEffkEzrBxlaWkJgLOzM8DlOJlMpmxsa2sDXP4RNbpInhCjb0WZaoTYGkVEaDuVSgGOJM1uQ0NDmNtYKdroXD09PYDzS+l0GnCE/LQa9oQYRap2K1WglhRFDn2/paUF+LPuCIIgPEY5irLb8/NzwNUyqmEGBgbKrql7+akiPTKSNYx+oH64DCKDCXttS6+vr2G43dzcBGB9fR1wj8zU1BTgHhWFbHsuSamCT91/qB81iKyTFSkiwTo6jXo8NIulUolsNgvA8vIyADs7O4CjTKFcox6VuFuKnhCjSIRU8iX2ubUNJdtYUnGYz+dZWVkBYG1tDXCJ2OzsLACTk5OAC7vJZLLs2nGR4gkximUZwhZalZrOkvarpM/lcmxsbAAuzKoQVENoZmYGcOFXfsq2Cn1iFrNiiTJ22/oSjXYZQknY1tYWuVwOcDM/NzcHOB8yODgIuKRO+YdtGVa6t1rlCTGK1YdUyg7tfvmO09NTALLZbLgkoTxjenoagImJCcBlprbMj4sMyRNiFOtityVBks8olUqAawIpGy0UCiEBKt7Gx8cB6OrqAqrnHT4P+SXFSkiljFRkaGnz5OQEcO3BIAjCdqKWF7TwpMrZRpXfei3CE2IUCyGVXouwC1la6jw+PgZcvZJKpcJ2oho/2lZe8tPlhVrlCTH6FR+ihrF8h7peWmy6u7sDXE6RyWTCaKJqVv0O+Y64apVq8oQY/corVYou8hHKTLUtMuQnEolE+OLL3z+D6C++RJUnxCiWarfaYriI0EKVljIVhZLJZLjgpIxVmWmlrvpvyRNiFFSZ3Zr+YmZ9iH3lStFGPqRYLJYdFwRBSJHIkA+xL9HF2CHzfzGrRbEQ8sdBFc5po9JX37cE/EIe4gmpRdUI+d/JE2LkDWLkDWLkDWLkDWLkDWL0F7hnDWZImx+vAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"mean7 = stacked_sevens.mean(0)\\n\",\n    \"show_image(mean7);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now pick an arbitrary 3 and measure its *distance* from our \\\"ideal digits.\\\"\\n\",\n    \"\\n\",\n    \"> stop: Stop and Think!: How would you calculate how similar a particular image is to each of our ideal digits? Remember to step away from this book and jot down some ideas before you move on! Research shows that recall and understanding improves dramatically when you are engaged with the learning process by solving problems, experimenting, and trying new ideas yourself\\n\",\n    \"\\n\",\n    \"Here's a sample 3:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAADjElEQVR4nO2aPyh9YRjHP/f4k38L5X+ysohsUpTBhEVMJGUyGAwWg0kGkcFqlMFIyv+kSGIwKWUiUvKn5P/9DXrvcR+He+695957+vV8llPnvvd9n77n2/s8z3tOIBgMothYqQ7Ab6ggAhVEoIIIVBBBeoTf/+cUFHC6qQ4RqCACFUSggghUEIEKIlBBBCqIQAURRKpUPeHh4QGAyclJAI6PjwFYXl4GIBgMEgh8FY59fX0A3N7eAlBTUwNAU1MTAC0tLQmNVR0iCEQ4MYupl7m4uABgYmICgJWVFQDOz8/DxhUVFQFQX18fGvMbxcXFAFxeXsYSkhPay7jBkz1ke3sbgLa2NgBeX18BeH9/B6CzsxOAnZ0dAAoLCwFC+4ZlWXx8fISNXVpa8iK0qFGHCDxxyN3dHQBPT09h98vLywGYmpoCoKys7Nc5LMsKu0p6enrijtMN6hCBJ1nm8/MTgOfn57D75mlnZWVFnOPq6gqAxsZGwM5I2dnZAOzu7gJQW1vrJiQ3aJZxgyd7iHFCTk5OzHNUVlYCdmYyzjDVrYfO+BN1iCApvYzk5eUFgM3NTQCGhoZCzsjMzARgenoagIGBgaTGpg4RJMUhpnIdHh4GYH5+HrDrl++0t7cD0NXVlYzQfqAOESSk25WY+iQ/Px8g1LeYqxMlJSUAlJaWAjAyMgLYvY7pg+LAcYKkCCIxRdjJyUno3tjYGAD7+/t//tcIMjc3B0Bubm6sYWhh5oaUOMSJt7c3wHaPScn9/f2O4w8PDwGoq6uLdUl1iBtSUpg5kZGRAUBFRQUAvb29AKyurgKwsLAQNn5tbQ2IyyGOqEMEvnGIxKTV39JrdXV1QtZVhwh8k2Uke3t7ADQ3NwP2sYDh5uYGgIKCgliX0CzjBt/tIWdnZwAMDg4CP51h6pK8vLyErK8OEfhmDzF1RUdHB2AfIhnMEePp6Slg1y1xoHuIG1K6h1xfXwMwOzvL+Pg48PVpxHfMS+6trS3AE2f8iTpE4KlDzBPf2NgA7I9bHh8fATg4OADg6OgIsM807u/vQ3OkpaUB9qvLmZkZIHFZRaIOEXiaZbq7uwFYXFyMOpDW1lYARkdHAWhoaIh6jijRLOMGTx1iPnIxtUQkzEHy+vo6VVVVXwHFf3jsFnWIG3xTqaYAdYgbVBCBCiJQQQQqiCBSL5O0osAvqEMEKohABRGoIAIVRKCCCP4B/PMI7HrW9/wAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"a_3 = stacked_threes[1]\\n\",\n    \"show_image(a_3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"How can we determine its distance from our ideal 3? We can't just add up the differences between the pixels of this image and the ideal digit. Some differences will be positive while others will be negative, and these differences will cancel out, resulting in a situation where an image that is too dark in some places and too light in others might be shown as having zero total differences from the ideal. That would be misleading!\\n\",\n    \"\\n\",\n    \"To avoid this, there are two main ways data scientists measure distance in this context:\\n\",\n    \"\\n\",\n    \"- Take the mean of the *absolute value* of differences (absolute value is the function that replaces negative values with positive values). This is called the *mean absolute difference* or *L1 norm*\\n\",\n    \"- Take the mean of the *square* of differences (which makes everything positive) and then take the *square root* (which undoes the squaring). This is called the *root mean squared error* (RMSE) or *L2 norm*.\\n\",\n    \"\\n\",\n    \"> important: It's Okay to Have Forgotten Your Math: In this book we generally assume that you have completed high school math, and remember at least some of it... But everybody forgets some things! It all depends on what you happen to have had reason to practice in the meantime. Perhaps you have forgotten what a _square root_ is, or exactly how they work. No problem! Any time you come across a maths concept that is not explained fully in this book, don't just keep moving on; instead, stop and look it up. Make sure you understand the basic idea, how it works, and why we might be using it. One of the best places to refresh your understanding is Khan Academy. For instance, Khan Academy has a great [introduction to square roots](https://www.khanacademy.org/math/algebra/x2f8bb11595b61c86:rational-exponents-radicals/x2f8bb11595b61c86:radicals/v/understanding-square-roots).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try both of these now:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.1114), tensor(0.2021))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dist_3_abs = (a_3 - mean3).abs().mean()\\n\",\n    \"dist_3_sqr = ((a_3 - mean3)**2).mean().sqrt()\\n\",\n    \"dist_3_abs,dist_3_sqr\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.1586), tensor(0.3021))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dist_7_abs = (a_3 - mean7).abs().mean()\\n\",\n    \"dist_7_sqr = ((a_3 - mean7)**2).mean().sqrt()\\n\",\n    \"dist_7_abs,dist_7_sqr\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In both cases, the distance between our 3 and the \\\"ideal\\\" 3 is less than the distance to the ideal 7. So our simple model will give the right prediction in this case.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"PyTorch already provides both of these as *loss functions*. You'll find these inside `torch.nn.functional`, which the PyTorch team recommends importing as `F` (and is available by default under that name in fastai):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.1586), tensor(0.3021))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"F.l1_loss(a_3.float(),mean7), F.mse_loss(a_3,mean7).sqrt()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here `mse` stands for *mean squared error*, and `l1` refers to the standard mathematical jargon for *mean absolute value* (in math it's called the *L1 norm*).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> S: Intuitively, the difference between L1 norm and mean squared error (MSE) is that the latter will penalize bigger mistakes more heavily than the former (and be more lenient with small mistakes).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: When I first came across this \\\"L1\\\" thingie, I looked it up to see what on earth it meant. I found on Google that it is a _vector norm_ using _absolute value_, so looked up _vector norm_ and started reading: _Given a vector space V over a field F of the real or complex numbers, a norm on V is a nonnegative-valued any function p: V → \\\\[0,+∞) with the following properties: For all a ∈ F and all u, v ∈ V, p(u + v) ≤ p(u) + p(v)..._ Then I stopped reading. \\\"Ugh, I'll never understand math!\\\" I thought, for the thousandth time. Since then I've learned that every time these complex mathy bits of jargon come up in practice, it turns out I can replace them with a tiny bit of code! Like, the _L1 loss_ is just equal to `(a-b).abs().mean()`, where `a` and `b` are tensors. I guess mathy folks just think differently than me... I'll make sure in this book that every time some mathy jargon comes up, I'll give you the little bit of code it's equal to as well, and explain in common-sense terms what's going on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We just completed various mathematical operations on PyTorch tensors. If you've done some numeric programming in NumPy before, you may recognize these as being similar to NumPy arrays. Let's have a look at those two very important data structures.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### NumPy Arrays and PyTorch Tensors\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"[NumPy](https://numpy.org/) is the most widely used library for scientific and numeric programming in Python. It provides very similar functionality and a very similar API to that provided by PyTorch; however, it does not support using the GPU or calculating gradients, which are both critical for deep learning. Therefore, in this book we will generally use PyTorch tensors instead of NumPy arrays, where possible.\\n\",\n    \"\\n\",\n    \"(Note that fastai adds some features to NumPy and PyTorch to make them a bit more similar to each other. If any code in this book doesn't work on your computer, it's possible that you forgot to include a line like this at the start of your notebook: `from fastai.vision.all import *`.)\\n\",\n    \"\\n\",\n    \"But what are arrays and tensors, and why should you care?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Python is slow compared to many languages. Anything fast in Python, NumPy, or PyTorch is likely to be a wrapper for a compiled object written (and optimized) in another language—specifically C. In fact, **NumPy arrays and PyTorch tensors can finish computations many thousands of times faster than using pure Python.**\\n\",\n    \"\\n\",\n    \"A NumPy array is a multidimensional table of data, with all items of the same type. Since that can be any type at all, they can even be arrays of arrays, with the innermost arrays potentially being different sizes—this is called a \\\"jagged array.\\\" By \\\"multidimensional table\\\" we mean, for instance, a list (dimension of one), a table or matrix (dimension of two), a \\\"table of tables\\\" or \\\"cube\\\" (dimension of three), and so forth. If the items are all of some simple type such as integer or float, then NumPy will store them as a compact C data structure in memory. This is where NumPy shines. NumPy has a wide variety of operators and methods that can run computations on these compact structures at the same speed as optimized C, because they are written in optimized C.\\n\",\n    \"\\n\",\n    \"A PyTorch tensor is nearly the same thing as a NumPy array, but with an additional restriction that unlocks some additional capabilities. It's the same in that it, too, is a multidimensional table of data, with all items of the same type. However, the restriction is that a tensor cannot use just any old type—it has to use a single basic numeric type for all components. For example, a PyTorch tensor cannot be jagged. It is always a regularly shaped multidimensional rectangular structure.\\n\",\n    \"\\n\",\n    \"The vast majority of methods and operators supported by NumPy on these structures are also supported by PyTorch, but PyTorch tensors have additional capabilities. One major capability is that these structures can live on the GPU, in which case their computation will be optimized for the GPU and can run much faster (given lots of values to work on). In addition, PyTorch can automatically calculate derivatives of these operations, including combinations of operations. As you'll see, it would be impossible to do deep learning in practice without this capability.\\n\",\n    \"\\n\",\n    \"> S: If you don't know what C is, don't worry as you won't need it at all. In a nutshell, it's a low-level  (low-level means more similar to the language that computers use internally) language that is very fast compared to Python. To take advantage of its speed while programming in Python, try to avoid as much as possible writing loops, and replace them by commands that work directly on arrays or tensors.\\n\",\n    \"\\n\",\n    \"Perhaps the most important new coding skill for a Python programmer to learn is how to effectively use the array/tensor APIs. We will be showing lots more tricks later in this book, but here's a summary of the key things you need to know for now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create an array or tensor, pass a list (or list of lists, or list of lists of lists, etc.) to `array()` or `tensor()`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"data = [[1,2,3],[4,5,6]]\\n\",\n    \"arr = array (data)\\n\",\n    \"tns = tensor(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([[1, 2, 3],\\n\",\n       \"       [4, 5, 6]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"arr  # numpy\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[1, 2, 3],\\n\",\n       \"        [4, 5, 6]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns  # pytorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All the operations that follow are shown on tensors, but the syntax and results for NumPy arrays is identical.\\n\",\n    \"\\n\",\n    \"You can select a row (note that, like lists in Python, tensors are 0-indexed so 1 refers to the second row/column):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([4, 5, 6])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"or a column, by using `:` to indicate *all of the first axis* (we sometimes refer to the dimensions of tensors/arrays as *axes*):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([2, 5])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns[:,1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can combine these with Python slice syntax (`[start:end]` with `end` being excluded) to select part of a row or column:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([5, 6])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns[1,1:3]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And you can use the standard operators such as `+`, `-`, `*`, `/`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[2, 3, 4],\\n\",\n       \"        [5, 6, 7]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Tensors have a type:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'torch.LongTensor'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns.type()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And will automatically change type as needed, for example from `int` to `float`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[1.5000, 3.0000, 4.5000],\\n\",\n       \"        [6.0000, 7.5000, 9.0000]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tns*1.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, is our baseline model any good? To quantify this, we must define a metric.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Computing Metrics Using Broadcasting\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Recall that a metric is a number that is calculated based on the predictions of our model, and the correct labels in our dataset, in order to tell us how good our model is. For instance, we could use either of the functions we saw in the previous section, mean squared error, or mean absolute error, and take the average of them over the whole dataset. However, neither of these are numbers that are very understandable to most people; in practice, we normally use *accuracy* as the metric for classification models.\\n\",\n    \"\\n\",\n    \"As we've discussed, we want to calculate our metric over a *validation set*. This is so that we don't inadvertently overfit—that is, train a model to work well only on our training data. This is not really a risk with the pixel similarity model we're using here as a first try, since it has no trained components, but we'll use a validation set anyway to follow normal practices and to be ready for our second try later.\\n\",\n    \"\\n\",\n    \"To get a validation set we need to remove some of the data from training entirely, so it is not seen by the model at all. As it turns out, the creators of the MNIST dataset have already done this for us. Do you remember how there was a whole separate directory called *valid*? That's what this directory is for!\\n\",\n    \"\\n\",\n    \"So to start with, let's create tensors for our 3s and 7s from that directory. These are the tensors we will use to calculate a metric measuring the quality of our first-try model, which measures distance from an ideal image:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([1010, 28, 28]), torch.Size([1028, 28, 28]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"valid_3_tens = torch.stack([tensor(Image.open(o)) \\n\",\n    \"                            for o in (path/'valid'/'3').ls()])\\n\",\n    \"valid_3_tens = valid_3_tens.float()/255\\n\",\n    \"valid_7_tens = torch.stack([tensor(Image.open(o)) \\n\",\n    \"                            for o in (path/'valid'/'7').ls()])\\n\",\n    \"valid_7_tens = valid_7_tens.float()/255\\n\",\n    \"valid_3_tens.shape,valid_7_tens.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's good to get in the habit of checking shapes as you go. Here we see two tensors, one representing the 3s validation set of 1,010 images of size 28×28, and one representing the 7s validation set of 1,028 images of size 28×28.\\n\",\n    \"\\n\",\n    \"We ultimately want to write a function, `is_3`, that will decide if an arbitrary image is a 3 or a 7. It will do this by deciding which of our two \\\"ideal digits\\\" this arbitrary image is closer to. For that we need to define a notion of distance—that is, a function that calculates the distance between two images.\\n\",\n    \"\\n\",\n    \"We can write a simple function that calculates the mean absolute error using an expression very similar to the one we wrote in the last section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.1114)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def mnist_distance(a,b): return (a-b).abs().mean((-1,-2))\\n\",\n    \"mnist_distance(a_3, mean3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is the same value we previously calculated for the distance between these two images, the ideal 3 `mean3` and the arbitrary sample 3 `a_3`, which are both single-image tensors with a shape of `[28,28]`.\\n\",\n    \"\\n\",\n    \"But in order to calculate a metric for overall accuracy, we will need to calculate the distance to the ideal 3 for _every_ image in the validation set. How do we do that calculation? We could write a loop over all of the single-image tensors that are stacked within our validation set tensor, `valid_3_tens`, which has a shape of `[1010,28,28]` representing 1,010 images. But there is a better way.\\n\",\n    \"\\n\",\n    \"Something very interesting happens when we take this exact same distance function, designed for comparing two single images, but pass in as an argument `valid_3_tens`, the tensor that represents the 3s validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor([0.1050, 0.1526, 0.1186,  ..., 0.1122, 0.1170, 0.1086]),\\n\",\n       \" torch.Size([1010]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"valid_3_dist = mnist_distance(valid_3_tens, mean3)\\n\",\n    \"valid_3_dist, valid_3_dist.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Instead of complaining about shapes not matching, it returned the distance for every single image as a vector (i.e., a rank-1 tensor) of length 1,010 (the number of 3s in our validation set). How did that happen?\\n\",\n    \"\\n\",\n    \"Take another look at our function `mnist_distance`, and you'll see we have there the subtraction `(a-b)`. The magic trick is that PyTorch, when it tries to perform a simple subtraction operation between two tensors of different ranks, will use *broadcasting*. That is, it will automatically expand the tensor with the smaller rank to have the same size as the one with the larger rank. Broadcasting is an important capability that makes tensor code much easier to write.\\n\",\n    \"\\n\",\n    \"After broadcasting so the two argument tensors have the same rank, PyTorch applies its usual logic for two tensors of the same rank: it performs the operation on each corresponding element of the two tensors, and returns the tensor result. For instance:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([2, 3, 4])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tensor([1,2,3]) + tensor(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So in this case, PyTorch treats `mean3`, a rank-2 tensor representing a single image, as if it were 1,010 copies of the same image, and then subtracts each of those copies from each 3 in our validation set. What shape would you expect this tensor to have? Try to figure it out yourself before you look at the answer below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([1010, 28, 28])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(valid_3_tens-mean3).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are calculating the difference between our \\\"ideal 3\\\" and each of the 1,010 3s in the validation set, for each of 28×28 images, resulting in the shape `[1010,28,28]`.\\n\",\n    \"\\n\",\n    \"There are a couple of important points about how broadcasting is implemented, which make it valuable not just for expressivity but also for performance:\\n\",\n    \"\\n\",\n    \"- PyTorch doesn't *actually* copy `mean3` 1,010 times. It *pretends* it were a tensor of that shape, but doesn't actually allocate any additional memory\\n\",\n    \"- It does the whole calculation in C (or, if you're using a GPU, in CUDA, the equivalent of C on the GPU), tens of thousands of times faster than pure Python (up to millions of times faster on a GPU!).\\n\",\n    \"\\n\",\n    \"This is true of all broadcasting and elementwise operations and functions done in PyTorch. *It's the most important technique for you to know to create efficient PyTorch code.*\\n\",\n    \"\\n\",\n    \"Next in `mnist_distance` we see `abs`. You might be able to guess now what this does when applied to a tensor. It applies the method to each individual element in the tensor, and returns a tensor of the results (that is, it applies the method \\\"elementwise\\\"). So in this case, we'll get back 1,010 matrices of absolute values.\\n\",\n    \"\\n\",\n    \"Finally, our function calls `mean((-1,-2))`. The tuple `(-1,-2)` represents a range of axes. In Python, `-1` refers to the last element, and `-2` refers to the second-to-last. So in this case, this tells PyTorch that we want to take the mean ranging over the values indexed by the last two axes of the tensor. The last two axes are the horizontal and vertical dimensions of an image. After taking the mean over the last two axes, we are left with just the first tensor axis, which indexes over our images, which is why our final size was `(1010)`. In other words, for every image, we averaged the intensity of all the pixels in that image.\\n\",\n    \"\\n\",\n    \"We'll be learning lots more about broadcasting throughout this book, especially in <<chapter_foundations>>, and will be practicing it regularly too.\\n\",\n    \"\\n\",\n    \"We can use `mnist_distance` to figure out whether an image is a 3 or not by using the following logic: if the distance between the digit in question and the ideal 3 is less than the distance to the ideal 7, then it's a 3. This function will automatically do broadcasting and be applied elementwise, just like all PyTorch functions and operators:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def is_3(x): return mnist_distance(x,mean3) < mnist_distance(x,mean7)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's test it on our example case:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(True), tensor(1.))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"is_3(a_3), is_3(a_3).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that when we convert the Boolean response to a float, we get `1.0` for `True` and `0.0` for `False`. Thanks to broadcasting, we can also test it on the full validation set of 3s:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([True, True, True,  ..., True, True, True])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"is_3(valid_3_tens)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can calculate the accuracy for each of the 3s and 7s by taking the average of that function for all 3s and its inverse for all 7s:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.9168), tensor(0.9854), tensor(0.9511))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"accuracy_3s =      is_3(valid_3_tens).float() .mean()\\n\",\n    \"accuracy_7s = (1 - is_3(valid_7_tens).float()).mean()\\n\",\n    \"\\n\",\n    \"accuracy_3s,accuracy_7s,(accuracy_3s+accuracy_7s)/2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This looks like a pretty good start! We're getting over 90% accuracy on both 3s and 7s, and we've seen how to define a metric conveniently using broadcasting.\\n\",\n    \"\\n\",\n    \"But let's be honest: 3s and 7s are very different-looking digits. And we're only classifying 2 out of the 10 possible digits so far. So we're going to need to do better!\\n\",\n    \"\\n\",\n    \"To do better, perhaps it is time to try a system that does some real learning—that is, that can automatically modify itself to improve its performance. In other words, it's time to talk about the training process, and SGD.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Stochastic Gradient Descent (SGD)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Do you remember the way that Arthur Samuel described machine learning, which we quoted in <<chapter_intro>>?\\n\",\n    \"\\n\",\n    \"> : Suppose we arrange for some automatic means of testing the effectiveness of any current weight assignment in terms of actual performance and provide a mechanism for altering the weight assignment so as to maximize the performance. We need not go into the details of such a procedure to see that it could be made entirely automatic and to see that a machine so programmed would \\\"learn\\\" from its experience.\\n\",\n    \"\\n\",\n    \"As we discussed, this is the key to allowing us to have a model that can get better and better—that can learn. But our pixel similarity approach does not really do this. We do not have any kind of weight assignment, or any way of improving based on testing the effectiveness of a weight assignment. In other words, we can't really improve our pixel similarity approach by modifying a set of parameters. In order to take advantage of the power of deep learning, we will first have to represent our task in the way that Arthur Samuel described it.\\n\",\n    \"\\n\",\n    \"Instead of trying to find the similarity between an image and an \\\"ideal image,\\\" we could instead look at each individual pixel and come up with a set of weights for each one, such that the highest weights are associated with those pixels most likely to be black for a particular category. For instance, pixels toward the bottom right are not very likely to be activated for a 7, so they should have a low weight for a 7, but they are likely to be activated for an 8, so they should have a high weight for an 8. This can be represented as a function and set of weight values for each possible category—for instance the probability of being the number 8:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"def pr_eight(x,w): return (x*w).sum()\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here we are assuming that `x` is the image, represented as a vector—in other words, with all of the rows stacked up end to end into a single long line. And we are assuming that the weights are a vector `w`. If we have this function, then we just need some way to update the weights to make them a little bit better. With such an approach, we can repeat that step a number of times, making the weights better and better, until they are as good as we can make them.\\n\",\n    \"\\n\",\n    \"We want to find the specific values for the vector `w` that causes the result of our function to be high for those images that are actually 8s, and low for those images that are not. Searching for the best vector `w` is a way to search for the best function for recognising 8s. (Because we are not yet using a deep neural network, we are limited by what our function can actually do—we are going to fix that constraint later in this chapter.) \\n\",\n    \"\\n\",\n    \"To be more specific, here are the steps that we are going to require, to turn this function into a machine learning classifier:\\n\",\n    \"\\n\",\n    \"1. *Initialize* the weights.\\n\",\n    \"1. For each image, use these weights to *predict* whether it appears to be a 3 or a 7.\\n\",\n    \"1. Based on these predictions, calculate how good the model is (its *loss*).\\n\",\n    \"1. Calculate the *gradient*, which measures for each weight, how changing that weight would change the loss\\n\",\n    \"1. *Step* (that is, change) all the weights based on that calculation.\\n\",\n    \"1. Go back to the step 2, and *repeat* the process.\\n\",\n    \"1. Iterate until you decide to *stop* the training process (for instance, because the model is good enough or you don't want to wait any longer).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"These seven steps, illustrated in <<gradient_descent>>, are the key to the training of all deep learning models. That deep learning turns out to rely entirely on these steps is extremely surprising and counterintuitive. It's amazing that this process can solve such complex problems. But, as you'll see, it really does!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"591pt\\\" height=\\\"78pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 591.49 78.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 74)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"#ffffff\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-74 587.4867,-74 587.4867,4 -4,4\\\"/>\\n\",\n       \"<!-- init -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>init</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"27\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"27\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">init</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predict -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>predict</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"126.0969\\\" cy=\\\"-18\\\" rx=\\\"35.194\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"126.0969\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">predict</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- init&#45;&gt;predict -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>init&#45;&gt;predict</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M54.0787,-18C62.3227,-18 71.6196,-18 80.7269,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"80.8626,-21.5001 90.8626,-18 80.8625,-14.5001 80.8626,-21.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>loss</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"225.1938\\\" cy=\\\"-52\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"225.1938\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">loss</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predict&#45;&gt;loss -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>predict&#45;&gt;loss</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M155.2932,-28.0172C166.6224,-31.9043 179.6698,-36.3808 191.4018,-40.406\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"190.2859,-43.7234 200.8806,-43.6582 192.5577,-37.1023 190.2859,-43.7234\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- gradient -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>gradient</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"361.8403\\\" cy=\\\"-52\\\" rx=\\\"39.7935\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"361.8403\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">gradient</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss&#45;&gt;gradient -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>loss&#45;&gt;gradient</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M252.5178,-52C269.4967,-52 291.836,-52 311.8929,-52\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"312.1329,-55.5001 322.1329,-52 312.1328,-48.5001 312.1329,-55.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- step -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>step</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"465.4867\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"465.4867\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">step</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- gradient&#45;&gt;step -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>gradient&#45;&gt;step</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M394.0665,-41.4286C405.9515,-37.5298 419.4492,-33.1021 431.4862,-29.1535\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"432.7754,-32.4142 441.1862,-25.9715 430.5935,-25.7629 432.7754,-32.4142\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- step&#45;&gt;predict -->\\n\",\n       \"<g id=\\\"edge6\\\" class=\\\"edge\\\">\\n\",\n       \"<title>step&#45;&gt;predict</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M438.4132,-18C380.3272,-18 243.2155,-18 171.5401,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"171.4571,-14.5001 161.4571,-18 171.4571,-21.5001 171.4571,-14.5001\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"287.1938\\\" y=\\\"-21.8\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">repeat</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- stop -->\\n\",\n       \"<g id=\\\"node6\\\" class=\\\"node\\\">\\n\",\n       \"<title>stop</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"556.4867\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"556.4867\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">stop</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- step&#45;&gt;stop -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>step&#45;&gt;stop</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M492.7897,-18C501.068,-18 510.3085,-18 519.1272,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"519.203,-21.5001 529.203,-18 519.203,-14.5001 519.203,-21.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7f10d475e550>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#id gradient_descent\\n\",\n    \"#caption The gradient descent process\\n\",\n    \"#alt Graph showing the steps for Gradient Descent\\n\",\n    \"gv('''\\n\",\n    \"init->predict->loss->gradient->step->stop\\n\",\n    \"step->predict[label=repeat]\\n\",\n    \"''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are many different ways to do each of these seven steps, and we will be learning about them throughout the rest of this book. These are the details that make a big difference for deep learning practitioners, but it turns out that the general approach to each one generally follows some basic principles. Here are a few guidelines:\\n\",\n    \"\\n\",\n    \"- Initialize:: We initialize the parameters to random values. This may sound surprising. There are certainly other choices we could make, such as initializing them to the percentage of times that pixel is activated for that category—but since we already know that we have a routine to improve these weights, it turns out that just starting with random weights works perfectly well.\\n\",\n    \"- Loss:: This is what Samuel referred to when he spoke of *testing the effectiveness of any current weight assignment in terms of actual performance*. We need some function that will return a number that is small if the performance of the model is good (the standard approach is to treat a small loss as good, and a large loss as bad, although this is just a convention).\\n\",\n    \"- Step:: A simple way to figure out whether a weight should be increased a bit, or decreased a bit, would be just to try it: increase the weight by a small amount, and see if the loss goes up or down. Once you find the correct direction, you could then change that amount by a bit more, and a bit less, until you find an amount that works well. However, this is slow! As we will see, the magic of calculus allows us to directly figure out in which direction, and by roughly how much, to change each weight, without having to try all these small changes. The way to do this is by calculating *gradients*. This is just a performance optimization, we would get exactly the same results by using the slower manual process as well.\\n\",\n    \"- Stop:: Once we've decided how many epochs to train the model for (a few suggestions for this were given in the earlier list), we apply that decision. This is where that decision is applied. For our digit classifier, we would keep training until the accuracy of the model started getting worse, or we ran out of time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before applying these steps to our image classification problem, let's illustrate what they look like in a simpler case. First we will define a very simple function, the quadratic—let's pretend that this is our loss function, and `x` is a weight parameter of the function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(x): return x**2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a graph of that function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(f, 'x', 'x**2')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The sequence of steps we described earlier starts by picking some random value for a parameter, and calculating the value of the loss:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(f, 'x', 'x**2')\\n\",\n    \"plt.scatter(-1.5, f(-1.5), color='red');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we look to see what would happen if we increased or decreased our parameter by a little bit—the *adjustment*. This is simply the slope at a particular point:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"A graph showing the squared function with the slope at one point\\\" width=\\\"400\\\" src=\\\"images/grad_illustration.svg\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can change our weight by a little in the direction of the slope, calculate our loss and adjustment again, and repeat this a few times. Eventually, we will get to the lowest point on our curve:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An illustration of gradient descent\\\" width=\\\"400\\\" src=\\\"images/chapter2_perfect.svg\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This basic idea goes all the way back to Isaac Newton, who pointed out that we can optimize arbitrary functions in this way. Regardless of how complicated our functions become, this basic approach of gradient descent will not significantly change. The only minor changes we will see later in this book are some handy ways we can make it faster, by finding better steps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Calculating Gradients\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The one magic step is the bit where we calculate the gradients. As we mentioned, we use calculus as a performance optimization; it allows us to more quickly calculate whether our loss will go up or down when we adjust our parameters up or down. In other words, the gradients will tell us how much we have to change each weight to make our model better.\\n\",\n    \"\\n\",\n    \"You may remember from your high school calculus class that the *derivative* of a function tells you how much a change in its parameters will change its result. If not, don't worry, lots of us forget calculus once high school is behind us! But you will have to have some intuitive understanding of what a derivative is before you continue, so if this is all very fuzzy in your head, head over to Khan Academy and complete the [lessons on basic derivatives](https://www.khanacademy.org/math/differential-calculus/dc-diff-intro). You won't have to know how to calculate them yourselves, you just have to know what a derivative is.\\n\",\n    \"\\n\",\n    \"The key point about a derivative is this: for any function, such as the quadratic function we saw in the previous section, we can calculate its derivative. The derivative is another function. It calculates the change, rather than the value. For instance, the derivative of the quadratic function at the value 3 tells us how rapidly the function changes at the value 3. More specifically, you may recall that gradient is defined as *rise/run*, that is, the change in the value of the function, divided by the change in the value of the parameter. When we know how our function will change, then we know what we need to do to make it smaller. This is the key to machine learning: having a way to change the parameters of a function to make it smaller. Calculus provides us with a computational shortcut, the derivative, which lets us directly calculate the gradients of our functions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One important thing to be aware of is that our function has lots of weights that we need to adjust, so when we calculate the derivative we won't get back one number, but lots of them—a gradient for every weight. But there is nothing mathematically tricky here; you can calculate the derivative with respect to one weight, and treat all the other ones as constant, then repeat that for each other weight. This is how all of the gradients are calculated, for every weight.\\n\",\n    \"\\n\",\n    \"We mentioned just now that you won't have to calculate any gradients yourself. How can that be? Amazingly enough, PyTorch is able to automatically compute the derivative of nearly any function! What's more, it does it very fast. Most of the time, it will be at least as fast as any derivative function that you can create by hand. Let's see an example.\\n\",\n    \"\\n\",\n    \"First, let's pick a tensor value which we want gradients at:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xt = tensor(3.).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice the special method `requires_grad_`? That's the magical incantation we use to tell PyTorch that we want to calculate gradients with respect to that variable at that value. It is essentially tagging the variable, so PyTorch will remember to keep track of how to compute gradients of the other, direct calculations on it that you will ask for.\\n\",\n    \"\\n\",\n    \"> a: This API might throw you off if you're coming from math or physics. In those contexts the \\\"gradient\\\" of a function is just another function (i.e., its derivative), so you might expect gradient-related APIs to give you a new function. But in deep learning, \\\"gradients\\\" usually means the _value_ of a function's derivative at a particular argument value. The PyTorch API also puts the focus on the argument, not the function you're actually computing the gradients of. It may feel backwards at first, but it's just a different perspective.\\n\",\n    \"\\n\",\n    \"Now we calculate our function with that value. Notice how PyTorch prints not just the value calculated, but also a note that it has a gradient function it'll be using to calculate our gradients when needed:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(9., grad_fn=<PowBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"yt = f(xt)\\n\",\n    \"yt\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally, we tell PyTorch to calculate the gradients for us:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"yt.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The \\\"backward\\\" here refers to *backpropagation*, which is the name given to the process of calculating the derivative of each layer. We'll see how this is done exactly in chapter <<chapter_foundations>>, when we calculate the gradients of a deep neural net from scratch. This is called the \\\"backward pass\\\" of the network, as opposed to the \\\"forward pass,\\\" which is where the activations are calculated. Life would probably be easier if `backward` was just called `calculate_grad`, but deep learning folks really do like to add jargon everywhere they can!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now view the gradients by checking the `grad` attribute of our tensor:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(6.)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xt.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you remember your high school calculus rules, the derivative of `x**2` is `2*x`, and we have `x=3`, so the gradients should be `2*3=6`, which is what PyTorch calculated for us!\\n\",\n    \"\\n\",\n    \"Now we'll repeat the preceding steps, but with a vector argument for our function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([ 3.,  4., 10.], requires_grad=True)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xt = tensor([3.,4.,10.]).requires_grad_()\\n\",\n    \"xt\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we'll add `sum` to our function so it can take a vector (i.e., a rank-1 tensor), and return a scalar (i.e., a rank-0 tensor):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(125., grad_fn=<SumBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def f(x): return (x**2).sum()\\n\",\n    \"\\n\",\n    \"yt = f(xt)\\n\",\n    \"yt\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our gradients are `2*xt`, as we'd expect!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([ 6.,  8., 20.])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"yt.backward()\\n\",\n    \"xt.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The gradients only tell us the slope of our function, they don't actually tell us exactly how far to adjust the parameters. But it gives us some idea of how far; if the slope is very large, then that may suggest that we have more adjustments to do, whereas if the slope is very small, that may suggest that we are close to the optimal value.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Stepping With a Learning Rate\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Deciding how to change our parameters based on the values of the gradients is an important part of the deep learning process. Nearly all approaches start with the basic idea of multiplying the gradient by some small number, called the *learning rate* (LR). The learning rate is often a number between 0.001 and 0.1, although it could be anything. Often, people select a learning rate just by trying a few, and finding which results in the best model after training (we'll show you a better approach later in this book, called the *learning rate finder*). Once you've picked a learning rate, you can adjust your parameters using this simple function:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"w -= gradient(w) * lr\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This is known as *stepping* your parameters, using an *optimizer step*. Notice how we _subtract_ the `gradient * lr` from the parameter to update it.  This allows us to adjust the parameter in the direction of the slope by increasing the parameter when the slope is negative and decreasing the parameter when the slope is positive.  We want to adjust our parameters in the direction of the slope because our goal in deep learning is to _minimize_ the loss.\\n\",\n    \"\\n\",\n    \"If you pick a learning rate that's too low, it can mean having to do a lot of steps. <<descent_small>> illustrates that.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An illustration of gradient descent with a LR too low\\\" width=\\\"400\\\" caption=\\\"Gradient descent with low LR\\\" src=\\\"images/chapter2_small.svg\\\" id=\\\"descent_small\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But picking a learning rate that's too high is even worse—it can actually result in the loss getting *worse*, as we see in <<descent_div>>!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An illustration of gradient descent with a LR too high\\\" width=\\\"400\\\" caption=\\\"Gradient descent with high LR\\\" src=\\\"images/chapter2_div.svg\\\" id=\\\"descent_div\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If the learning rate is too high, it may also \\\"bounce\\\" around, rather than actually diverging; <<descent_bouncy>> shows how this has the result of taking many steps to train successfully.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An illustation of gradient descent with a bouncy LR\\\" width=\\\"400\\\" caption=\\\"Gradient descent with bouncy LR\\\" src=\\\"images/chapter2_bouncy.svg\\\" id=\\\"descent_bouncy\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's apply all of this in an end-to-end example.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### An End-to-End SGD Example\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've seen how to use gradients to find a minimum. Now it's time to look at an SGD example and see how finding a minimum can be used to train a model to fit data better.\\n\",\n    \"\\n\",\n    \"Let's start with a simple, synthetic, example model. Imagine you were measuring the speed of a roller coaster as it went over the top of a hump. It would start fast, and then get slower as it went up the hill; it would be slowest at the top, and it would then speed up again as it went downhill. You want to build a model of how the speed changes over time. If you were measuring the speed manually every second for 20 seconds, it might look something like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"time = torch.arange(0,20).float(); time\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"speed = torch.randn(20)*3 + 0.75*(time-9.5)**2 + 1\\n\",\n    \"plt.scatter(time,speed);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've added a bit of random noise, since measuring things manually isn't precise. This means it's not that easy to answer the question: what was the roller coaster's speed? Using SGD we can try to find a function that matches our observations. We can't consider every possible function, so let's use a guess that it will be quadratic; i.e., a function of the form `a*(time**2)+(b*time)+c`.\\n\",\n    \"\\n\",\n    \"We want to distinguish clearly between the function's input (the time when we are measuring the coaster's speed) and its parameters (the values that define *which* quadratic we're trying). So, let's collect the parameters in one argument and thus separate the input, `t`, and the parameters, `params`, in the function's signature: \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(t, params):\\n\",\n    \"    a,b,c = params\\n\",\n    \"    return a*(t**2) + (b*t) + c\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In other words, we've restricted the problem of finding the best imaginable function that fits the data, to finding the best *quadratic* function. This greatly simplifies the problem, since every quadratic function is fully defined by the three parameters `a`, `b`, and `c`. Thus, to find the best quadratic function, we only need to find the best values for `a`, `b`, and `c`.\\n\",\n    \"\\n\",\n    \"If we can solve this problem for the three parameters of a quadratic function, we'll be able to apply the same approach for other, more complex functions with more parameters—such as a neural net. Let's find the parameters for `f` first, and then we'll come back and do the same thing for the MNIST dataset with a neural net.\\n\",\n    \"\\n\",\n    \"We need to define first what we mean by \\\"best.\\\" We define this precisely by choosing a *loss function*, which will return a value based on a prediction and a target, where lower values of the function correspond to \\\"better\\\" predictions. It is important for loss functions to return _lower_ values when predictions are more accurate, as the SGD procedure we defined earlier will try to _minimize_ this loss. For continuous data, it's common to use *mean squared error*:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse(preds, targets): return ((preds-targets)**2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now, let's work through our 7 step process.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 1: Initialize the parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, we initialize the parameters to random values, and tell PyTorch that we want to track their gradients, using `requires_grad_`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"params = torch.randn(3).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"orig_params = params.clone()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 2: Calculate the predictions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Next, we calculate the predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = f(time, params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's create a little function to see how close our predictions are to our targets, and take a look:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def show_preds(preds, ax=None):\\n\",\n    \"    if ax is None: ax=plt.subplots()[1]\\n\",\n    \"    ax.scatter(time, speed)\\n\",\n    \"    ax.scatter(time, to_np(preds), color='red')\\n\",\n    \"    ax.set_ylim(-300,100)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_preds(preds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This doesn't look very close—our random parameters suggest that the roller coaster will end up going backwards, since we have negative speeds!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 3: Calculate the loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We calculate the loss as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(25823.8086, grad_fn=<MeanBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss = mse(preds, speed)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our goal is now to improve this. To do that, we'll need to know the gradients.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 4: Calculate the gradients\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The next step is to calculate the gradients. In other words, calculate an approximation of how the parameters need to change:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-53195.8594,  -3419.7146,   -253.8908])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss.backward()\\n\",\n    \"params.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.5320, -0.0342, -0.0025])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"params.grad * 1e-5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use these gradients to improve our parameters. We'll need to pick a learning rate (we'll discuss how to do that in practice in the next chapter; for now we'll just use 1e-5, or 0.00001):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.7658, -0.7506,  1.3525], requires_grad=True)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"params\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 5: Step the weights. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we need to update the parameters based on the gradients we just calculated:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lr = 1e-5\\n\",\n    \"params.data -= lr * params.grad.data\\n\",\n    \"params.grad = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> a: Understanding this bit depends on remembering recent history. To calculate the gradients we call `backward` on the `loss`. But this `loss` was itself calculated by `mse`, which in turn took `preds` as an input, which was calculated using `f` taking as an input `params`, which was the object on which we originally called `requires_grad_`—which is the original call that now allows us to call `backward` on `loss`. This chain of function calls represents the mathematical composition of functions, which enables PyTorch to use calculus's chain rule under the hood to calculate these gradients.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see if the loss has improved:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(5435.5366, grad_fn=<MeanBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds = f(time,params)\\n\",\n    \"mse(preds, speed)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And take a look at the plot:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_preds(preds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We need to repeat this a few times, so we'll create a function to apply one step:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def apply_step(params, prn=True):\\n\",\n    \"    preds = f(time, params)\\n\",\n    \"    loss = mse(preds, speed)\\n\",\n    \"    loss.backward()\\n\",\n    \"    params.data -= lr * params.grad.data\\n\",\n    \"    params.grad = None\\n\",\n    \"    if prn: print(loss.item())\\n\",\n    \"    return preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 6: Repeat the process \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we iterate. By looping and performing many improvements, we hope to reach a good result:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"5435.53662109375\\n\",\n      \"1577.4495849609375\\n\",\n      \"847.3780517578125\\n\",\n      \"709.22265625\\n\",\n      \"683.0757446289062\\n\",\n      \"678.12451171875\\n\",\n      \"677.1839599609375\\n\",\n      \"677.0025024414062\\n\",\n      \"676.96435546875\\n\",\n      \"676.9537353515625\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for i in range(10): apply_step(params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"params = orig_params.detach().requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The loss is going down, just as we hoped! But looking only at these loss numbers disguises the fact that each iteration represents an entirely different quadratic function being tried, on the way to finding the best possible quadratic function. We can see this process visually if, instead of printing out the loss function, we plot the function at every step. Then we can see how the shape is approaching the best possible quadratic function for our data:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA1QAAADMCAYAAAB0vOLuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3df4zc9Z3f8dfbLIe9BsemGFJMdn1CHD4Z5CA2ihroBUJVuOS4InxSaCbiSARbtUcvVw6DqY0hgIuJo2suIuW0BMQB2wuXE6Y6LgdVjx8VrlplCYHUxERK8RpsI0xrG/Can/vuH98ZdnY83+/MfOczM98fz4c0Ws/3M7P+7tf78nfe38/n+/mYuwsAAAAA0LkFg94BAAAAAMgrCioAAAAASImCCgAAAABSoqACAAAAgJQoqAAAAAAgJQoqAAAAAEiJggoAAAAAUgpaUJnZtWY2ZWbvm9kDDW0XmdlOM5sxs6fNbLSu7Tgzu9/M3jazN8zsupD7BeQReQLCIlNAWGQKiITuodor6Q5J99dvNLOTJD0q6WZJJ0qakvRI3UtulXSGpFFJF0q6wcwuCbxvQN6QJyAsMgWERaYASebu4b+p2R2STnP3q6rPxyVd5e5fqD5fLOktSee4+04z2yPpG+7+X6vtt0s6w92vCL5zQM6QJyAsMgWERaZQdv26h2q1pBdrT9z9sKRfS1ptZssknVrfXv3z6j7tG5A35AkIi0wBYZEplMpQn/6e4yXtb9h2SNIJ1bba88a2o1SveoxL0uLFi89dtWpV2D0Fmnj++effcvflg96PqmB5ksgUBqOomSJPGBQyBYTVSab6VVC9K2lJw7Ylkt6pttWev9fQdhR3n5A0IUljY2M+NTUVfGeBRmY2Peh9qBMsTxKZwmAUNVPkCYNCpoCwOslUv4b87ZC0pvakOpb2dEk73P2ApH317dU/7+jTvgF5Q56AsMgUEBaZQqmEnjZ9yMwWSjpG0jFmttDMhiRtk3SWma2ttm+S9JK776y+9UFJG81smZmtknSNpAdC7huQN+QJCItMAWGRKSASuodqo6QjktZL+nr1zxvdfb+ktZI2Szog6fOS6mdyuUXRzYrTkp6VtNXdnwi8b0DekCcgLDIFhEWmAPVo2vR+YSwt+sXMnnf3sUHvR6+RKfRLGTJFntBPZAoIq5NM9eseKgAAAAAonH7N8jcQj72wR1uffEV7Dx7RqUsXad3FZ+qyc1YMereA3CJTQDjkCQiLTGFQCltQPfbCHt306C905MOPJUl7Dh7RTY/+QpIIF5ACmQLCIU9AWGQKg1TYIX9bn3zlk1DVHPnwY2198pUB7RGQb2QKCIc8AWGRKQxSYXuo9h480tF2lAvDAjpHppCETHWGPKEVMtUZMoUkvc5TYXuoTl26qKPtKI/asIA9B4/INTcs4LEX9gx61zKNTCEOmeoceUISMtU5MoU4/chTYQuqdRefqUXHHjNv26Jjj9G6i88c0B4hKxgWkA6ZQhwy1TnyhCRkqnNkCnH6kafCDvmrdePFde/RlV5eDAtIh0whDpnqXKs8SWSqzMhU5zhHIU4/8lTYgkqKwtUsLMwEUw5x/3meunSR9jQJEcMCWiNT5UamworLk0SmyoJMhcU5qtwGmafCDvlLQld68SWNl2VYQHhkqvjIVH+RqeIjU/1Dnopv0HkqZUFFV3rxJf3nedk5K3Tn5WdrxdJFMkkrli7SnZefzVWqLpCp4iNT/UWmio9M9Q95Kr5B56nQQ/7i0JVefK3+80waaoPOkaniI1P9RaaKj0z1D3kqvkHnqZQ9VHSlFx/Tp/YXmSo+MtVfZKr4yFT/kKfiG3SeSllQter6e+yFPTpvy1P6zfV/p/O2PMW6DznEf579RaaKj0z1F5kqPjLVP+Sp+Aadp1IO+ZOYCabo2pmSGGGRqWIjU/1HpoqNTPUXeSq2QeeptAVVnFY3tSFbktaVYPx5NpCpfCFT2Uem8qPV2kdkavDIU75k9RxFQdWAmWDyg6tK+UCm8oNM5QOZygfylA/kKT+ynKlS3kOVZNA3taF9rCuRD2QqP8hUPpCpfCBP+UCe8iPLmaKgajDom9rQPq4q5QOZyg8ylQ9kKh/IUz6Qp/zIcqYY8tdg0De14Whx42VZVyIfyFT2kKl8I1PZQp7yjTxlTx4zRUHVBDeJZkfSeNl1F585r03iqlJWkansIFPFQKaygTwVA3nKjrxmioKqQ61m7EE6ccc1abzs9vVfksRVpbwjU+ElHVMyVXxkKjzOUeVGpsIrWqYoqDqQ5dlF8izpuLYaL8tVpXwjU+G1OqZkqtjIVHico8qNTIU3kExNTkobNki7d0sjI9LmzVKlku4HaIJJKTrQanYRVtpOJ+m4MvtOsZGp8FodUzJVbGQqPM5R5UamwutZpiYnpZUrpQULoq+Tk3Pbx8el6WnJPfo6Pj7XHgAFVQeSquZatb3n4BG55qrt+mARuuaSjiuz7xRbN5kiT821urpHpoqNTIXHOarcyFR4PclUUtG0YYM0MzP/9TMz0fZAKKg6kFQ1t3MFo1XBVVZJx/Wyc1bozsvP1oqli2SSVixdpDsvP5tu9oJImynyFK/V1T0yVWxkKjzOUeVGpsLrKlNxvVBJRdPu3c13JG57ChRUHUiqmltdFc7yYmT9EnelptXViMvOWaHt67+kV7d8RdvXf4kTVYGkzRR5Sp8niUwVGZlKj3MUmiFT6aXO1MvPaPtffFOvfudSbf+Lb+qyl5+JXpTUC5VUNI2MNG+L254Ck1J0IGmtgq1PvpI4N36rgqvoM8i0c1NnkX9+NJc2U+SJPKE5MpUOmUIcMpVOq0yt+Mk2febu23Xywf16c+lyvXb9zfrcOZfMFU213qZa0SQl90KNjESvbVSbgKL+e0rS8HC0PRBz92DfrN/GxsZ8ampq0Lsh6ehfHCmqtmvdlOdteapp6FZUQ5T03ryELmk/k37+2jSYWWZmz7v72KD3o9fykqm4k1g7eap97zxnKu95ksqRqSzlSepdpvKSJ4lM5R2Zyp6fbr5bn/luQ2G04Vqdt+Upnbv9J7rhvz+oU99+S3uXnKTv/M6Vev68L2v7Z/Y1L3AmJqLiqFlhNDoa9TY1q1vMpIceiv+elUqqWf46yRQ9VIG0uoKVtBhZq27hPEzX2e1UzUCjVplKk6faiSrvmSJPSKMXmWp8X1bzJJEphFeaTMUUIz/dfLfO+vb1WvTh+5KkTx98U5/69vX6qaSx/7lLdz5xt4Y/itpOe3u/tjxxt26SpF/8Tbr7nZJ6oWrFUVzRVKkEnSa9ET1UfRR3xeE31/+dmv0rmKJu46SrZv2+ipH26l7er/6V4cqflK9MpcnTq1u+0vJ3MQ+ZkpTrPEnlyFSe8iQV4xyV9HOQqfwjU11kKqmHpkXbR1dfo6H35vbpo4WLNPTDe/XGtdfp0wffPOqvemPpyZIU2/bpQ/vje5riiqbR0fihe7VeqMBy2UNlZidKuk/SP5f0lqSb3P0/d/VNe7yIV6fiFiOLC0+rMbi9utIeF9Zuru4l9dChN4qeqTR5ktqbAjfrmfqPX/0seRqA4JnKUJ6k/JyjJDJVBEU/R0npM/X7O54+aqjc366+UI+9sEfP3fbneuSpBz5p+97/ukra9K3o74n7+ZPuS5LmF0zT09FzSapUNLPuRg2/N39fh947opl1N+rkg/ub/twnH9wvs+bH5JRD+9Pf79SqF2qAsjTL3w8kfSDpFEkVSfeY2erU363VIl5x0y4OQNJsJ91O1R63/kFcW9I0n90sxMbUsgORnUz1MW+tZg8qQqbI08CEy1Q7C02mzVTgvPXqHCWRqZLLzzkqcBbXXXym/uCVZ/XcPd/Q/7nrUj13zzf0B688q3UXn6k/fHW7tjxxt057e78WyD8ZKveHr27Xz7f8QLc9/v15bbc9/n39fMsPPulJqv/5P7r6mpbrMM2su3Fe75M0VzBJ0sJ9e5se7oX79urNpcubtr25dLksZgY9qxVBw8PzG+qLpomJqEfKLPpa3wNVqUi7dkmzs9HXDBRTUkaG/JnZYkkHJJ3l7r+qbntI0h53Xx/3vsSu35Ur03cZDuAKR7tX26S5Gxf/3SM/j+0yjrvaduflZ0tqPq631U2Ue6snr07/viKckPI2lCJTmZL6nrekIRFkKhvKkKnUedq16+grylJ7mUpqa5W3hLa4G8/T5unVLV9JfK9EpjqVp0zl7hwVOotS7DC6mXU3anjf0WtVzfzjFfp/hz/QaW8f3Sv0+pLlOnHxb8S+b9Ebe2VNPu+7mdylBU1SMyvTAp/V6586Ofbv3HfDpnn3UEnSkWOP0/++5bv63Mplmfus3alOMpWVguocSf/D3RfVbbte0hfd/dK49yUGa8GCXIzPbEfo8eBJbUknoyyOle+XPJ2opIxlSsrcxQ0yNXhlyFTqPM3OJn84lMLnTUr9gTPVLF/Ve2vj2iXFtpGp5vKUqdyco3bt6k0Wk9oSZrKbTSh+pPi2N5cuj72f6aNZjy2YTjv0pm796r/XDY/+2SeTS0jSzNBx+s7l1+nWR/5DbP4l5aJoSpLHguqfSvqxu3+6bts1kirufkHDa8cljUvSyMjIudPNfiGl5AAkTbuYFLraVcOM/HKkvTIoKdXJqJ3pqIsqTycqKWOZknpzcaNHPVtkqj+Kmqkgedq1K/nDoRQ+b1LwIu2nuw7EX73ecK2+den182YBk6IPajddEn0Yi2ubOu/LscXWuovP1HO3/bn+pP4eky9dpfNb3WNSAHnKVG7OUbOzvcliUltCTmc++ChV79XW37kyNk/Lhn8jsWCq3bcVm6kC6yRTWbmH6l1JSxq2LZH0TuML3X3C3cfcfWz58uZjNyUlj89MWjE5abrGdsa891HSmO+kseJJbUlj5RljnivZyVTavCUt4NejLJIpJGgrU0HyJKXPVNq8pW1LyOnn7v3uvGJKkhZ9+L4+d+93JUk3PffQvA9xkjT80fu66bmHEtu+9/HLuuvJ+feY3PXk3frexy/rspefaXr/yWUvP9O7e2wydE92juTjHFX/tdP3pm1L+DmGt96ljxbOP998tHCRhrfepR9ecrVmho6b1zYzdJx+eMnVmjrvy1p/ybV6fclyzcr0+pLlWl+9OPHZ9X+kTb/3x/PaNv3eH+uz6/9IUnRePH/Tt/TVm36k02/8W331ph+VopjqmLsP/CFpsaIbE8+o2/agpC1J7zv33HM90cMPu4+OuptFXx9+eG778LB79F9q9Bgennt9/fbaY3Q0uS1jtv3sdV+18e999MbHP3ms2vj3vu1nrye21d77hTv/wVfe+Lh/4c5/+GR7mUma8gxkpd1HpjKVNm9mzdtqf3dSFuP2swtkKqwyZCp1nmptaTLVi/Nb2pwmtbn7bEz7rFliW09+jl4c71b/xu38DnTw/1ieMpWbc1Q37+3V701M27afve5/etk6f23Jcv9Y5q8tWe5/etk6zlFd6CRTAw/VJzsi/UjSX1VDdp6kQ5JWJ72nZbCSpAldi5NDLz7EdSMpIISnM3k6UdUemclUUlsviq1WJ6pW+5qATIVThkx1lSf39B+2Q3+o7NVFyH4XcWkv0vSiSOvm3yNG3jKVi3NUt+8NWDC3g3NUWHktqE6U9Jikw5J2S/paq/d0fbKKE/dL3s1/nMi1vJ2oPGuZStLvnmSymgllyNRA8tRKVoq0bt6bpZ62bnrSA4+IyVumcnOOQmnlsqBK8+h7sNL+B4/cy9uJKu0jcyerXvQkD2C4II5WhkxlLk+90u8r/1nqaUtbpLl3NVyyGTIFhEVB1Utx/8G3858fH9RyqwwnKs/bySpNT7J798MFEUQZMpWrPOVNVnraurnQWvIeqjQPMoV+oqAaBIYZFVoZTlSetUyl1Spr3Q4X5KJIEGXIVCHyVCb9LNJatZfgHqo0DzKFfqKgGoRuPsQh88pwovKsZaobrT78pBkuyEWRoMqQqcLkCen1arKDJsgUEFYnmcrEwr5pJa6YPQhJCwYmLQw3O9vf/UTH8rRgYjcyl6leictq0sKQUm4W/c6DMmSqNHlCJpApIKw8LuxbDJVK9MFqdjb6Wv9hqtXCcSwMCPRPXFaTFobM0aLfAACgfyio+iXpgxofxoBsqFSkiYmo18ks+joxEW1PuiiyYYM0MzN/+8xMtF3iggkAAAVGQdUvSR/UWn0YA9A/9F4BAIAOUFD1U9wHtaQPYwCyoVe9VwAAINcoqLKA+6uAfAjdeyWRbwAAco6CKgu4vwrIt7S9V+QbAIDco6DKAu6vAvIvTe8V+QYAIPcoqLKC+6uAYkq6YMJwQAAAcm9o0DuAFkZGmi8mGjeMCED2VCrNF/lNyndtOGCtB6s2HLD2/QAAQCbQQ5V1ScOFJK5gA3nWzXBAsg8AQCZQUGVd0nAhbmgH8i3tcECyDwBAZlBQ5UHc/VXc0A7kX1y+WdsKAIBcoKDKMyasAIqrm7WtAABA31BQ5VmrBYEB5Ffata0k7q8CAKCPKKjyrNWEFQDyLc3aVtxfBQBAX1FQ5VnSFWyJq9RAUbEYOAAAmUFBlXdxV7C5Sg0UWzeLgXOxBQCAYCioioqr1EA5tXN/FRdbAAAIhoKqqJgFDCinVvdWcrEFAICgKKiKihkAgXJqdW9lq4stDAcEAKAjFFRFxQyAQHnF3V8lJV9sYTggAAAdo6AqKmYABNBM0sUWhgMCANAxCqoiYwZAAI2SLrZw7yUAAB2joCojrkID5RZ3saWdGQLp2QYAYB4KqjLiKjSAZpKGA9KzDQBAUxRUZcQMgACaSRoOSM82AABNUVCVETMAAogTNxyQnm0AAJqioCqjVjMAAkAj7q8CAKCpIAWVmV1rZlNm9r6ZPdCk/SIz22lmM2b2tJmN1rUdZ2b3m9nbZvaGmV0XYp/QQtI6NXwwGjgyhczJ+f1VZAoIi0wBc0L1UO2VdIek+xsbzOwkSY9KulnSiZKmJD1S95JbJZ0haVTShZJuMLNLAu0XOpWDD0YlQaaQLfm/v4pMAWGRKaAqSEHl7o+6+2OS/m+T5ssl7XD3H7v7e4pCtMbMVlXbr5R0u7sfcPdfSrpX0lUh9gsp5OODUeGRKWRSju+vIlNAWGQKmNOPe6hWS3qx9sTdD0v6taTVZrZM0qn17dU/r477ZmY2Xu1intq/f3+PdrnEcvDBCGQKGZP/mUODZYo8AZLIFEqmHwXV8ZIONWw7JOmEapsa2mttTbn7hLuPufvY8uXLg+4oVIQPRmVAppAt+Z85NFimyBMgiUyhZFoWVGb2jJl5zOO5Nv6OdyUtadi2RNI71TY1tNfaMAj5/2CUeWQKhTPgmUPJFBAWmQI607KgcvcL3N1iHue38XfskLSm9sTMFks6XdHY2gOS9tW3V/+8o7MfA8EwpXrPkSkUUtLMoT1GpoCwyBTQmVDTpg+Z2UJJx0g6xswWmtlQtXmbpLPMbG31NZskveTuO6vtD0raaGbLqjcrXiPpgRD7hZQG+MEIETIFhEWmgLDIFDAn1D1UGyUdkbRe0terf94oSe6+X9JaSZslHZD0eUlX1L33FkU3Kk5LelbSVnd/ItB+ITTWqOoXMgWERaaAsMgUUGXuPuh9SG1sbMynpqYGvRvlUVujqn5a9eHhUgwJNLPn3X1s0PvRa2QK/VKGTJEn9BOZAsLqJFP9mOUPRcEaVQAAAMA8FFRoH2tUAQAAAPNQUKF9rFEFAAAAzENBhfaxRhUAAAAwDwUV2scaVQAAAMA8Q61fAtSpVCigAAAAgCp6qBAOa1QBAACgZOihQhiNa1RNT0fPJXq0AAAAUFj0UCEM1qgCAABACVFQIQzWqAIAAEAJUVAhDNaoAgAAQAlRUCEM1qgCAABACVFQIQzWqAIAAEAJMcsfwmGNKgAAAJQMPVQAAAAAkBIFFfqHhX8BAABQMAz5Q3+w8C8AAAAKiB4q9AcL/wIAAKCAKKjQHyz8CwAAgAKioEJ/sPAvAAAACoiCCv3Bwr8AAAAoIAoq9AcL/wIAAKCAmOUP/cPCvwAAACgYeqgAAAAAICUKKmQDi/4CAAAghxjyh8Fj0V8AAADkFD1UGDwW/QUAAEBOUVBh8Fj0FwAAADlFQYXBY9FfAAAA5BQFFQaPRX8BAACQUxRUGDwW/QUAAEBOdV1QmdlxZnafmU2b2Ttm9oKZ/W7Day4ys51mNmNmT5vZaMP77zezt83sDTO7rtt9Qg5VKtKuXdLsbPS1xMUUmQLCIlNAWGQKmC9ED9WQpNckfVHSpyTdLOmvzWylJJnZSZIerW4/UdKUpEfq3n+rpDMkjUq6UNINZnZJgP0C8opMAWGRKSAsMgXU6bqgcvfD7n6ru+9y91l3f1zSq5LOrb7kckk73P3H7v6eohCtMbNV1fYrJd3u7gfc/ZeS7pV0Vbf7BeQVmQLCIlNAWGQKmC/4PVRmdoqk35K0o7pptaQXa+3ufljSryWtNrNlkk6tb6/+eXXo/UKOTU5KK1dKCxZEXycnB71HfUWmgLDIFBAWmULZBS2ozOxYSZOS/tLdd1Y3Hy/pUMNLD0k6odqmhvZaW9zfMW5mU2Y2tX///jA7juyanJTGx6Xpack9+jo+XpqiikwBYfU6U+QJZUOmgDYKKjN7xsw85vFc3esWSHpI0geSrq37Fu9KWtLwbZdIeqfapob2WltT7j7h7mPuPrZ8+fJWu4+827BBmpmZv21mJtqeU2QKCCtLmSJPKAIyBXSmZUHl7he4u8U8zpckMzNJ90k6RdJad/+w7lvskLSm9sTMFks6XdHY2gOS9tW3V/+8Q4Ak7d7d2fYcIFNAWGQKCItMAZ0JNeTvHkm/LelSdz/S0LZN0llmttbMFkraJOmlum7hByVtNLNl1ZsVr5H0QKD9Qt6NjHS2vTjIFBAWmQLCIlNAVYh1qEYl/StJn5X0hpm9W31UJMnd90taK2mzpAOSPi/pirpvcYuiGxWnJT0raau7P9HtfqEgNm+WhofnbxsejrYXFJkCwiJTQFhkCphvqNtv4O7TkqzFa/6bpFUxbe9L+mb1AcxXW+B3w4ZomN/ISFRMFXjhXzIFhEWmgLDIFDBf1wUV0HOVSqELKAAAAORX8HWoAAAAAKAsKKgAAAAAICUKKgAAAABIiYIK+TY5Ka1cKS1YEH2dnBz0HgEAAKBEmJQC+TU5KY2PSzMz0fPp6ei5xCQWAAAA6At6qJBfGzbMFVM1MzPRdgAAAKAPKKiQX7t3d7YdAAAACIyCCvk1MtLZdgAAACAwCirk1+bN0vDw/G3Dw9F2AAAAoA8oqJBflYo0MSGNjkpm0deJCSakAAAAQN8wyx/yrVKhgAIAAMDA0EMFAAAAAClRUAEAAABAShRUAAAAAJASBRWKa3JSWrlSWrAg+jo5Oeg9AgAAQMEwKQWKaXJSGh+XZmai59PT0XOJSSwAAAAQDD1UKKYNG+aKqZqZmWg7AAAAEAgFFYpp9+7OtgMAAAApUFChmEZGOtsOAAAApEBBhWLavFkaHp6/bXg42g4AAAAEQkGFYqpUpIkJaXRUMou+TkwwIQUAAACCYpY/FFelQgEFAACAnqKHCgAAAABSoqACAAAAgJQoqAAAAAAgJQoqAAAAAEiJggrlNDkprVwpLVgQfZ2cHPQeAQAAIIeY5Q/lMzkpjY9LMzPR8+np6LnErIAAAADoCD1UKJ8NG+aKqZqZmWg7AAAA0AEKKpTP7t2dbQcAAABiBCmozOxhM9tnZm+b2a/M7OqG9ovMbKeZzZjZ02Y2Wtd2nJndX33vG2Z2XYh9AmKNjHS2fQDIFBAWmQLCIlPAnFA9VHdKWunuSyT9vqQ7zOxcSTKzkyQ9KulmSSdKmpL0SN17b5V0hqRRSRdKusHMLgm0X8DRNm+WhofnbxsejrZnB5kCwiJTQFhkCqgKUlC5+w53f7/2tPo4vfr8ckk73P3H7v6eohCtMbNV1fYrJd3u7gfc/ZeS7pV0VYj9ApqqVKSJCWl0VDKLvk5MZGpCCjIFhEWmgLDIFDAn2D1UZvafzGxG0k5J+yT9pNq0WtKLtde5+2FJv5a02syWSTq1vr3659Wh9gtoqlKRdu2SZmejrxkqpmrIFBAWmQLCIlNAJNi06e7+b8zs30r6J5IukFS7anG8pP0NLz8k6YRqW+15Y1tTZjYuqTrHtd41s1fa2L2TJL3VxuvKiGMTr/7YjCa9sBfIVG5xbOIVPlPkqSc4PvHIVHP8zsTj2CRLlamWBZWZPSPpizHN2939/NoTd/9Y0nNm9nVJ/1rS9yW9K2lJw/uWSHqn2lZ7/l5DW1PuPiFpotV+N/wMU+4+1sl7yoJjE69Xx4ZMFRvHJl4ZMkWewuP4xCNTsfvP70wMjk2ytMen5ZA/d7/A3S3mcX7M24Y0N452h6Q1dTu6uNq2w90PKOoiXlP33jXV9wCFRKaAsMgUEBaZAjrT9T1UZnaymV1hZseb2TFmdrGkfynpqepLtkk6y8zWmtlCSZskveTuO6vtD0raaGbLqjcrXiPpgW73C8grMgWERaaAsMgUMF+ISSlcURfv65IOSPqupD9x9/8iSe6+X9JaSZur7Z+XdEXd+29RdKPitKRnJW119ycC7Fe9jrqKS4ZjE29Qx4ZM5RvHJh6Zao7fmWQcn3hkqjl+Z+JxbJKlOj7m7qF3BAAAAABKIdi06QAAAABQNhRUAAAAAJBSoQsqMzvRzLaZ2WEzmzazrw16nwbFzK41sykze9/MHmhou8jMdprZjJk9bWZ9X8tikMzsODO7r/o78o6ZvWBmv1vXXurjU49MzSFTzZGn9pGnOeQpHplqH5maQ6bi9SJThS6oJP1A0geSTpFUkXSPmZV1Je69ku6QdH/9RjM7SdKjkm6WdKKkKUmP9H3vBmtI0muK1tz4lKJj8ddmtpLjcxQyNYdMNUee2kee5pCneGSqfWRqDpmKFzxThZ2UwqI1Dw5IOsvdf1Xd9pCkPe6+fqA7N0Bmdoek09z9qurzcUlXufsXqs8XK1oh+py66U1Lx8xekvRtSf9IHB9JZCoOmWqNPB2NPDVHntpDpo5GppojU+3pNlNF7qH6LUkf10JV9aKksl6piLNa0XGRJLn7YUVTmZb2OJnZKZhPqP0AAAH6SURBVIp+f3aI41OPTLWH35k65CkWeWoPvzMNyFQsMtUefmcahMhUkQuq4yUdath2SNIJA9iXLOM41TGzYyVNSvrL6pUIjs8cjkV7OE5V5CkRx6I9HKc6ZCoRx6I9HKc6oTJV5ILqXUlLGrYtkfTOAPYlyzhOVWa2QNJDisZfX1vdzPGZw7FoD8dJ5KkNHIv2cJyqyFRLHIv2cJyqQmaqyAXVryQNmdkZddvWKOrOw5wdio6LpE/Gip6ukh0nMzNJ9ym6kXWtu39YbeL4zCFT7Sn97wx5agt5ag+/MyJTbSJT7eF3RuEzVdiCqjrm8VFJt5nZYjM7T9K/UFSJlo6ZDZnZQknHSDrGzBaa2ZCkbZLOMrO11fZNkl4q4Y2J90j6bUmXuvuRuu0cnyoyNR+ZSkSeWiBP85GnlshUC2RqPjLVUthMuXthH4qmO3xM0mFJuyV9bdD7NMBjcaskb3jcWm37Z5J2Sjoi6RlJKwe9v30+NqPV4/Geoq7e2qPC8TnqWJGpuWNBppofF/LU/rEiT3PHgjzFHxsy1f6xIlNzx4JMxR+b4Jkq7LTpAAAAANBrhR3yBwAAAAC9RkEFAAAAAClRUAEAAABAShRUAAAAAJASBRUAAAAApERBBQAAAAApUVABAAAAQEoUVAAAAACQEgUVAAAAAKT0/wFx0txpoz32QAAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"_,axs = plt.subplots(1,4,figsize=(12,3))\\n\",\n    \"for ax in axs: show_preds(apply_step(params, False), ax)\\n\",\n    \"plt.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 7: stop\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We just decided to stop after 10 epochs arbitrarily. In practice, we would watch the training and validation losses and our metrics to decide when to stop, as we've discussed.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Summarizing Gradient Descent\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.40.1 (20161225.0304)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: G Pages: 1 -->\\n\",\n       \"<svg width=\\\"591pt\\\" height=\\\"78pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 591.49 78.00\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 74)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"#ffffff\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-74 587.4867,-74 587.4867,4 -4,4\\\"/>\\n\",\n       \"<!-- init -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>init</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"27\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"27\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">init</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predict -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>predict</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"126.0969\\\" cy=\\\"-18\\\" rx=\\\"35.194\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"126.0969\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">predict</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- init&#45;&gt;predict -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>init&#45;&gt;predict</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M54.0787,-18C62.3227,-18 71.6196,-18 80.7269,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"80.8626,-21.5001 90.8626,-18 80.8625,-14.5001 80.8626,-21.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>loss</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"225.1938\\\" cy=\\\"-52\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"225.1938\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">loss</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- predict&#45;&gt;loss -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>predict&#45;&gt;loss</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M155.2932,-28.0172C166.6224,-31.9043 179.6698,-36.3808 191.4018,-40.406\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"190.2859,-43.7234 200.8806,-43.6582 192.5577,-37.1023 190.2859,-43.7234\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- gradient -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>gradient</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"361.8403\\\" cy=\\\"-52\\\" rx=\\\"39.7935\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"361.8403\\\" y=\\\"-48.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">gradient</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- loss&#45;&gt;gradient -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>loss&#45;&gt;gradient</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M252.5178,-52C269.4967,-52 291.836,-52 311.8929,-52\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"312.1329,-55.5001 322.1329,-52 312.1328,-48.5001 312.1329,-55.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- step -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>step</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"465.4867\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"465.4867\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">step</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- gradient&#45;&gt;step -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>gradient&#45;&gt;step</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M394.0665,-41.4286C405.9515,-37.5298 419.4492,-33.1021 431.4862,-29.1535\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"432.7754,-32.4142 441.1862,-25.9715 430.5935,-25.7629 432.7754,-32.4142\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- step&#45;&gt;predict -->\\n\",\n       \"<g id=\\\"edge6\\\" class=\\\"edge\\\">\\n\",\n       \"<title>step&#45;&gt;predict</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M438.4132,-18C380.3272,-18 243.2155,-18 171.5401,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"171.4571,-14.5001 161.4571,-18 171.4571,-21.5001 171.4571,-14.5001\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"287.1938\\\" y=\\\"-21.8\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">repeat</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- stop -->\\n\",\n       \"<g id=\\\"node6\\\" class=\\\"node\\\">\\n\",\n       \"<title>stop</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"#000000\\\" cx=\\\"556.4867\\\" cy=\\\"-18\\\" rx=\\\"27\\\" ry=\\\"18\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"556.4867\\\" y=\\\"-14.3\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" fill=\\\"#000000\\\">stop</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- step&#45;&gt;stop -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>step&#45;&gt;stop</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"#000000\\\" d=\\\"M492.7897,-18C501.068,-18 510.3085,-18 519.1272,-18\\\"/>\\n\",\n       \"<polygon fill=\\\"#000000\\\" stroke=\\\"#000000\\\" points=\\\"519.203,-21.5001 529.203,-18 519.203,-14.5001 519.203,-21.5001\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7f10d352e250>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id gradient_descent\\n\",\n    \"#caption The gradient descent process\\n\",\n    \"#alt Graph showing the steps for Gradient Descent\\n\",\n    \"gv('''\\n\",\n    \"init->predict->loss->gradient->step->stop\\n\",\n    \"step->predict[label=repeat]\\n\",\n    \"''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To summarize, at the beginning, the weights of our model can be random (training *from scratch*) or come from a pretrained model (*transfer learning*). In the first case, the output we will get from our inputs won't have anything to do with what we want, and even in the second case, it's very likely the pretrained model won't be very good at the specific task we are targeting. So the model will need to *learn* better weights.\\n\",\n    \"\\n\",\n    \"We begin by comparing the outputs the model gives us with our targets (we have labeled data, so we know what result the model should give) using a *loss function*, which returns a number that we want to make as low as possible by improving our weights. To do this, we take a few data items (such as images) from the training set and feed them to our model. We compare the corresponding targets using our loss function, and the score we get tells us how wrong our predictions were. We then change the weights a little bit to make it slightly better.\\n\",\n    \"\\n\",\n    \"To find how to change the weights to make the loss a bit better, we use calculus to calculate the *gradients*. (Actually, we let PyTorch do it for us!) Let's consider an analogy. Imagine you are lost in the mountains with your car parked at the lowest point. To find your way back to it, you might wander in a random direction, but that probably wouldn't help much. Since you know your vehicle is at the lowest point, you would be better off going downhill. By always taking a step in the direction of the steepest downward slope, you should eventually arrive at your destination. We use the magnitude of the gradient (i.e., the steepness of the slope) to tell us how big a step to take; specifically, we multiply the gradient by a number we choose called the *learning rate* to decide on the step size. We then *iterate* until we have reached the lowest point, which will be our parking lot, then we can *stop*.\\n\",\n    \"\\n\",\n    \"All of that we just saw can be transposed directly to the MNIST dataset, except for the loss function. Let's now see how we can define a good training objective. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The MNIST Loss Function\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We already have our independent variables `x`—these are the images themselves. We'll concatenate them all into a single tensor, and also change them from a list of matrices (a rank-3 tensor) to a list of vectors (a rank-2 tensor). We can do this using `view`, which is a PyTorch method that changes the shape of a tensor without changing its contents. `-1` is a special parameter to `view` that means \\\"make this axis as big as necessary to fit all the data\\\":\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_x = torch.cat([stacked_threes, stacked_sevens]).view(-1, 28*28)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We need a label for each image. We'll use `1` for 3s and `0` for 7s:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([12396, 784]), torch.Size([12396, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"train_y = tensor([1]*len(threes) + [0]*len(sevens)).unsqueeze(1)\\n\",\n    \"train_x.shape,train_y.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `Dataset` in PyTorch is required to return a tuple of `(x,y)` when indexed. Python provides a `zip` function which, when combined with `list`, provides a simple way to get this functionality:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([784]), tensor([1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dset = list(zip(train_x,train_y))\\n\",\n    \"x,y = dset[0]\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_x = torch.cat([valid_3_tens, valid_7_tens]).view(-1, 28*28)\\n\",\n    \"valid_y = tensor([1]*len(valid_3_tens) + [0]*len(valid_7_tens)).unsqueeze(1)\\n\",\n    \"valid_dset = list(zip(valid_x,valid_y))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we need an (initially random) weight for every pixel (this is the *initialize* step in our seven-step process):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def init_params(size, std=1.0): return (torch.randn(size)*std).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights = init_params((28*28,1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The function `weights*pixels` won't be flexible enough—it is always equal to 0 when the pixels are equal to 0 (i.e., its *intercept* is 0). You might remember from high school math that the formula for a line is `y=w*x+b`; we still need the `b`. We'll initialize it to a random number too:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bias = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In neural networks, the `w` in the equation `y=w*x+b` is called the *weights*, and the `b` is called the *bias*. Together, the weights and bias make up the *parameters*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Parameters: The _weights_ and _biases_ of a model. The weights are the `w` in the equation `w*x+b`, and the biases are the `b` in that equation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now calculate a prediction for one image:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([20.2336], grad_fn=<AddBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(train_x[0]*weights.T).sum() + bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"While we could use a Python `for` loop to calculate the prediction for each image, that would be very slow. Because Python loops don't run on the GPU, and because Python is a slow language for loops in general, we need to represent as much of the computation in a model as possible using higher-level functions.\\n\",\n    \"\\n\",\n    \"In this case, there's an extremely convenient mathematical operation that calculates `w*x` for every row of a matrix—it's called *matrix multiplication*. <<matmul>> shows what matrix multiplication looks like.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Matrix multiplication\\\" width=\\\"400\\\" caption=\\\"Matrix multiplication\\\" src=\\\"images/matmul2.svg\\\" id=\\\"matmul\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This image shows two matrices, `A` and `B`, being multiplied together. Each item of the result, which we'll call `AB`, contains each item of its corresponding row of `A` multiplied by each item of its corresponding column of `B`, added together. For instance, row 1, column 2 (the yellow dot with a red border) is calculated as $a_{1,1} * b_{1,2} + a_{1,2} * b_{2,2}$. If you need a refresher on matrix multiplication, we suggest you take a look at the [Intro to Matrix Multiplication](https://youtu.be/kT4Mp9EdVqs) on *Khan Academy*, since this is the most important mathematical operation in deep learning.\\n\",\n    \"\\n\",\n    \"In Python, matrix multiplication is represented with the `@` operator. Let's try it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[20.2336],\\n\",\n       \"        [17.0644],\\n\",\n       \"        [15.2384],\\n\",\n       \"        ...,\\n\",\n       \"        [18.3804],\\n\",\n       \"        [23.8567],\\n\",\n       \"        [28.6816]], grad_fn=<AddBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def linear1(xb): return xb@weights + bias\\n\",\n    \"preds = linear1(train_x)\\n\",\n    \"preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first element is the same as we calculated before, as we'd expect. This equation, `batch@weights + bias`, is one of the two fundamental equations of any neural network (the other one is the *activation function*, which we'll see in a moment).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's check our accuracy. To decide if an output represents a 3 or a 7, we can just check whether it's greater than 0.0, so our accuracy for each item can be calculated (using broadcasting, so no loops!) with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[ True],\\n\",\n       \"        [ True],\\n\",\n       \"        [ True],\\n\",\n       \"        ...,\\n\",\n       \"        [False],\\n\",\n       \"        [False],\\n\",\n       \"        [False]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"corrects = (preds>0.0).float() == train_y\\n\",\n    \"corrects\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.4912068545818329\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"corrects.float().mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's see what the change in accuracy is for a small change in one of the weights (note that we have to ask PyTorch not to calculate gradients as we do this, which is what `with torch.no_grad()` is doing here):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with torch.no_grad(): weights[0] *= 1.0001\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.4912068545818329\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds = linear1(train_x)\\n\",\n    \"((preds>0.0).float() == train_y).float().mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've seen, we need gradients in order to improve our model using SGD, and in order to calculate gradients we need some *loss function* that represents how good our model is. That is because the gradients are a measure of how that loss function changes with small tweaks to the weights.\\n\",\n    \"\\n\",\n    \"So, we need to choose a loss function. The obvious approach would be to use accuracy, which is our metric, as our loss function as well. In this case, we would calculate our prediction for each image, collect these values to calculate an overall accuracy, and then calculate the gradients of each weight with respect to that overall accuracy.\\n\",\n    \"\\n\",\n    \"Unfortunately, we have a significant technical problem here. The gradient of a function is its *slope*, or its steepness, which can be defined as *rise over run*—that is, how much the value of the function goes up or down, divided by how much we changed the input. We can write this in mathematically as: `(y_new - y_old) / (x_new - x_old)`. This gives us a good approximation of the gradient when `x_new` is very similar to `x_old`, meaning that their difference is very small. But accuracy only changes at all when a prediction changes from a 3 to a 7, or vice versa. The problem is that a small change in weights from `x_old` to `x_new` isn't likely to cause any prediction to change, so `(y_new - y_old)` will almost always be 0. In other words, the gradient is 0 almost everywhere.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A very small change in the value of a weight will often not actually change the accuracy at all. This means it is not useful to use accuracy as a loss function—if we do, most of the time our gradients will actually be 0, and the model will not be able to learn from that number.\\n\",\n    \"\\n\",\n    \"> S: In mathematical terms, accuracy is a function that is constant almost everywhere (except at the threshold, 0.5), so its derivative is nil almost everywhere (and infinity at the threshold). This then gives gradients that are 0 or infinite, which are useless for updating the model.\\n\",\n    \"\\n\",\n    \"Instead, we need a loss function which, when our weights result in slightly better predictions, gives us a slightly better loss. So what does a \\\"slightly better prediction\\\" look like, exactly? Well, in this case, it means that if the correct answer is a 3 the score is a little higher, or if the correct answer is a 7 the score is a little lower.\\n\",\n    \"\\n\",\n    \"Let's write such a function now. What form does it take?\\n\",\n    \"\\n\",\n    \"The loss function receives not the images themselves, but the predictions from the model. Let's make one argument, `prds`, of values between 0 and 1, where each value is the prediction that an image is a 3. It is a vector (i.e., a rank-1 tensor), indexed over the images.\\n\",\n    \"\\n\",\n    \"The purpose of the loss function is to measure the difference between predicted values and the true values — that is, the targets (aka labels). Let's make another argument, `trgts`, with values of 0 or 1 which tells whether an image actually is a 3 or not. It is also a vector (i.e., another rank-1 tensor), indexed over the images.\\n\",\n    \"\\n\",\n    \"So, for instance, suppose we had three images which we knew were a 3, a 7, and a 3. And suppose our model predicted with high confidence (`0.9`) that the first was a 3, with slight confidence (`0.4`) that the second was a 7, and with fair confidence (`0.2`), but incorrectly, that the last was a 7. This would mean our loss function would receive these values as its inputs:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"trgts  = tensor([1,0,1])\\n\",\n    \"prds   = tensor([0.9, 0.4, 0.2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's a first try at a loss function that measures the distance between `predictions` and `targets`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mnist_loss(predictions, targets):\\n\",\n    \"    return torch.where(targets==1, 1-predictions, predictions).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're using a new function, `torch.where(a,b,c)`. This is the same as running the list comprehension `[b[i] if a[i] else c[i] for i in range(len(a))]`, except it works on tensors, at C/CUDA speed. In plain English, this function will measure how distant each prediction is from 1 if it should be 1, and how distant it is from 0 if it should be 0, and then it will take the mean of all those distances.\\n\",\n    \"\\n\",\n    \"> note: Read the Docs: It's important to learn about PyTorch functions like this, because looping over tensors in Python performs at Python speed, not C/CUDA speed! Try running `help(torch.where)` now to read the docs for this function, or, better still, look it up on the PyTorch documentation site.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try it on our `prds` and `trgts`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([0.1000, 0.4000, 0.8000])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"torch.where(trgts==1, 1-prds, prds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can see that this function returns a lower number when predictions are more accurate, when accurate predictions are more confident (higher absolute values), and when inaccurate predictions are less confident. In PyTorch, we always assume that a lower value of a loss function is better. Since we need a scalar for the final loss, `mnist_loss` takes the mean of the previous tensor:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.4333)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"mnist_loss(prds,trgts)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For instance, if we change our prediction for the one \\\"false\\\" target from `0.2` to `0.8` the loss will go down, indicating that this is a better prediction:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.2333)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"mnist_loss(tensor([0.9, 0.4, 0.8]),trgts)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One problem with `mnist_loss` as currently defined is that it assumes that predictions are always between 0 and 1. We need to ensure, then, that this is actually the case! As it happens, there is a function that does exactly that—let's take a look.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sigmoid\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `sigmoid` function always outputs a number between 0 and 1. It's defined as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sigmoid(x): return 1/(1+torch.exp(-x))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Pytorch defines an accelerated version for us, so we don’t really need our own. This is an important function in deep learning, since we often want to ensure values are between 0 and 1. This is what it looks like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(torch.sigmoid, title='Sigmoid', min=-4, max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, it takes any input value, positive or negative, and smooshes it onto an output value between 0 and 1. It's also a smooth curve that only goes up, which makes it easier for SGD to find meaningful gradients. \\n\",\n    \"\\n\",\n    \"Let's update `mnist_loss` to first apply `sigmoid` to the inputs:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mnist_loss(predictions, targets):\\n\",\n    \"    predictions = predictions.sigmoid()\\n\",\n    \"    return torch.where(targets==1, 1-predictions, predictions).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can be confident our loss function will work, even if the predictions are not between 0 and 1. All that is required is that a higher prediction corresponds to higher confidence an image is a 3.\\n\",\n    \"\\n\",\n    \"Having defined a loss function, now is a good moment to recapitulate why we did this. After all, we already had a metric, which was overall accuracy. So why did we define a loss?\\n\",\n    \"\\n\",\n    \"The key difference is that the metric is to drive human understanding and the loss is to drive automated learning. To drive automated learning, the loss must be a function that has a meaningful derivative. It can't have big flat sections and large jumps, but instead must be reasonably smooth. This is why we designed a loss function that would respond to small changes in confidence level. This requirement means that sometimes it does not really reflect exactly what we are trying to achieve, but is rather a compromise between our real goal and a function that can be optimized using its gradient. The loss function is calculated for each item in our dataset, and then at the end of an epoch the loss values are all averaged and the overall mean is reported for the epoch.\\n\",\n    \"\\n\",\n    \"Metrics, on the other hand, are the numbers that we really care about. These are the values that are printed at the end of each epoch that tell us how our model is really doing. It is important that we learn to focus on these metrics, rather than the loss, when judging the performance of a model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### SGD and Mini-Batches\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a loss function that is suitable for driving SGD, we can consider some of the details involved in the next phase of the learning process, which is to change or update the weights based on the gradients. This is called an *optimization step*.\\n\",\n    \"\\n\",\n    \"In order to take an optimization step we need to calculate the loss over one or more data items. How many should we use? We could calculate it for the whole dataset, and take the average, or we could calculate it for a single data item. But neither of these is ideal. Calculating it for the whole dataset would take a very long time. Calculating it for a single item would not use much information, so it would result in a very imprecise and unstable gradient. That is, you'd be going to the trouble of updating the weights, but taking into account only how that would improve the model's performance on that single item.\\n\",\n    \"\\n\",\n    \"So instead we take a compromise between the two: we calculate the average loss for a few data items at a time. This is called a *mini-batch*. The number of data items in the mini-batch is called the *batch size*. A larger batch size means that you will get a more accurate and stable estimate of your dataset's gradients from the loss function, but it will take longer, and you will process fewer mini-batches per epoch. Choosing a good batch size is one of the decisions you need to make as a deep learning practitioner to train your model quickly and accurately. We will talk about how to make this choice throughout this book.\\n\",\n    \"\\n\",\n    \"Another good reason for using mini-batches rather than calculating the gradient on individual data items is that, in practice, we nearly always do our training on an accelerator such as a GPU. These accelerators only perform well if they have lots of work to do at a time, so it's helpful if we can give them lots of data items to work on. Using mini-batches is one of the best ways to do this. However, if you give them too much data to work on at once, they run out of memory—making GPUs happy is also tricky!\\n\",\n    \"\\n\",\n    \"As we saw in our discussion of data augmentation in <<chapter_production>>, we get better generalization if we can vary things during training. One simple and effective thing we can vary is what data items we put in each mini-batch. Rather than simply enumerating our dataset in order for every epoch, instead what we normally do is randomly shuffle it on every epoch, before we create mini-batches. PyTorch and fastai provide a class that will do the shuffling and mini-batch collation for you, called `DataLoader`.\\n\",\n    \"\\n\",\n    \"A `DataLoader` can take any Python collection and turn it into an iterator over mini-batches, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[tensor([ 3, 12,  8, 10,  2]),\\n\",\n       \" tensor([ 9,  4,  7, 14,  5]),\\n\",\n       \" tensor([ 1, 13,  0,  6, 11])]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"coll = range(15)\\n\",\n    \"dl = DataLoader(coll, batch_size=5, shuffle=True)\\n\",\n    \"list(dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For training a model, we don't just want any Python collection, but a collection containing independent and dependent variables (that is, the inputs and targets of the model). A collection that contains tuples of independent and dependent variables is known in PyTorch as a `Dataset`. Here's an example of an extremely simple `Dataset`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#26) [(0, 'a'),(1, 'b'),(2, 'c'),(3, 'd'),(4, 'e'),(5, 'f'),(6, 'g'),(7, 'h'),(8, 'i'),(9, 'j')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ds = L(enumerate(string.ascii_lowercase))\\n\",\n    \"ds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we pass a `Dataset` to a `DataLoader` we will get back mini-batches which are themselves tuples of tensors representing batches of independent and dependent variables:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[(tensor([17, 18, 10, 22,  8, 14]), ('r', 's', 'k', 'w', 'i', 'o')),\\n\",\n       \" (tensor([20, 15,  9, 13, 21, 12]), ('u', 'p', 'j', 'n', 'v', 'm')),\\n\",\n       \" (tensor([ 7, 25,  6,  5, 11, 23]), ('h', 'z', 'g', 'f', 'l', 'x')),\\n\",\n       \" (tensor([ 1,  3,  0, 24, 19, 16]), ('b', 'd', 'a', 'y', 't', 'q')),\\n\",\n       \" (tensor([2, 4]), ('c', 'e'))]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dl = DataLoader(ds, batch_size=6, shuffle=True)\\n\",\n    \"list(dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are now ready to write our first training loop for a model using SGD!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Putting It All Together\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's time to implement the process we saw in <<gradient_descent>>. In code, our process will be implemented something like this for each epoch:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for x,y in dl:\\n\",\n    \"    pred = model(x)\\n\",\n    \"    loss = loss_func(pred, y)\\n\",\n    \"    loss.backward()\\n\",\n    \"    parameters -= parameters.grad * lr\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, let's re-initialize our parameters:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights = init_params((28*28,1))\\n\",\n    \"bias = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `DataLoader` can be created from a `Dataset`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([256, 784]), torch.Size([256, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dl = DataLoader(dset, batch_size=256)\\n\",\n    \"xb,yb = first(dl)\\n\",\n    \"xb.shape,yb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll do the same for the validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_dl = DataLoader(valid_dset, batch_size=256)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's create a mini-batch of size 4 for testing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([4, 784])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"batch = train_x[:4]\\n\",\n    \"batch.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[-11.1002],\\n\",\n       \"        [  5.9263],\\n\",\n       \"        [  9.9627],\\n\",\n       \"        [ -8.1484]], grad_fn=<AddBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds = linear1(batch)\\n\",\n    \"preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.5006, grad_fn=<MeanBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss = mnist_loss(preds, train_y[:4])\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can calculate the gradients:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([784, 1]), tensor(-0.0001), tensor([-0.0008]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss.backward()\\n\",\n    \"weights.grad.shape,weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's put that all in a function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def calc_grad(xb, yb, model):\\n\",\n    \"    preds = model(xb)\\n\",\n    \"    loss = mnist_loss(preds, yb)\\n\",\n    \"    loss.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and test it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(-0.0002), tensor([-0.0015]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"calc_grad(batch, train_y[:4], linear1)\\n\",\n    \"weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But look what happens if we call it twice:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(-0.0003), tensor([-0.0023]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"calc_grad(batch, train_y[:4], linear1)\\n\",\n    \"weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The gradients have changed! The reason for this is that `loss.backward` actually *adds* the gradients of `loss` to any gradients that are currently stored. So, we have to set the current gradients to 0 first:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights.grad.zero_()\\n\",\n    \"bias.grad.zero_();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Inplace Operations: Methods in PyTorch whose names end in an underscore modify their objects _in place_. For instance, `bias.zero_()` sets all elements of the tensor `bias` to 0.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our only remaining step is to update the weights and biases based on the gradient and learning rate. When we do so, we have to tell PyTorch not to take the gradient of this step too—otherwise things will get very confusing when we try to compute the derivative at the next batch! If we assign to the `data` attribute of a tensor then PyTorch will not take the gradient of that step. Here's our basic training loop for an epoch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_epoch(model, lr, params):\\n\",\n    \"    for xb,yb in dl:\\n\",\n    \"        calc_grad(xb, yb, model)\\n\",\n    \"        for p in params:\\n\",\n    \"            p.data -= p.grad*lr\\n\",\n    \"            p.grad.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We also want to check how we're doing, by looking at the accuracy of the validation set. To decide if an output represents a 3 or a 7, we can just check whether it's greater than 0. So our accuracy for each item can be calculated (using broadcasting, so no loops!) with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[False],\\n\",\n       \"        [ True],\\n\",\n       \"        [ True],\\n\",\n       \"        [False]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(preds>0.0).float() == train_y[:4]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That gives us this function to calculate our validation accuracy:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def batch_accuracy(xb, yb):\\n\",\n    \"    preds = xb.sigmoid()\\n\",\n    \"    correct = (preds>0.5) == yb\\n\",\n    \"    return correct.float().mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can check it works:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.5000)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"batch_accuracy(linear1(batch), train_y[:4])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and then put the batches together:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def validate_epoch(model):\\n\",\n    \"    accs = [batch_accuracy(model(xb), yb) for xb,yb in valid_dl]\\n\",\n    \"    return round(torch.stack(accs).mean().item(), 4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.5219\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"validate_epoch(linear1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's our starting point. Let's train for one epoch, and see if the accuracy improves:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.6883\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lr = 1.\\n\",\n    \"params = weights,bias\\n\",\n    \"train_epoch(linear1, lr, params)\\n\",\n    \"validate_epoch(linear1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then do a few more:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.8314 0.9017 0.9227 0.9349 0.9438 0.9501 0.9535 0.9564 0.9594 0.9618 0.9613 0.9638 0.9643 0.9652 0.9662 0.9677 0.9687 0.9691 0.9691 0.9696 \"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for i in range(20):\\n\",\n    \"    train_epoch(linear1, lr, params)\\n\",\n    \"    print(validate_epoch(linear1), end=' ')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking good! We're already about at the same accuracy as our \\\"pixel similarity\\\" approach, and we've created a general-purpose foundation we can build on. Our next step will be to create an object that will handle the SGD step for us. In PyTorch, it's called an *optimizer*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating an Optimizer\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Because this is such a general foundation, PyTorch provides some useful classes to make it easier to implement. The first thing we can do is replace our `linear1` function with PyTorch's `nn.Linear` module. A *module* is an object of a class that inherits from the PyTorch `nn.Module` class. Objects of this class behave identically to standard Python functions, in that you can call them using parentheses and they will return the activations of a model.\\n\",\n    \"\\n\",\n    \"`nn.Linear` does the same thing as our `init_params` and `linear` together. It contains both the *weights* and *biases* in a single class. Here's how we replicate our model from the previous section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"linear_model = nn.Linear(28*28,1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Every PyTorch module knows what parameters it has that can be trained; they are available through the `parameters` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([1, 784]), torch.Size([1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"w,b = linear_model.parameters()\\n\",\n    \"w.shape,b.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use this information to create an optimizer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class BasicOptim:\\n\",\n    \"    def __init__(self,params,lr): self.params,self.lr = list(params),lr\\n\",\n    \"\\n\",\n    \"    def step(self, *args, **kwargs):\\n\",\n    \"        for p in self.params: p.data -= p.grad.data * self.lr\\n\",\n    \"\\n\",\n    \"    def zero_grad(self, *args, **kwargs):\\n\",\n    \"        for p in self.params: p.grad = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create our optimizer by passing in the model's parameters:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt = BasicOptim(linear_model.parameters(), lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our training loop can now be simplified to:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_epoch(model):\\n\",\n    \"    for xb,yb in dl:\\n\",\n    \"        calc_grad(xb, yb, model)\\n\",\n    \"        opt.step()\\n\",\n    \"        opt.zero_grad()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our validation function doesn't need to change at all:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.4157\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"validate_epoch(linear_model)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's put our little training loop in a function, to make things simpler:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_model(model, epochs):\\n\",\n    \"    for i in range(epochs):\\n\",\n    \"        train_epoch(model)\\n\",\n    \"        print(validate_epoch(model), end=' ')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The results are the same as in the previous section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.4932 0.8618 0.8203 0.9102 0.9331 0.9468 0.9555 0.9629 0.9658 0.9673 0.9687 0.9707 0.9726 0.9751 0.9761 0.9761 0.9775 0.978 0.9785 0.9785 \"\n     ]\n    }\n   ],\n   \"source\": [\n    \"train_model(linear_model, 20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai provides the `SGD` class which, by default, does the same thing as our `BasicOptim`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.4932 0.852 0.8335 0.9116 0.9326 0.9473 0.9555 0.9624 0.9648 0.9668 0.9692 0.9712 0.9731 0.9746 0.9761 0.9765 0.9775 0.978 0.9785 0.9785 \"\n     ]\n    }\n   ],\n   \"source\": [\n    \"linear_model = nn.Linear(28*28,1)\\n\",\n    \"opt = SGD(linear_model.parameters(), lr)\\n\",\n    \"train_model(linear_model, 20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai also provides `Learner.fit`, which we can use instead of `train_model`. To create a `Learner` we first need to create a `DataLoaders`, by passing in our training and validation `DataLoader`s:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = DataLoaders(dl, valid_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create a `Learner` without using an application (such as `vision_learner`) we need to pass in all the elements that we've created in this chapter: the `DataLoaders`, the model, the optimization function (which will be passed the parameters), the loss function, and optionally any metrics to print:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, nn.Linear(28*28,1), opt_func=SGD,\\n\",\n    \"                loss_func=mnist_loss, metrics=batch_accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can call `fit`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>batch_accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.636857</td>\\n\",\n       \"      <td>0.503549</td>\\n\",\n       \"      <td>0.495584</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.545725</td>\\n\",\n       \"      <td>0.170281</td>\\n\",\n       \"      <td>0.866045</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.199223</td>\\n\",\n       \"      <td>0.184893</td>\\n\",\n       \"      <td>0.831207</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.086580</td>\\n\",\n       \"      <td>0.107836</td>\\n\",\n       \"      <td>0.911187</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.045185</td>\\n\",\n       \"      <td>0.078481</td>\\n\",\n       \"      <td>0.932777</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.029108</td>\\n\",\n       \"      <td>0.062792</td>\\n\",\n       \"      <td>0.946516</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.022560</td>\\n\",\n       \"      <td>0.053017</td>\\n\",\n       \"      <td>0.955348</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.019687</td>\\n\",\n       \"      <td>0.046500</td>\\n\",\n       \"      <td>0.962218</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.018252</td>\\n\",\n       \"      <td>0.041929</td>\\n\",\n       \"      <td>0.965162</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.017402</td>\\n\",\n       \"      <td>0.038573</td>\\n\",\n       \"      <td>0.967615</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit(10, lr=lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, there's nothing magic about the PyTorch and fastai classes. They are just convenient pre-packaged pieces that make your life a bit easier! (They also provide a lot of extra functionality we'll be using in future chapters.)\\n\",\n    \"\\n\",\n    \"With these classes, we can now replace our linear model with a neural network.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Adding a Nonlinearity\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So far we have a general procedure for optimizing the parameters of a function, and we have tried it out on a very boring function: a simple linear classifier. A linear classifier is very constrained in terms of what it can do. To make it a bit more complex (and able to handle more tasks), we need to add something nonlinear between two linear classifiers—this is what gives us a neural network.\\n\",\n    \"\\n\",\n    \"Here is the entire definition of a basic neural network:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_net(xb): \\n\",\n    \"    res = xb@w1 + b1\\n\",\n    \"    res = res.max(tensor(0.0))\\n\",\n    \"    res = res@w2 + b2\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's it! All we have in `simple_net` is two linear classifiers with a `max` function between them.\\n\",\n    \"\\n\",\n    \"Here, `w1` and `w2` are weight tensors, and `b1` and `b2` are bias tensors; that is, parameters that are initially randomly initialized, just like we did in the previous section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = init_params((28*28,30))\\n\",\n    \"b1 = init_params(30)\\n\",\n    \"w2 = init_params((30,1))\\n\",\n    \"b2 = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The key point about this is that `w1` has 30 output activations (which means that `w2` must have 30 input activations, so they match). That means that the first layer can construct 30 different features, each representing some different mix of pixels. You can change that `30` to anything you like, to make the model more or less complex.\\n\",\n    \"\\n\",\n    \"That little function `res.max(tensor(0.0))` is called a *rectified linear unit*, also known as *ReLU*. We think we can all agree that *rectified linear unit* sounds pretty fancy and complicated... But actually, there's nothing more to it than `res.max(tensor(0.0))`—in other words, replace every negative number with a zero. This tiny function is also available in PyTorch as `F.relu`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(F.relu)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> J: There is an enormous amount of jargon in deep learning, including terms like _rectified linear unit_. The vast vast majority of this jargon is no more complicated than can be implemented in a short line of code, as we saw in this example. The reality is that for academics to get their papers published they need to make them sound as impressive and sophisticated as possible. One of the ways that they do that is to introduce jargon. Unfortunately, this has the result that the field ends up becoming far more intimidating and difficult to get into than it should be. You do have to learn the jargon, because otherwise papers and tutorials are not going to mean much to you. But that doesn't mean you have to find the jargon intimidating. Just remember, when you come across a word or phrase that you haven't seen before, it will almost certainly turn out to be referring to a very simple concept.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The basic idea is that by using more linear layers, we can have our model do more computation, and therefore model more complex functions. But there's no point just putting one linear layer directly after another one, because when we multiply things together and then add them up multiple times, that could be replaced by multiplying different things together and adding them up just once! That is to say, a series of any number of linear layers in a row can be replaced with a single linear layer with a different set of parameters.\\n\",\n    \"\\n\",\n    \"But if we put a nonlinear function between them, such as `max`, then this is no longer true. Now each linear layer is actually somewhat decoupled from the other ones, and can do its own useful work. The `max` function is particularly interesting, because it operates as a simple `if` statement.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> S: Mathematically, we say the composition of two linear functions is another linear function. So, we can stack as many linear classifiers as we want on top of each other, and without nonlinear functions between them, it will just be the same as one linear classifier.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Amazingly enough, it can be mathematically proven that this little function can solve any computable problem to an arbitrarily high level of accuracy, if you can find the right parameters for `w1` and `w2` and if you make these matrices big enough. For any arbitrarily wiggly function, we can approximate it as a bunch of lines joined together; to make it closer to the wiggly function, we just have to use shorter lines. This is known as the *universal approximation theorem*. The three lines of code that we have here are known as *layers*. The first and third are known as *linear layers*, and the second line of code is known variously as a *nonlinearity*, or *activation function*.\\n\",\n    \"\\n\",\n    \"Just like in the previous section, we can replace this code with something a bit simpler, by taking advantage of PyTorch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_net = nn.Sequential(\\n\",\n    \"    nn.Linear(28*28,30),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Linear(30,1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`nn.Sequential` creates a module that will call each of the listed layers or functions in turn.\\n\",\n    \"\\n\",\n    \"`nn.ReLU` is a PyTorch module that does exactly the same thing as the `F.relu` function. Most functions that can appear in a model also have identical forms that are modules. Generally, it's just a case of replacing `F` with `nn` and changing the capitalization. When using `nn.Sequential`, PyTorch requires us to use the module version. Since modules are classes, we have to instantiate them, which is why you see `nn.ReLU()` in this example. \\n\",\n    \"\\n\",\n    \"Because `nn.Sequential` is a module, we can get its parameters, which will return a list of all the parameters of all the modules it contains. Let's try it out! As this is a deeper model, we'll use a lower learning rate and a few more epochs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, simple_net, opt_func=SGD,\\n\",\n    \"                loss_func=mnist_loss, metrics=batch_accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>batch_accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.305828</td>\\n\",\n       \"      <td>0.399663</td>\\n\",\n       \"      <td>0.508341</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.142960</td>\\n\",\n       \"      <td>0.225702</td>\\n\",\n       \"      <td>0.807655</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.079516</td>\\n\",\n       \"      <td>0.113519</td>\\n\",\n       \"      <td>0.919529</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.052391</td>\\n\",\n       \"      <td>0.076792</td>\\n\",\n       \"      <td>0.943081</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.039796</td>\\n\",\n       \"      <td>0.060083</td>\\n\",\n       \"      <td>0.956330</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.033368</td>\\n\",\n       \"      <td>0.050713</td>\\n\",\n       \"      <td>0.963690</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.029680</td>\\n\",\n       \"      <td>0.044797</td>\\n\",\n       \"      <td>0.965653</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.027290</td>\\n\",\n       \"      <td>0.040729</td>\\n\",\n       \"      <td>0.968106</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.025568</td>\\n\",\n       \"      <td>0.037771</td>\\n\",\n       \"      <td>0.968597</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.024233</td>\\n\",\n       \"      <td>0.035508</td>\\n\",\n       \"      <td>0.970559</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.023149</td>\\n\",\n       \"      <td>0.033714</td>\\n\",\n       \"      <td>0.972031</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.022242</td>\\n\",\n       \"      <td>0.032243</td>\\n\",\n       \"      <td>0.972522</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.021468</td>\\n\",\n       \"      <td>0.031006</td>\\n\",\n       \"      <td>0.973503</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.020796</td>\\n\",\n       \"      <td>0.029944</td>\\n\",\n       \"      <td>0.974485</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.020207</td>\\n\",\n       \"      <td>0.029016</td>\\n\",\n       \"      <td>0.975466</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>0.019683</td>\\n\",\n       \"      <td>0.028196</td>\\n\",\n       \"      <td>0.976448</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>0.019215</td>\\n\",\n       \"      <td>0.027463</td>\\n\",\n       \"      <td>0.976448</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>0.018791</td>\\n\",\n       \"      <td>0.026806</td>\\n\",\n       \"      <td>0.976938</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>0.018405</td>\\n\",\n       \"      <td>0.026212</td>\\n\",\n       \"      <td>0.977920</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>19</td>\\n\",\n       \"      <td>0.018051</td>\\n\",\n       \"      <td>0.025671</td>\\n\",\n       \"      <td>0.977920</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>20</td>\\n\",\n       \"      <td>0.017725</td>\\n\",\n       \"      <td>0.025179</td>\\n\",\n       \"      <td>0.977920</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>21</td>\\n\",\n       \"      <td>0.017422</td>\\n\",\n       \"      <td>0.024728</td>\\n\",\n       \"      <td>0.978410</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>22</td>\\n\",\n       \"      <td>0.017141</td>\\n\",\n       \"      <td>0.024313</td>\\n\",\n       \"      <td>0.978901</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>23</td>\\n\",\n       \"      <td>0.016878</td>\\n\",\n       \"      <td>0.023932</td>\\n\",\n       \"      <td>0.979392</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>24</td>\\n\",\n       \"      <td>0.016632</td>\\n\",\n       \"      <td>0.023580</td>\\n\",\n       \"      <td>0.979882</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>25</td>\\n\",\n       \"      <td>0.016400</td>\\n\",\n       \"      <td>0.023254</td>\\n\",\n       \"      <td>0.979882</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>26</td>\\n\",\n       \"      <td>0.016181</td>\\n\",\n       \"      <td>0.022952</td>\\n\",\n       \"      <td>0.979882</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>27</td>\\n\",\n       \"      <td>0.015975</td>\\n\",\n       \"      <td>0.022672</td>\\n\",\n       \"      <td>0.980864</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>28</td>\\n\",\n       \"      <td>0.015779</td>\\n\",\n       \"      <td>0.022411</td>\\n\",\n       \"      <td>0.980864</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>29</td>\\n\",\n       \"      <td>0.015593</td>\\n\",\n       \"      <td>0.022168</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>30</td>\\n\",\n       \"      <td>0.015417</td>\\n\",\n       \"      <td>0.021941</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>31</td>\\n\",\n       \"      <td>0.015249</td>\\n\",\n       \"      <td>0.021728</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>32</td>\\n\",\n       \"      <td>0.015088</td>\\n\",\n       \"      <td>0.021529</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>33</td>\\n\",\n       \"      <td>0.014935</td>\\n\",\n       \"      <td>0.021341</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>34</td>\\n\",\n       \"      <td>0.014788</td>\\n\",\n       \"      <td>0.021164</td>\\n\",\n       \"      <td>0.981845</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>35</td>\\n\",\n       \"      <td>0.014647</td>\\n\",\n       \"      <td>0.020998</td>\\n\",\n       \"      <td>0.982336</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>36</td>\\n\",\n       \"      <td>0.014512</td>\\n\",\n       \"      <td>0.020840</td>\\n\",\n       \"      <td>0.982826</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>37</td>\\n\",\n       \"      <td>0.014382</td>\\n\",\n       \"      <td>0.020691</td>\\n\",\n       \"      <td>0.982826</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>38</td>\\n\",\n       \"      <td>0.014257</td>\\n\",\n       \"      <td>0.020550</td>\\n\",\n       \"      <td>0.982826</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>39</td>\\n\",\n       \"      <td>0.014136</td>\\n\",\n       \"      <td>0.020415</td>\\n\",\n       \"      <td>0.982826</td>\\n\",\n       \"      <td>00:00</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"learn.fit(40, 0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're not showing the 40 lines of output here to save room; the training process is recorded in `learn.recorder`, with the table of output stored in the `values` attribute, so we can plot the accuracy over training as:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot(L(learn.recorder.values).itemgot(2));\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we can view the final accuracy:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.982826292514801\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.recorder.values[-1][2]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At this point we have something that is rather magical:\\n\",\n    \"\\n\",\n    \"1. A function that can solve any problem to any level of accuracy (the neural network) given the correct set of parameters\\n\",\n    \"1. A way to find the best set of parameters for any function (stochastic gradient descent)\\n\",\n    \"\\n\",\n    \"This is why deep learning can do things which seem rather magical, such fantastic things. Believing that this combination of simple techniques can really solve any problem is one of the biggest steps that we find many students have to take. It seems too good to be true—surely things should be more difficult and complicated than this? Our recommendation: try it out! We just tried it on the MNIST dataset and you have seen the results. And since we are doing everything from scratch ourselves (except for calculating the gradients) you know that there is no special magic hiding behind the scenes.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Going Deeper\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There is no need to stop at just two linear layers. We can add as many as we want, as long as we add a nonlinearity between each pair of linear layers. As you will learn, however, the deeper the model gets, the harder it is to optimize the parameters in practice. Later in this book you will learn about some simple but brilliantly effective techniques for training deeper models.\\n\",\n    \"\\n\",\n    \"We already know that a single nonlinearity with two linear layers is enough to approximate any function. So why would we use deeper models? The reason is performance. With a deeper model (that is, one with more layers) we do not need to use as many parameters; it turns out that we can use smaller matrices with more layers, and get better results than we would get with larger matrices, and few layers.\\n\",\n    \"\\n\",\n    \"That means that we can train the model more quickly, and it will take up less memory. In the 1990s researchers were so focused on the universal approximation theorem that very few were experimenting with more than one nonlinearity. This theoretical but not practical foundation held back the field for years. Some researchers, however, did experiment with deep models, and eventually were able to show that these models could perform much better in practice. Eventually, theoretical results were developed which showed why this happens. Today, it is extremely unusual to find anybody using a neural network with just one nonlinearity.\\n\",\n    \"\\n\",\n    \"Here is what happens when we train an 18-layer model using the same approach we saw in <<chapter_intro>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.082089</td>\\n\",\n       \"      <td>0.009578</td>\\n\",\n       \"      <td>0.997056</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls = ImageDataLoaders.from_folder(path)\\n\",\n    \"learn = vision_learner(dls, resnet18, pretrained=False,\\n\",\n    \"                    loss_func=F.cross_entropy, metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(1, 0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Nearly 100% accuracy! That's a big difference compared to our simple neural net. But as you'll learn in the remainder of this book, there are just a few little tricks you need to use to get such great results from scratch yourself. You already know the key foundational pieces. (Of course, even once you know all the tricks, you'll nearly always want to work with the pre-built classes provided by PyTorch and fastai, because they save you having to think about all the little details yourself.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Jargon Recap\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations: you now know how to create and train a deep neural network from scratch! We've gone through quite a few steps to get to this point, but you might be surprised at how simple it really is.\\n\",\n    \"\\n\",\n    \"Now that we are at this point, it is a good opportunity to define, and review, some jargon and key concepts.\\n\",\n    \"\\n\",\n    \"A neural network contains a lot of numbers, but they are only of two types: numbers that are calculated, and the parameters that these numbers are calculated from. This gives us the two most important pieces of jargon to learn:\\n\",\n    \"\\n\",\n    \"- Activations:: Numbers that are calculated (both by linear and nonlinear layers)\\n\",\n    \"- Parameters:: Numbers that are randomly initialized, and optimized (that is, the numbers that define the model)\\n\",\n    \"\\n\",\n    \"We will often talk in this book about activations and parameters. Remember that they have very specific meanings. They are numbers. They are not abstract concepts, but they are actual specific numbers that are in your model. Part of becoming a good deep learning practitioner is getting used to the idea of actually looking at your activations and parameters, and plotting them and testing whether they are behaving correctly.\\n\",\n    \"\\n\",\n    \"Our activations and parameters are all contained in *tensors*. These are simply regularly shaped arrays—for example, a matrix. Matrices have rows and columns; we call these the *axes* or *dimensions*. The number of dimensions of a tensor is its *rank*. There are some special tensors:\\n\",\n    \"\\n\",\n    \"- Rank zero: scalar\\n\",\n    \"- Rank one: vector\\n\",\n    \"- Rank two: matrix\\n\",\n    \"\\n\",\n    \"A neural network contains a number of layers. Each layer is either *linear* or *nonlinear*. We generally alternate between these two kinds of layers in a neural network. Sometimes people refer to both a linear layer and its subsequent nonlinearity together as a single layer. Yes, this is confusing. Sometimes a nonlinearity is referred to as an *activation function*.\\n\",\n    \"\\n\",\n    \"<<dljargon1>> summarizes the key concepts related to SGD.\\n\",\n    \"\\n\",\n    \"```asciidoc\\n\",\n    \"[[dljargon1]]\\n\",\n    \".Deep learning vocabulary\\n\",\n    \"[options=\\\"header\\\"]\\n\",\n    \"|=====\\n\",\n    \"| Term | Meaning\\n\",\n    \"|ReLU | Function that returns 0 for negative numbers and doesn't change positive numbers.\\n\",\n    \"|Mini-batch | A small group of inputs and labels gathered together in two arrays. A gradient descent step is updated on this batch (rather than a whole epoch).\\n\",\n    \"|Forward pass | Applying the model to some input and computing the predictions.\\n\",\n    \"|Loss | A value that represents how well (or badly) our model is doing.\\n\",\n    \"|Gradient | The derivative of the loss with respect to some parameter of the model.\\n\",\n    \"|Backward pass | Computing the gradients of the loss with respect to all model parameters.\\n\",\n    \"|Gradient descent | Taking a step in the directions opposite to the gradients to make the model parameters a little bit better.\\n\",\n    \"|Learning rate | The size of the step we take when applying SGD to update the parameters of the model.\\n\",\n    \"|=====\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: _Choose Your Own Adventure_ Reminder: Did you choose to skip over chapters 2 & 3, in your excitement to peek under the hood? Well, here's your reminder to head back to chapter 2 now, because you'll be needing to know that stuff very soon!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How is a grayscale image represented on a computer? How about a color image?\\n\",\n    \"1. How are the files and folders in the `MNIST_SAMPLE` dataset structured? Why?\\n\",\n    \"1. Explain how the \\\"pixel similarity\\\" approach to classifying digits works.\\n\",\n    \"1. What is a list comprehension? Create one now that selects odd numbers from a list and doubles them.\\n\",\n    \"1. What is a \\\"rank-3 tensor\\\"?\\n\",\n    \"1. What is the difference between tensor rank and shape? How do you get the rank from the shape?\\n\",\n    \"1. What are RMSE and L1 norm?\\n\",\n    \"1. How can you apply a calculation on thousands of numbers at once, many thousands of times faster than a Python loop?\\n\",\n    \"1. Create a 3×3 tensor or array containing the numbers from 1 to 9. Double it. Select the bottom-right four numbers.\\n\",\n    \"1. What is broadcasting?\\n\",\n    \"1. Are metrics generally calculated using the training set, or the validation set? Why?\\n\",\n    \"1. What is SGD?\\n\",\n    \"1. Why does SGD use mini-batches?\\n\",\n    \"1. What are the seven steps in SGD for machine learning?\\n\",\n    \"1. How do we initialize the weights in a model?\\n\",\n    \"1. What is \\\"loss\\\"?\\n\",\n    \"1. Why can't we always use a high learning rate?\\n\",\n    \"1. What is a \\\"gradient\\\"?\\n\",\n    \"1. Do you need to know how to calculate gradients yourself?\\n\",\n    \"1. Why can't we use accuracy as a loss function?\\n\",\n    \"1. Draw the sigmoid function. What is special about its shape?\\n\",\n    \"1. What is the difference between a loss function and a metric?\\n\",\n    \"1. What is the function to calculate new weights using a learning rate?\\n\",\n    \"1. What does the `DataLoader` class do?\\n\",\n    \"1. Write pseudocode showing the basic steps taken in each epoch for SGD.\\n\",\n    \"1. Create a function that, if passed two arguments `[1,2,3,4]` and `'abcd'`, returns `[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]`. What is special about that output data structure?\\n\",\n    \"1. What does `view` do in PyTorch?\\n\",\n    \"1. What are the \\\"bias\\\" parameters in a neural network? Why do we need them?\\n\",\n    \"1. What does the `@` operator do in Python?\\n\",\n    \"1. What does the `backward` method do?\\n\",\n    \"1. Why do we have to zero the gradients?\\n\",\n    \"1. What information do we have to pass to `Learner`?\\n\",\n    \"1. Show Python or pseudocode for the basic steps of a training loop.\\n\",\n    \"1. What is \\\"ReLU\\\"? Draw a plot of it for values from `-2` to `+2`.\\n\",\n    \"1. What is an \\\"activation function\\\"?\\n\",\n    \"1. What's the difference between `F.relu` and `nn.ReLU`?\\n\",\n    \"1. The universal approximation theorem shows that any function can be approximated as closely as needed using just one nonlinearity. So why do we normally use more?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Create your own implementation of `Learner` from scratch, based on the training loop shown in this chapter.\\n\",\n    \"1. Complete all the steps in this chapter using the full MNIST datasets (that is, for all digits, not just 3s and 7s). This is a significant project and will take you quite a bit of time to complete! You'll need to do some of your own research to figure out how to overcome some obstacles you'll meet on the way.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "05_pet_breeds.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_pet_breeds]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Image Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that you understand what deep learning is, what it's for, and how to create and deploy a model, it's time for us to go deeper! In an ideal world deep learning practitioners wouldn't have to know every detail of how things work under the hood… But as yet, we don't live in an ideal world. The truth is, to make your model really work, and work reliably, there are a lot of details you have to get right, and a lot of details that you have to check. This process requires being able to look inside your neural network as it trains, and as it makes predictions, find possible problems, and know how to fix them.\\n\",\n    \"\\n\",\n    \"So, from here on in the book we are going to do a deep dive into the mechanics of deep learning. What is the architecture of a computer vision model, an NLP model, a tabular model, and so on? How do you create an architecture that matches the needs of your particular domain? How do you get the best possible results from the training process? How do you make things faster? What do you have to change as your datasets change?\\n\",\n    \"\\n\",\n    \"We will start by repeating the same basic applications that we looked at in the first chapter, but we are going to do two things:\\n\",\n    \"\\n\",\n    \"- Make them better.\\n\",\n    \"- Apply them to a wider variety of types of data.\\n\",\n    \"\\n\",\n    \"In order to do these two things, we will have to learn all of the pieces of the deep learning puzzle. This includes different types of layers, regularization methods, optimizers, how to put layers together into architectures, labeling techniques, and much more. We are not just going to dump all of these things on you, though; we will introduce them progressively as needed, to solve actual problems related to the projects we are working on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## From Dogs and Cats to Pet Breeds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In our very first model we learned how to classify dogs versus cats. Just a few years ago this was considered a very challenging task—but today, it's far too easy! We will not be able to show you the nuances of training models with this problem, because we get a nearly perfect result without worrying about any of the details. But it turns out that the same dataset also allows us to work on a much more challenging problem: figuring out what breed of pet is shown in each image.\\n\",\n    \"\\n\",\n    \"In <<chapter_intro>> we presented the applications as already-solved problems. But this is not how things work in real life. We start with some dataset that we know nothing about. We then have to figure out how it is put together, how to extract the data we need from it, and what that data looks like. For the rest of this book we will be showing you how to solve these problems in practice, including all of the intermediate steps necessary to understand the data that you are working with and test your modeling as you go.\\n\",\n    \"\\n\",\n    \"We already downloaded the Pet dataset, and we can get a path to this dataset using the same code as in <<chapter_intro>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now if we are going to understand how to extract the breed of each pet from each image we're going to need to understand how this data is laid out. Such details of data layout are a vital piece of the deep learning puzzle. Data is usually provided in one of these two ways:\\n\",\n    \"\\n\",\n    \"- Individual files representing items of data, such as text documents or images, possibly organized into folders or with filenames representing information about those items\\n\",\n    \"- A table of data, such as in CSV format, where each row is an item which may include filenames providing a connection between the data in the table and data in other formats, such as text documents and images\\n\",\n    \"\\n\",\n    \"There are exceptions to these rules—particularly in domains such as genomics, where there can be binary database formats or even network streams—but overall the vast majority of the datasets you'll work with will use some combination of these two formats.\\n\",\n    \"\\n\",\n    \"To see what is in our dataset we can use the `ls` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#3) [Path('annotations'),Path('images'),Path('models')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that this dataset provides us with *images* and *annotations* directories. The [website](https://www.robots.ox.ac.uk/~vgg/data/pets/) for the dataset tells us that the *annotations* directory contains information about where the pets are rather than what they are. In this chapter, we will be doing classification, not localization, which is to say that we care about what the pets are, not where they are. Therefore, we will ignore the *annotations* directory for now. So, let's have a look inside the *images* directory:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#7394) [Path('images/great_pyrenees_173.jpg'),Path('images/wheaten_terrier_46.jpg'),Path('images/Ragdoll_262.jpg'),Path('images/german_shorthaired_3.jpg'),Path('images/american_bulldog_196.jpg'),Path('images/boxer_188.jpg'),Path('images/staffordshire_bull_terrier_173.jpg'),Path('images/basset_hound_71.jpg'),Path('images/staffordshire_bull_terrier_37.jpg'),Path('images/yorkshire_terrier_18.jpg')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(path/\\\"images\\\").ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Most functions and methods in fastai that return a collection use a class called `L`. `L` can be thought of as an enhanced version of the ordinary Python `list` type, with added conveniences for common operations. For instance, when we display an object of this class in a notebook it appears in the format shown there. The first thing that is shown is the number of items in the collection, prefixed with a `#`. You'll also see in the preceding output that the list is suffixed with an ellipsis. This means that only the first few items are displayed—which is a good thing, because we would not want more than 7,000 filenames on our screen!\\n\",\n    \"\\n\",\n    \"By examining these filenames, we can see how they appear to be structured. Each filename contains the pet breed, and then an underscore (`_`), a number, and finally the file extension. We need to create a piece of code that extracts the breed from a single `Path`. Jupyter notebooks make this easy, because we can gradually build up something that works, and then use it for the entire dataset. We do have to be careful to not make too many assumptions at this point. For instance, if you look carefully you may notice that some of the pet breeds contain multiple words, so we cannot simply break at the first `_` character that we find. To allow us to test our code, let's pick out one of these filenames:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fname = (path/\\\"images\\\").ls()[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The most powerful and flexible way to extract information from strings like this is to use a *regular expression*, also known as a *regex*. A regular expression is a special string, written in the regular expression language, which specifies a general rule for deciding if another string passes a test (i.e., \\\"matches\\\" the regular expression), and also possibly for plucking a particular part or parts out of that other string. \\n\",\n    \"\\n\",\n    \"In this case, we need a regular expression that extracts the pet breed from the filename.\\n\",\n    \"\\n\",\n    \"We do not have the space to give you a complete regular expression tutorial here, but there are many excellent ones online and we know that many of you will already be familiar with this wonderful tool. If you're not, that is totally fine—this is a great opportunity for you to rectify that! We find that regular expressions are one of the most useful tools in our programming toolkit, and many of our students tell us that this is one of the things they are most excited to learn about. So head over to Google and search for \\\"regular expressions tutorial\\\" now, and then come back here after you've had a good look around. The [book's website](https://book.fast.ai/) also provides a list of our favorites.\\n\",\n    \"\\n\",\n    \"> a: Not only are regular expressions dead handy, but they also have interesting roots. They are \\\"regular\\\" because they were originally examples of a \\\"regular\\\" language, the lowest rung within the Chomsky hierarchy, a grammar classification developed by linguist Noam Chomsky, who also wrote _Syntactic Structures_, the pioneering work searching for the formal grammar underlying human language. This is one of the charms of computing: it may be that the hammer you reach for every day in fact came from a spaceship.\\n\",\n    \"\\n\",\n    \"When you are writing a regular expression, the best way to start is just to try it against one example at first. Let's use the `findall` method to try a regular expression against the filename of the `fname` object:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['great_pyrenees']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"re.findall(r'(.+)_\\\\d+.jpg$', fname.name)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This regular expression plucks out all the characters leading up to the last underscore character, as long as the subsequence characters are numerical digits and then the JPEG file extension.\\n\",\n    \"\\n\",\n    \"Now that we confirmed the regular expression works for the example, let's use it to label the whole dataset. fastai comes with many classes to help with labeling. For labeling with regular expressions, we can use the `RegexLabeller` class. In this example we use the data block API we saw in <<chapter_production>> (in fact, we nearly always use the data block API—it's so much more flexible than the simple factory methods we saw in <<chapter_intro>>):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pets = DataBlock(blocks = (ImageBlock, CategoryBlock),\\n\",\n    \"                 get_items=get_image_files, \\n\",\n    \"                 splitter=RandomSplitter(seed=42),\\n\",\n    \"                 get_y=using_attr(RegexLabeller(r'(.+)_\\\\d+.jpg$'), 'name'),\\n\",\n    \"                 item_tfms=Resize(460),\\n\",\n    \"                 batch_tfms=aug_transforms(size=224, min_scale=0.75))\\n\",\n    \"dls = pets.dataloaders(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One important piece of this `DataBlock` call that we haven't seen before is in these two lines:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"item_tfms=Resize(460),\\n\",\n    \"batch_tfms=aug_transforms(size=224, min_scale=0.75)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"These lines implement a fastai data augmentation strategy which we call *presizing*. Presizing is a particular way to do image augmentation that is designed to minimize data destruction while maintaining good performance.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Presizing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We need our images to have the same dimensions, so that they can collate into tensors to be passed to the GPU. We also want to minimize the number of distinct augmentation computations we perform. The performance requirement suggests that we should, where possible, compose our augmentation transforms into fewer transforms (to reduce the number of computations and the number of lossy operations) and transform the images into uniform sizes (for more efficient processing on the GPU).\\n\",\n    \"\\n\",\n    \"The challenge is that, if performed after resizing down to the augmented size, various common data augmentation transforms might introduce spurious empty zones, degrade data, or both. For instance, rotating an image by 45 degrees fills corner regions of the new bounds with emptiness, which will not teach the model anything. Many rotation and zooming operations will require interpolating to create pixels. These interpolated pixels are derived from the original image data but are still of lower quality.\\n\",\n    \"\\n\",\n    \"To work around these challenges, presizing adopts two strategies that are shown in <<presizing>>:\\n\",\n    \"\\n\",\n    \"1. Resize images to relatively \\\"large\\\" dimensions—that is, dimensions significantly larger than the target training dimensions. \\n\",\n    \"1. Compose all of the common augmentation operations (including a resize to the final target size) into one, and perform the combined operation on the GPU only once at the end of processing, rather than performing the operations individually and interpolating multiple times.\\n\",\n    \"\\n\",\n    \"The first step, the resize, creates images large enough that they have spare margin to allow further augmentation transforms on their inner regions without creating empty zones. This transformation works by resizing to a square, using a large crop size. On the training set, the crop area is chosen randomly, and the size of the crop is selected to cover the entire width or height of the image, whichever is smaller.\\n\",\n    \"\\n\",\n    \"In the second step, the GPU is used for all data augmentation, and all of the potentially destructive operations are done together, with a single interpolation at the end.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Presizing on the training set\\\" width=\\\"600\\\" caption=\\\"Presizing on the training set\\\" id=\\\"presizing\\\" src=\\\"images/att_00060.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This picture shows the two steps:\\n\",\n    \"\\n\",\n    \"1. *Crop full width or height*: This is in `item_tfms`, so it's applied to each individual image before it is copied to the GPU. It's used to ensure all images are the same size. On the training set, the crop area is chosen randomly. On the validation set, the center square of the image is always chosen.\\n\",\n    \"2. *Random crop and augment*: This is in `batch_tfms`, so it's applied to a batch all at once on the GPU, which means it's fast. On the validation set, only the resize to the final size needed for the model is done here. On the training set, the random crop and any other augmentations are done first.\\n\",\n    \"\\n\",\n    \"To implement this process in fastai you use `Resize` as an item transform with a large size, and `RandomResizedCrop` as a batch transform with a smaller size. `RandomResizedCrop` will be added for you if you include the `min_scale` parameter in your `aug_transforms` function, as was done in the `DataBlock` call in the previous section. Alternatively, you can use `pad` or `squish` instead of `crop` (the default) for the initial `Resize`.\\n\",\n    \"\\n\",\n    \"<<interpolations>> shows the difference between an image that has been zoomed, interpolated, rotated, and then interpolated again (which is the approach used by all other deep learning libraries), shown here on the right, and an image that has been zoomed and rotated as one operation and then interpolated just once on the left (the fastai approach), shown here on the left.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x216 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id interpolations\\n\",\n    \"#caption A comparison of fastai's data augmentation strategy (left) and the traditional approach (right).\\n\",\n    \"dblock1 = DataBlock(blocks=(ImageBlock(), CategoryBlock()),\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460))\\n\",\n    \"# Place an image in the 'images/grizzly.jpg' subfolder where this notebook is located before running this\\n\",\n    \"dls1 = dblock1.dataloaders([(Path.cwd()/'images'/'grizzly.jpg')]*100, bs=8)\\n\",\n    \"dls1.train.get_idxs = lambda: Inf.ones\\n\",\n    \"x,y = dls1.valid.one_batch()\\n\",\n    \"_,axs = subplots(1, 2)\\n\",\n    \"\\n\",\n    \"x1 = TensorImage(x.clone())\\n\",\n    \"x1 = x1.affine_coord(sz=224)\\n\",\n    \"x1 = x1.rotate(draw=30, p=1.)\\n\",\n    \"x1 = x1.zoom(draw=1.2, p=1.)\\n\",\n    \"x1 = x1.warp(draw_x=-0.2, draw_y=0.2, p=1.)\\n\",\n    \"\\n\",\n    \"tfms = setup_aug_tfms([Rotate(draw=30, p=1, size=224), Zoom(draw=1.2, p=1., size=224),\\n\",\n    \"                       Warp(draw_x=-0.2, draw_y=0.2, p=1., size=224)])\\n\",\n    \"x = Pipeline(tfms)(x)\\n\",\n    \"#x.affine_coord(coord_tfm=coord_tfm, sz=size, mode=mode, pad_mode=pad_mode)\\n\",\n    \"TensorImage(x[0]).show(ctx=axs[0])\\n\",\n    \"TensorImage(x1[0]).show(ctx=axs[1]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can see that the image on the right is less well defined and has reflection padding artifacts in the bottom-left corner; also, the grass at the top left has disappeared entirely. We find that in practice using presizing significantly improves the accuracy of models, and often results in speedups too.\\n\",\n    \"\\n\",\n    \"The fastai library also provides simple ways to check your data looks right before training a model, which is an extremely important step. We'll look at those next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Checking and Debugging a DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can never just assume that our code is working perfectly. Writing a `DataBlock` is just like writing a blueprint. You will get an error message if you have a syntax error somewhere in your code, but you have no guarantee that your template is going to work on your data source as you intend. So, before training a model you should always check your data. You can do this using the `show_batch` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAgQAAACzCAYAAAD2UgRyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9eZRlx13n+fn9IuLe+97LpbIWlVSSJdmSbEveN7xiTDPmsC/TzTQHzNKmgZmhe4ZuONPQ9rC0aQ69DXiYHvocaPAwcIBuGBrG0ICNbRYbW9jgBdvaLGspbbVlVma+5d4bEb/5I26WUuVSycKyy2O97zmZ790tbtwbEb/l+/tFPDEzllhiiSWWWGKJJzf0UldgiSWWWGKJJZa49FgaBEssscQSSyyxxNIgWGKJJZZYYokllgbBEkssscQSSyzB0iBYYoklllhiiSVYGgRLLLHEEksssQRPIoNARN4lIr9wqesBICJ3icgbL3U9lvj8h4i8RkRMRK661HXZwxNZp6Gc1+3bfsyxISJvEZG3f6b3XmKJJR4Jf6krsMQSS1wU7wGuAE5c6oosscQSX9hYGgRLLPF5ChGpzKwDHrzUdVliiSW+8PGkCRkMUBH5KRE5JSLbIvILIjLaOygi/1hEbhGRhYjcLiJvEBG/7/i3iMj7ROTsUMbvicjT999ARF4gIu8dyrhNRP7eY9GgIuJF5MdE5JPDdR8Vke/97LyCJS4GEXntEF46M7Tzn4jIF+07bkM/+Q0RmYrIPUMbr4vIr4rIjojcKSJ/97xyjw5U98nhnHeLyKv3Hd+j4b9aRP5cRBbA91yInheR60TkPw91nInIh0Xka4ZjGyLyK0O95iJyq4j8gIjIvuvfIiJvF5HvEZG7h7HwOyJy5HG+rheIyM37+uxrL/A8jwgriEgUke/8dG8wPM/eu35IRH4CkPPOCcO4vk9EOhH5mIh8y3nnPFVE/mio6z0i8n2fT2HEJT4VQ/v84qPJ7Au1n4i8UUTu2retIvKTw7jbFZFfF5HvF5H4OX6c/1/gyWYQ/D3gEPDFwLcCXwf8KwAR+THgB4EfBm4E/mfge4Ef3Xd9DbwJeCHwWiABvyci1VDGGPh94CTwRcC3A/8UuOwx6vULwH873O9G4F8A/0pEvuszedgl/lZYAf498DLgFcDtwB+IyKF957yB0s7PA94K/DLw68DbgBcAvwf88t41gwB7J7AKfOVwzu8DbxORG8+7/78D/jWlH/yX8ysnIpdTwggblP77HOB/BfJwSg18BPgG4CZKf/1x4DvPK+olwJcCXw18BfB84N8+5tt5JP43Sl99AfBe4HdF5MrHWcZj4ReBFwFfC/wd4FrgG8875yeB7wa+H3g28CvAr4jIlwEMxtBvA+vAqynv7auHei/x+Y1HldmfJr4f+J8ocvgFwM3AjzzBdfzCgZk9Kf6AdwF3AW7fvu8BWmACzICvOO+abwe2LlLmQcCAVw7b3w3sAuv7znnmcM4b9+27a28beCpFmD/zvLJ/BPjgpX5vT/Y/itG8CXzrsG3Az+w7fmTY97P79m0M+75m2P5O4Djgzyv7HXtlAa8Zrvm2887Z23/VsP0mSghh8jie4c3A2/Ztv4VitNb79v0Q8MCnWd5enb5r3z4P3A38xIXqve+8CHznvm0DXrdve//YuH44/tp9xyvgPuDtw/Z4GMP/43n3+W3gHcP31w7lXL/v+MFhzP/Cpe5jy79H7Wfv4uIy+13ntx/wRuCufdv3AW8675xfB+Klfr7Px78nWw7BzWaW9m2/myJgXgyMgN8Skf2/9uSARkSOmNlJEXk+hTF4PnCYh6nLa4aybgI+bmZn9wows1tEZOsidXrxUM7797G6UARsuuAVS3zWICJPpXi9L6cwO0pROtfsO+1De1+GfpGAD+/btykiHQ8zQy8BLge2zmvjGpifV4WbH6OKLwLeY2bTR6m/Av8L8M3AVUADBIqy3o+Pm1m7b/s+4Ohj3Pt8/MXeFzOLInIzZQw8Udgr6z377tOJyF9SmBwoRkMF/Ol51/4Jhe3bK+eUmd2xr5wzInLrE1jXJT47eDSZfd1jXSgia8AxCnu1H39BYR6WOA9PNoPgfMh5298E3HaB884M4YA/Av4ceD0PJ3p9lNJB9/B4fz5yL2zzCorHsh/Ln6L83OOtwCng+4B7gY7S5vvbuL/AdefvMx5uWwU+zqdS3fCpbX5BRX+Bsh8NP0BRhP8U+CtgB/gnFIp8P7oLlHn+eHi82H99Pn+fiDgeX5jy8dTn/Hci5+1bjqUvDJzfx87vI+EC5y7b/tPEky2H4CWDUNrDyymC8YPAAniamd1xgb9EiekeAd5gZu80s49TqOH9HfJjwI0isr63Q0SeARy4SJ0+MHxefYH7fuIzfuIlPm0MMf+bgJ8ysz80s49R+sVj5YA8Ft4PPA3YvkAb3/84y/oA8EoRmTzK8VcDf2Bm/9HM/nrwim/4DOp+Mbxs74uU5NuXUAwfeHia5LF95z+fx6fkPzp8vmLffarhPnu4g0Ihf8l517563/UfA46IyPX7ytkAns4Sn+94NJn9CUofO3be+S/c+zIwtfcP1+zHy1jigniyGQSHgH8vIjeKyFdT4rE/P3ScnwR+UkT+kYg8Q0SeJSLfLCJ7CSx3UwTPPx6yvL+MEpvdb33+KiWH4JdF5Lki8lLgP1Jo4QtaqYPA/kXg50Xk20TkehF5noi8XkT+2RP/Cpa4CDYpsfXvFpGni8jLgV/jU2n9x4tfBT5JSUD9chG5VkReKiI/LCLf8DjL+j8p4/Z3ROSVQ/b814jIVw7HbwVeIyJfOjzDTwAv/Qzr/2j4IRH5qiEx8ucoIYefG47dQRkzPyYizxSRVwE/zePw1oax8buUMfulInITJQF3dd85M+B/B94kIt8kIjeIyD8Hvp4ypgHeTgnz/LKIvEREngf835R8hqX3+PmNR5PZU0q7/jci8t8NcvOHKMmH+/HvgO8XkW8d+sb3A1/Ost0viCebQfCbFAr1zymJJb9PibdiZm+iUKv/kCI8/nzYvms4fgp4HSVB6aOUjOwf5GFqdE84fRVFMP4lJdv5ZyhGwuIi9foeirB8A8Wb+WPgO4A7P9MHXuLTh5llStjoOkpOwFso7ffAZ1juguLBvh/4JUpY6v+hzEQ5P7b/WGU9ALyK0o9/n9IX/yUPe95vosTPf4cSK92gKMzPBn5wuN8HgVcCX29mx4d6RuDvU9iVv6bM3HgD+8bLp4nXD+W/lfJc91ESBvfjDcDPU9rqo5Rx+joz++OhLkYJ10yBPxvK+q8U4+li43KJS49HldnA/0XpV/8HZWw9hU/t6z8zHH8zpR++jGIkLNv9ApAh63KJzxJE5BqKUfF1Zvb/XuLqLLHEEoCIrFJmfrzRzH72UtdniU+FiLwLuMPM/uETXO4vAs8zsxc9keV+IeDJnlT4hEPKuuz3USjiayhzyu+mJCQuscQSlwAi8nWUEMHHKazFj1Jo4/90Keu1xGcXInKMwg69kzJr62sp08n/0aWs1+crlgbBE49DlIVgrgTOUKbJfNN5U7yWWOLzFiLyUR45zXI/fsXM/vvPZX2eIIwpa3tcSwkdfAB4lZk9dCkrtcRnHYkSBnwTZQruHcD/YGY/f0lr9XmKZchgiSWWeASGMFd4lMPbZrb8oaUllvgCxNIgWGKJJZZYYoklnnSzDJZYYoklllhiiQvgojkEX/OSp9uBcU0TPBurI0beMxl5mqCsjMfUlWdl0hCcow4BRFDnUBW8d3inVE5x3iEoThUkgwhioAJlpeDhzwBL9F2L5cRivkNKib7vIIOhiAiqDucdznlUBecD6hw+eFQU7wKo4IIf9leoKOor1HuaZkSoR4CAOgRBUBRHVocZiHgMJVvAUBaLRIyZWRfpojHtE50l0niCNg3VyhohBCaTCVUIVHWNcx7xDhHFuVJ3EV+eQRQERLQsaad7x+Xcd+Dc54Wwx+6c+8SwC6w3J8MOGf7JRdaGudj9/jbnnX/Z3+aizwTfeuQKQzOpjeSNEYYQ44yzbWbeQReh7TqSZVoTskTMAlEyQXo8QmugGWaWaRXG4qhqCNJQawSpcKKIU3wQgmQWaogq85kxij1TTTS9YmI4VXyu0HFgXDm8VOBbKt9gWRGJiIPoAGvwsSUpuOiJk0SFZ1RPoKoJzqiqGjXFS0dyFYmEE4fkhHNGlIZIyyj2RNeQBWpf45oATvEe6jwh0ZJcJohHRegd1MmRK6ioSZbBQdUvsOAR16FxTKwdrk9E1+FiJksEbUjO01BjKN5V9GrkHEEyTj3JlJx2EBRRj1jGVJFeSXvPzIKIYNYg3pi4TC/gZZUAWAjkW44j77sNkx7dEYIDU8r4iwnL4DXgoyPVU47eeBAzT2UtppBHgrYVf/nhu6nyBJMpk8WYaRPJEqhixEToDd60devnvA8D3LWbLCikHBGFnARziibDCZgoWRIiihqYgIohCRRlbuBJVAZzVUSL/M0OkmWcgOsc4ktfz5JQhIThxDAVPMpYhbZv+crv+yUOTCbk3JKaFegSsxypF4ktv8vfve4aPnB8iw2BYwfXecdd9/CCtcP88d1neeDe23jdP7iJr3rBs/mNX/4Q7cqEMzueay8ztvodjp9oiaFj1TZwdeCAC7QypZsKo6phHiNXra9wfOcB1sJBUuXZXnRcMYLv+o6X8dJnPI25GR5PMqNHyPKw9xuzYUASRbMhAtmMaIIouOHcDLRW1q/3AiKgCJYzhtBbRhFUhV2sCDdTPNBjhAxJDJ+ULiTMFMGwQePsiWoZfkegNmHh2LdmqA3LnxoeYWYGAhVCxhAruiO5siinWNEFTgWzjBdlLwCgBr1AFvDJeEHjLtiPL2oQvOy6KziwOqKqK9ZXxtTeMx5V+CCM6zFVVTFuapxT1As6aByhKDpRwauiamAJk4yZYDkVJZYTZnn4NGLfE3NCrSflsny1WEYtkQ0gl+skkGIq16GQe8wpkn0ZGEOHd0wQ84PyMmKao9GRaFFrEaegoRzXIozUNYg6nFtFnIB4DEe9EsA8G72QYmRnd5dF23Lq7Al2TyVOqScHT7NxiLppWJmsErxn3IwRpzShLgrfKaLFSFJXBKWI4n1A1aGqZMuIySOMAjN7TOMgZcgY+ZyBUM7X0iznDAIdOrxIMSLEOGco7P3IBbLXjo+85972nhHytzQMPmdwsWUqDkmBymWEhp3O4Rae7HoqMqdVmJqyYIFLgvkeORdKK/26IoFJEZJOyBmyT3RS4Q1yiDQoKhUkBynRK3gVIh6NHa06nDrEO+rK4TFcTPRVpkbo4gw04NWRFz2ty6zqKs0k4FZH1BoJeUSqPXUFikeCkFCceEKukcqRQkIs4tNloD0hQGYdY5cUa6ztSZLo246xa8jWs4jbyMjwnSO6ogQCDdkifhHIJFID3gKmYwAs1Sw8VH0mBQUcrnY4VjB6NHva3GPmEdtFXcBpTZIp0kecCrWbkHJLJ5Fk4Htwg7aaaksTa3xO9KqQhe1uSnYVB4LRaYIe7BlXYh+/k3w6Qm0kDJ97+jzFmgnj7UTnILuIdQkLCp2RbXAIolJnYX02wcKcqdTMQ4LOCNbRSSaLQOMetZ99tuFzHvSEDuPVcLko8h4QEhlwqQh9M8PQ4ZqEOoMstCKICkqCpGDgc3nngpFyBhXEOYKBNyNrZCLCQyfP8vVv+G3mseeGQ5dzIp2ilZ6QtkixYdHvklfgBlvl7u0tVscNYx8JndFl5fZ+l/XDiXDkCj784QUbuydZObhGFyNXjFuO1OssWs9Vh2asrzQsdhJN8BzfWlBrxcQJm/1Z1serLNKClXHDai2cmidGdccuFf/hLR/mrVd/mK981U287HlPL9qoLwo0mWAOvAjOoMsJFaWTYiDsqUjLRidGUGEFBoOhLI9oBsnAKTgRzCAajEVw2cha5EYFiCvXpZDxBmKDjhRQLa1jKmgGS9Bi1Bl6J8XIy0OFpAjv9c7oXDEpnFPqXOR0sIQgOFHUUfSAOCoMVUHFCCKkbJiA6KPL7IsaBEcPrrKxNqYKdWECvKeuPT4oja/xPtDUHnWKunROSWDF8xfJeCc4B5jDBqvI0vDrSimXF4yRUybnSE6RlHpyfnj9kvKwRixWATmVwYEzEkMDuWL+qGpR7CJUtS+Wr2YgI+IQ8airQBTE4VxhNiT3SDYkRlAjyRSVgHijmM0VAjgfcDmwpjDqazQb40VLt7PLdD7lxHwXV48Yrx4gBM/66gGcd0yacRlk3iOiVCHgVfFNxDlXLDpfAR4nrjTcvra4kFFwvnLewx5TkHIRB6IZrCh4FcGkvDMZrN496/IRut2snLvPnr2Q8t9vGDyW0XIpoFbhNGNBSK3hqxnjbCwwXBJmMdPlSEskiJLdYBiqQNszk0wSYYRDNGMYmhUnVoS0zyQB3yu9d0juITuSD9SppY2ZlI1sDT53OBeotFjvKYBFQa2lk5rahBgN04xbUw7qKs55RqOMhYqGgDVjJCQ0JUJdPO1eAuaUOinRFDXD2Sri5pg6xBIEAcZ4AVc5LE+ZtYLpAp8DQcdEawkq9FlRc+DAXKBzQtZEHR2qkYhADqhEfGdYKMY44umJeIzO11Si4DMuGW1KqEvUOUFwmHQQFfMJcQ0ap4QkmAjJjKyOsY1I0mIBQp5jWUhUqDlS6kBqnAjRjPjcG7H3fohqmuhIJBSxCQ1C5xQd1UQfcWGCEQszJ8UHTj4z7wPRZ8x5JBV2x5knZMga8bnC2ksXYTWfSAiypySseO/FyBckZUSFBDhJIIqmjOkgc7MUo2agENfEUzVGBsw8Z/tIJx5vGWcZFh0fuOVWvuSFN7KzWPDANPJnf3ILR9YPsZVOYVVHPTXmGU6eWlBrwo16uh3H4WvWOXX2QbY2Oy6/vGJSG31ccGhymAe3TlDnjhc+/Qbi7gIMKqt42pFVpv2UZixspFVmOy2beZdDbkSSBds54S2QzHFyfoa5rzkogcUCRBbQZNouEdMOv//OE7z/Q8f5gdcv+KIbr6NeXUOy4J2REJwWpe9VQYQ6l/eQpcg6U6ExefjXSKwof9VM2FPqGFkFn8EP3pYK5R0PjEPKReEDNBgRw4uRtHj5NjDlYhAHx0NVCmPAQJgLeAwRo3aKF8OpUQGVGm6oryKIlOcTV6pdmB/BD+UEGXTtRUT0RZMK//SnXm918FRBqerivZYiIzooEOcyIoJzCmKICZbLCxOnVM5R1TWiClos0pR7zMD2lH5KxBiZzRbErqddLEgpEtuWnBJd15OikYYfvVJ1mA1GhOViGQVH01RUIRCaEeI849V1RqNVRivrxTP3AedGhHoF8QKquGqEqmOISWBE0IcpfdQX40EVUUf2AXEeyTVkyPOW3PVsnt1mdzbjkw89yOZsxr1ndtmNiYV6qlAxmYzL58oKwQcmkzG+rpiM16irmoPrG6ysrg2syxjvPD5U50II5bkfXSDZ0AFzLp/JjM4yORtmxSxVKQpbdM/7L1SS6l5IYY+RGLYKB3UuxCEYqo8MOajqRQ2B/UaLXAJr4TsOHbEuA1nxKw48LDA2p5HZdEpOnluZ43zALNJno02G7VlLqbzLwsc5ak2IQYfiHWxUFRIcR80h2kMoDFOfIpijSz0x9VgXcaFiJYzwriV6j+8VCR7zxqofESpB6kBlRuMqrOoJeQWpIAcIQRlphTkHEnBqZJTGzYiuQbWwYSE0pY1yj/mAkdGgOBqS9IXWNGWRO0gBlzu8ZWIIYB1BGqIr/caLx1Ie2j+SXEC1Ql0PLlPlUOjTEHGMwBlewGxMdh0m4LIgdOQ+Y9qjzpNdQybiIph6cqW4mNA4JydPrDyGsWh3qFPAnBGysZBMEIdpoELJXqisYj5KVHNP/LV3EfoWy4aaoqFCzehHSj3vyc646jmr2EJw4xV8MqIscDnxNx84SXCrJGbU3Yh51WJR0dxhIuQq8C9P3XZJLN57dzpLonh6LBUlkABnQjIILhERgslgBBgkQZzRZajVOFALN//1rdxy7za/9ae3AY7ZtGccKr7oRUe5494HeeUzj3HlFUf4uf90M+vNCg+enNMFuOKAYm7OfJZZHa2zPT/LaBw4u91zeLLC7Q+dwSoh9I611chzD13F6fkmi2nHZKVmai3PPXw5H33oDCYVtz9wmpWJ4zmHDnONrzld9XQpMZ/VXH5AuX/as6qOJImchJOx5c4HT7Gx2tB2Lav1AXY5TZXHNKseaUfM+im5gu0+MWodORqb803+2T94Na998U0cOnCQJEYUqEyLIWlGUCVjRSEPjk3EcLnQ7I4iCoIJPYaiJANsUK4C3XB+EinjxSkqRkVksYg4gUkzKgYvRpsNy8JCE8kyomVSjwPUShjD5WIEBBO8GV1a0KaekztzPnHvQ9QGN11/LRtrK2QgDQymDYxHsWVk+AUoO/ffDNbdhWXxRRmCJoBzPWCkzoiWsNxh5KLMJVM5Q9ThQz1Q0YVGyZbBOdR7VBPqHGih3HKKwOBdmkHOYBmlR61HcoelntjOiTHStj0pFWYhYyU2KJBiYSWyCJo83jucU7zlc1ZW3nshlotCkxK6EB0EqFaYKKq5/Dya+ML1yD6OvQSPipKw8uyiGZwiUuFrzwEH43FFzh1r04p+0fLg7oKTJ0/RdZkQGtQ5mvEIHwLjyYSqrlhdPUAzHrFz5ChHLruM8WhEXk1UVU2D4dThfTjngcOj0/TFi4dzwYLh9cachrhU8fXdYAA4IEmJMe6xOlAGBYMS1CF0kIvtiebCFpyj18yGnIsL96FLPYulT4MuH95BMiNT2J7oPG1OzCJgPeu1RxwkyYW9AkyMjKBSPItsDoJBZ6QEp7qW0DuqSc1EKnLqCWZkVVLuySmjZEwbvGbMZcQ5MI/QoxKorUKaPAicBCTEPM4q4mRBbSNUK0apI9cJy47gDJeN6IzcKYyUKmf6KiDSor2DEDBTVEMJK1hGDJLL+BxpXI3RYRkW4tCYcdmTxoLLgaxFmffSY5ZRrfEmWF4g5opB7AzEEXrFqkQSjyUB7fBRkL2Ato3QqqPrEphhzvDaYPEsTjucX8GyI1EhPqB9LHIlFy8uZ6GPQvZGEiW4YhybKAuM2hxaQbcxoT2dcalFaInJCKGiqiJMA5UzUl/jnJAXu2g9AufpuqqE2lzC9xXzyQjtIPmEpopMJrjHu+ryE4eshrNIFodKImM0VETfM+4FcYF1NcwbXdthrmE3Qs6ZwxWMguBx/Mh/eA+T5gAbowmjdaWdtMxi4r/82T2MxplbPnIv5o9z+eVjdg2aJpI0M28r1nUNtQXTdptJqJkt5uzOhBVdMPIdrVTkMGORHWemHdtdy7bNODhp2Nrs2Zl13HryLHWTaAKc2dlld+MYn9g9y+GxYxoC83bOrh+zAjw0m3NgVOOy4zJX8aEwo+mUCk8bMxthnYhjPmsZmXB6Hql7RX3ESeBpV6wy8w1v/vn38Z733sW/+cFvZNw0RWmb4a3oK8lGUkOthJY9RWY4wGsxupQSv08p0asVh5GBcEEI+xjdDNRiVBh/9pG7+Kv33c1VT5vwwuufhps4+r7nio2DWJ+ZNA6vSjI7l/vhKal2ljKLecvpnV1uvf8kd919gvu2O048NOOue7dYazwve+EWr//6F7DSjFGRIqdNSw5NyiBKxEjGuQCS7em1C+CiDMEf//DfMbMesyIMS9xkL8ZcvMOqrnDOUVUVTkveQM5GtoyKo6pqRpO6GATDIJaUACNHMMslRpOhbWf0bctse0HfdSxmLTFG+j7Sx0y3KAaABI9zDvbiQAjOe+rJiLoONJMRLgTGqys0zSqjyQFUPWE0Rn3AhRpfNzhf45tJYQrEl1ZwhmgNWmHDj7UqJRkMrNQXEA2YOETBBo+FnLFZS+46dk6fZmu6w23Hj/PA5g4fv+shtmct7UIK/VR5vCquGSEijFZXOXTZEVYPrHHlU57C2toalx08TFONWF9dwfuqJI+p4r171AYtTEEmm9H3mZgzfSyfbR5+0UP3DAOFISlmL5xQjKKBHBkMDBloNmEv+ZHiMe7LRXCDdb2fxTjHUA5QvUjw6rOEbzl0hRmZlAVbMbyLxEXNjgmbZzfZyYHb84KUSyRWxZh4wXvPyBydSVGgTnDR8GHI+onCLHW0XU90g2cuxdiqVFmtA4FI7Aql7RtPjRIymLMyZoKwLhU5VIR1TyWeSb0GEpGVBslKFQRRR+o8TY7E0CHOnWPXgoHWIFZjwaOacWGCBsNnjxhkFxCdIznQmxDoII/JuYOcSXWFS0qyOV1KOFkpxqKLeAeSMyGNkJDJQcA5yAnP8C6cx6cKQgTnySaErCSvRNfjUMxlXFKQCpIxsyleKrxXpF2QKiFpheUZLisWi/dlUchO0H5BDIbgGeWKLEZ2kaw1XoRKi5Dvwwi57X66d/4VSVNhCFJPrSNCnwl15Mg1h7HQY7mmch3SrBNb4xMfOA61kE1hrIRZJLTGbiOEnAjqeMPpS5NUuNv2tpl6umgcDIqXzD//hXdyzyfPcs3VK3zk1i3mvuIqznLKDqJxxouet8Fzrr6M33nH7ZzZbTl8tCZlJU0V18Dm7pRnX36YLrfccXqb+TTT1sWb1ah0feKZh4/ywOYWk8qzG+cc0jFhHDk77ZG65/6tBZrh2MoR7p6fIE8zeSWz1k9wmrj+wAZnFzPumG6x6iowj+WW7/mSZ/DQmczv3nIPHQo242VXXk1DhasSJxeZW0+coJ/3XHZl4LA7zKmzu5w+u4BJx0Z9iNRl+mrG1nbm8MRzZLTOaKJ85L5tKvXcdHhMCBW3ndyl9y0ffs/dvPxVB3jLj34vq6srRDwZWHVCthK3T5aZZqGRtuRVmDLvI6PKkck4cYNQK2HdmAuT2lkxuLu8oJbAW9/1Xt7956f40Ik5RzYmrK/DA6fmHAsTTqYt5r2ibaTVxHoFr/3iGzh6cI2HdjaZzRfcfudZbj8+I/eecd3QpSnPuvwwcVRz14nTmKu4Ylxzer7Lia0drj4w5hu+6ukcPXSQ6fQsD52Yc3K24JnXXMarnnU96gObIohlHMJTvH/8DMFsZxunJbnN3BAk8TKEoQxTJSpgnqiQRfGu0N5yiF4AACAASURBVC9mQ4JbUmKvuGwofqCcDctGShFsoJ1TxvKQhJFjySfIuVDWFGttiI5jOQ0JeQ4nGXDIQF0nK8kjZKNdtJBd8TR8hXiPy6VuOswmUFc8EnP9oC3jwFa4c8rxYYtKHuGdC6lYMhIHrajouMFVFQdUGa1OEDKH13awPvHQ1g6feGCzxIlbo3VGFTPilBg7YuzZPHOa2XzOyvoqu1fusjpZpU+HGdVjVsZrhOCBvQTEh5Oc9ht2A4tVYmXIwAIYWCZnSLHEytIQQ3OPUOKFVlIp3p1DETHckCGrls4ZACJWLOzBKjCBTD5nJDxck0uXfOhjhMqhvaNzmawjetcTpTRsyCXJVShMQDZYZMH1GReUqILkXNgtAfpI9sJoVONbpdVCO+4m6E2JndH7EhJrtOTPhBRKBDEN8UuJTBjTiCOsNoivqSuP+gQ+ESTQZ6XGlZyA1OMrR7IVguySKOEDSw3JdyX/RQRnhiWH05Jp3jcQsiKpsApmkRAzKdRY7tFstICLicgCb2FgKUA0IeaQ5LCQ6ILgBbyfIHlBclKYAK8YYYiHOmIQtDdSLWAJNY9mI+aE4EBmJNewksYs6IvPUo/JcYrLPRYqJJYYvpLoLZOH2RJVDmjfM2sMT4XgcGSyCma+ZFiTcc84xs57byHMdlHpCZXHciaSsOCIoadCSS7TO6PRhMWMukzODu+Nbg6SEwunBBIpgdqlYwi2t0/x0GbHscsOMQmwsxu59ZO7TEZjPnb/lGo9om1gboFRMCpf87YPnuQP3/MAL7zmMsYrB3joxIyFtNQpMzubaCYe74xulqh9Q69GO90m1lAJeK+cmm9TjRPOOeoE6jvOdJkscw7MDjIiczJPuTIkDsYJ43Hm/naLDExWhTtmJxETDjQjuh6edmiN99/7SbbPtnQRpu2MqhmhqeH4mZOsTA5yLI3Y3t5iJQqjA2vc/sAJ9MiIyq0wW93CtsHcnMvciImsE9Z2WJeGzfYsG+vHmIQzmME8RtaqFUZjR78IPPN513P3fbv80M/8Z779a7+Ylz//hiK/tS46iYSg1PQEqTGgI5G9ByvyrWijh5nTMGRsF1ZQ8BLAlP/69lup2mM4MXa3EgcbwGB0ReCGxUEe3N7l8NED3LK1y4MnMz/9Sx8jrPYcbtZogodRx4HRCGsqKnWotpyspqw3kbgQJMyY5YxUHS5MuP2eBW/+9fdyaLLGwXXYcEe4+fZP8rbDt3CwmvCMa44wmoxJoowu0s8uyhD8yututLoKBKeE2g85AyUGXRgDxXmP05IkZ5RQgVnxgFSFEDzNZIwPNXVTo75QM2ZG3/dFyA5Kv+97Up9YzDr6PjKdTkueQBeJMdHOIjFnshi+qqhHI0SUJIJ6T6gqQh0YTQ4AkFOHuIAXh7rMePUQLjS4WvA+4KuK8eQgzlc4X6ZoiErxbM/F2a3kDFRjRAoNy15CkoDxsNFS2CMrOQd+VIyRNpIWM048cB+bm2f5yCfv5sT2Lrfcs8m0jXRtCbkwTFtLlkEM7z3V6grj1VWuferVHNw4wLVPvY61lXWOHjpKU9dMxhNU/SOmKcLDxkFKiZwzMSZShkXbkVJmp2uHRLeBRFJHLjbUuSQlTArtJIIqeHVDrkiJU3lXEu+8lPflXWEH/JDQ6YYkmYcTF6EK4XNuFbxu7SmW9CyY0jcVbqQsupbduWMWI7u5484WutyRYAgwAQjqlZAURjCKRnRQSyZlWKk8okIbrcT91Jek2SFnY7OLSOo51DSMDLIHr8qKX6NqhI1GCXVRsKbg6lGJM3qIKiAVqlqMOXE00hODpw4VJgFVT5IFPgn4hqg9oYtYUFxo0Ci4akxiVujuXJJZVRJdNgKeXnrEB/oIgkO1hFUkVVAJZnO8VoQwAsm4qi5zIZ2Q4qJM+TVDvSc7D3kHzxqpyrguA/2QVS1YWENZEK1DYiL6pjxfl3CWEOfp+zl+VGOxBllgyYh9xvXQS0fvPJIVFyLSVYjvybVhFqhFMXPkBLEOHAiBzY+eYPfdH0D6OZN6Be066lXHFccmBA+JGtyCql4j7XTceccJfKdkSywEQnDo3IrRpR4nnh/fvOWSWLbf9m9+yzZP9ZxuF5w5u8OhjVUOjDJ9q3gRpovMsbWG+6dbbNQrbM4WrHhPmz2zWctKU1ElYyuc4crJZWzHXa7yGzw43eVs17I6Eu5fKMe8cqrbZdEJThJuZOjZilEtNMFxeK3h7O4O41HD6XlH7BObOwsqMgcO1aSFEcfCNWPhG592NR86lbn5gft5aHOK4dhYr2mnC77z1ddx3z09d2vLX3z0HpqVmv6scuXRmgd3p1y5PuahrV1WmprrDx3hvQ/cz5Eq8OJrruauzVOcnCvtYoqveugPQNrm1Vc9lXu7xHTRUoUF210HwXN1s85du6c5NTfWa2NtdJBbP/kgX/qCg3zFS5/Fl7/y+WQX6FKi8hmfHU6Nu++9l5948zu44Zkr3PjUGzi4brziRc8FMuoCgmKWMBxY4uxswT/5t7/GbQ8ueP6VT0FyYrON5NSRfc3mYsa6G1M1ga0zZ3nGUw6xPY30vREmgSyJto1UIVH7iqqZsLW1jZrjm0fv46cfeh6rboRzc6Y+0adhlkOqcJURJCIiPHWi3DfrUBlxxcFVPvzR+xjXPV/1ZVdy/RVP4bKDE15649MfP0Nwbq2AgV4WsXNTFvZmAagZGORBm+ylBZRpL0UbpOKW4qkKIyAMc/MDMMxNJuNcWa+gahQXylSfFHt6bdGYsaxozESLqJOSse9CUUbeUdUjfNUQRhPIidiBc3XxpCVhopgJMQ7zPCQR+67MK8376HMFszg8t8Nc+dl0E4dYKN6iD6W8IWUD60syZW4RMuJHmBuTq4BqzZGNNSaVEtspR8YBiZnTOy3HT2/TxsiiM6wFhjmk0Vp2d2ac0ZPsnDnD6voKWzs7HLnsKDEnNlbWUHGEUFGHCpwgQ1xrf8a/qqJS8j28M8QyNZk+R9q+xMkTSkbOxdbSOa/eDbNFlOBLOEhV8OoIzj08rVQEn6Ukufm9zNe90MIQp7s0BAE4cLnMJCEmLBvOTwgsQARPjcm8JLym8uR5zyAyJSGErvQdTZkYPMEZfYwogewcmjMlpaTEuEWNDXFsz6UwXeoxyyRTmioxGlVoNSZpV2ZzRKUe6eD1AxjOEpojgRq0Y05AJRNcoFPBcizzkWPGSSyZ99IhripJohXEPtFnY+ykMAZawnNYxLwjxrJuR60e0zI7QoJgVtb46BL0BpYSlc6JUfEqEAWRhEqDhZYsilmLoyZ3C0yV3oUyfTiVvJOQI14ScSREKfFSsZbga5IIJE+oGrQTOh/xvRCDQ9qWRMtCHIkeV3W4NEHHQ3pX7Eli9CR81eFyDb2RfGT8nMs5/cGaeqejm0VyLaR2xul+hdGiK2FEP6JvOpQOemEuGW+e2keiGVJHYgo4jYT+EvVh4OzWLguDSgKXP2VM0zYEN6XLJe95DkxSS+M9lSqdJZAVjm4Yd0nPZh95zrGDxJ0Rp2c7vPjKg9x852lmbgqM+JYXXMeb3/03LNIGadGxVgX6pMwWPU1dGLIQMjkuaKoJtUXG44pTW2epXODbv+ha7tw5zcfu6ViJiVdcexnvP/4QEla5fmOFk5sLokTmC2WEZ/tsTwpwXbXKh1YnTDe3OLyyyuZ8h5VG0Ox4ysqYB3fnHGgqgnkeOtXzMfcg0cHWmTPUow26PvKMAyuM6gln2ik1I+7eOs1oteYav8pmu2Czb3nm4XXefc+Us9MZz78ysIgH+IObd3jr2/6I7379Jl/zZS/io6fWGbcLXnxNS3dmk3f96R2wcpQ/fPcneff7Ftx7312841ev5eDBw+RCu5bM/pi4/fi9/Nyvv4u/viVy9bUHuXPzDONUceRoRbejtGY0OuJEd5oDHGS9EcYuczp1SHCsphkr6zVxfIDd3DKbbzPddKS+J7gJt2xv0jqhWWT8QUfjoX3ICEERWeDJtH3CiXD50cvoH+o4tlIzzxl3oGGUx/zaH93GOJzg6cfGvPQNT79gP7uoQVBXriww5BXny0wClaLsc4Qci8BJTok5DpmVOniFrsRJm5pQV8OCRYqKG5QxVEP8/NxUQ5dLXsLIgQpN2xK7jvnOlBgj4uYsFi1pHhHLpNThFUKoUacE7/DOUUsoCwxVEJoR48k6KaXhOQI+1MWrVyXFjpQWeCpUiodBToj1JVPbh8IaLDZBMuqqMpWrHiG+QnxVLKdcEhfpW7BEzmfLGgviMClJaSsj48Zrj9C261x79BDbszl3n9hic2fO7Q9ucvzkLjttpm9bLCUWXZlFcer4cUyFj7z/Q9STEdc/5+lcefVVvPRFL+fIxmGOHb2c4BqapkG1LIRUvPkyG0NQco6IZLIamoWIQTela0uiV7KSgJdMaHOZo514OHyAd0P+gsfr0C+GT1QJIeC9YxQ83gm1d2WRKK8lx0OVpn7C5eRjomeGM8VHpWtSMfjiHO+M3INzCSwTUy6De3hfiCGxaIBWDKTCVAh9BoW6mmC5Q9qS1OqC4WNmsj7GqZFGyuWrsL29oHLCysgzbgIrboQzAzxq0HiPeMFXjuC0rAGQBDFFQvFEetcwdh400qY5WT0rOiECjVfmcZvcjzAfylTTaSz0fb3NONTETEmCDZHUBcQ3tOZpqpIfITKBHJHUkpzBGEJTo7KKxg6LPRWrdHGO5Qje4cIKwTqMERaUYG4IJWYSGckt4qqygBhKX/W0ycMslgWYLJKdRywiyePVM3c92iqWHNElLPbkCqxzSGwZdZC0Rl2Zay8IlpUcBkdBKyqnkFvmc4cT4+q//yXc/3vvI97zEDn2jNcV6Xp2ky8hjdEMd49nNwln+kWZveCl5F10fUmk1AUuFuflUmHijYPWMB8Hjp/cZjckVnygi1P6KVRuDd8KT1kfcdfWKdZDxW57lrzrOZwdR1fHfPz4aY6sNBxZV774yJitnQULG3P6VM9f3n6GZ69fxoe2H+SAX2UntKScOBjGnIpn0Fyh1DwwnXJ5s8KpnchGtcp1G+vcM9slLHa5bmOCS8rbP36SF44DxzVwrKp46hUVf3LrPbz+xc/iF2+5g1bgNz/wCd74mpt49/HTvPzwAdZvOMrv3Hw3fr0izuccoOXZVx8lPbjFlzx/Fc1X8MefuI+7tnf58W94Fh+873I++Df3cP+058DVPe1uT0vN2Pfc9NTDfPi+E5xQ49lHDnPr9havedp13HPybmJqeM+d93BkdcIzr1xj7YaDvP0vPslvvP3DrLmaK+oVftbt8Ky1Yzx4dgorc17xvKs4NVvwmpe9iB/8179JE8a4w4nTxxOnpzNOz1puuuIY93eZr3z2MXZ94rY7WzbdnGaqJIuc3l7Q2pyKNbbdJuYP8sA0cabN9G3HVqhJ21MW3UkuP7JKt6jptaWNLdGf4UObN0LdcTbssnOqQkOipSbOew6uV/i6ZVKNuXJ9Qns20C56Ki+Yel523TrPPbzBzf8fcW8SY2t6n/f93vEbzjk13rkndpNsNmdqsERRtmVFhiUrNqwkspEAyTrbBMkmQBb0xsnC2SSAA2SAg6wSZSFDTjzJSiRZk0lRnEQ22Wz2eLvvVLeGM3zDO/2zeM9thUCaiANL/QGFAm4VCnXqvuf7/sPz/J7vHHN3fMjF3L7vOfuhBYGxtQusnX9BRCP7LrLaF6Q+qLOilIK1FmzVBJRSKi9ABI2por0nin00+3a6jt6NxuBQZj8uV+Y9gmBQijjNKK1wTSLlzDTWMUSKVf2MAW0EzUROCZFqE9Te7dXzP7j7r2N2tX9tgjGu7oSUrtOCXB8KSgE5oUpGqYJCoUoCUx0UyF69rzPVjar2DIBaIGgpkCdKDuSYqztBORpjuXHYc9BanNGsDyasUpADF7vIw8dQxdiZlOvIv5Qqqpw2O74XAw/feofWeT703PO0TcuqX2JsBRyZJ7Al2E8JFCiDxVabTMpYEaJVmCjEPCCpoLK8N6bNpdqVyt6dULRGG4NzDmNsXbloi/V1ZWF9FZeWrsMZg/hKzMrlyWrhg4G6xKjwRogeSB06J4xAytC1mjEnRKb9+qe+1ifTFaFOCzRl//trUp4QsbSq4F2DmEiZoSRBe0WrHLYxxJJxRrEommgUDmhVIeuCVW7Pd4BsPV5bVCjgQUVFdpXtIUrhJFL2ehmtLbmpEwmrFEkgeKHrrlPSzIwgyWBdoYjBBEO2itAX8iy04mm1JxfIjCjTQVEoqaN98R6lc2UPZEWL4JVlrTT46iYwyiIlIl4os6V4S4cjqoJWqdoH0eRosGhEK0YMZv8+zJ2GmPa2wVQ1Egij2aGwKO/QKaD36xinNMkYSvAUEspHxqjxUpCSsEATEoOZcGVF0jNKd8RUUDYSRLj1sx/n8g8M5fW7lJ2FfkJpT0waJNMqizEzKLvXAlHvaQpEJ2TqiXpm0u+X9/Snf5XZ8GAYSE3BWMNSQ0qFVnkGq8m6sC2J3WamW1guLhIhKUIZeOn0iPUQOeoPuNhueDwk/sLNFX/+9jH/zVdf4bNPXeOPH5/x0aMlTC25DZRdxGRHtoVr6YQLtSNsJlrxHC0XBDuwSzOn3Qlu9ZgHZ4nPPtsxROHHnj/ltx5dYl1LSDNdqoI9rxTzRSatIudB8/e++Tq/8MKz/MG37tJvCskmTmm4UJ6HKXD3Ys217pjNmXC99RwceuaLLW5tmFPmIzdv4rYDj84S19oV/SpgR7hKA8/013h4dcHRx3teefnbfP1owdNty61rB7yVe964f8WchGEwnDSerAyKSjV8bnVAv/Q0w4Y7Rydcdyt+98GrfO7mi3z4qVPuPRJ+58v3uN4vODg44cZ1zal20FgGGQlzj3eFo+USE8F7ODA950HYLLeYpGmmNWfK8GiIlKx4YeXZJWHYFO67DT6vCE1AjQanDFbDqoXNWEg+4rTBlQm9MEwmcLN13H+4oz9sEZ9Y2x2//Wjk5qKhDXDW77hxaijDMa8/2rzvOTNf/OIX3/eLr/wf/90XFYIqQC6kmCplMJdKtinVJ6EKUIScCnvnBsYYjK2dqvWm7qFd7S61kqraNxplDFo7rHFouxcKGYt1Lb4/xPqOXBTKWHIupBSZhpGYoWQhhMQ8ReIcGceZYbtjN2wJYcZYX7sW2fs5TBUYGlsf3sZ6nHcoZSkl1LFuSeSS3vOjUhJgULZF26ryrw/+2lmiCpR6Y3kiTlNSVyRKCiVGcoikaUectgzrxwzbM5QMeFs4Plhy7ajj5tGKO6cHPHftEG8F32h2w4TkRAyZkgtTDEiI7DY7Lh6e89Zrr/Hqq9+jqMQwDXRNh5SyV8L/P/kFT5DIVYiojcY4Q2MMjXd4yXX/NI/oFGAekXkiDBum7Y6wXTNdrRkurthdXbC9OGd7dc764oz11WOuLh4zbHYMuw27eWIYJ1JMTHEmp0wMiZQjxwfLv/2v7xb5/+36h3/nv/iiWnS4voEykJQQ00gRwyiR9TTzOEWKPMFmUetWkX3xW4VESuW6drGORiWybXBec3pwiDeOYR4rIrexNL6l6RxeKZSJtNKyWDiUdyy6BqzCOofRmpmAsg6LrQWaNigiqu0oGpxvUMaBCxgxKGVo0JTG07U9VlfwlBiPw9EqQ/Y9ojJG22oH1i1OuWprMgrdaKz24Je0ZkHWGtM4JGscDmZB+w5jEmIaUII3S7SNaO0xqhILtVK4UkDNhKSxUr9XG7cvug0aA1Zos0FsQ4sClVFFkYrFPdHjlATZknAUA0YVtLOVUaIKOWa8FfJUaY8lJyKFbDwYi0sGK2CMpxSFURFjaoGWnWP5kTtE7yibc7pmSQ4OaQO+sczFM00z41BQMlXvdgyYpIFEVpCtIpbAX/vP/qM/8zMM8Pv/8mtfPI+FmBIua6YifGrZcNw7Hg8bTvuWm+O7TMfHDBcT7UIhoyYR+OlnjvnywzMOnUb0iNKG33njkn4hJGP43ruPMBrurwcwiTKpqqrXI9sp1YYnQDD1b5BzIeTI+bzl7uOHxOS57wPffv0hz7eHNM7xv3z1TV5/vGE7jNzoe958XLgvV3RO8ZefeY5v3b/PdoQv3X2IajNXecN//hc+z5fvvsXf/je+wFfvPuDdTeKgF/7py29wPsGzruPNuOFzK8ePHx/w6+dv8L2HFzS24+pyzdHRgm8/vuQThyteuNHzzYsznnYHfPTWU/zumw956WTBqT+ij8Lnn7tZcdkh8MbVmhA1W7YYDH/tpae5e3nFU8ct3z7b8vtvvsXPf+w2n7h1wHde2XHtcMFXLt7BNMInby342Y8d0DhN2iWKXfH9dx5wulySZabtNZuxcDavsUVI0Vf2AUu8zvRq4sdePKCjYTNtMNrilWO3W3MW1uh2xbO6cHDS8+rmDDCY5DA20+vE5546ZhdmDrqOB2MgTAteuX/Oj9xaMo7C988e8LMff45hlxiSsOo6ri7u8zf/yo//v57jHzohECnkXDBS0Y8CSFHv2c6eiAiVqla6J7vrXAq5ZHSuk4Iwz7U7thatLNrUnarRFmvs/jasQPSeolf38m4vCPTtEpSvVL+53kBVEkrKKCWkXChFgRFKKeiSqj4gJUTNFCn4pmXZdIgocpzQTb/vomsFU0QhOaK1xmiHSKbkSNEaKwpVMqJlD4XRe8ZSxdkqZRCZ997/ut9VqpIPS8nV3yzVillVT4mYtmQXMG3G+ZajVY8yRxwuZqY4s+o94zRzcSWkEplmMCGTECRVlvbVxZo0R77xja+z2W44OTwhnkR84/HuyWRE/+CERGu0rVkPqhSUNrRxrh77GDE6UrKgyKQESVdIR4wJap1TGRCh/sw41p8b/IT1Dj8N+K6HfIh3jtJ1WKNr1sUHcLlGU4KCmIimoPFo22NIhF34E2vlvmasduM/EYmKqk6LKh2qfAtjDE1SRJMoKnOy7AlxxzCFKvIhVfdKhrY4lDOotqPdMxysBWPrtELrSNEwFUEVRVMURRusrlOKaBSNVRht66SNBrPfEQsBJw2BglWVW1d0wqa8B+kIqmR0AqcVo84Y69E5U2yP0kJ2gi2GLIpCJBjBoUhlorctyVnapod4hSSHaqDQ1XtAyhXYZVpWYoheIDcYlSsMyT5x8hiyZLQkVMxYZZhVRqwhqoQvEa1bUonEErAZIhaHrYAhZRCZGGU/ddIDjXLVChsVVmWKNxTf4spE0baCSJUBLYh4KMLx5z7EuFwSXnkdkYAgzFuwJlOSZlSFZRYER9ITRSWaUieeOWskzx/IGQb46sNLbjQLKIaLssFg+M4o3MLTJs007DB2oh01g840s+HK7rBiyFvNF569RgrC1+6NGFt46rjlD+6e8eOnT/FQXzGOCekbjKTaeEwN0jjQgXkU2tYgpTpqTlc9dy8uWRbNlWjmkHj3cYEc+VB/xXqwLPuGKSTeuhx5aZu4c23Bdx7e52deuI2owEduHvG9s0uW/QpbCifuBt/cvc2Hr9/iV77zXYw17DYzbzxaY03Dq5vH/NLPfYav/vYZ//033uEXPuz40dVzcHTBg3nmeGH50oN3aUuLKMOuCGfDmnEK9E3h6YPb7PRISANTiNzfbjnpFCftEUfHPWqMPMBRxpY5e/RUCZwhCkvTcaPpmc8nln3BpQwhozrPde9pc8Ngdhht0Hbi5ukhw5CxjWCKJlvh0Hc8nCLFB0iJa81M5z0ffWaBtiu+uX5ESR5awYrl+WeOubUZeHU70HeKt9cLJFan07VjT68Vn7l1wtOLA75ydZdP9Kdsly1vPHqH2yeH4CwnB56311cUpTg+6Hh89xJlNc9eO3jfc/ZDXQa/8h98XFKq1kCBavWzT/bTtVOu1jzBNw5jDc7bujd0Zu9Lrxa/Sg5c0i8W9H1HEcH5pnYw1tc9tXZkKZSUUFrju0NQVQVdcma3XbNen3P/rTeYhpHd43NUSdU3rD3a+lqIaEPTtSyPDlDGIpKwjefGreex2qL1SH94HeMcTePqA71AKfO+06/CPiRTckIhNI3Heo/tqpWQHBHjME1fdQJlBiKKau8iTFAKJQUkJeI81G5nmkgxEMJAyQWkBh/ZxRK/PCXTsp2Eq93A3fsXXGwGvvPGOzy63PLqu1dMQ2Q9TUguxFLBQq13NKuOn/yZn+LFj73IF37iZzg+OuLk5DrONrg98VCpas0sexBUSVVQmecBCRPz5px5GtlebZhD5GoYWI+ZKSZ2Y2QuhZgr/bBGTfygUlDtWdqiNbZtabqO5dEBbdPQNw0/94XP/5lLC3/52qm4XG1B0XeoRjGpzLgdeTRXVe/bZHYlUfarsPrKpG62pJ5zR9m7LWroldMaY4Q7J4ecHq64cXLIlDVpu6m47AKqKEzOJGvIbVfXBkXtd/AWXTIJjVURY1pEWZyNFeXb7t8/ssepLjra0lD264BWC0U8YudqvVMKVXqUnlBZk8iYdsEcRlqo3XfrcEWR9xQ15T1GWULYorGExN6ls0DNM8n3mFKwOlBiD34AUXVVkgGdKBiMaIqG1hdi3BfLOVKKoNQMqiGSaJIldx4tgZgykj0q7kgq4KwmiUVnRxDFGEfKXhA5kchXF2RRKNOjs2K2AzZrrHdkLbRGyGisabAahlwwZNpmUbUKWlAloXDEeSB97RXUg7sILc407C63PF7HKvJ0Cp9aMBMq2/2ZninS899efDAcgs//h39XVt7S9S2EwlmYSTnTZc3xqudiY+nKI/JixappyUNktpnHw8DS9lgVGUrhIweHOJ9qfkG2fGNzwZSgSZGiHc56iDNzMShV2I1CbkdEO1yCk0MDm5kbhx33Zs1nr3V8+d3HrEvAzx2zRBodaJ1hs9N421BcYmU8IQzcOVzy3LXrhBi4GAdeOV/zb7/0IbDCsycN//Pvvcn9nHGS8c4xx8j11QEU4WefPeZy9PzOW99nsIkueE5WC9Z5yzRrxqJJvtFc8gAAIABJREFUJfLR5XUeDQ8YlcOKIaYZ22t0UCwXHZ9qTrh1XXG40jzeCaIKx8pzRWG5bPkHX36Tz3/8aX7/7Xd5QTUsFp57UXh64UlbzUVOdH3hm2cPyBvNL33mJt73PN7NxLkhBsecC0e9Yj3tWPSZVzaZh3nLsYYbywO0KhgLnz65xqvvTCwOFKotfGRxyhsXO165vOKl7oij5+Hz8RH/yZeF0wNP32fuPRgpTeavPvc833j4gM/feZojEzibFP/w1bdBJZ4/PGSXLBsJqDnx4ZtLbjRLLoZI12f+7n/6N//VXQZhjrWrFVCmcrRz2eNrSx2xGrOH1ui9Ze8JBleeYBJr50+BMM3ovWJdmydpgqru8I2p4Sco8Hu6oG1QpsH5hlIKHsNCaVanO3SzYdxtKLOQ5gIlVVGg1N9PpDANM9bX/3DtnmgWqoBORPbcg7qPrejiUrsZMjmm97rqUhJSarfyhHpXA5HM/gFSiVBgK+mwaFAzT6YPNeHR1HGqtVggp7BfUyRyEsp2D2BxCzp/gNFLVNEcLntyihwte3JRXG1m5BzCFElzQIuQ5kguhW9/9Rtstxtu37pDSk/T98u6yzdmLzZ8oimoFkttqz+b0lAA3y7RSpPmiNKKWCIpg1KFFBUqK3LeE7vkSdBURVWrmsZBTnsNyTgx71cFrmmYF/2/htviv/rVl4ry1GgKNVCozJVgZ7Iwq2obRJm66tljP/eCgr0qP5PrASeXak0U4yiSK3EPQ0oZXSKtsUSdKeO0V98rjDKYVLBkxDWVmS652vyKAuX2HPVE1gprAiIH9YzZqh9xxRCJNMqSKMxIdTdERZGEwqB8wiZF3J+zrDXOWkwyRJ3wOdajaD3WaBJVp2J1T0iJrmvf07+opqVXQlQZpyxJD2TboIsHB0UFEIPZO098qivDsi/A1f7n29JRcgZryZIpMaCsxzlLagJl11Q8dBRio2lVxItlFgspsiuCNRrjhBgzu8uHaFObh8lYFmlkEuFy3OJty2rVMnuL9gu0VmSJgEEnqQmQqpDaJc1nXmL4vx7QiELJRCoeVUJliYhhVoUm1/tQMdBETzT5AznDAA5NzgmTFecp0Oa68hyyYhdGkguQNc4ItDu60mAF+sWCN8cJPyraZYcnMSu4u1szzYWS4LbrecjEteWCWGaudwu++3hH0hlszd0oc+V0TFeJzjesdwo1zJwd1pClxWwwKpGyIUtDu7DElBnmLSvT86FrnlfPd3zt/iXfOrvg2DtWpz0mar707kN+5NkV17slv/SjL/L3fvtbxE64bgyXEriIW1YLy+3+hO8P7yBoTrseY2ETJm4tjohLzSvnZ+jiuTc94sPXT3j7YkMmI9IgoZBU4d5uYsyPeP6s55dvPoUeI5fdRAiBJIKZLT/57B1+/+V3eBAG/uOfu8NVUfyXv/Ft7nzkWd5JI29vz/j3nv8sISi+sn2Xf/7qA/76Zz/MtdOeN98pXNmBi7TlzYvES8crrDU8Dlfs8shP3XgarQpRt6gYcKnhte2b/MJHX2ClO16/eEi/XPDW9y5oV45/58XrtNT37+X2MbM4vNJ85OYpX3rtHr0pLFzA54YkWw5VwyYVLuaRlV1xth2xpeXeRWJxM9G1hgeX6/c9Zz+0IJiDoE21UxlVRX563xUWqSI7qxxK6/ecCE+ADSjQzmC0pe86BCHlzLDbVcqZ9xz5rvrclUGUwfhFTexqDyroxPSIaTHuCIpC+ke0RwHT9IybCyiw21xxef+CMAespGp/FIWxipRnzBQQLaSSmMaBtmvrFMEYjHWEOZCY6h62ZJzuEMloLZQs5JBAMslEtDHEaYshw+IIZVr2PrF6KQXGoYxDJAIR4gQorNkL+iTvdQgLyk4QlSg5ksKG9Cggdo1f7bDNihvXVpxKz+lhxzDMfPSpG1xuB7775gPOLnZ86+4jtmNgDomSEo/euMfFvUeszy/52Kc+zi/+lX+TG9duc+P6bXzTYvcaiKot0BSlEL333dvKmbBNTa+M84RzBmcHptnQascuTFgNIQmD5EpATABSCweeQJwg64TWBpsiUQ2M9v0P4Z/mlZIh6RFRLSquwXZ46uprWzStSoScEVF7pNITHUFlClRxYRXw5SI4VXBAYUIbRyqGqRTMELBFk8uAyTOSLNZaSt+DXhMzNa0wNGiboBgCgcZosquRqZItvulBF5YeRgEzaqSztYCTSJoTVnl0Hgk+olRA60OUdxSZKVhWfkU2sQpcm0PUQtdglzSCaihZI63FJ1MRycuOXmmcSWjnyHHEugoL8tIT0g7buioM6yCLrxMgXfUzSRS5LVgx+CKUMqCKRqmM8RYjmaI1Yb/OM7mAjSg0um0p0VFSTSIVo5hdptOe6BzzWIjDFl2ucb5+h++//DJ9c8JlnikScPOM9g7JIyVkovN0Wbh+cEp384BnPvQ83aICZgyGJvkaAuQ6lj//C8Svvkp+8Aop7yhZcNmjmoQWSyGQpaEfFNlksnp/dfaf9vXMiSFuFE8vMyEZxpyY1EguhtM+cWM65jvjY/qy5sAeYXXk3e3EPE8sm5bDbuBiMLwaC6nMHJ0IRjvy5DiPEz7WVNohCN8rW1qfObErXpsfonYNT103PB4iu1HYlkQuGlRg/VaptzmfCSHgzQLrEruN5unDJQ9wXM5bbnS30DcKMU3kArdPPGHMdK3h3vnEvfWOf/DVh6zngZODjpig1YVla3l0MRF3hf/q/CuYIjx38wQ1zCyOOrYhc393xTomlkpRtCK5xBsPt4ib6GxH5+EyJsxc6BpLmDIv5yv+zu9dYJ3mbz37AtM20x9lNipw/bCh6IROmv/xS+/w3MkBv/TSx5jUFbZRLOaO//WrX6c/sCytYZyEX3vlbR4PG27Zjm02dIueszxwOivuPdjx4WsHfMzf4o/X59xZtrzzcMvH7hzy97/2TZ5a9JytB3Zq4p99622axQF/7mOnfPXuI779rTcZVx4Vl/z7f+lH+cNX7vOTnzxk2jr+OHyNP//ZZ5iC4Y1hR9sZDlr46ec/zD/69ut88tmej5yu+NLrZ8g28YfjOV0HL/aH73vOfjiH4MnDfX9JlezXdcFeL1BzAiClPU/A1w5U5Urg005jXH3YSAQtmpgLOc6EMGGtrZkCZm+Z0gZRuj5YXQd2Ac2iUuWMIccJO61xkmkPDphSwnVDZdSnsv8tq88eMUSpNjHjHbkEpDQUyZSS3+PbF5E9rS8hSfYFQYuUgFZCodROfp4hT4g1eNmLKo3ar1RKtavt/yZPyH3qiUbC1CKDYhBVLY8KVUMtRMg6UFKgpMKw3aDngFsURFm8LajecOt4xbJvCDGwbC1X48j9qx1XV7XYQgqExNkb7yIUPvHSx0HBweER6DqJkR+IVa7sBaVL5WC7BpTGxhmtIMWZkmt4VEnVRhZzRlFISYOhaguoxZNS+5xuVQNXcqlpa/aJQPODuNQGpRdVtCa1Y5TGQZlhjhiBVhlCDUj9E2OZ7M87wJ5lXlQNj0poXDZoEVoPYiypFEwsSDaE7Cr1LBSsHSm6x5WMNQuSCVgj2KTROHAgo4alQplSCzHbEvaahqIX6LImKwtJIR40idT4ShHEks2MzuzFuZkNEU/G+Y5EwS0X6LlQXE9WM9ZpFA7bWsRYms4j4xZvFyCC6Y8oOWGapkLBTEtnGqYYKKJxeYKsyV1T4URKoZyDoDEugnhSznip0a4pKVARhwHtSWpCQq7kUDSDmYkU3FwJnjGsUcselOWgaYj9NXbnV6To8MsDnBOGxwFTKtSlV7CJiRghThvWkpl1YDle0BwvuONv1BAzFEoVHIGZSPIW+6nnme6+RpIeZcc69UiCmBmVO2Cm4JCicIwfzBkG7iwV3xgT7VC41nS8ExPHjeXhXFjqG0xu5mPXGs63novNmmcWB9wyinR6xDuXV/zix4/5x9+diBrUFFnkhl1oiWYmTJHPnHRc7jLjLiJtYY4wxYua39JRUcVJaFxmJqPRqGDJLuB6zzXdcm525BKIWRPMxKubHRI0LQ2vbq/4mcObmOs7Xrs649nDY74zvs3qaMXpuODWyXW+9M6r/MTTtxhHw6OwYSCzNJarzrGyC87XgcYMvPrgkqXNWAnoAq44NLAj0bu0d6cVOtXiGuHAOl488ZxNmtd2G8RkTIoocWx3gd84e5ubfctPNTc4nxJZC89dW7GeH/KOBO6+O/LC4SlvXpwR2wCxwvguU8EvhDIY1rtLfuT4lJQVaZzZDVd4LXz89iF3mpbFScMrb65Z+COOlifcHu/x9MmKTkY+cfNpzh8MnJqO3nc8vHrIT37h8wybzPnbr7M5qY3yb738GufbLb/Y3+DXXnvA7b7j1C25t6tZPpsQ8LowRdjGS64d3OG07fjtt2bGkglKMQ2R+fj/p+1QG8E5u98/y/7fNMYYnKu7NbMn1EmRGvmYa8ds94I9ay3aaqxVKFv32E3bV96+VswpYVLEGocxLUp7chK8XdTxu1aIMShjsM0hNgdEMq49ZJ4iYn19aO1GhvOruvNXHm0cc6huAWsN3lp26w279SWL1QFh3EFO5BRJElkta0RmzOcopbFC9ZnbXL9nrDctpYWmbbGuqTcQa1Dag06gHMramuxoV+ALxbWYNKPiRI5P4EWFPM+YrkNTKKmCc6KM5Dgxj2NlAFxdol2DtQ3GGA56y6IzLP0tNjcOOV7WyvLltx5xsRk4vxqYY2K82nLv5df5R7/2q3zi059m0Sw4Ob2OObFY2+D9E03Bk3KvWkpxDWIshoJNTVWRa0NsM74ZCFOg1ZohxipSmwOSCyEVwj4/QUTV6M09FjnGhLMWsR+M7TDbrip3nWOUQLEOSka0JdsJNffAVHHLInswVKamyT8pZGT/dbUX0Eod0ytdu6MyAJpJJ1pVKM7Q01fcdwRXEk5lgg3o3CBYUuewWnDa4ltbt0zOYVLau1gmMKvqjCgOUxKqtzTGEyXSND0pBRrbkqymURlpe1wSXNNgFJTGsMBhihC9phFN1h2VignQonOu3IPuOhBRWhPmAFI7/KQbPBCdxlC/17ga3cqYyK3BFE2ZZlzbIalglCNRyHhCSTQ6ERsNuTYNznqi1qgkuIMFy9Rz7/WXuXj4gPMwoeYrdlsh5sKd5z7C6elTxHZJe+02t8uOzWZNrzecXw60bYPpNGFeMcslS9egc+bRg8CbauS186+y7D1PHR/yiU9+gsWhxfu+ao5CITUF//NfQP7xV5BhJDETvUWXetO34okmko2qGOwP6BqSZelGxrXi2i1Y5cCBO6TomfX0gEsUp02D9wOHyyXrNEPSFD3zF2/e4rnTkaeWipXX0BwT4pY7h4EXFwfMHPC737/ihedano/wm69vqy4qztU6WgYm0bSLhhTAWc8UA8YLMoHkwNpMIJouabLKpAzSZbpsyCnz/XtrXn3nHIngreKfrV/DKs+ybBlT4ttvPcAoy8v3zmlEExTsnKC2QsqROT1GHWgkWxYFdFGE0VQRtxnRs+C7lilFjpRnbIQ5CHGniP3MOifGi5beBrSxBG2QLBwthatN5sHlmq+/+Zi2BVJPlIm20XXd5uCt4RHe9HTSYPpMFE2eoegN0nZoWl7eXPJjp7c5WTTscuT+JvCld9/henOCOdc80za8pWd+8/Xv85c+dIM/evNd/sanP8mUA7/+/cfYruGvv3jER699mv/tKy/zuZOP8uLtb/A/nR1z3S74sWvHNNee5le/8l1Wy4ab9gbjtMH0mVVxfPf+GT/7yTv8i289ZhEsh1rTlchP3F7w7hi4dzmRWk33QwjcP3xCYKr8WpkaYqQUezSrYEzlFGgD1hiUrdCaHFPtIrWiMRYNlJJBNThbfb5tu6yZ7FIBRElmJFc0aBFBVB1DqgyoESVHoG0VTolgF4co13I0b9C2oEpkt90BIKnQ7AEzBY1zLb7vEYnEGJCYKPN9GlPJe9ZrlBSmvKOIkFLBtwdks0WRkJL2mQCQc8TpBoUlTiNKTWinsKZDjIAKQK7BR64D68BUCAvTGu1m0BrJGdntaPsFSoCSaxBkqXvkcdgxjBPnm6n+DFVtm85S1zNuhTMNL9xecPOoYdEYzjcjb92/YDvOnG8mUsqcv/o2f3y14/bN27zw4ZdofEfXLd9bGxhTH9JaVw48e0GgqAUkjxWhR8gxoDVE22K1oY8Bg2K0CsmJSUVSEmKqosOMVLUjVWeRUsS4H3rU/tSuJCMaR8qZHMGZKhiMGhrb4STjSt3HS5F9CnYtfp98NtQHqFGQspCUwpuu7rVnhdI7Wt9gta2IYA1IRiWD1QGxhp1RtLWdwZFQSTDOgLIYEYzOlOKwbb9nZxziRPDdgrS0tEWT80TxsGCBdqa6OUgcNj3KNCidKZQasqUceZ5xjSUXU50lXuG0J5WEzCAuYrsVk1WYOOFyzRFZGs0Yt0hpaiGiBB8jxTdghZRcZY70Aih0HNFZSBtIUvU1ojIqTqhuQdGLql2QiJI6Wg4pUJQhjwNeKXSCMGf0ds12tyGMiSHD97/+R7x5+ApHT78AuaBly7DdVmgXmjkMXG3gcDWTwxJwBEmcHC9ZpB2tcUzDzDmZX//S13CSeOnpO9x5/hbHJyeUpCid58Yv/UX+h//67xMlkIOgVKV4elEsrKMRy4fNB6ODAfjpO2vyWsGdgWjXpAODdmvs7bqyyrIkBiEuBK23bGUiLDpOrOJxeMDh9Zc4lFc5cuBVxDZHXI7C14eBSOILt1tmp3j1wvDMUcvbj6dKMI2KXVIsWuFW6nlLbShDxFjBJ80zq46+U7y5XXPaWV4/n5htw03f8WgrWOW4fQjP3Oj4vTfWDKVw3Xe8MYxoI0zraj03KtAoiJLYmIxJppJoux3NzpGMZhEsVlk2KRFaIQ9btDXkAkYajEoUUxhzhlmIKuKK4WKbsKVhcTAQYp1YtDZx0MLltucqz2AKYjTRerTK5KRpiwObqc5ZjdgtAYMOCqcKcxPxY0+hZj3k0vOd9X0as2KcJhqrWW+Fh1fvcnyz4ymzwMXIh08NX7v/iI/ePORy2nEVI5857fmZz13jrTczd9MZm03gf9+8zN9aKm5ee5o3Nm/wT19LxDHwb/2557DR8HKYOKdA6LgoieQz764zl9MVf/knX2QeE69f7Hjp2pIfvQ5v3Cr80WtrvnFx8b7n7IfbDqmj31IKRgS7T9rTqmoINBqlTIUSYVACzrma1Z0zuWScVuRciDHRNA1Qx7ZGabzv6oPeqGp7yrEK71Rbu7W9Ra9GDu/FeXslg7EO23T4pqXrF4ho5n6EUlClIHPA5ApcaVxbA5GUQbQwTSPTsANdbWHWKMZhrz9QGqUGsp6qbSlntBGU8pS9g6FILXKehKnURCZB66baMU2lAoJF2QUFhfJthS0VQaWA9Q2ucZSUQCw6BpSZUaXatKTAbr0jigIchYwzFZbkmwHrW0x3jMdw0FgoLeFkyXbwWFMFPUmghJmzd+9ydHDM9MwWZyy58SjlAPMDwCalK/mtaiEqnlm7BkXB+5qkF0uNCJ7mgELo5xlUYZoSovZhIKXijnkiLEVQ6YNhFzttKfvwLFMiOUXCokVCxClhMgae6B944j+EP3FQPAnXqgIzoWZxlDJTkkaJorF9nUrJhCoNKgmpqWclZkhomuRILtCKQrRDbCRri81CbgRnmn0SmaCNpujKkoiS8bmpQlnX0tgGsQkdIPiMVwa1t/elIihiLa5TrFG4YUJUg02BbBus5Iqkdg58j5KEyT16npiUYFVhsj2uXTFuRpKJtLnCpWZJmGwwvn6okrHKkv0CFWeUarASsNpX+qjWFNlHu2oQo3HeU3QNJZJssEYT0sywvuDi8YaUZsKwJYnGFiEXx7Bbw7175AxtTmx3A7txWztRAr10OOmIuTBLpnGWRgI5OgIF56ExiuI0je55++E9trrwuYMVue3QpWA0XL9xwt2H99H7IKaiqmX4KgaUjqzTB7cyuBoGFk3LjK32VC90ViPJITozxMzJdcewG2jxPKUGUBCC46RLDBcP+OTtTCozJMG4gYW3hMHTNoadzsyD8KFj4Xpc8rFrlmu64w/fXbPynkuT2V1OlCisvOcqCL3VPHPUkI3wyWevcWJbfuWbZzzcDGxD4Zq3PKsj7aJhMWZ+6qQntpljZfl02/Pth4F5KyRjScER9AgsWCQhpkxOGR0Ns1J89GbL3bcD6mCglEqZVMbvg68KoU10URH1TBFD0bpGEktE5wpuipeFYmHcCWWRaXpDlpkjZZiyRorFRl0TRaUWzJOq7/xCQieDMxWt7YKjTx6jCp3TrEtBqUCcoZQJvayx8zpqtNGM54W3w0Q0I6Ur9NLyYDK8eHTE2eXMj71wned6z6++dY+H/WOO2w9x+WDNXdtx2C35/LMv8Ftvv8vywLEJGuLMnSPHvfWWNEWuJviRZ07pW8dRs2AcZr76YOLxGHjxFnhnWZrA525ZfuPu+z/2f7jLIIGzVUiYY01rwzlwFueqNS+GjDEaUyyxJFzraIyvnH8FKVUyXE03FNq+I4RALkJ34ybatcQyV+CJ9eSUGbfnaDPgugO01ZhpjaQZ1R5RlAPjQQTrOly7wjY9XhTdakmaJ+ZhqBvhlIGJOF5RUkDlWNcB2jKsr2qY0GxoGkcIM1qDdx3zbodxkGMmTAMihcVihdGaNCdc02D9E4CSQakZ75dgEsJYLV1SahytadFGo2wLvkWsg3GiOzaVV5AmRDKeJSEEKArrPM4F0m7m8cXAxToypUTMCY2m8Q7nLX7ZY5xndXrKyjcsb50QC2zGiZQzc5xJUpjuvcU7qnDz1k1uXX8K03iwsnceqPc+tLZ7fG+pkc5Nj5KMsYZOVTKkVj0hJDSKuasj5nGeUWXNdgrkIRFLYY77JDvqpKB8QFnySSzddkY5x+SXKMm0QKBFMaNN5jBbooKRhLxXDFQ+gQa0kuocAbRAVoLVhlZ7rKp0R+Nmsm6gTFgaliEymUyyDUYMk3N0xmI7B0VhpMOpHntQR9MBRSctkQmvoXUGjMXYlmIyYjw2RCTMoB00HScWplJFXblEjMpksSCRoiyNqhHhKVfaoZkKoxa8imin0FTYV5cnoq6rkCSKLgZmA/3hClUSQ4hIyfQJitOQatFkbIvyDVoi1vZVZJk3NUs+OxBLColWWzabS0y7QEkgW01rDyAqNut7hLGwK4I5bNCTZ5ci83aHNwZUQM2F8wf3cZ1jMLo2EShKyqwOVrTeIkljlo40BkKYOFwcg9PMYWJ58CGs8+ymBwzjhqspcb5+k/WDM27cvsWPfPJTiIn88r/7N/id3/wK/+Lr/xJB4bUh6zoBdaKY/uzTu9+7biwyKu/wMaK1ILpluxsxJhOjo3HCvF0TJghpzUaWoIRC4uZJ4t2HI53aoHPFZu/GRDQzK7vA6ivyqFg1mk516EUmaUXjdvzci8KcCl5r0p0A5ZChBEr0jGniD19/xOmB5Y9ecVxcXrBl4MR7lIus2paub3jutuFav+D+vYmPP3PK7796xuHugJ87ypSbkftXgaFEFodH/N4bV8xYFmYm6hYTWrLacP440t3QnI8GbzJl1jiboAg6Fo46xdUQMbSkZkJHB7ZmF3odQQeStWjRlMMKobt3Vim3HsU4gbJDTecOdX3ocqbjkKiFrISgCoezwwRHdjOzVTUVNztcyRSjcTKidCbsWnSp78ckmkZndqpOZU2yHOpDfDJ87e5b5CT8kwfn/JPvZs5V5lhaYnvJj7m7fC+veHhxl5PHI04yIUb+z69/Hy+KS1W41vUUl1j4FokdD+MG2+y4uHB8c3iHj/ZHfP38EpdbPvWc5+TWgr/avv85/qEFQcqlBtqI7HMMnlgKy37HyHsgohBCVVWXKspTBjAaydXXa7Sm7Xtc02FdVfqnIlQ5iHqPoCcUVHJIgRQmDB6mDaJntPFou6BOGar9zVgHWjBWY7wjpVitQlILgpILUWtySiBpDx5SRAHrLTkJ4ipWuaYtV+BRzvVjGiqMJIUrjIZFFnyKNKXBOofSfg9OAckCZLKuMZoo9x7mucYza5T2FDWifYsqAzlXyqGxBuscMeZ6Ay8ZyUKOkc1mZhsiV3uWcNcmvDcsxlJfQ4F2teLotKG1jsbWriyXaiObTcGEHZvLMxbdkqN4s9LeSvmBpMQnn7U2dc2j60MJBGNqVV6sQaTQOA0Y+tahVFXvFklModr3QiqIQC4Amg9KUxitqtYypXDekmMklZrzoE1BZ4vSM90Th4H6k09K1QJA77PPRcqebKtwxaCyVM2KE3Sq6YP6/ybuzZotve77vGfN77D3PlNP6AZAkKAIcABJSLLGSJYUqWy5bMty4jh2rJRyk1Ryl5Sv8hVS5c+QVCqVVOUipTiVSQoll5lIlKKBIkQCBBskgJ77THt6hzXmYm3C1gXpKl0Ep6pv+3Sf/Z691/r/f7/noe5tR2kQpUJ4BNSqnMiUuaAKyF6TncTkhiAlrnhyKrjFgVroGhoNIitMhFQCudE0JVO0put7KBHiniQFQQRUkSAqZEiiUEqSYkKoiJaarCRWZnxSmJCIMmBVx0TEuI40jRiZSVmDjwQXUYcjndOJSRSksehcbZyhRLSQNM7VNUQBVSSlaNJhiqFVYZonkJLkZ8YUqya9abGNI2wc8+45fpzJ04DwkRIic4goq2t2yM8kKRDjSHQ9wjS07ZJQRK1vast6iuTBE4dE1xlMs0Rkx/GR5sbdFxC2pz3vGXZ78oPHDMMFySgePnjO7U885WR1jCuCL7zxOX7vT79GIpNyrh6OXPBFYezHpz8epkzEMA0WbRKyCBqzICkocUbSIXWhbSay7sghMAVNYiD5wsnJTebnW2yXSdGwsgGKIKQAyrDqrpGc0qpIaiJdVtW5oSOYEbTF5IgsW5QeSblHSM8bLzrEZKtgKgjufzCyPOl498kVXTe+7HbUAAAgAElEQVSz23RsNuBy4vHao9LMLmSe+D2fbDRvvNFz9uCE8zxwrztGJM3/+b01rVqRpgHdSawpTKXnF1+E3/rjyKIXaFN4uvZYLTDOsC87JiPoBkcJliBmXKqUzOQ1NAlRJLEUdK56+8i/apOZviCDQaPwemDRaJbCcLVPICK5RPq5YdaRHKrtlSARJEpR+C5ig8CpY8boyW1Ez6DmRKcK6yKwIbB1O/S+5eSG59n5BndjybHTrB/t6ayuvyte8ktvnnJ1/S5P/A2kGxmYaWTDkpbTe5k7Tce/+O4jrKzvTYtcyOuRUCYWpuVqv2VFw0JZXj1aIIrm+eWenD3Lk+UPfM5++GJXlNoxNgalD5z+wwdViZKsCtrUfr42tvIJhAQBIaY6vpcSnQpKQ4gB1x/Rn9wl50AoGiENTbeiZKpYRjtcrw5q3rrDHy4fYWyDSBOyuYluT0BYim6QeoHWDd7nj7DEpQhyKszjAECc601fqEzftzRW0PQNMXlKsbR9S4gBIcCIutYYh4kw+9qxB67OLyAnVsOMMorVcU/bLQixQ2uNEDWopxuHlgaRAiUk0K6uP0r9ueSSKcaB6WGaUKwhjCQGnG0oqXAxecbdDj8MhCnyaDNyMWauxhpuO+oURmeOuzquMrMnrjeoEmkXS/qTU7Q1LJoWqyUxRnzKhMff4Sp7jo5O6BcnVV1dDEL8ZfeBkKpOhUpGmJaiVDXvmToiN7q2+q3XkKG1hpwK3dyQy4ZhEhAjU0rMOZMKxPzx3K4Wu4iQhpwS0W/J0uBEIOVAQw0QHh1uCTss25xIJBACWyRBciAVVjqkLAJdNI3J9EpgbK6Wv1mRtMHqiEoFnzPG1gaH1Y5GJHSWh5AsaNshpSZrj7EtOliEMTQJ9iXR+ZF5DGjpUGg47rHCkJzGSE2ME7KzaLEk58SSBtEbZDHMYUQIQVQaKQyFaqvTyiBFwhRNUgqEQQtD0/R1CiJlRYvLTIiFlKtrwLiWbCW3jCFJkCkSREHkALEwDiPWKdK8r/kJIrpZUHRGx5kZC3Ottu3yRPaZcbfnKq3x23Our66Yr56BslxsLlGAk5LtnBmHiSgyx1ZiFFxsR0K8PlgYJc1qxZxHcprJSXBycsLJ8QnLs1topZmDZj8PqGFCaMfRKnO5sCza2zzfnEMs/F+/+xaaHb/yy7+IO+v4x//oNwlzpCApJTCHGX99xQdPH3wszzCAmg1yeYUIx2Q50aoGP2dkiBjhCPESMQaEWuLVltaACJrTG8csb93jO3/+p6hc6IzBtIkQMqpEnA0oIZgPYVovMmVWZAakmpAeil1h54mBESUl2c+kNFOXWqLmhYpHKcHrr7b48Skvv14ojSXnkSWJYgNv3KushE9ezTwab3H7xVv8L7/12/z0z/0kv/iFv8b62SP+nS+f8ePffMiwfUiULfPec10aTo8zr7rMC29GvvYEwi7zGz9/l/e2z1iIliBvspCGt3ZXvPdOITY963lLSglJwm1brM3YKHiaPKYYXBcwc4tPAVUUgym4uEd4wTorNjFhG09JEisMc1PXjkIZRhXQUlfbZN7zBifcFC2PlxNReJqouEiCTR7ZCo0eCqMVmGlJJLBol1yES8p15CqN/Oc//zlOzzJ+t6FbZM7f/5Cn914gNKecP1zz3WHkJdFxdLrmq+8k3tLnnNxZcDmNvOrOWB4LVqGnt4oPZOSYxJunx7z94Uj/wimL3rDJlofrDa/3P1jb+W84EHCA2VBbBQKULJXzf6D3WWdIMVFKxhj7EUffdZZSqq0vK4FQ9fY+TRMLoUFKrGoRWIqoQawia9o+xQGExihHihPxUHMy80Thmmw6QKCEISlX09lSIqQkC3kIKtbeeEoFSqyVxhhIRhOAprVkUScJ+ZCQN1KihKg5ggPAVkhxIA5WWVOYU2V5+4hSHmkdQkhCmBEUpK4fHkJGpGwQqMOPWdS9VIoouwBkPSzkljrXDQit0UYfapqCcsAzlyRICXY5oYVAp4QpYMaCyhrfZEyMpHEiKUPopvrGLFuElqxcS4iRrd+QtueMu+uqnV0sD/XR+hj863XEIg6HO6XqG6OsIVChJLJItDKgwRpJQbFoGiQwNA0SQZgjOQS89xX7LD6eA0EWkiIyosQalDzUQ5WyGLnHF4lFMpOxpVTPBsDBZSAPkwFZav0UIciiIIWmKFllP3FG4CgCrBIkJKZxGBRSKETIZFUopqlhWuUozIgSmGdFE2eK7Ug5MokZVTRzOOCKpa4ehTlQ2mrpLCoTZ9DjjMxVSZ4FyKwpSqCMI0roTUNIiRICrqtSoygUWgOpNkKETBTXkONI0/XEkBBG4BRAYZwmVHWEITqNEYUya8yheuaJmEPgMqcZKy0TET1nhFJkNEZ5pO1RTaKfFFfjmhRGmGbisMWeOMRaonLCHAihUQkmHzAHqdboR0Rr0TqQg8SnWKVf0ZOkpdOKDR03Xvgky4VjuF5TjGLZHnH9fI0isU0TnVCcdC27OTKMDsHEZtiy0JnzRw95+ZXPcGQEj0NkHwQNDQsraV9c8onPfvZjeYYBdnpPGo+RcyKrllEJelHYioZOF7RvyCWAm2gmzRQkprOglrx6p3D/7TOO1QaVFZGIT3tMcCAbhJxY5GPGeSLJBSl6VNtCkBhjMfPIHDKx86RNwbk1S90wCYOLCmvrjl3hycqgXSIJhZoERXl8mUjRokRkyJr7TyTLFzv+5I++jl0lzh8+Y/ELAy9/7ifQ7oT26Jv88T//DvvxIUb0NMLz7EPL7ddfR7jn/OaP3kA3iQcfrPm8M0QdeX97zp3TBVoOvPhZiRSW+dpwcrPF49Al8q2nhfema76UV+zFzPfWialEVIm8cMvwcL9j3BnUAtgk0IEoFUoVrAGXMkkbshC0PkKsILs7Tc+LZxYG+JWbK0JRfPq1E4bNlvvrwu+fb/iyWvKN7SX3H0u0TlxtNjx+5rl7MxGS53/4+nuYJvCrr9/hx47vsXu+R8/f5m/8xBd4fKTYTA1v3Dzj3p2e/k++xwfPE999fsE+Kd6ZJ05nxUn/Miu5g33iU6fHvNYZooc/fP6E46khioKPhX/57o5f/wHP2Q89EGhd3eqlFEoMVYyi6968aQzKKLq+RQhJDhFEwbXVeid0DRAZ01JUBxQiAmkapgDd6gY5rGtrQbSVJidNRR3HBKXWr5QCa2sFjuhJ8aKeSk1XgyVa0rTHpJBQZovJ0LSBHAVbrhnnCR8qSna/HwFB5xRC7NAfTRMu6se/UkRtEEojlUJbSZjq7lyIavXbjyOyVPqhnwJFSILW5BAP43eDsQate0RZHv4ftccsSoAS6uEnC1CC4nqKripcGRNGKI5PT0kpYxbPsIPHqUqD80h8PmQjSmHj4cgnpMqE7Oh3A6FEFosadtmrgg8as+xpnaUlM2+esn18nxIjbddD06NEJUX+ZUOihKKIWdf2gUr1cGjqJEWXgtKFki1GCXJKWCvJFPpRI0qhnSdKDAyRmo/4GL6KT4jGVNBVrnkW7wuiSSg62n4gJY0ZCqs4EgVcJUERCkrGJk0QhSQrGKAtCqcVTmqsUZQoiUIziYgoMGQIsrCgZSLRBFFHTK6Od61uaBaKlDRSGtwcSdKTYsEIwaxqutq5Q6bGFnJsKSLgcgBfkFkhjCQFjQ8jbb8gKI/yBa0m3OoIKw22ZFzbEmTBzoVkBQsUUUrGaaRRLVIrWjQ0KzCFtqm/y8kI2rajZ8b7kUY6dHeC9B4vZ4pWuJDomoSfdsg5IM5OSXuP1R0oSfY7druEMgqjBZPXyOxplh1Xz3YoDB88umZMEbEv6M5w1klydrRM6EmwNxIlJbspMG88y5MGOe4pEkKvULrldHVKd3qLTzWKoHqm/RUpKuIwsF1PrJYdF9cDD548oLtxhJsiSSiOuo5xyjRlhJT4k3fu8/Vvvsvf/ju/yl3V8PRix5y2DEWznTLOTx/LMww1X73eXSNLg5drGr9Edx6HZTIdPu2Q2bIZHY7M1fo+L8mX2E2XnH7iv2Da/jMuLbSqYw4bQlQkMaOGwFwcF1ngs8fKDVErjn1PkzNCDiSxYyKjp56xjOTdgq309Kpj7xLjZouSCx4+WeDzwN3bHRfniYv9hGsVr9w94fjI0BTJf/N/POHirYd84rNv88LRkn/ya3+bT//km6A0FxffYrgWaLngF/7hb+J3H0DumfcTN1++TYiCv6Yt/+N//d9x55OnrIVkuniAtWtuNj0lnXGrmfmRM4jzPfzZU1q5YRYOJQqffHGizyvwkSQnnDFYGnI44tluzaJZ4GUHMeKzRKhEzILnY+LBumaDnsYt+8ERhGQ7G+YceZQ9F+8/owjL/7rxLJPil03m9ZM7XM/P+bFmycU2kUbJf/IzLVNa8M4uIKNiGJ9xbAtffzBwvGr5r959wnXzHv/QH3E8vM0/e/ASWo24HHjn3oZXPmyZguNMWN740U/gZ8P//f4TQpr57UePyTZhpefd85n/ze5Z2IYzu+DDxxteO2q4cyzo1OIHPmf/RjCRPNySOPAGKva28uxJhXkOaKUO7P9MEXXULHNNZ0tZ5TzWNSihkabFOgdSVQ9AqXvYIgQ571Gy7ixzShQZyBSMpHIQZCakRPZ7RG2IIXL5iI1Qu011zydkRmlZpxpK45xhs7kghEAQBT1B0VXelLzFNYY5ZsQ0orVFqMpQSCJWA51pDm2Huf7/hAap8XMgRI+QYF1Dzp6UDul6ARSFSBm0o4RcmfUIiiq1xVAKQjowDco2lFxwXU+/9LTLHr0NSDmgpSDlVNW1oQbcsiwoX9h7QecKJSVySMgYUCWhS6bESPQTkYRte2wuzJun+KZnnl5CK0O2VYP7fTviv/YEHA4JiizkAf2qQWWkqmQ/ZRRWCIwPQKFzBlEyXWuQIrO3GorAi48H+5oPH+QFhYyBsWQcjryLmFYhfcueEZ0LSkjaAtckav9QkWVCFlnXJwWCENWq1xiyUhQDXbaEPFYCn1N0ekmUAeVBOhBF0ZkO4yp7I0aHjDNzDlgnEUET6kIC1y1JIRNzqRMpAUZFTFLM44Be2IoyNkusaohSABGRJNJKVKoOBl0iRasKwDKKKAouRUJJFJkreVAqRJaMjEgaTuyKrAti8uyFP9hJQWcHBHTxeJnIhyaKlLLKW0rHbOeK+nWKQCWcRt2yOhEMmzU7mbGLFX6XMCHTKEEYJ7qcWLQTF9s9m/1zGl8oAkyXMVIR19WMWIyCnJnnQNcdMw1bbCrcPj5jcXJMMYYUNOx2eJ9JU8ALiZVg7IKTG4rnjx+xffYMeXTKEK6Zg0GLQoqOmQE9eJywPPzgfV751D2enhdaNDkrGmWZ+HhYGgCNUhQETSNoxAnK7qpPRGXazjNtNYERGSL7aHnx3uvs11cooXl68SGrDvYH02wKp6QyE9OO3rRMqTCVLc5Ylt0CS+Z63jCrBr/PjH7GCkfXTUz7hA+qsmHsxNsfwjv397TtxP/zZ4/w2wc0zpNKxy5OiAnazrHoLZ/45F2unm9YdTuk+iRf/qk3+OSPvcb12lP257z31gfcfPEuL7/5Etv1OV/5rT/gxU/f4af+5t9FTNfs5g1Xjx7zwqde5ed+9jMM84rvvfsO3/jaV9j5C549i2iz5vbZMc4VjFbsc0ZKRZxGUhBswoiyV5TUgpgI6QrZLlk1mVkNtMohG0UjBEk4lhTuHil+8kwxSUkZl0y0bMc9+1gYk6MkyWMS4wxDKswbyZNHVwwXkZNTzdlZw2+/s6FpE5t9pllo9HbPP/nCHV5+8YiTleN/+tpD/vzxlgdTZCUN0T6HnUD3gd569hvL7317S693HK8y95Yn/PZX10gLn7t3hs49fnvFdhTkFZwdFf7TNz/P/YeR71ycc2+p+dF7RzzPgaX6K7YMlJCHcXomjQUpMrNP9WaUI4mZcRzRWrE6OkJpwzQXjDFooZlmyCIiVGYcI8vTe5juqK4ickC6JSWNlLBHSkNOM6EkOECOlKxwmJSGWmF0J2gpIY8UX0C3lZueE/KQCUveE3Og5Ii1GmcE6+trxoO1MA6eKWV8iBilKcw0XaQ/6utD7gpCJMI8YY0j+kgqkeXxEmVlFRX5cOi/1rqkLpacNH4KwIhzCSMN2Y9YdYNkTxBzZh6uaZbHkORHemWhHEUksMcI0WDcjjYXinTc++QOZRseXozsy4DeSXzKjHO1PBYrUSJzNQaKLBz1E33JNOsrUgmcrVqMcZRciYLGeqwypOun7MYNzeqUnO6hTAUWfX8y8FHzQEpEqdApoTUpVZAOJVWGPQqsRstEbjWzKuSs0QpizoxWEVNkNwbixwR10SJW62bJZGFYacUoCjomGAUqKZZGEEthpRwmRh7JGhTKBGSx1KNPhXY3BZzWEDwmGFQUBDWQTAEMqjTMccRkTZGaCYERkkmOxEnSdxoZ9yRp0K6pSGsCuulwjcO1XfUnzANJCOSlxxsBJiBlh4qpmhSjpOhIcQlvVug8Ms2RohRlc42UmoVtCSagiyQUzTRN9UATHalUUp8omkYuEKWwn7fo0tO0C5YcpoJCg/LIEMnasZAOd+MEnwtimPEx0HVHdEJSwo44bSsCHImPI/uY6hjZQ5p2aGvZTVfs1jsuL56hVkeME2ynp8yT4MnsMSpy1kqWTuEWhl1KzBuIaHywFOmx1tR/87gjWMeJ7Mh5IuaEyJlcAkZpjGkJRaB1w41bR8jrzPPLKxrbIowmlBmftyyMYPaR4DR/9uff4vzJBa9++cd47+E5Piiyjsjp43MZTGOiUTtybsjpim3oaOXMGAs3RWA7ztghoW4kjnrNmBJBBK7HK+5/4zkbn1kpwWIZGP0eubJYXmWa3sLYRBePCaawS4I5zuyv54pRTyuGonBlg3NnWBuJNqICPJk0f/BHbzOgiJeXrLqB6yAIs2VOGwqS5cmCl45XbM8v+OBb7/FLv/gmv/ZrP8ebP/4zCNPy7P3v8uj+fW588jaffuNH8Dnz3p//KSls+Nm/+SZf/d//Xz79vT/GixMUmWG/49G7f8KfiJFX7jju3j5l/aWf58UXTvjEpz/Pxeaa3/mf/zn95WNme4J+8QUu7z8lTiOfubNhx8zxfBMYuEoJXzJ6F4gETLnJJTULobIAsWenJ0SGWSXKLOmcIESD62aObcPdhccFxWtKAoE5GZK0yLRGMrApEdaJ3/jMLYKO7PKaP3x6wrv3R37nvQc8u36AXo4c+2PEwlLYIzo4Lh9wfnZGYSLuQOvMyY1qGd4ly3eut9w5s5gIDzdrUILOao6PBX4P+03h9955hKXn1TtHLI3hcrPh3qnkVv+D34t/6IEgp0Smwk6irzdvrSXWKY6kQCpVP7xDYr/fY51jeXRUR8uy7jal7esBouhaTZKGOc6UNNFIRcmJnGck1NtyEcQ4UXIk5FADTTlVZ0ApddxeEhDrYeX7kwhRXfFCVr2yUPrgWNA1OJ5qDsDXfBUlepJKSCVhAtNolDJMuz2kFqklIWYSCakErnEIlcA0uMbVbv3h7y+lYpDzodefSyKmA1MgWYgJn54hi4CUgPIR878oAUVRSwkOREa7DhMTq+Mj4jxzctRwOQScCkyxqpplqaTiIGAIGTkELjczMWQaI8kp0x2dQKdo7KICkbIgiYKSGTHvGdfPMW5JOjpGCIVSddf/lwKGAEJWhsKBSS9LFf0IWZBKIIrEKk0xBaPrhKRrKpK5sYacMnvz8dyuYgp0pmFCUkQgioItjiwyQc4oBcg65biYPUkpVKoSo6qhysSaBiVL0FLiRAFRiIdsgRItuiSyCIhsaoAPiRCBTrVIIzAYIKGMRMlD60BGRONQGoxtUTITfKAoxZir0lhoX5XhVIMoShBRSCXQRAQaLethR5s6EXFakrPAB19bP0mgiyEWUBK0KKAalF6iVIYSK257yigtCFP1kAhZcxSV+QH90QqCrpMhJRFdxoRCitRDg14QU6HowjjP2P4YFyPb7SU5BxrTk5XBlhZhBK0xXFw+ZzNck71AxFT9B0XTCEXyoJ3A7AudMqzjgM8J4etzbLViHj299sQuY1RLVnusXSAptEkQRaFM+3ozVi1LM/M8RXb7PXK5wEiDlo7dFClFYqYJrzuunz7i5uJnMS/f5GvfekATHaP8mKoywPsPnnHrhRVxLNw4NVxcQ1YCP8zs9ARjixEKLW/Qd5Fnl1VkpWn59qOvsdl59ELSmWNmCV3xqGZk2N2kNYakPSKCn65pm4LqM6n06GRZ77bcPT2jiBmhjmnElqwV9z94zq2bHc8v1jxyA5vrK5wWRBFAJpw448ZRy7Pzc0aROesk/+Df/3Ve//xnKMaxvTpne37JzVde4Bt/9C5f+skfx1n4xh/8Dq4xnKwaPvzOtwj7z6FXxwy7kSICJ0vFa5//DF//ylfpFu/y4hv/NudPz7n32YnVaslP/Y1f4N2vfpP7Tx4x/emf8uaXfpxxs2C33nKRNKaZMHqmswucUGQHrZcM6hI79Qxih0gBRI9IiZwkUVucLszJksrIvD+mABdTQkVB0hYrFULNaNmicos1hqURiMaS2j2GxG0HN3rNLy72rG3H81Gz9wKuBZsm8eyZYK0LR+NTvitukYPmKkfmUOiVIzYBUQKlwDYk+iTJnSDFhB8FV17QyMBcIm+/H+ncyLf3sGwlf/+1F7hx7NjvfvDB9ofLjXKutaVSatVKSaysp6d5SMQ0Ym3dmRdZca6IPU1TswdSS0QpZLVEaIHPIyZKkB2TnyjlHNd1UAx+npBSEtNISRBD4uryfRarM4xbkGOCdI2wFmkWlAyy1O8TRF1ZaKMxjcUP42EHXP7VHyBTKCXjQ6nhKa3IOdI2Aqk9yEBKdQ0gdIO2FiUE1vX1FCEly36JUgbvd2itqsJYZlzbV2hQswQiPmRSSaSL72GMYhY9q6ObsF9T4gR5AKkRdlmrfcqB1KAMenWLzvTcmGdc2/H6esL1z3m8f8ijzcyDbSIlmOZEkpmUBZsAMSZ6q7jeTHSNYr+bOb51wss/8iPopj/AeMFJgQG2D/6CkiZWqyNKX9/4a5DUfKRLFlJDTmShQB3IixRQARJIpcklYRoDQbAs4HSEMmBFrXs6o4nx47ldKd2TUqA4WGRNjpnQGcyskHpmjHWt0lBYmszgE8cKdlQXRgUrZYTItYooE6oICharJM6uUHnCGYlXCl0y2ViK0lilyDphxKJ+mNsFKUVKlhi7xPaGxnUkE0hzOABxEj6CCwJfIk4cw9KyVA1Jelj0iJxxFKTSGCnJMpF2EeMkVknoV4gI5ECJhTTvSEKAa9ApIKRCW4dt6hSIkClSIrUhbxKhjRVfbS0+Zo4WLdackotCSkEOHikUGEerOsDjk8baU2xjmGdwzZ79dmRKI6vjm2zOL5nzRLy85uryiifP1wTv2Qw72Hmy90RZOO0WbHwCKxFY9mGHdYU0BqwUjKEwlpmj3lFEIeaBTbSYuGCO9Wcoc4JUCFqgBcxxYO8LWQSisTStYfKFYbenXxh61zHjicEjBYxh4rzp+PY33+K1L36B1158gW99+zvs/pLZ5f/fL6kzTYHJZEYc1oyElFhoS9Nq7irDk/cec7RUPNhssWZBiJYwTchLz+mp4OK8cHIE0/6apTlF6ExOA1Ib5u2AET0hTdzqj3g+JlqjkdbwUtOQiaQMTl4y7EC5zHAlePJww/uXjxn2E6I4dioigmCxOiOnHR8+eIbRx/xn//Hf4j/6zd+kOzpm3Abmyyta2+GOF0ybDT/zKz/NxYff5rvfeciHTyLLZeLWK6/x8796h8urDWfNgCAwebh6es60veDlH32T3/3KH/Al9bscf+pzfOW//e/57JufYXnzHq+89iLPn32L3397Tb/4F3z6Ez/FO9/VvHa64Wo0pDCghcQtHTLsMNYw7CxN85xG3cW4HVIGYpYUkQiDIBWNtwPSOPoS8FrQpEjpNCWvkdEhtUSKESE1yZ+zGVtS2jCmDqX3TOYe4/PbiP3baCPpc+Aszdijh3RqiXp1wrQL0rc3/K1PfZ6/b59TtCWWiI4LkvTsy4QMC65zZi6aIxN4YXWHrzz/kMtLzSgEsy9YZjYb2CB59KHln771LT51tuALZ4lf+AGpwh/eMkgFlQU5ZqYSyVpVRnXJWFevqPOU0CYSc6FpG0oa8ONECB1SzwjrMNOENB1FRGLZsTx9CdPMTOuHICLO9fgSkKVBCUdW9ftSLPM8os0SH0dUVogkEabKhkryddV7UDSXEik5kXKst5sSISfEAZFTUj5Y7SpNL8VIyQU1C/wU6l44CbzPWC2RyiCoq4EQAhqBkFX53LSVkhj9iFYOaR3SWJQS5CSQwiAEhHlPiA3d8e2a1E8V6pJCRhCRZUAaW2/eWVFkdQooIWj6FSlmjo9X3Np5Xji6YkqCp/uBkgsBUV+PkBFFsKWidZ3MzLHQPN8y+sjJjRtwppDWgBSVOKkENiTy9oLZjyjXkHNXWf2q8hO+PyEoHzUvFFkqZKkq5SL4SHktpUArgVGCogXWVC1y4+rO2+mPB12spUagcbGQlWKUHoI/sBYKuUislEwUmqwIulSqoTRVeRxjfbaEQBeJFhppDEtXmzOBDSo5CoacIelK1FRao4yplk9VEHEkK8hZoHtTzZyl9vdzVIhS8JnDBMYQtUcVS1IDOsCsNbIxdNExyw0IjdAgUkQIg1UJoRRJSax0SJMxpcPnLbFZIKOka3pKmlC6ISqDlhKpFRFqnYqEbGyd+hxee1lq0yQJWeViIiBDRfuKXEgE+naBH7cg5zq1c5r5KpOlxrULvJ9pFyti2jKKPRFoW40tDWMp4DTagU+Kq+1AEIrNZKrEKUSUbenJxCIYwp6lrURQpTWEQNrPhGbHXkpsqKCorlvU/IwyTLGgSYR9YaQyGYwRTHnH7ANHxy3aOK73kZQStiRy3PP+o6e8/MqrvHy25Hk9108AACAASURBVHqx4lsP1x/LMwxwtDxlnDI5JZrTlmyh0YL2ZMH1g0ds55kwB+7evcG7396TiiSSqlCqc0xbz9X1jL+VwNTXbZoHFu0KmQIhdXhhccowB0XfadrFDZ5dXLKQHbqMlAb8bHF9ZNWM9GeJy/uBeR4xrifnK0ToETKT5g2bfWThDEeLzD/+R/+gviYhk+aBYjRXuzW7x4+4+7nPs332hAffeYsPvrfn3itnfP7LP4bVFqE9frthygPeQ9wFnl0O7Lc7FqcrXvnspwnrD1mfX/PwckS+/QFfWp5y89ZNhnTO0cnE1YcF+0WNFI7n1x1aZWKZwfXkYcdy2ZKlwpqpUjuLRzQNooAuO5SqK1EZE7IU9kPAuYgskavQI/zAwrT4QRLnHcEbiqytuySWSFHo3QoVC+roLmkHnTgmZRjyfAjtNwxpIAgNoWORe3Y7UXNwUtbLdrysdejOYGPkVI0oFSnJshsf89NHAnfisAvDGD3rfSYKKqxszGxRSD0wjX/FCUH0npjSYexYk64JoBSMnzBa0rj6wTeNnv1+ous7jFXs54hzHSE+w5cPWSzPuPfyZ2naFVebh/TNAmt6wriuqFVt2G0fo4SiaXtQGdcviDEQwkQKiWnc4kpBypr4l9aRsqREQcmC6AMxBJSx2CywTcs8zFAySmqSUPhUbxAhZnJJSK3xPrBdR7RvKLHWKo+aJSqDyBFtLcY4nHVopZFK0i1XKKUJpUNLXZkLuh4gch6IaSaHii/e7DfcFo+YdgWDBSHw8whCYcxcP1TN9QHiZNDdMUJa9PIGne649fKA7lveHGduPF6zj4knu8j5PkCBnASlgCiJISUi0BnJEEdW24gQb3P3pdu8+vkvoE1fJY0SllYyjzvGi4dIIWgO2umcq7inrmBUzWqKOl0oylIoKDV+FC4VElASIzTkUqFHKaNlIGYwUjD5jydDIKRGi+oxSDrSWENIEZMk3kcWKUDXYkohkcjC4MRMSYlZSWZRKKKgRMYJQac1WiqEbMiiNgJyq1FS0QlBjoe0q/TEAl3TQpb4JtKNEtmA0l2tcxbHIEINNGaFsoZeSgKJkpdoGWjcEiMsUnk6s6Q0mVN9G7VQ2JQRQuJlIZ8skPuJYhus0SjbkgFnNbnAmAM4hS1LphJpFwuSlwQUzhhIEKMn4ulNg7GOnCWm1UxTQbtADDNp9rTt6vCce7RQxCxw7ar6MGSkETCoBltm9mGiyIJqNTKumOYrIHLx6Jwwj2zHkdYInFQYFXCrBfOcuB5nhEqsGosWMHYtxzEgncTkwjALlK8KZZ1GHj1+SlKZhejRrqM1kSwLKWzYx4iYYbvfE9KMINMbgyod+3HLlDXaFJxUSJvQvkO2iRRmvvfeN3n9zZ/hJ/765/k58fEcagGsfsKyO+PJI0/ZZGyz5P6za150PakZEGPH0XLJd7/5Ht2xwccdZMd1OEefJ9zS0bWCtp/J3pASWL/jzt1THr7/iKY7Q/s9emFR80MSBuc6biy2OGHYbyRmHhmSRkyaq9xx+egBUxirqG2pKXNL2yvsKNmJSOcs/+U//Q/5u7/+92gXR4zrc1CWebombZ6wPL2Dv3WP7/7Zv2S6Dtz73C/zxX/rDCk1l+sP2A5beqV5/uQZR1GSF0f0J9AuHGn2iEaxdBPfefs+n/lyw5d/9LN8/Zvfgz/4Q17/8pdZLD6Bbv+CP/r9v+DP3nqPT//kL/HV+5f8xpdvMucGq3fYUoj7QEZV8JYC1QyUkOvz3bX4uVYqk4FVazjuCtt9gVgQcWJKis04olSDzS2ykSzFgDGFuZyjZKSIHu8EY1T05evEPDNnhU6aLI/IZY+MPT4HtitNkh3TToHbY2RA0EC+BmGZvERoSZcjpSxJ+YqFU6AC01x181YkdF6gSHXVFSrkS8nCir8ihyC7FTHVU3oZNgggKU3JmeQKKIUKkZgi7aJFGsU8B1KBzhryQXRiREeMsN2vCdR95y5Elq5iW4f9mn6xRCpLSZE4B6S2dU+JJccJLTtK3pL9SDEWgcT7AXAorWtaPuUDKbHS9oqqI3gpBbUQR20jSEGMB5pgNRaTskAmapWQTDvPGGertbGAVDWolLKiJKpSV2l0MfWmrwwpS+YY8PsRpQoCwXbYkVIiTA1aO+ZSoTjz7JHasJ+Akmi0YHW0QiqD0ha0QzY9tum4PQ40WrO5t0YKwb0na3yGzRyJqRBKQWVJjJUKGXMFywRlGHzhaj1i7SUvvTrQtC1SVaypUpJGQB63xHFLSqG+prlURN/h6/shw1yqrKhkfUBTH/IGEkjVFCiVQBeB0ZWEaDSULGnsx5QhyAlpM0ontnOkxTFphQZU0+JDok2SSdVwKMw0UlVNbE6YIghCopOojA0p63OTEuYAKkqpdrt1aUBDcRKnlyipKSYTUyQNmkknnHKUECsXoYxYXDVqioyNgLZIITmzhpALrm0RoaBcQzSBo/YYqyxZq9rukYVOZkpumNyuaq5th3OKcc6YbkGMM0e0B+KaRoYJFSshQ2RB6iRlrGbLIhW667DWMexniuAAqQqIw+RrnkeUtChdiCKhVIUxBWFwrmGcR3RjmILiRCt89kxhhCxpXMPlo4n1sONyd02zn1iLiU8dWVLpyD7RW8t2CISQGYTghgXSDAhCKMxFEA60zE5WTHZEk/PMJDVWQ1IrpAgkUXCqI8UB7Qo2azq3IItMZiCUnnGaONUKmQxZCbT0yKgQVnK5XVddtjA0fHyhwrPFLZ6u9zx7tuH2vRuEMnJ70XHSeWT3Im89/oBj3eNDxLmWEIf6+5wMV8NDjvIpWu7peYW9SYQ4sbjdMewsZnHMOFD5J1oyrTtu3kzkWaGmxDpMJNkgMCycJ2kYaPjw/UuG8WmdFMZEIdJrydN5pDcNd+4c8e/9B/8url0RwogQkGKg1wb1woskc8L2G3/Ey699EXvjmOgLcvI8ffiYJCDNaz744JrV8QrZLCAmhjgx7zxDTPRbwWp5m2dx4u6YieUZn3jlBeT6IVePn/D6Z7/IejdycvsJaf2M3fNHLEPD8zRxoufqHWha2mRIZscyrgjMGDT7XBDecNQaWpMptmMuu5odE4WuERQSfSdJYmI3KWQJbK8Lu/kI7A7tGxwVzhd7iYmFTIvJ18TUUkyHy0/QtGjtSTKilOFUZBa9RpxmTGnQqRDFwH7oiFlhxEDxnmu/RLFndWoIxbLx1yjZIedTvEoIHcmiEHJBmhYxR6zNrNMPzsL80APB9vyK2QdiLkzaoK2jVYoy7pg3np309J2h0bLebKXEmIooJRmMWoBruHF0gjSKbnFc6Wimw7YtYXxaP8RLYrfb0LXqADDKMA21Wpgq7KeO/xvGeQadKTKTxQ5tJdo0KOtJGYL3pJhIfiTHiFQC2/cEn1E2oRKMc0AKSZISpyRRUAOEIeBDRCnJ5eUO0x4hHYSc/z/i3iTWsu2+z/tWu5vT3a7ureb17/HxkRR7UaTp0KZE2bEFy4YhCzKSQQwnQAYZOAGSQWY0MgjgiRF4FCRBkFEQxFEcRoJsUVEDCRTFThQpvkfytVWvqm7d9nT77Ga1GexLJQhCxhCsvD0poC6qLs49++6z1vr/ft9HPwSMiZS5JufxRMKHiKkX5Ozo20jbXnJxekEShlIlrBGEKFks9un6zM6twWdC8Fyut5zcOubgzj1STihtCFki+4TIa4SxUO+RlWZ6codiUuH8wOxgytV6R/VgxVU7sOqBJIhAl8H5jFUjcMnowDBE1AqGYcmt+w94mkhdz5B6zH1Ikcm7C6ItSPt3kAiS0kg0WY6LGiHHTv6I7FGAIcdy/LfRj0drSo3jFz3OmcukRk1wLOmlZ5j+eAf3X+RV6UzbOzSKybRg8JHK1chKM50phqurccyiJFEaTNLsdgNGGTYxIvOYH4hy/BlrLSmsRlAQZEbFSJG3ZHOINCDT6MBo8g5EgfEGmRxFXZGVRiuFD4JiVkOSCFug8CNqVkTsJIw8eeExdUVhBHpaMyRHUZZEaVkLQeUhDjuQFnTCFJFiOkfkjKRAZ4FVjpQTJ5NDNmGDnOzjdz2qqqmUwBdm1Np6QdQlps4U9T4qGfrdMAKMkhz9GiiENSg9kENCq4GEJqRE8o4iF/jUjWx5Y9FxYG4y11cDKmSKsqYVnhzHBXGXPVIbliGSk+K6l+PpQgq0u4yxihASTTcwE5oDO6OJEVE2iJ3Dp4hxmkZlVFR41TERFbqomFaW3nWINNAP/Ygmz5LDxR57i9vMFgv80LM8f8QuJt46O+fB1Zaj2RQtBJGENZJKatbrPI4o0HTivUMXG2W4c3jA8yc1FytDShuefaamub5iMptRpYioxnR73O1YTJ/jendFUlNW3SPunbyPspd06hHOHaLMjjKULG4tePLNH/Lcc0+zWl1TO0M3gcntO3SrTCvrceE0dBjRMbdz7Czy2qMVQgtiq0nCE4MjCcmT9QZlE//Zf/rL/PKv/BIKQfZihKZlQV1OaPo11/evWJ79Ji9+5gsMbk57seaNd96izAafl0yKwJf++Vf5lX/w99i/NcU1A9erxPr8nCBgNp+SjON4/y5vnjoOZq/Tx1tk+ZjJ7ADKa47vzfn0X/4EX/qNP+Tddxv+g0+9w2+9k/mTN55luTXcfqnmI0eKwg5kpjROIKzHbXcQFcoY3n73bY7m+7iYCb4nLzJWC7TZYMqSto8wKFRI+LjjYM9Sp0uyNOMWVAhcrtDqEqF7olQYUWAmGpsMIVWYFMAJlBDk7CjVOdVsTnYOdEHnBpw4RqlrpnXGtQMpQrnoCMHQrTymbijTlITExXOSl/RRIW5svFF2uOTIzhH8j38W/8QFQesjQmpUStA2DM2OcHiXavYcxeZthHQIPaPQEqslpijJyY9VKtfR94m94ggXBiaTPTIJY0qSTBhbIPUxm+tTtLbE4BCyJiWH/NEMO48/IBiNUTkllLSEGBFJkkRPMgVCTtDKjmjWm7l6TBJlDFobbGHH/0cLXIqj9MOM/gGhBEpCjOP3EMIQc0TokcUWQxxFTmLsdCc0OUuSGGdSxDQi5X1HCp6YR0Jj7xPr1UAx0eRmS+88pbG0zuNC5vjuU5TFhMgcW1ak2ODjaA6MvUNFh9EWocewoS5L5nv7hBA5vrVgtfVMTjf0PrIMniwFUkgMiSEFlFC0PlIpybYPiJy4Ol8zmZSc3H0Rkkao8VhMuC25WxF9j7IFKVfIG/UvN74KISRSqJHWJxVRGkQK5Bv2w4+yBj/KG4wnHXlM1SdJoYt/g4/Hf/1rNbQcHJzQdjtmg8KoQBfXyL7AmSn21jHh4oJAohgUXS3xKdAwjsdkVkQCNQalDJobtHWMqBRJZWZqZkgpiCGjCoXKApENSmRy9kSrSaUd3/8cQI4Vt2mEVDQE12Gm+wQcqXXISiPKCbLQ9NYwyQ6d9ZgXiJnKt7hsgYjyHSpDyDc6bwkh9fTC3tRxFReiQaDQsUOSUXqsWRaioFCGYBPGSyozmkSdkUghR40yMK0qyJqsPEpYosqo6Ek5I9Gk4Bgk4DPJCGIOaGGJKXE4PyQVkubsIbWQdE3Hdr2hZsp6+4T1eoNRmS4ZWiN44VaJjIpZTFBOuWh2o63RJmzMyK0bHQYBfAHTrJHWkShIGtCJ1TCgNo6cM3oiWMxP6Ncthanp+shk5siupx8cUmluFZKGAqk8g5MUckLeBdbCo6IfgVJWs9m078k9DLC63HF0d441xzT9I3S0PDnbsJiOx8d7r+wjLj2rhxlZlKTtEptmZLHF9olsJzhxjbELlNBcbM946inNdj1wPNMos6Sc7pP6JSJbjg7u8t23X8WoDUpOyFWiX2kkAeUs21jz9qMzgu7ROdDngsm8xDhF7nv+nb//9xDWIKWk356DjEznBc2mw3ctzfIRe/N9vv1bX2e9G1jsTekGx1XacVTXnD445z/8R/8eUs7o3Zar1ZrHD55gC01V2pEWS0dSc/7W3/l53v7eq7z88WO+953vcudgn8vlhtlhJGbFL37up/nfuwG/87x0S/P9777BYnKbP9o95A014x/87D55GAhRgtO4SWY7DJRJMSuP6D1UkwKlMxerFVoZ9m/fZWo0ZX+OrQs6WlLM9A0I0aOiYMgeLcZMThoaPIqYztjudui6Yut3TIVBREcw4yZVKcUsRi56TxrWyFoTpMAPHaGf0fhLdChY1JnQLsmpZHCObOYEMoWRN6A5Q5I7nBwQXuCTwKgd0WsG8//kzfxf109cEPSDJ4U04lCVoTBQdReo9gIzmUBxwJ7ckXH43o6hJGvIaiQR1pOCfnPB/vHzkBSTyYKQeqrJIUVhEargoLA0q0tsNUOrgiQ8EkmQDt9tELqgdxvGppfEFOOLyXEMbpESyiSEGH0Kpihpmyu865FKUNYFXTOy1tMgkDFTlhVKZTqfyHpM01stiT5gFwXB+bGNEDxp1yByRVEofErofQlK4n1Cq0C7O0fEzLZZ0+wCYnKM7zrOn5yyvFoSYmKxN8PLcVHx4fd/FCsS14Phweqa+WZgXlco0VIUBVYKKqNQQVGkNdKYEeAkLfOjOxT1jI/sehaTmneuG948b2h9JGVoY0ILQRHFiJuOYz1R5UCO8OTdc2K/4+T2CYtbdyj0YsxeNFt829BUE6pbzzM1FcGO4CSp5YgyZpRZ3QQKyLomIlGmu2lNeAQJoSSQ0FoihWGSE0bJ96xlkFXAbzfUlaaTHYWu0DtDDA5pPGLVI/YPoW2h6FFeMbUam8ZGSlYjgRAZ0cLgRE/tNHqukSGT0iFNv6PSEI3FdBmhBIkeIQRVPVoxu23HVTqjGGr0VKPDlPbggNonZFWNyX0psSrSpw6tFhAjuuvxZUVRjnju3sdxRJYyZbFHTi2dEFQxEHYtFAWlMAw6Maum+CxQoScJ0MO4yJmYkqArQhrQeAo9o3UrqnKBI5OaFjBM9k+w2rBbn2ISaCWJUqDKCYqCIiawJcFHfHJkOcqN3NCPcq3SYnuBjwKhKs6bS5RJHB1NuD5/h8NSMEwKiANPUqSOgoeXDqF23N0rcX2HMIa18GMduY8c1BVX/SiCskIyyMAUQ9IJEzy7boOtJkyne6OAaiaoo2Nxe592vSMUa84ebxgCJCnIySOnFSEO9E4zNRmTBSHFEe2sLFprpDYY8961DFy1z/0nlwgcot1wcOeIJBTbqzXXVx7vHCf7mreagN/ruDc5oAmPuL33Pob+ChO/y3Izp90FRMq0XY9ePcNX3/kOz906YvugJ5b3qe0xg7/m9e/+gCo7ur5EWk1Z3KZr36Q4UEyqe9TDGlXWDMMa7Qum8wK3bjE68M/+6X9CijUlinazwppEinD5vdd4uOlJynDwzE9RlJZbM8c9K7FW8uaffpN3vvY24Z7EphoRe9Z9R9PB4HuqqeQPf/dP+IW//W/x6Nxx/sOvsz9/iY//9Ic4OXmBB3/6x0wmC+bTA/ZOjmkv38Iu9nj2E8/zNzT8s//mf0Blz+c+9RI/vP86zc6wHB7z/cu/zjN7A53fjLX1rDia7xOlIKdIiAHXXlOZmqvVFYunP0l3vSQ2Nfv7txlIzKrn0KUn1h63N2OePKiG1fWOwQc2q0zafz/73Yqqygx2jzvqEbSZYAxxkLTjJJJEgylrzGFB0dQksWNbS4qZYlodMvhIEzxR7eOGQD2dslt2KDPQkmi9xbIj2wIRDaukUGlAVpZBwWT48ffZT1wQZDFqH8mZEsmY1xZIJdF5ILnAsHfARINyO2JISDP2krO1UBiqsqIfNqhC4H1gMjsk5YR3a2wxQykojPkzbDF5rD8pFF27RgiFljXOt+McOmWMNvjgkVIRBwdiA2EEkRTaknMcvffDgIiM1sN0YzrMkAuNiQNeAnok6ZXW0McISEJIKCXxXYsxmiwUylhi6Md8glAgFCF6us5DiuOphCopCkVMhnIxQwcHg8LbKctdx/MndzhbntEGhxWauqoopjXSGoycsX94jBIJdcPMV2b00CupRt9DMaVAsDg64qjruXs4Yd0O3F8NxCAYp3iZPoxsBnuTFNdaIpJgtXOYQnF99gRrC6ydjAG4BDlGdmevk4Wkmt9CyRlZ2Zsqwc0NcZMZyBmQmiwNWVqEDCD8j6TBN+2DEeUjVUBFsO9Ry2CfkugiqIjSJSoJygq6JJE50y802sVxkRdGtXEFhJSxJDwCKcbev5ERJQu6GKn9gJQlyrZIAuQZwmeS9mM4sQtkoWjWnqQTbdQgeo6qEdYU0gFFTgzOo1KBqSukAl9KtCzp/JpCGHzOTHwg6YxKAS3FzYmAJ0aHEBYrAynpERmOHj/UQ8LXieQVpaoYksdpjY6JmDNaZ2LUKF2gUqDIAhciJiZEWRM0SCUZfItRCh88xlaUVY21hpzG0z6BYhgcuEjnAm3bYrQkiUzhEpu+wUeH2jnkbsvZkzPunz4hu0Dfe6paYMKEi22LEJHpwoIzgGBiMilkrp0jaSgmmrbNGCHZCMu6T9ydacra0jeOndCEHFCpI4YCaQqKWNIFT3aBKMcwsZI3uc9CIXPFuvHsmZIdAwHLxCqSqhEEVC5vPA1QqfeOVLhXa965XFFMDNVCkdwKVR9THkFzIVBVzdurHW2/oxokK7GhY0NVN7y4P6esSi4uT9mJBcoX1BY4bCnPD2ldy0Gl0IczrPHUl4d4L0fwmgq4Zs1uecnzH/wZus0SHxKPL97GZIeMnlBarI/klDmoJrzvhWNEuia6GVpGpFacPrxmqzV/9N03+MYf/Akvf/hpPvfZv8Rq2RPMipP921T1EU9/+GOcf++rHL5wQtdKGr/m+qLl6XsLXv/efVR/zcOznuAze3szKg1nT66xyrD/1HNc/mDN2dtf44Of/ps8OosIB/uzA24912ClwEV4fLXj9p0F6x+usZXiBz94zCtfuM3RwYwQLEmUNGEgrTtme2r0lcgJRIspWgrbsfYDbhfYhBVIw71ZpHRmNMI6TzGbkfURtycnI9H3YM5m8DzevsHKSdrhEd6vqKunyHmgUJJSZ7a7gRRX+HQXQiLZNaUwHOl8Y8dtEWJBrTSFThzOapaXHbMpBKXxMVHJEqEqooMgAkL1VNbSu0jM3Sgn+jHXT3xKn8zKsWpHJsRxhyfVKERNOSFTgnbLTinKyYSpCUwWNWVVEXxHPyjmt57maFEjjMFaRdMtObr9YVIaQy/aTDHWEdwOlEURyWEMV9STfVzXEESJTBkpDNIKck4oZcc5eBhwuxU5Q2FqnG4QWSLQyORxXU+MHpkEUpWgxViXTKNPQCLQekQsV/MZotDUoiINDlmW1PuHpBTGD0UlCSmhhgGxuE30LbZ6ij6t0FlydHBM8JHJ8ZxspsxO3s/DJ/e5/+CMZnBc9G/yNz7xMxRKE4ctzW6NLiY0fsnB/h6PrzdoBUfzCqMEYMb5becQ0qOrKVZr7jz9HLP5nM9cN8xnj3h3e5+r3UA3ZHLOdFEQ040SWkhUyGQpuGw8LmXeeu0+u82Wlz8qKeo9hDZIFP7qktXynIxncvJ+pkfPgaj/zGIphEAqPQKOMmQriHkfoQpEShAdIoabBH1E3kixhIDavzcP07qasPMguh1mqnDZUFc1Me4YlCKJQM6BlAVBJHKOHEkoC8XbXqKDJ0tFkQVWGipVIowkOMgmI6MgZ4lSA0mOO6/YdyyHyOAd1lh88qACWhTk4R10P+H6eoN8S7CYTzicTDDzimo25djeGVXYAZLPqL2CgEbkm/sBic8Bqyb0DIBiUkyRCawyqELhs0S5DuOqG8hRQJgCi0AWZswCqIpJbRFoQhxQpcXqgpxGG+OM8X2ryho5KTD1HlU1fshmP/6OehkZ+o4QekTSFPOKHCANHWlo8b6lQKBEwWU6JSYL/cDT+3NePz8niR6/dsQcKaVh5xyLLlIWJZeXEV1EFpOCPWdZtS0ie1zyxJSYWY11jiEodOtROJwbn1NdW2G0IwQ/bjKkJm2v2G5anI7Min3KekKhoekHpEhsu4HjO4ekXcsQB/aEYSgqvJOkAZr1E8q6fk/uYYDVZsP5Cn7mI0f0pxMoeyba8vidQO89t492HBy2rG8PLPafYh3XVLNn6bYP2JJ4ZnLM5HAHF/dwtqGcHXK5NczFDnm0JfcThrai1y1y8ERahJghhorl1TknLz3L+v5DetVw585TtMuKoixx9hClEn7dc3JQ8Z//o5/l6PgEIy2uW/Hu4wu+9p3X+IPf+X1u3XuB73z/NWZFxdf+5E3+6//uV/n5L3yKvdkhZfgmn/87/zYnJ4d88zdO+fjPfoxHF2fYwmMldFfnfOVffonP/eUPU7Li9dfe4Wy3wTcRUssLL3+AVz75OT77mZ/hq1/+dR59/zWK2SHd8ppKWPb3b3N0+ylOH97n+z885eSgIQvDetvz7R+8xuX2jF/5Ky9gdKKaNJAlZaWJ0ZBSy8WmxC7v4++8xPLJFm8Hqjwlx4DMmbevHuJj4vjuMdPmPq+++yzr1VtMVEHTJqoFzKo5e2KKnAZQnuw1UW9wUbNLJd4N3D7eR5xnDo4SQ+vJrmJgYBk0BzIxhJLOBYwKzA+Oid0lB/uB6BJKl5TlBkOJlh5dJlI+YtutyCnx9pVAywrp/rzoYsCFSMiRdDNPtELeHNeLMUAmQCTHwBwhJ+xZgZIjwMi7njx4ej8qlJOdoHPCe4etZnh3OR7FVVNSDuTkxs1oDKTcAwplBNGPocWYEzlrZAogNdH3Y70vlUBCCw0RspDjkWWKxJwIMY11OGFGSn2IKCFH/4AxRO8IRISSGKnxItJ1PcZ2JNejzEgYVBKGfjx2TiHghhZljlChxMuAkBpTT4gpUE6nSFETTgVaFqy2V3z4uXs82nUjabC/RhtNqUZtdHJurDSmRAoFQ3SIOIBQFEIifCBLgVYGYwqqesadO7fZ7jwH81MaF2CIRAGOhEDQ+ogWoBSInAkRehfZlnNphwAAIABJREFUbgeKqy2bywtmB1DMD8f2hdLgW9bvvkZKUM2OUbaALFFaMK6KRpiNzJKUAG3IlChTjvTFdFMvvFmF/mguZt4jUqF0BXU5AAVOKnIaaGwmOENKgdZLatHRJYi5IImMY3Rr1CnjpMClBAayzHji6IlQJVkERBZYDCkHYtcRvWNInn7oCcmQxQ6t6nE8lR1rBVUc0IUa66YdZJeYyYQG5OHYmlFWEHs3nlYZiCEhhAdjyVFgCossCjJirEH+6NhcGupS40RiUAopJXU5BT8a6TwRbQqijJg0ap4VYnwdpiCGiFUFWWaIAyFG6uk+RTnH06NcR7xpLcU0CrkKVTHkgMAi0240TPqIjxHlI0FmfJd5563v49Oas9NztrurUUhGQpUlRgh2fcHOW6z1NCQOhSH1Ho9DJYm2inaT6SPYnG7MqJHMDU9CeFqhCKkjDVPUZI7OgCzougFHxOqCvcMDXIzj73DfYLOkcY7oWmwJbROJk4oy9uh6jyzAOY+p37uRQfCnvPjyU3QPrjBTRWp7ht0lc7FgeuBxsWC3jah6j5PDAx68/kd8+JXP8o0/+Q5H5QFn2yWEnmvxgJPJMUrv0Q9vkipLXJWURxE6zcO3V7z08U9y/ugtZIBNf8bd559iuLyiMCUz4zhc7HP73j74jlpqRCjJR45uKzi68wF8Z1F1h08dX/nGG5yfPkKkim9881X29gqa9orzC/BZcPfuIe+/8zzlzBK3Ky6DwMk1MmWUgn4tsZPI1RB4+rnnWG433P9XX2ZST/lbf/eXqab7/Or//GW+9KXf5c77nkXVd3A54oc3OXzhWdavd8i2RcjMp37qA/zO6pzdqudyueOlF5/hzYctIex491STJgVPTrfMfM3RXOMI3L5VkgbF9KDmB0++z211Qiw6ZAg0sSeFjCoHZvsaxJRls+LO3QWPLq/ouh6foe0TIZRs1IZKT0lyw95CoGJHLlpEVGOlWEHot+zNNI2UzMrAEP0Y5k6BICVtryBvSTS0S0vvW6y1GGXJZoprE5uwRguo2SOngVmpMAJm0wOE2JBy9WPvM/XFL37xx37xt//bf/LFnBkFQIyoYnUjEpI3ylOpxr+f1waRPY/WmW2TkRr6zYYmQzm5hdAGrTUKSCPTlwJJdluk0SBG/G/0HnxLCj0yR0QaRiwxAR8CQoKIkZzDaECMEFMi+B3eDQTfMdxod9u2J6ZMDhnnAuEmHLdtWnQW+BiZTGvcMJBiRltLVgaUoNSK5B2kDi3GY1aRIz4Z/LBGFyXJZ3bdin59RT3dJ0VwoaPrdiRRcn7+gDfeXbNNiaPJMQ83a8qypp7MOD66w978iMvlGau2YbI4oio0KgeiYtzVjA5nCmuxRY1A31T/CtCGuiyYz6Zsl0uc85yvelIaQ4AJxlBmBKtAkhF5fB0hBIZ+oDAJwcBscTAqgaWCDMP6mvbiXURpqaZHo75a6JtTgjHD8aM/s5QgLRkJqkAQx2VDzjcjhjTyEYXA3n7fP/439oT817z+l//yv/ii0GOuZSkilzmxGjxdWXDmex4SOPAKHwxzP7CXM1dCsY5xrAykTE/CyhKpKyySSimKQqOlJGdICi6bNVe7LU0X6R20OWDI7HwmRA8i4VLC6JogE3FwDC7Q91s6P7DbbnBZMF9MyLJE2/F+nNdTvAdlBaaokGWJKAqcj5hCodAUVQ0mjaO2qqQwauQIhEhhLMrUVKZAaYGViuRGtkhZTslKoosJpqgxUqGNxuuM9I6yqDB1ja1miBBJg6fvPFEIhJc4H9FaEgkIa8aWTghENIUuUAiC2xG6Lf1yRbd8CF3DvNSYlNEm04WASApVCKyRLIeB603k3rygLApy9MzLkpkqaVOHUCUxRpb9WDE2WtHlgBYgpAHsCIaSmbrWzBbHKBGYWk3bO8qZQecSozPvnp8SAGMMRuaRwyE1RkZqlVFWUCmo9o6IIaMLw+c+/3P/v9/DAF//6m9+8UN39vjyV77Ji/dmPP+xj3L5eMvANWst2Zt4Qqe4Zw1vvNVTTAeuzh+BPab3mRdOnuVyuWNRC1SCa3dNUoo+7uiaHcfv+xgunzGv77HanDPxGypb8NLHX+b1r3yLxckxe/v7BFVzcfqQWwvB994e6A04v8b0GjOL/Mf/8O+C1vhh4Hd/703+x//t1/id3/s2f/zadzl9cs7jy2u8c9x/9xxkR06Ko4MZR/MjHry7otjPbB+9wVPPv8Lj8x2r/hKZDAUFr3zs/Xzoo3+V77z6fX753/930dUxy+sOWwY+8jMf4Wvf+iG//qu/xcsv3SW3hqPnKvb2j2mWS+xkwrMv3eHidM1b775DSJ6DW/s4H+mdJ4iWV99WfOqDh8znI3pZ6zmrVcf1Fk6/+022yyXlrWcQ3mH0Pkm2GJGZyozrIto5um7DZpDcPXmZGAaOjkqKqWF/CnU1wwrPdFKyGzqapPBNR8yBFDKaxL5cE5s1u1zTe3EDEotom+mERoWB2eI2VtX0KSDrGaJyKCkge2KAqsgU1KSwgj4QQsN1q9huOjabQBc9H//sL/y/3sc/Pm7IOA8OceTbRyRDyIQ8zqltVWBLi60LjC0YIiQx8u6vs6LVB5j9ewgMm+srYlDE6NltGpJvGNrluNNPw4hGlhmRJdx8T7Igh0AOHhE7iANCaGIIkAIx+NHCmG9IhBFSHAmFSgSUSiitiGk0GqYMg3dERgJfHqfdxJRQZpxZ5pQZ+o6c8lgFVIqhd3TdmCANMVFUxdjRF2NVMPmEGzoyAyE15AQhBLZtx7KByf4xShlOd9dkOyXbCbPFPYxQxCjpXWAYBlabLRdNw8oHivoIUx6AKvAp0/rELkSytKAsCINUBbaesdg/5N7tI27vTzF6DBMmIAAhj7NwnzIhCRKCGMcw5a4P7LY93a4lOf9n7zdSjybHGFk//B6huSINW3Lyo1OCkUsw2u4UgrF9kU1B0iXoKdzob28OFMad8Hu0uaqlQkrIlBRRUgTFhfBsomM5BJa95zve8VYILJXEGYNWEoWkITAIgcagFCiVSFrQijHEmXVJTIGh2zF0O5zLdMHTRgcZXM4IkxAioPN4f4fgaQZPl1v6MODzQDdsEdLgfebq4or11eMxpxFG6NC8qEYFRkqoCFUQGANKl1irSVmhk0IychcyJfrGKqoEGCmJImGKCmEtZVGjtSYI0OLmvRECEQMqJYRWmKrG2BJtJ+Q+4jKju0FpsBo7LSn1jaPEliO90ChiHt92Y+w4w1/sU0xv0QtDUAVXF6dc7zrmtSQGz85Jrv1A7xPa9Sgf0SoS/2/kzqxGyNBEGSYqUxcWLRNGZUJImGwQWZBExty4EFx2NG1H51sQiaQzQYFbD8SioOmaUdpGxOQWVZYoFWDoaVxkwDF6vw2xU6iyJv9/gF3/Iq9VU/Lw9AqfanL1FI/feZdOLukqQZ3v8PWHr1IPgrfXHWt5zvrNxMn7nuNgMmFzcUrYPqJPG8IQ6dJAZSTFLmF0SZI7utOHKB0JkxYdFEOseNxdc/HqJaG0dF3P6uqK+aRG+AGtLGZSMZ9ktNO88sKEX/y5D5HkiHU/P93y7R++yQ9+8JDtbkWZJFpkkus5e7yCHFBZEdsNF+fnPLlcUdgVX//at3n6+Xt0bYNvl/Q7hRvWDOEhSWvmc80nPvJB7OIWwQVOzx7wz3/ty/zTf/LfM6sNf/WvfZ4333qMCC39tQdZsAs9rt2QTOTlF54mi0xRlJxfXlNWGpKlCgXX5/f5td8/xW/h4lyybJZIadi79zIEqGqJlS1mWlLpiBWapC2BikFFBiE5fuWnOTw8YLW7JPSJbSsppEXE+TiOK1oSkVtTw73DOfVszNvo1NOGFaXZo1eWyhiMcnRZ0fWKxnkO7MDxXsde3UHYkFKk3S7ZXkC/TLQbSdv3EDROOKIsyEZjdMG0iBwcZMr5QBz+nHKjvh9ACbQwmJTJSuIZO8mbIY9yI6EorOJW8PjBoycH7ElFUUlO7r3A/v4RVuzw4Qw9+Uto27G8Omf/cJ9WNsRhixkyRWUQaUVVHxKEx/lI7pfEkPF9g/OB6a2X8K6n3V2idYWXA8H3BA9uGI/3x89qgUGjhcaYklb0VNOauFyBihzsTdiudoQM3vdING0f0dkh6oo0RDbNEqsls0lB2wUWe3vsvOFoMmMXB/pNS84b1strlKk4X3mKqUUaQbb77FaBTZREIbl16x7H957lmaNjpIJpDT/81h9SCYWdH3N06x4294ikyLkccc06s2lXaDPB1nfxWXDdr0BkrJRoKSgnhyBqPvDBV/BZ8q13LomrjtWQETkTgSgghEyjIkbI0SPvE23r2TU9zbaldy26qolJkdBIqRExEs4ecvGnv8nimQ8in/kE2AlCTMaRgZTkLFCMjIioKrIsSUkgdYnIESEHUs5kEvY9GhkIoRAp4WWPFpqpzqhoaLrIWR4/iLZB4GTHWRQsvEDOpqydxwbJkEe9UVTFSHPMiiwkw+Bpmw0+SZxvaZ0nA6UwBAk+OnTS+AQ5C3xlyDnQ9wNSSISxLJRhCBJtNFEkdt2SJ+ewGhqqxYLZTCJTzZDHSq82BcE7dFEync6xqkBn0HVJEhEZBUJlshGErBF2PKkR1qB8j8BSmBIfGrQ2zOop2WcKY2iCI5ixtSObQCoEvpqRE3SuwcqCeVmShSGpCBLsYk6OA30TKCdT1tdLrJ4QfMvO7UBmkh+9CbV07OEIR3e5WF+ymO1zuxuIrkMWJY+vOkI9ZaI8Tdtyfr1hK1tykdGrzDN3BCFomt2ShCFIhfCJyiakHC2cXZKEHBBG0/aJ3C2ZFAWi3iMER2EEq01LsTojUzAtBDIOeD2lWy+pyxO8Tfhm4KI1LBYdeWIxRwWVnSLeQ5fBa9/+Dvsf/xCffPmEr339NZ59uaRiSrUWfPMbX+KnPv1ZdsazW3X81N1bfG19xld//Vt85KP3qK3gt99+k4/NLJNZzeW7DXEv8NThHj63vHjrWWoC58vEwhowZ/RlT3h4j7f6c6YH+xwUmiwrdpcPWO8yd/WOV16q+drvt/Rpw3/0D3+J//UPHlNMFMsnG/7xf/Uv+MGb5zTdBp0cH/n5v8Lhnb/N5f/xP3G9+x7vNKOzZrZfIQrLg8tHPHrrkm79kE9/8PNsrx3ff+ttVFHSXu8YWssnP7vH/bjig596P4+fXLO72qCs4Auf/zS/V77Gb/7GH/DKK8/wc3/9r9H2a179va/w8scappO7NJfvMM0v8MoH72BVSc6e0DvsvCa6loaMnFjeevAm3z2d8EufOWCIBVs5JeWO++98n6c/8FP0nUKExC54FnuK2EuqrMmyxq0C4vIh7//ML/Dud3+PiyrQmYreC66Wl2Q8hagwpmdDQRLXlHqKUIld30OessxXvHXl2N+/xk4Mtw7mSOVwg8QPLeXimNXVKVbWPL0HURrAk7JEScnFeaCcBJptZruJSDsCpnIB9+4UpKVC8uPrsz/xhEBJg+8TfetofGTTO4If4SJhCAx94Hq55eH5ije7zDJJtMyU05KuDzw5PcdHx/zoRU5uf4Bmc4qs5sR0jeuvSEFgdEXX94QgGPoe1+8QSo9YYO8hDbghEGOm3Zzj+x2CTEqO6D05jVtiJSRh8CNGUwmkFiAyxuqRMCegrCuk0ZjSkCTEHPEu4vx4DDqESAba6JnXs9EWJgw+RZZXa/y2od2tETmQTEkQIwQJKWjbLdoHslyg9YRNc8Uzdw5JRKq64MVnn+VksaAyErodT995iaOnP8Ct2/eo5nvY2SHTyRGFrlF4SqmpRIlKEucHUIpqekg1OUTbGVkUICWmNMwXCw4ODplPKkqjUDftgpQFPmcCEEm4CC4KYoJIxg8B10eSc+Q4JtgF6c/YA+RMt3xMc/o6uV+Db8l5rGTCDcFQjuAiIccefNYFUVrQ9Yg5lpks0wg3eg+uZBWlLKhkiUSStaTXMIhAciMdMJJQCVyKDGQWXnFLVWP/NyckCh0lJI1PGRcTu9SxSQM5DGQJUQmSEAzyRv2cJd4ActwBDC4SboiYMXmGOLDJgbKaUtVjGycjWPYt56s1m+s1vc/E6Ih4QooMQlAojRSSJCCniFACQqLEIoXCCksaHORMkQ3S1ihlSbZE6EzWEpO5qdUGApkOUDcLaJ0VLvakmBl8YrdtxrZOzrTJk0hooUaxlRwDjNlqOjJmVhJFRhcVhZaUpkSqSNKQigq7f4++6SD0XJw/JirPpC6Z5gorBNH3mNIwqQuUVlAq5pWlmlsigkpm5mqCEhJNxhvJEMFkgx8Z3qOASRl89DTRs21bXL9F5wF8h1SOts+kEJGFYrZfgSgQ2HGk2Cesmo0SK22pVTlSUgs1Cs7eo2vwBRtaXvjQB/joJ+9hfGJImsvrx9i95zgfXuO6fcKLc8sybXiqgo984iVMdcQPtlDFinLyHOszKJ4pOe9XHJcS+g5ZLdB7gkePNuTU8GSbaVf7PHhyxmmXGaLgzesNy9Aiiwp1MKE1kY88d8ij7QqREt3G8dLRC8RoiTnghy19s+WZ55/lCx/7IHvFHi8eXMGdYz7+1B1SHoPJ33v1MWcPlwhZEopLPvDheywvGx5cnpPbnumw5o+/dQYyMjSB1775JlkXPHz0iPMnS548XnJ9ueXO3gFvvnufb3znVX77d746jm0PnuONH77LbH+GCxDkElNGSlsiQiAFx9xakvZkmSAJsnX8i3/5TXpp8DERO4/qPbPZgpdffoXjvYLZtMfEROwD2hhc1SNlZHFSs3c05/T8dULaUZgJ2m1QfsN+PWeSDLsAPRalElKA95rQZ4RSrGNLbKCcTmnbls1yQ3O1ZbcOCCdY3LnLqh2o5nOUFFw1HSun8a0i7gzZJ+ZHoEykVIZbRwWzQ0MqBMXhnPOHA9te0Ax/zpaB1uNx6SjjicgMfR/ZEUhSE1LG+QxozleXzPcWHFa3mGwjdyeWwdQ0g2TnOmxZUeuWzeVbPP3KL3Jx/yvUoSUg2PU70BItFyO2V1Xo3BCygw5SGqlm/fUZPkE92yOE7ibsZonZjUrknPFdiwSUNszmkzEMpBcMrYNaEUMiukA9qcfFwDCQBChbs+sGdO/IOTFMZ4hast1usUqxHUC4HcVFx2JuiS6h1R4HT90BAm6IbLYbuqslUmmeOZqzWEyZzRZcL59w5/CQ69UTmvUWt7vCi4G9qiAZgXM9hTG4oaUsah6cbtm0Dzi89TSTakotDa7rcUph1FhDNNoSQoOQloNbz/L0IHnm3qs0g2fZDcQsiDmxExkboEqS3mYymcZBzpLLZYtQcP3kFHLg6N6LGGXYDgmhRhKj2Gxphjco59+iPnkRcWyRuhxRmDc1RCEUIMg5knJGqDHUKWWBjJEcHTn+hPLrX+B1GgfQkpAidqK5bgNds6NJCU2il4mUFZBxaK5iYuIbjJJ8YrbP213Do96ToxvdF3mCzoKrLtD4TK8CMQWST+MHrQrEnClkHkmbYmwHFGqsqQoNhtHdEVKiw6OiZt301NMpRWWRXnDtd5SXT5jNXiALiRARCwQjMFpSa4U2NeKGE9IR0MrgbmqgiRElnZODXFEUApcMigjVHNFtsWUNRERO6MoSiWSZkFnjEbSrJcF5/k/i3uRXt+y8z3tWt9uvPf1tqrl1q1ishsVGpCWrsWRFsSXHEOAACWylg4LASYb5DwQPMkgQpJsFmSVAjABBPEgAG4qSWKIokqJIFqu/99btzz391+1v96vJYB8KSGByEMCqPTrnTu7B/ta391rv+3ufZzQZYQXEOsURiEWEV0NwNdiAcxLfNbiuQkuN9Q7XpWgl6Z2gv7qkWL2g3lyxqC0y22VirkiyiNwMG59xldJYS6gteZaxqWq2tUMGwyTXrJqO0Apk7skqSRoEjetBK2p6Rnpwbyy2NXnXspOPKFzL6abgoqvIpCI1MQ7D2faENIvZiXa4/fo73N5Kfvzpd8k02ElOcXVJkk2JhWYhBtppsHowfH5B1zfevslsd8If/uk/552j15jmO4Mv5OaEY/scWd9gGqWcmHMe/6Bm784O6rIjPTD8yltf4s8//Zg4u+KTy4Jf5Cbj3SPKHnJucvLsCdHuPlfVFd/73im/89u/xQcffM7u3SWvz29Rbea89uaYP//0mDg5Y396E6io16B6x+///i9yvNxwsdyANOwdZAgJ+7Mcm454dPGA7ZNLPvzeH3MkrrhQE2ZHNykuL5nNxnz/ox8ye/QQJRXnz2q+LZ7TdD1378z59ocbElfybjXj/Y+ecOvVEd/5wx9i04hPP3nIsij54z/+IY3rkHGKlJqffPxDvvf+X/C3f+Nr/OLX/iZhe8Ls5pTNpiRIz42bEz57cAVBcn55gXTDSLkMNc7HTPZy/tF//wH/7t9+g+mdl7h89COmBze498EHzF9+Ddc51PiAqt1yMGoRPsZPUmxTgjBs1+cIESiqC0ajGUJ1ZBrCJGPHVqwKz2Q6RerAtlrhrUL5KbOsoFxuOHxtl5PH4NjSt4663PDme1/h/k/ex+QGq1Na6zi8OaPpSoKMUUlC02/RwSC9IZ/2uD4wzw5Ju2MyU9Ef1PRtwP6cOsDPrRD0QdA4qD1YAV3wVA5KK9nUnrIJLHrHsu0AjestAo9PR3hvWK9WhCBovKR3IKMZiUnxrmS899I1c78nBIfWMb0dUKw+gJMBrWNkJEjihFhFWNcOsqOmo61bmrqm6zqCtyAEOooHQpMLQ1lWCPQ1nzvOI9I8IU4MSRwPqXoxnHKDDygRiLQefvZQNh0OiRVysKwVBVJH2L7DWUNRXNJ7zbrbItIpiVJsyw1t7zAmwjtHS8X+/IDD6SHb5TmL02ccnx9zenbG+fmSovYU52ecHT9iVSx5+vwJnz64z4vLZ3S2ZTo+Ih/PqKXERgoZ51givDR4oeiDwgpDnIwYTXYYj3KSOBp6+gAEZPhpniDggsAisF7QOygaz3rbUawLtps1BIvWBqMHQ6HwnhACfddRXjyjXr6AriFYO0ydhP+370BKhZAaLxVBm4EiaVKEHoKaX8R1JuHU1zxvez5fbti0NZ0AgcR6kGLIkUgvBqkQgufW8bDr+cl2w0XvhzUSRXg9BO6qIKmcRVqL7VukE0gR0AKMVMMoqxhaV7KXGCUQTiD8MBFgZDzcLxHomgp7PbpE59ES9CgmLCuK9Ra6gFMBJwWNc0iZooxBqgQhBuqmMmqgSIaA7Wvq3lM1NU4qWqHxKqIPEYmUSKWII41OzMC6v87P+Ph6428daZKi4wjnLc47PBLXWZASpSU+uOuEv4UgcFpgVEqezeivv4/ZzBCNNQbJs9MTzp+e0VQ1+/OUXHakUUzf9OzMDtnZ2cOkAaQa7G1dzzwbXPS9bIf2Q29RUpGjiYxBGYHXEq0gEkN2QZuAVAKrYJQqRnGGVAK8wFpofI+0PQpHFSyvvPo6N1++RTzLkCGQpxqdSAwG2xTINLA7mtC7QYHt+i8OXbyoF5zeP0bbMZ8/PaZ2NW21pi7hrdFtvrS/T9Odcrj3GkmmmEQVZraBzvL1Oy9zdlVhL8c467m99xIujYkSg28Djew47684SiTfuLtHv+1p9BN2TURxHvDyjPtX38U2LbI5oi5KeuMwieP3f+9b/L1/5VsklUW7BOUM+IjxeEw20aSHOaU84rdvVcxiyS/cHPP+Zc0kM+hYc/LiirrquViseHB+wpPTJWcnWy6uar77/iMWdcVWT/j0ec+qKClPluhp4OH9U5bbmsuLCxZFRV3XTEcpzjlGUYQMgg9+/Jw//s4fcXF6iolH5DJD2jEv3XgNjWaUjbAyus5CDdCu4B1d0/D8/Ir/8Z99huy3hK4lKENhK2TQJHFC3q8ZJ7AqFUXTUi+vcK4nP3gZle1jSDBin4vTjuWxY3VZUpd7yHjGfH+futnQVCXKx7hOYl1NLFIKerZXW/bjXebJFEeDii3L5RY1dqSJofVLgm5wAYxMaZhQVgMiQCUxloxtpZhOI2yo8fQ4P2Dt02nO3uRnj8/+3ApBJ2DROhwSnMBjKNqe3kPNgKmdZRlCa8oQ0XQKc7Vlvq24uLnP7cNbPP78J5jkPSrfob0kn8UU5w/JR3NWbUkWj5FBIhAoHeOEwoUaqcYoZXDSI2WLdz3WeZwLvHjxFCEkBzdeQiqHSVMkMV7a4eXdXSCFGwhjAYSWuL7DaIPpAtV6yWiaImRPLWNc3dL3/SA5EjkqVqxOrygTxTwzrHuLrlr6pscFR1tuyMYRtnP4aMqLyw/RyYii7IbTYleR7B1iGstFcx/ftdRlQ7ku+e737/H09ITJzoi7x0v2JhPy2S5taHj86D6z2QHvvPst0szgsjGkE2JnaXH0ISaIjvP1EiMhFqClJ09SZpMdbuxPePwsRofhoW2DQImADdAiifwwJtchkBI29fBif/TojKbtOXr5DTI9Qqcp2jvqroNr2+Xm5BFdVRJPjjDTI4TWcI3zBf4SWCSVQXiB1wEvzdCT1tkgBPoCrrOyxuGwCnxn6KRFe0fAk0lNHwSF8HTBIYIeoFne44Sk9RYvBTtRTGIEiBhrPWWzprPNgP+VER6HFpIQJG3wYK7Nj3IIdAYfsOGnBCiBDz1CSNJIkWUpSsVo77ChRFiNr5eIg5dZlmueLi64rQ6JkhHKC9rNijCZEkUNebZHlPe4TuC9Rwo1hHutxQtPUxdEaUpZr4mURKcxhECQGiUNeRxjXbhWWgeCdIhI4MPQdlDKYNJoaD9hCU6gUPgwVCCct5RdoK5K8jzGWYtUkjiZsN4esz49p1xfMjaOg+mY9WbJ4vycpt7Czi6p0FycXWL08P8ngFQpsQ4E45hPI7ZWkGSa/SSn9S2rogcRSGOJVhGV9yglBpKmNUQaMqWpfcckNmw2HhcsrY9ofIvPE0KkeePVl3j7K19BIcmmLTcO7+Kjnu3lFVGmCH2McyPGOzdxthsZMVBgAAAgAElEQVQooP6LyxDcPdhns7bszD0fPul4dzbi/OSCEGLe/eaX+cf/5B/ztXd/lcXJPd54+3U+fnqft6PbiFzhyi3/wd/8JW7NEl7cq6nbNbEXXD1fEe/NSM62lKcVrTPs7rzCD559xDy7y8Fon1N5wvlqgYoSZpMl8saCzekBeSc5HHvuHt7h/OoUeXCT//Dv/w2cknRlzHwv4XD3Jv/r//ETXn1tjwc3/h5v3Sk5UwmH4innj37EnRsT8nzCp589xmt4/eBVLi8889emXD6+pAtQNTGt7bg8+Qx97x6pMbz72us8vzjlfLHk9GKFCC0SyWq1wCFYLq+Y7O7x4uKMPE14MB/zdjwl2A1tk7A31UgJq80VaRrRiyEQL/3gaxkOQxXP1jU//PFDXhaC+XzG0ewI0aoBWmY8Umr2JpbK50znY9rNoOI+u/85k1HLdG6Y7Y3pvMPXDUEu6bY9va1I4hSoWTdD227bx9wNJeHOG7SLK6w5YXHZkpkxZpTx9PgRmZ7S2o5I7uG7hoePnnJz9wjfnON8RyVBaYkZNcSjfU5W58RCocwOpQ1I1dGuAnVU/8x19nOf0kUrqBy0Hrog8FKhlSbViijSYBQhSRBRxGicEJRjVVQsmkCmJOdP7+N6ycPj5xS1w9oOhKDXhqbv0WqHuiqRUUwQDp1O6P1Qwgy2RZgRJskGbz0aIwPYjqauqaoWQsB7hxCD9U0McWm0SdHaoLRGMCRKoyhmKJg7dBwRZQlRGpOnCdpoJEMAqw8OGcdsipLgB61zZGKk1jgpaZuGtmnZbjqckKTTPda1w9mOpm7JRlPIdsgnRzhnaFpJ7xPKskKbmAfLFSdFxYNnF3zv0yc8Wxd8/OgBn3z8EwgJWo/Z9i1921BvaparK7q+oGq2rNqKq6qibjoWRcViXVKWLd4PFsc8TUniiCACQQyQwXBtJfAhDFKmMOQHHMPESN07NkXL1aKgrrYEZ7keDbhmCQywo+AsfbmgXZ3iqw3e24Ed8f+pEgy5Ag1CDawIHeF0jNRfDNSllhKPxzNor02AVghA4fCDB134IQuBJRCIABUcSgjSgVQ9nAw8WFch3ECC1FIQrKNzDBpo77HBI5xHCo+UCu+G7EBPwAlBQBGUIggFKPrKsml70NEAFfIWZyI2rqXD05UBW9YE1+CdoBGCum1oSkfnOzqv0MISqwgfNL731yOiEb3Uw2QJgb5vCcKjeo+4zgEEORjutEmHNluI0CojmASvJcF2SCWIdYqS6WAB1BZrNB5Yb7d426GEo+4d2kRESQyhw9cdiTakceDyxSOOz59RXVyiVE86ijCqJOgSVI+O4HA2J9uVWCzg0UFyMJ3RerjctFjnSSOBTiMAqsbhu8BYSbS6JqR6SCRD1cAl6F6QKEFiEpLEkwqJsJY8ybh5+w5V31M3FcIGvOrQfuB8WNtRt4I0i1DjCTZ4rHX09otzGdx79AzXraDd8sbtAx5/8Jg0FSjj+eQH/xdffutvcDiCZr3DYlnxS1/5ZVLbIpTk488f8NbbX+HjF5+zo8ZE0cAOKFtLuViwO0t54/YeX7/7Zequp7INrx+8zMnVE6JacpQHLtsVKrJUXY4MC5LxPkUBWe7ZVo79o1vMd+6Sz/aZHd5CBs2maNnZnfP84YpqfcaFsfzkJ99hMg382i+9wy9842tcLkowgmkyY9kZkrFBtA133v0yNDHBWpxtsFlCrAzKaP70x+/z/OSUy8Xq+pkOXkDXDtm2smk5Pz2nt473P/uUOEu4uLyitz2HexmonigxRCZBCnWtbbcgPcE6LH7gcijJP/32j/mjB8+RQhNEgsk7srGjTmDrLBvbs9psuDhec16UbJqWx8tLyo2n2JbU2w7R98xGMbuZYTSR7B6l5BNBPkq5fTTlpf0Z07wi9Bu67cD/ybOYnXlCZBKKVYuSMT0JjUhYlXBaOIpWcXm1puoETS85udhQtBtUnLEtrqgrSVW2IDsi5XBe07ueIHd/5jr7uRWCx6sK6aFXHhkcxnZMkjF1GIhsUZDUyxWOGL2jmcqETVmwrlqKqmGaGx4dn/DOV7+BEVPkQUbsUnIzxQqLOXwDe/mEVHeUmwXx6AbSlahsFyc98XRMV10gekPoW+ruDOs1XdUjDazXS+LZhFH0Mj09MvTEWY4LBu06QlWiEk2UJASXUa3XSDxGZfSmgTChjyz5JGdTlDTNMBuugyPbmbNsakQs8ast2SQhIqLc9Gw3V+zd3mfz4DGjZU1rLVEy5nhZcnD3Bs61eOd5/4Mfc7nuuX3jJT6794AXZQ+9Js/nLNYLtssS9fExznako4xRsiU7rbi1KtiZTJlOVojgef3GHjLOcSpm2ZQIbxnHCYXwPHctAUemNLvTjMNpQqQE3fWBdDgLX7d8HAQlcD+lETuwBBarmr7vefroPspEzA9fw1moqxXyeqPlPdiu5erxR3RNxTybEtLZQL67njqA65FEhgyH95ZAQlARA7bmr/6KdY/tIlRwYBwIh/bDOKqQg744khJBIDiBl4EugBIKoYYQH8aQJBGtsPRVoMYNmzCGQKIIkAlJh2SshgdK7wQ2dBgZ0ARQcjB7CkcQjpHJkVJQhYDst5xbh9GCyMAo9mRTj+oC9foJp2KfNw8O8MqRZim+hc7XlOsIFxlCGmOkw7qeZJqz2ixIkhG2d3RmqFCEBnzq8TLBmAhHS48nSXNEP4RrrehQKkF1jlhHiNkcHcWMBAiZkJuUxjts19LVW1QY2gbCROTRhC6skEJTrS746IM/pyo3xCKi11NevZPx5OF9TD8hCMH+fI9lueLq8hlzrUlcTW4j5EwRB8emhbZqiCIwDcxHKUFaknLN2g5GwgZL6jXCKaaJYC27YY1pRRZ3BCd4443bPD5e0rqAkZJgJDdvHpCJjKuT5wQV6MqWKIrYti1ZNiH4jr39KVGeYdcrNr4bsNCx+QJW8HAd7XjOHp2xzHMOjgxFI3jzK+/y7NNPuPW13+T0yQO+8/2P2XnjPerjJyR3ZxSxYqw0he357Hvfw5u3aJqnVKsN+6MZTbXCRAk7ekId5+i6Ylla2G7ZlhVpMuInJx8yzjLu5mPcbkYrY9r2gnF9k1Ve8O2HC+7uzvnme9+kaAumJkWlE/7Ov/q3+C/+y/+Ot1/a41njefiDHxDP9vntv/4O84OcT+6d8L0ffkptKybZEW0ueO/d1/nkg2c8+vwTXo1jRrsGaQ2L1RNMMmOhA+JixdHBLa6uFiiGXI9HMZlPGe1+jerqhG15im3XXF5ckKZTHjw852hvxI1+h3S8QXYS4RW2bkijGIVGJQkuXDM0esnuboa1AR0HHrw44xf+/V/gybMSQo8yY3y3wcYZO0cvExUrtisJ5SV33v4W2/NHdFVFFs8hHrgAmyIg6ek7QZTkoJdETiKjGqkEd2cjgmjZfdXg3IznT0545c5trk4K0r0ZuhVcFivsqieZzYm8YjdSpFnO+XrLqtjwpS99lW77gu989xE3d0cUnWYUW9KVx7UQZyNc6Ijr85+5zn5uhSBNDZNYM9VyAPVIxVnRsKo6fB+uZTqaSPUsrha82GxRCMqq4qyoWBcdwio22y3WbmlbR28DXd9jQwx24AFs1wuacoNvtwhb4IOj7Va4UOHbNSbJcN6DSFBKM7zmAtV6g209aE2cTQcNsjZoY4gjTZaPieMcE+foKMXEMUmWodRAZ4uNHvqhWpCmMUkyMAa0URzdPEIrjVWK2jk6L1nWPblO6JsOFRR1t2W9WrBdXLEsVuxNDnj88B7PHj3g048+4up0wWaz4uG9D3j/82d8cO8xRV3RBTdkGDycVCXLzrEqNyy2HbXT9C4hqENcfohIZ5ytKh4vCs6vVpxdXHJyds7Z+Qtc22Iby3JbUTVDX3acpsRKDchpP0wKiOtqwUBvDFz/MxCudbkBZwOr5ZrNZjncvzhDq8GBLhgkRwGJr1ZUqxfYeoPvKpzv/4V5ArgOG4rrXIH+IrYDgDUoObS3vJAIDBESJQ0+CCI5OC4SKYab4hl0zj4QGUMSp0SJAQ1GgrvG4yogyGH9GgR9ENdnW4EKahBFuwHK1ANS6kFJrFMSlSANOCHRQSDUME0iLdRNTVEXnJ4es2gLrjYLrhYXLBaXdE0JXqNjRSDGe66/S0MrK88yskSjtR4CZ1LSdS1REmGTa/y4kkRooqAQXtLZDtu1iF7iHQN0yEjAkUUxmRmAYsJInAhIAUFonDJ0bU9Qw+fcuS1apuAcF8sr/LbBCE3XlFycP+NPv/MnTEYJs70DtBRs2w2RCbxy+5BkpJA7OzAdc7msWGx6hBNsbE9CwBjBxbaj9z2jPGZ/kiJlGE5tTg9TNTKAtigdSJVAixSjPK4TxNlgmoySmIlJSNIduqakXW8pN1fU6y3CQxblxElMHM8Ajy0tq8WS9eKK1fqSZll8MWsY2FQZ8707SFHwla/cQdiexx/8iHHkePyjP2FvGvH6e7/OYQzT/Rlnx8fsRzGbMnD2vOLGqzd4eWdFnsVs+4bd6YhIZUwTzeXmii8fHLAu7uGF5t2bX6doLvn45BP2J69wI5tzc57glSJUG86WFRdmzd1b77A7miKsQEU73P/xR3iV4bUBKdnfnbGzs8/uKzlJnvPWW2+j45ynTyre//hzjp89RzuJ3gmEcsvp/fvY7RnBe3oH0TiiDjWTbIoyAiWgFT23X95j/+aUpm3obU+SZfzyr/waJt3B7oyZ7d9hOj2EANa3nJ6c0jc9XbNEWEHVN8M0lXYEqRFBojBIQMrhoLCtQegIEwKydwgXgc5pd7/KiyIZWoNRg9guCYsFQi6YqsBiecxomiP7QFGW9EVDuQbXddi2x2rwqsT3M/qQsK0FjQdnN8RpSlEVyF5w46XXicweQil28jkuKKbjmPlkRKQaskTShYANDU1Z8uorU86O71OvNsx39lFJwttfOkJJy7qQkIxYLVesi5q+7n7mOvu5pML/6b/+z/7gqrYUfaC2A+QmNgOgZDtomfBioLF5HwiuZ+UVpBGZMrxYFyid4EJD33dMUoUPjp3dA4RQnD/5C3zT0PYtUhqMFqQ7r1Bc3CMKEcXVY6yTbFbnA5JYpqwuTwhNi+9a5jduQjIi1ikmTYiNpu8q4jgnhIBJMqI4x6TjwRCnQAiNiQSoIWxo4gihNOl4hIlj8ljjuorpwQGT+Q6XVxtA411DrDTPl2v6PvDofI11CuEt5WZFXfTgNpwcX/Lk+IzeaU4XWz57fMHZ2vJwucUKyEe7dMHTtZauaVkXa9bNlqoXlGXLk4sXfPrZJ/zogz8naS64PD8mMYJQtfzZw3u8OFvw4uSc+08esVgvBougThFBUW2WlHXNZ09PaXpHFzyeQSMtAMlAmNRyKBEYKUFIYjmAofJIEbAc3X6ZJM1xzhFsjRAgpURqNUCLbE+wFUoEdDodIE9C/RRsfE0olD/97fp3hdLRXznl7b/5T//RH6AFiZfUusP765E5Mah+e+GJpMYbTZBDb1EicJpBNawl88mI8XhMADbrktY7dAgkUlw/RBRGhWGUSGmUFPS9w0uJ98N9UH4A4xjAKkffB2oXSLXCWw/SoCNFkoxxXg/4bitRtqG1jiyNESbG/FQ4FcdI3+OCR/ieFhjlE1xwILIhEGqHtoWSkiiJGU/GGJOgVMArhXeWqnNcLddUoSfLMhIVkSYRIxOjTTx8Z7xnnMRUPgzU0rYnqIiu75DowRUiBC2OLFUI4fjwR+/z/PkzfLuATvH2O2/jXcfTe/do2i0JgjzSWK+oSktdl2w2NTemY6qu59ZEsZ8ZrqqeNE6ou5K60YimJcszTpYNCkhiRxzHVN4x8SlOXLcN8hTvIhZ1gTYRWuYksSYfzejbhrK5oG07+nWP8x0NkAQBXUuQYUAp9x19Z/H9lq531LXkH/zbf/8LIRX+s//tn/xBsz1n02vWZcMoeErhmOwmjMdH/PNPa7rz53z5a29AW9PWmnhvh70sMDtMeXrmmRvP89UFdw5eYq4Fzjk6a6k2nnQnhh52xrvcP/uIm7OXWHcVv3r0Gp+XF/zo/U+ZyjHzyV9DtaeUS8sffvc73M5m3Du/QIabfPTh+/zSr/11fB9YXS7RpiWi4cnzK+JI8Hd/6yv8D//zP+XDDz7k5dde4ei1dzl+8ZS+FFgj2b/1BheXDe+++xrrk47R6DZXq0u8L6ibetgA+oiTJ895753Xee8rbwBQVTXPPvqYxeUnUJ5CXfJKHLioGhyOrtV4Ku7s7SNSzyc/+Izee37tN77Ko0cXAyDM9SgvcVpA6BjvHLC9vKRsS772zisc7O3i6zVFsWWsa0bzBNElrJyg8Zq+r6mcZ2c3h6bheNHgXEBFGiUyimZNVyfM9zPwYF3LFk8sND5OyMqGRSnQKlB0gUnSIH1BiDVxJJikkotiS2gdznUUZYXtNc73/Mrf+LtcPS+xbJnNNAe5pKo3rDZL8tkEXEEkG0SSY6TByS2/9Fu/9y9cxz+3ZZBlCWXvaW1HcMMYVQgRPUPPVIoBjdszJKxRjh3tWdQtaTpCpYrlZnOt4l1wa5ajBNTbNUYnlMsLrDao0ZjxaBed57T9ADOxumO7rjAJGJXi2oqurui2FW3bEFQCQdCulrgbX0KICK09cZzjfI+0GkRCZGJa3AAdcwnW9Rg9om0LTKwQbId2uR7S+Zqe7aZlej2RcJaeUVRbAppt19EGqFuLNppNUWOtR8cRNA2NNXRVg+0Cnx+fEYJk6zyHOzPkokSbiDiKyLTk4eU5fegRKCKh6NsWkwSMAKMVhMCPn56RCli2La+MM1wpebS8wnpLhBrsVdIw2j3AxAYlY7QyjJRmqcRwih2K4UNSXAyfWx/CkAtxQ8jNRRIfBE1jacuGenuJ0hqjDVZqQrAIMbQFlFQgBL5YUOunJLPbEDyowVAp5bAJ+GmeIAg5WBBF+HlL7V/aJaTGB0mvA2kb0WiHNSD8oGmOgFaBFxqkG17uKILweCkplWZiUjSSNI7QOsJYELLHhsHVIK/tjyp42tbhrpMbQgyB1oCj8WJQR3tD7wSpdhihsLbHKk2kWoLXODqS2OCanrba0LaBeS9YX1xidM50/wChA4nSeB+ItCLImASJtx0iCLQUdF3PbDyGSCFjjfID+18bg3MOVMB2Ftc16CjCO49DYb1kJARWK4SAKASkkUgtkJ2j4zp4xRA21h5MniGlYzwaszk+xjrL0cEest8ySxTVakN3+TnVpmI0HxPCiOlORh4aqkqSZAYhp6R9xbYrkSZmPh/jLOw2lt61rDtLJCSTyRQvB8maFj0hDAQ87TXNT7XbaYrtHJ3OmUympEEggkaNs8Fnou0QYHYBHwS1MMAg5ZqbOXW9JEQj0lGGEAETNcQiQtiffbL6l31NXzukeCJ5OXbMdqbQl6yOF/St4g/vPeVrr87Ro/c4fvScDMt8N+XyfMP8Ts7znzzhq+9+g3qz5M29m9A3XJaGZ+cFb925wWRkubm/QyzHfPez95lkMSfFMQeTl/j2p3/Gg03Nb773LWRISOwSf3sP9aLkH/7Or/Inf/Y5uvUEmfJv/oPfpd22yDRhvDNjQstZaJHe8Ou/8U2++6MPB+qrVhR1yer+j5inMWvrmOb7VIsX3P2FN3j4/R/Q9JabX7oBT1vWV8XwzMlbTMho6y3LyxVi74jdvVtcrAo225pUaTonyFTLy3PNp5sI7zuWxRVpfJs01bgm5qxc8w//438dFwr+6P++h6NEaQZ8vUsBSdgucX3DS7cO+b3f/Wtk8Q3iOMOdfJ+2sMz1Ab0ryK5hXq2Msbnk7P5nyNEc6bYoIQghYK0jzTNKaelLQdVBlHgyJajKBq2GqlsbBaT3jA5mbC+W9MozHsWEfkvZSA6mY0JuacqSPM7x0rJ/a0ao7nPzjmJ9FkPqoBHM0phsltP4mDhp2NYdTpZ0nWF8ePgz19nP3RCcXW0wccwkSuk7h+8dQSuk80yTDOstlRcDFth7YitBew5NgpMW7YdsWq4dKjQ8/vwBly9ipNuSj3a5Wiy49crbaFeyKkt6WyLqK0wy5slnHzHdex2poLh8iDZjFpenoBVexIQQuDhfkO8doelQ0qG0JBvHtG2Mx+CkobUV48ltelsixxOq9SW2apA6otwuMPNbXF5dMJvtEnqL66boNCYylr2DQ9LdX2d5fsJmuaYpWxwNtumQwlPVDTdu7dPWgdOyYl1VLCtJ0XesO4uTgdYKPnz2DK8McZQwHudcXZ0yj2NsFOEnMUJrFBHWD+S2eDRifzbn+MULjuuSs1XBJ3nGV+/e5fbOjGcvLqllz+3JHkRzTDLDCUWcTtD5iHRkmNWGqrF4cd0mAIwPdGKAuSBgYwOpDJRW4IXnclkDK54/+IQbr7Rk05uYZILrK7QRSB0hTYRH0LctXD5nJb5NMr9NfPQ2IYqQUY4QQ0kehtMzyL/MFvxVX1Z6grXgh5G0xAlarscOhRraAw5gGKuTJNg0gJCMXI0TDH3DJEKGCE+HkG4YbUUglMAFi7VDryFIiIOkvs4npEJSO0/qAl4ZnOxRQoKNsaojjlJGaYQJElJDdXVFqyRxL5GxwpKxLGrC6SNOzs/pM8XR4asIWRJHGus0ylnUJKdzFYmMSI0i2Rsx0hOsGhjpUguMHPThUZYRXEMbNH25ovLlEBwMHiv8wBowBhl6AhqhDX3nUNqQ9Y61VmzXF6gAm6YgDhG+d2zXG5qm4OzBQ6xyxJMpXVfgU8li6ZlM5rh2BbalWZRchorNuWDT9QhhEbbmtBEUmw2u3TKfJrx2lBPKCc9CiTAWdERwNRDoHMTGYkgo/ZZYxzgUXedJd+bkSYpVYyb5sP5MatA6Q2uFlw4fUlwSsSPANS1963CziFm9y8XVhvkooneCTaPpuxLZfXFjh59//884uj3jvff+Dk+efJ/F4opXXxnz7U9OeWcvY+ShD3qAk+29zPHn9/nSG6/z5NNPkemck/MtM7nAjO/S+orLixPee/V1Cn/G04f3ybJDzs4fcdgJivSQN24YjGnpih1+55VDKr9kMjrg3vOWkSmJEHz++Tn0iq++9RazscYL8HGg3hRoOWbvlXc5KT5h/xXJo3tL/vzDT9g9eJXN8pLifEufG+azPVaLM/p6w3rjePHijKOdnM57Tp9/ype/+QYffz/g+o6dyYjOtbz89jd5fH7B4a1b5LFif7rLatGiVWBfN3Qi40/aXSaTDt82RInj62++AqqiDTm/9/v/HsbfJxaa+V5O/aJCEOHiBiVidrPA2bogMRH/7X/+7/D4/BDTfsoPPrjiazdT2v2Y9dIQQsLVaoPOD/GjXXITMRvtcNW07L39dfpqM1Q3hKJfP2M+D5xvt+Bqsv4A51qatublg5TV6Skh22Hn4BVOnjyjlwrXGvI8oqg0s3mPtGM2lMQ+oFRLPBmxPN9QxR6txqwXJcIobDKiqCRvHowZCYMVgsR3w+SQBhn9/0QX6yilti2hDxhlCFJQtoN+NDaSWMcsuxovBCoElPS0TYfMNJEEgSU1GbvTHN/UJLN9quCpigJvDXmakOYT1scnpEdTbHWBkREXF0+oa8tENNRVjUpnWBuhozFltUHGGoShtYGR1rRtS2r7wRmvwMQZXd9h0ozQOqQUSCmJoingKfoLIhno+4g4ihmnGVk2oq1L4iSjs8MJIkpTbuzuYaQjSmNWV1u22wVpatCuRxEYH96iP1kySxKadcHx6pI8mfNw9RyjI6ogydKMLJkiJBwdHnEjG7FUzymco74G1MT5HuNX91HKEZeSaZbyYrWgWy1YlA2V86w7T6Y8N3en1F0PShEnCeM8ZSdRKBszTTUjrbi4/mT9TysEIdBLCAyOA3PNlugR9C5g1GC2LOuWYrliPFsymt8iXGcAhliA/MuZ3YAneIHdrKh7jxwfItwUZIRQBom9zhCI67zCF7MhiKzGYnFhuBdCBIZuv8AACkOJxylFZB2CHqf0oMgmRnpN3QWsyvDKoxE0YghnWhFQODKtqYLF+mGTYAVIHxDS09pAUB4rFcE5oiDBSIQKZMKAD4g+sHUtfVeQMrQ0VK7ZNg0zY0BZOpsjIujPLiiiXWaTyTDNIIfP1nUSk2uUUiSjHOFAaoFWekjfG4GKPMJbkA1Cx7RVgYgyEgShqRFCEAuBCBGubQiRJBDQXhK0gM5ihaBptqAMxfKKJB9hu36YABIaX64omy3L4zOsbRjrDdPEMN/fpWod62aoarR1S7WUaFMSE+iCYlUFuq7FSDjd9lzWPXM1xfU156Unizr2JxFdb8ikoQ2eUSRJg6XWCUEJlE5xMqdoDX3ZEMeObTsmAeJMEec9MvHEXqAzORhWpaRX0fDSCxnomsQonHJkSUKpPDpKUPUXBybqL1tav+EHzXcxcUOcv4rtCr727huYqxdECK5e3CO5tYOpluzf/Q3y+CmjvRuoqmDjX/DS7mt4VaJ6TbPpcbe3RH1Kt1U0/Tl4STaf4NyKP/7gjN98928htGOzvmQ0jtDpLl9+L+Xk/RNm432Oq+fcnM+Z7iXko3yAcHWBJIkJ8or5/g5KBHbUlm8/fsZIj1lsLpCu4KUvvUu93uJ8QIScuuhwribK4GzRoTNDu1myPLvEyBiwtFXH/q1DyotLRtMRm3rNwWTG3u4OT45PkKMxl34PlUmUUHRtiXKOg1nM3l7MdtmzWJ3wy9/6XV48Drz+0rtMx59xTgFY8ANZc7GqET7w9W9+mW1dgFUUkePVN3+NdPeCzfGS1flf8Mad9zjzc978xu/y+OMfYOKOpttSGoHzG+y+Y99/GaklxewQpQKTcUNz8hGmP0H6GDNWA+RPGPbvvsTF46dEUiAjiU4lTkPoWk6fV0wShYwCKvNMdl6hLBrGk5bJ/BDXrHn8MDCfBz54/2O2zYxJXlKWkvE4wghFHgtGs0NOz579zHX2czcEy6bDepCmHesAACAASURBVM/wLOipbD8APgLU6wIpFVIrbPBEWuCcxEpLV3pGoyO6rkSLjtWmoaoKglSoCBZXEcF4VN/RVS1N0/Di2T2++Zv/xjDKuFoSjwTVaoFzHVaM8WHL2fNzrGvJ0hE+eNJ5zjgbkUQxwXUIRgg5gFc8ESqdkYwP8MrT95p89hJ9s8AYSblaonXg6vKc/b1dTD5lurePbR1Gg06nmHRORMf+my+xaV+lLlecX2wptzXG9CzPTrlaLIlnM4L3mHhEvHE8eHHCzcNbzEYznq9KxvMJk/095umU2y+/ialWdG3JaGefvXe/yaIuKKTh3/pP/iOO1Jj/6n/53ymWPTtPzlkuCnbGhtdefZ3Xv/wO1WbJg6ePibUkEpreNgilyNOIw2RM1O3zf2YSETweUMHjr7OjfRjGEbsg0A6cGngStQe6wMwJbOdZXRTk+SW7N0uENHQEjEmJTTxAh0LAW08remLdIXzB+t730bNDJjfeRMUZIhkRpELraAgWii+GQ1AJSyTCYI90PSoEtBI0EvAKF/ygMBUdVkqCUESuG0Q4SqFtS7XuKcYJeZoMxsAWWulRQeDl8H3QaKz04Bzt9dhS8AGFh+vKmZSSzCi8UYx1joo1RbFl03VobXFWsvUghSJxmiwx9MGTJQlTLZjOxxjpSfsCETqmkwMaH4iUQmmPNAkIg3eS2EiENti+ZzzOCW74m4RIhvxIpBF9j20KnPVM9/aRGmSs0OnQxuI6axK8R3SebbnB20BjGyIdo8YjOifwtqP2knrxiO3VExaPH9KzJXQbLhcWGTv69oqgJEIanFNDyDWPmCQTRnuCRHnwUDQtV+slz85L+t5z7+KSRFlkBNtest0UtC7B0iHNAH9qg8RZT+ICPktROqEPhkgLgjX4vqOPNLEMtH1J3mYUwbI9XyG9pZMSKRKazQZ1q2N0MKP1LcU5JJmhDS2iBxFmX8gaBhjvHNK0LfkkofGOe8enzFTFO+/e4UcPP2PyUk67bXgrFpyfBRw/IH1lQiZaalrmZp/nVxeMkwy6FZ1wnD8/Jc8zDo9ucfroOXuTjHuna/b2Z/xr3/h1NusLvvWlPdblGHRKNoLPPvwuO7OMaGJIixyZGHQneP1Lb7C+fErVrLk4fcHRS2/ywY8+obYNVQfZCC4rRxQC+e19dnYmlNMRn/7kHsr9P8S92a+l2Xne91vDN+/p7DMPVaeGruqqngc2JdKUKJKSKduiQ0vOcBEYDhIggZHc5H/IRa59masEATJBsQRHthSLomSRFNlskj1Vd3XXfKrOPO3xG9eQi+80pVyQcCQ5XEABBZyDvbG/vc4a3vd5fk+NzBTedsnLOc7U2OKUzuoS84nD+ZzAS6JuzLSeIYOUfP+I957ssrG9yuW1Za5vb/Px/buEnQVmu2cIHzFYCOh0Orxwa5Nk9RLz6X2UibHH3ydTkuHGNl/+0ovcu3cPVESAwNYGpyX/7X/9W3zx9SFNGfH44V8gas9wVVDyjPNRQtwZcpB2eevVbyKlIA3PeOnFW7z/g7uspsscCMvd9z/ghWsJo3zKVhIyUZaJFLjla+TcIvaCLX+HrK7YeOstpuMZ4ULG6vXXObj7PqY4IEo6hJsDRvtjpvUpWnVoKkl1eIQMQqzoE5Se8uyUN7/4Eso4OnKAzGIePthnPPfkVUsQ3dy8zff+9NvcfOHSz5xnP3eVFs6hpG3T/ZxEo6mdwFlB5T2FsRR1Q1NbTmcFk7xmWjmmteVsfEYYCCaV4eT8nFglTIqG6dmEfG6o5zmYkvHhPvX0jG7ax5iGen5GnpcUsxHCKWazhqaYMhudY8oGJQIc0FTNhZgJlBatDzzMQAU4XxFGUct5Vw6lYqSU6CAmSgYEcZco6RJmA8I4Q2YpKo7J+gsknR5REqO1JOsNyIsxsRb0MslC1icJYNDNOB9NaGTIZDqlrgqOj/Z5fLBHXbeY5VHT8OzsrH29MKUrNR5PHMUU8zlKCCJniX3FRifiN954lcdPnnH3aIethU0y7zDzIzqJ5tpzN9i++hzdNCVJI5QMOJ8VeOmJtGqDBSWESUjWyegkEcEFGdAJQRtz5Nubum9bPNa33l3hW0ZBA5S1oawairIhL6oLHYBEyjZ22UnVOg18m3XgfQvxcM7jyoLi/JDi/IB6eoprCpxtqXXeG+AXoyEIpMAhkcKjXIDwCYgQIQS5V8yVQeOwVuClR4kG7wUSQeAA0bYdpmVOUTYI4SC44BYEGnkBMqmtx1uP8qC8JxSSWCjQAqU9Pa3o6RCrHELAzDaYpsZLR2BqirnB1obK1BTFnNOi1Q8EMsBbz9Q2NGaOsyWehrI0FBXIypKbitrZi5hyQ6wlWupWaxBrAkIQLU8B2tafbWqkUnSCDB0IOt0OWmqaskI4g1ACHagLHYrHWNOikAV0srSlokUBgdI0dc347BkPHnzIo4ePmZYlk6NTRkfHOOkwrmSUC6ajOQsLA4bLC8ThgM3LW6ws9xAy5nQuOZ1agiCgE/VYGQ5JdYx3EgLNUhaSJQFz0wZ0SeNJkWAVWnkkjkoJrPPkTtIIhVUJxltKK3E2wNoUqoQaiZIRab9Dvz+g101II48OJdPxmNPTI6rRjNn4jPlogpuUzM8mHM1Hv5A5DOCSgOVXNlhJBEGQUo7HhOkQX054MDa8d2ePwfIi5/aYU6kJA8fDR3vIeMDJ+ZxuLHEmpMlryqINL7NRwLSOUalm/dIVGpGyuXkdU0cUtmL/dMyTx0fsHc159GiXT++8y3C4jOlc5uHjZ+hQsHVpk6Tf4JqKrLuA8BJvI54+fsSN5y4xmRZMZ3D0rCC3FoOlHjtE0OPsaAK2QauUOOjhvSRUA5ytMY1EyAHKhQQyRCnoxpphkLG+tElt27bfzu4+pjQsr3WQUiLyOZESJImi1804OZtR12BmFTqOyaXi9ponG1ziyTu/xytXBljVauG0kljRoB28/tIGcwmLvcsM0w1efOWXGPQyzuozVrI+ovmI565vcHL4BDsrmR6f0GlyZtWM83zMnbsPWBy+xrXVbaSpOagOOC9yIjMgyTKa+pQsKlhZGyKs5ehozv7+Hp2ll5lNPT5+mdyucu21f8Bzn/sdSidQQUIYdnDFHENIPp8inUHaAhooiylPdnbxwPL6KhsbGVcu93DNjCCMODs+JAxD6tnP3vZ/foWgaSjqVo2qItHefqzDWE9pPU5YXNP25ySScW2IHExry6Qy6POcSMJyljK3NYErWO1kfPDJY7qRYHt5gYlr2Lh5hWkDd9/+U5r5CB0okjjh6Nk9kkhQzUucg/HZOT7USC9JF7qtfqLJsRik7jAfPWYw3EYEPWw9R6UdynxGEIQ0lUErjxGChdUrhEmAEoq0u0yRT1jevImzM7qLfYIoQERDukvrGGqiZIFOlFBnJVVZMzp7yiu3nmP3KOfg9Ijjg2MO5zVOJ+wcH1GUNbIcI+OExfWM5cUV0igm7fb4+MO3+eBH3yNSAeNP76Df/QGh9KxurbJ+7TZnkxFhukxdTFlf6/P5N17hlRd/icpb8tEhsXVcW58ym3XwZkyWLrEx7NOLPInyLC8tcXNjhYPjGY9Pi3bzhp8GFllvKS9ipjsWtPTUxmG95KyCxlrCgwlOKK68eMxg+SpSihbu4x3igjfgvAXnwfmWbWChOTtn5/hPCJIua9deI+ktIYZr7c1VcmEZ/f95uAtGkrcY5RGixskUY9ukO1cLbOBQViJaKSBOOIT3OCEJL/KkZycTSjlCle3DlF6AbfACBBalJIlQJGHQHhIMGCFoAkekFEkYU1iHMgGBdNTCk5czZqWDQPyUVdAlQCiDcJIARSQCVCcgrgukC1AL61hi5qMpiysCHyli74mcxsu2dYepsbZBkUAAxs8x1uGaEK8NsdDgNcOlHqZxLMfrRHEHU7c9RmUtzdygBykqlJhSoYUgzATOgAhiqqBATKfYesT09AjtpuSTY/YOHzGezEm8wLiIQDQ0M8vxwWMSHXJ5Y4XT0YTl9WWkFuw9OmVmc0I8y4spjUlYW4N6b4dZoqmNxbiAoqxb4JUETUMQKhyOOHbUxlEiiFyDqCeYvKDUXQKlsRJCGTOfTpFJHxUNqAGpHE51aYIA0RhE1zDoO9LAYmdTBqsh56enhIwZeUuvn6DkL05D4CZnHN8reCYrLl++wlde3+TTpzmDvuXX3tjk4e4EUR/imqusM2aUz5BOITREqsPh3GKLIyaNJwkCyrri7KgiW4xQuUELgzVTpEtJ9JxmFrCQGOpoET+asrm1zN6ZJDeanjxiYf0GPu4zm+bMDk+4+lrJdHbMYLCBCmLuffQe9x4+5eTwhMc7exRNxSCs6W+/RC9UNLKgqmYMF7ewScPo4JTZ2QHGGaQIWF7rEXU1sVjh9HwflwZMR5IwmnH5tVeYTa+z/+wevrHcvb/DSy+sIzWEWrA63OJ0dMZCqHnxxpCv/savUYwdycIK3WLCjz79PpUdcmvzK3SCbzNIhpwe71FXnk7W41v/4p/ygw/vs5QNePvo95nPCp7Xgj/+0be4en2Lp+MZt1/9PGFSc/Jn/5x8+FVe/twrWCxXrtwibnbw6U2q8Q7xwjV+6yuv8ehhwfn+u8T6IZvdRd69u0csl3BZzOHjEaP+kI3LX2J3f8Ll7SHbrw+J09f5H//7f876jSvIYA2ZLnB+XrK8+gJVUUHUoxY5hweHeA9qcoxKJIcnOyyam+iwptvdZGu9S5IqJvsl6wvb3N+b/8x59nNXaGsFqRY4JRiXNZVrcbgesAjwrY2wXRJpw4VqAwJkI9DCEkrBqJiAdSz1Is4rhzM1S1mCGAbosiK/t0cWShYXM4zzVPvHKAXCOLKsS16UTMuK+XhOICTZ0gK9rEuc9nDOgq3RwGyaI+QxneVFRNTDNhXZcA2DIw3W8QFoH+CKhijpo4MU3wiyblsKFiIlTAYsbCTobECgJP7654i7K60/1SvC4QbTs8vkp4dkacni8NfYe7qPuf+MvfGItN+ndmPC3pAwTlhYGDB3jvXlNeK0w70PvodWsLq1zqvLrxF6mE1O6Q+H9LobLGVDFvpLnM7GCCWJewOmeetY8KYi9CWLmaKfJLzx6gvcunaLXhog3RxsgRSOhcUua72ESLULuJUS71vwoHAtj6B2nvKCwS9pdQGugUpIauM5O59zfnREki21CXlaI3xrP3S+jb4WeBCqBd84ifWC4uiUSfGIs50PGG7d4OrLXyPoDvG9JQLiv8Ul8t9xCEvoBBZNKiRGK0oMFoOQgkiAIWw3CKGQgHeiFWEagZWghaO9KysQrXXRu6q9cTuNCiBNolZsWZS4QJKGGq00fcBqjfGeXpCAKpk7Caat2igNxnpqaVE11GHTOiCUwviGlY6kl8U0C6uorA9SkfT7LG9ukEmHDRKkN+37VzWlcWRxileKIGzzJcqmxKiYohjh5tDrDomkJUwE3ayHFhIVBGjayIlYa+pQogKJDENc3aBThZ5VWNNQNwZdNTRakiz26Y9Tzg72mJ/PKOcFWRySn5wzrUp2DyuUMHgpWFwc8sn9fYZbQ8p8im8abr1yncgW/OTHjzg5nYOq8LahqRwhDhkq4ixiNY6YGjg+a1hLNUEIrqopGosUiroucDoglo5ebBifTbBJBxfEaCkpRUpQl3RdQx1meAOpyzGBRKQpqerj0BjVYDqrzPMRt794GeUFP/ngkMAKhPrZYqx/3yPZuMbt7S67nz5FNDnzPMaVYx6dbfL+JxU9VzGNUzqdU25cGSBGhnEeYzwsb69ijGV/pGE0RQ0DTs4di92QTx8/4Rv/+HPsvHeIaUp8MmdzOWHmBOd5RFqcsjG8ghMVq1HDaDZFxgWTQ00qz0ivXWa/usyTT+4w3LhE2UyJOyHff+cjolDy3R98hEgasm6PqtDU0znDz7/E+f4jtha3ODw+YOfuA/J8wo0bLzOrGqrzEWfnBWJ0t61gSY33Ct21ZL0hhzv38MoisIQ6pnaW45MpK/2UvHLM84Lb2+u88dptnJ0QdvsUVQXak/kR3/v0Cb/zKy/w3vt/iBdH/Of/9Bqv3Pg6PZFRJCPe+cPvkNy+yad37rO+vs5br73JB0/fZfPSK4gm58XtgHFzSvb4Q9L1SzRBw+zsGc9d/k1GH/1r7Nn3WE//AY1cZ/7wJ6RLiunZGsgNvvZ3X+Dw6Ih/dPuXmZ3c5w/+p29xuPOEa19+nd1P7nMo4PO/usjg6td4+P6foRAsD/rc+2iHZrGNmZfLG5wfV8QyYSUK2Nv/c6IMPtwVLKyt88ovvUoarnPnB99hfaNknrbPR+o+aZzx/LW/ZoXAOE9lDc6L1lkmZFsi/mxzEQKHgIsS8l/VjVnrEBJqB4bW8302K8EKokAxrix3Hx2xHkustdgsJSgF0lqslTQOFjs9yrym9Ipp3UKNgjDA6BiVJASRJgw01XxEEsYkaQepE2zhkKHENIeoMECkS4RS4p1vY3gVKBGDCgmzDONTpMrQadzqItI+Siqsr0kGS4h0EVmeIYI+aa9PHIY8y8+QrqIjC5aGIc9v9bC24XTa0Fla4Kx2hFpTVzUCSz/r45VibfkSp5MR29dvstRd4umzT4mTHg0BRTXC4piVMyItkUEEZQFRhPUNidLIQLO0tt4SpyKQyiCkA2expsSZmkAJ4kChBUguOPr+MxtgS65rZBs/6rzAXYQg2dY/h3cC21iaps2DsN5hrUG2IIf2u//pNy3aiF/rWkyvNdR1hZmMaMqC4dp1+sITxR34RdCLlcNaBd5SxgonLHXhUQQYSpzQKOGwgMLhlAOvUdZhAtluZhf6gEB5hAPVCKQIEQhqGoRzzGcerQKcFLja40IH1qCyiE6nixnNmTRzmqplPVRCYBpP6RuUV0gnCbWkLBXKC0RaoWRI6NpNOaCiMTVKhARJShZ3qLBkQlI1Fms9WiniUFO7pmVNOIfzkjjJKPKKUITMqzlNXCBqQZJ2UUqiVATSYJUAqcl9WyGxrkU0V6a1SFqlMNLiraeW4OoGYUuUqzg/PaCwDdUMfFYQBBZpFfPZBOEqrl25Rj/uoDLH1auXOXq4x3Rm8E9OGZ+M6G6sszToc3q4h/AlUrdJpEknQjpH1usTFTkjCVYELWo29FjbBjIFYUCEQ6oG1cCl1UWenM1QgcboBuMV0mkmMqDnwMQa6wTKhYTVDKMdIowRUhMKSx4FiLCLFp44HGCEQ/yC8NsA2uRMc83N26scPjnBhp5kZZF65vjNLz/HuHhMnXd4dDDFlmOuXlvjeLTL2dkC777/EV/78g0+Pas52jmlUxjSOEF0+jAp+Ivvvk+/s4QQgqWs4ePHFVcur3Dt+pDER+S2pipqjI64+uIV3nvnUwgbdGSZn5wwmU6YnA9ZvnqDk92n6CjgfDZBFZaympIttYmw62vLaAzrg4zH9wy7J3ucP3mKAl5+/XOYJKMzynHGEoUhRzv7eDuhO1ikNprJ43OCWxmhk8SdFGMNnUgymRnm4xn9zgp5eUgWVVy5usjw0jrMF9A2RJmKeBCzcuMSd77rqHzdulG6iwhXMj45YmY3SKKCieryy53rHEV3cPEi9WzCyegIGkucbrGX7yCjAbWMub/3gNeu3mR/5320G3D+9BPC2R7+tqHfUTx98j4nO8t8+MmPubQe8cM/OeT9j4/59d98nUdvfxs/PyDKesRhxtPdd7j61c+TdG4jyHl673tcvXWZQTfB5jGNGDMePeWtl9ZxrkSurHM+m1PphpvPfY5wvyJIIpyTPHl6n7nW9K7cYPe9n9CUM0ymKG3OYNj52fPs503CeeOoHBfEpwaJxF2gcL0XiAs63V/G4La+yzY5ytM4hxEeGtAXWfTTWUEchEiXc6k27JiG28tDpuUpWysjOlFAqNtS6ccP7zMtDP1AYRR0VcjMW4ZFi8RFCY4P9qhGgnI+Z3llQOVzkt5VcAXSB8yOnzJ4bgVbFOgwxZkSFWfgQOsAFyYQZuBBOIvVGcLW2GwR7SUmSRHW4KIuytdEK9sI23AtSxBW8smP/pDl1QGXlg65ufaYy4967B7NmScLnE4n+HJKkiZM7Zivf+0bTE536J8/hFryg/e+Tz4tWB0uILSjPC4ZDhdRvkGoEG8sUikO9p4Sa00l56wOerz24kuoUNHvLZBlfbA53lmcabPfKXMCGrJAYqyj8i1DAud/qhtoHMycQFowGvQFvdBay6wqkTKgqCqCuO0X13WBtw5vGwQaLVo/upefERAdjbUUVU1V1uRnY8LzMff9/8HKtZfZfusbxIONv6318d95SC+wUqKUZ1o3WBzKtZRAlL5oE3iUtzRSgwiJlMMog3YZQuR4oUgbQ+I9DQKlHLm3eCdQQpLJ8CJFskK7iFq5NqgnaMWXs3yG1SGxgTA0qCjDVlCKHFMKjLFUylF7RaQNHou0GikFZa0QpadwNdtLHQb9LlpL0t6Q0XRMjaabtGLPUMeUviRxLRHRhR0yLSgDTyISRKKIo4ZazBGmxjeG3NR0ugrn2/hgLVvGdWEseWFxM0MUB+3f8qRComhMSTM/4/6HPyLphDx6/xPOijFFPqYxJ0Siw7PzKbuHR5i6IU4TamPapMnccmjus769Qb9TUAtFomKenp9wfjbHzffJUsn4bMq8qekXQLfDvZ1Tup2Q4fIS5myMw9J4QcdrRsLgK6g0dNB4Dc9trbKUZbx97wneFFgP0yCgZ0KmSUTkImxXoUQAWuMjRWQTrC8wtSdyU+woYJakGFMReY8IfzHCWIDnn7vErLI8ObDIXsCzMTy3eZUP393hyqqimy6jojHzOiZJelTNOaoo2box4MHTDf7tt++ysbKG3NCcnB0TL6SsLl3ig8c7vLW2xR9/+21efm6LuUq5tLFIqgvOnp5wWkmeW+nx4MmMw6fHfP2bPciOudRb4nt3HNP9O7inH/PVX/0ihw9/QFF2WVlZY6m7yPfuvMNgdRs9nzJpckRV8h/943/Ch598zHjvkPOdXZSKeen6bWbinMcf3GVtaZFQOaTvkC0vEXjPeDKhl/ZQm8uY0Yy9xnJ7e711mtUaLdpQrawTs6E3+XtfeZWl1UWSZJXC7iDDiFm9w8lhl83OMdeXMsSZovFjeukKjHZ5PG74lZe+wp/8+f/M5sI6dz/9Dmsrlzn8+Ai3WBBGl/n1X3uLP/2D3ydL+xTlDj8+HiFczlLPEOnrFON3IVIweB7hKsRqBJ9E2E6H12+fMh7PWX3jK/za8vs0vs/f/y/+O/6Hf/af8fV/9l/xh//iXxOtX2Z8cMzjgyc8+d3fZeV6n0Ku8Ggy5fp/+BZ5LXk+0Nx/+D5WLrAhztFKwvorTIoxOyePKKcB1zeucwh88a2/w+jwDtNQEw02WVh6kVr0Mb2fref6uQeC0jqMc0jVYl/tZxsKtFWB/9dvCwRt6pqXF4cE/lKlbLxraYOA1Y7GevYmFQrPg+m0Be0fz5BasJmEOGuoGkNTGwolcE60uNIoQ9qaZjaC1TVMaZnVOU5F9IeriKKEJQmibsMqlMXnMwQeZx1ehmhxobASEh+loKO2H27rdnHAIC5sYtJJhAou1OgKH2hkECOzAUJ32H7+LcYne60ARm/wig7odyc8nofMqymJMqSDIZe2LrO7/5S7998lVF0m+YimNsTSUlUFiXKMhKaejFjEYkyFEqq1cpUznIa+LnCRRUeOTjdlcWkJqULKaXGB5dUXm7rBW3fREfcILy+Iga2KVMj2+2vwVB5qIVHeE0l5IThshaMehRBBizVS4iJW2eMvKg6INljEi1aYaJynaRrqqiEvG2o88ckJQfAJa7e/QPdvtCT+9UZgJXUUUlO3GgghkLo95QosCI00Hi8VkQWkwRMirSLwJV7o9rkpi5cWLxTKtFhi7SW1bIN1TOOpaHsyXjgaJ5GlIuhI7NyR9DNCOSdQEbkRzMQMFYaktqIQAuUdwpUEWRdnHKHXhKFiWhY047pFDc9LrCshL8mrMb2FPtpq5vmUrBPhfUPg2tuP8jWh9jgUqdZ4oRGu/dTaWZzw4AxxqFCNR8UBvqypS4PzNcZaZDpAOk9VWkJCkjigrAzT8xGzyZxPPv2AQbxIXp3w7MkOBBnDwSKHpyccHo/AtKLUeppztH+IWe9wY+s6G8t9hHScF3PeeXDEsN9DWkHSSZnVC+ycjxjPCiQWkfaYWYdEEsVdajOlt5AwKhtC78idwzaWmRQMZVvRzJCkicbLlMWzHqdHR5SADttIbl12KJKAjlxBhKB0F+kiTOIJZEZdjhEipbARsqgJpW9ZIeYXl3Youlu8+/bvsThIiMOKXnwFESo2Lku8HnL33hG9rKScwg/u7fLLb95gf+qJP36H5eVF7p46js9PWdjsMVi4TnN1maZ8yPXVIedFn8+/dItw5Tqjoz3uvHuX5y5t4vI5V2/f4sdPAjqLm7y2mXH/3g6yWMZ1F3jlxYb/7cMfkCZDemvbJOcHjHsC3YF3PvqEmprhgqIYadYXrnDr0iVm1ZRQ1hwfHGBdxRfeepOj2Rl5ZVi/vIqvBfN8hrd7BEVE3IsZFTWBcpSMcHGf61c2MGJMJ4NiZlDK4UXKcqcmWOuxdnWbiIjxbE4kAp7tjaBWDNMMVTwj7iRM/QpLPU2W9MmbjI3kKgfPfsKlZMjlRcEPH8x55XPXkOk9oqUF1vKAD+9+h7AjOclPcaxxsPeElYUQX0zQxmOiFKWPkPIa+2aP+EnB9RvbnNWWk0eLDJYGLFTPOGrOSZcF+/c/5I2/9yV292d84dd/k2vXr4BOqYodtv/h1zk+ecaPHz5g2Empn+2yOzkhjCoG69ucn9bsjmPM4SnZAsRhB6e2ObFHnMzOSbtDpBQ8OZzisy9TKs/cKhI5o1dXP3Oe/XyVlwCpJN57lA5aZrhvUwFDKXDeUTdtf7B2DufbHUd8tuP89HVanO1nAre8rJBSUDmDFlAcVXQiLBq1cQAAIABJREFUyawsyQLBeVASSViJYoSSNI2gxBImIcMkRIcwnZ9xdn9KNMjwtaKcjZidHbK0/QInh0/pddcQkSZWPcr8CBX1kPMS1VlpKxhBB6EViBjrPUJLRBDjVQS6B1LhVYinaTPowwChLV4FCO8Qi9u4ekZ643XSjevYakx1ssvy8T7PT875X/+vf8ULnZg86eHNjLVUMh5P8LXAOEdVzFlIYw6P5lgz5Xx0zvbWFcq8YFRX4CBWFU1TcWNjmY3FIUvDDWpjSLMeSdohiDOsNcSRBhJmM0VZG/JZQVNXbU+4dby1yX7IViwH4CW19ZROkFuPbsF9IGmft3ZMZ3mryPMOpQKUlK1n21oabxFIQqnxXrRtBWOZFyXzec54lGNtg3ANdV4yuPPnLL309b/ZqvjXGaFijkYp0M4iLiBNOAUqRDjbznHh8CJAeo8QEk+DcQKpPK2eWeOsJws1tbZQarz3JLp1MQwzifCaUW5JvEKJC+V740ALqvkpjYBMgHYRgdIYZzFOY6lwPiCUElMYVKxRQlIBC6nGBwnxsM/T0THh7ir9ly6ThV2saRASkkEP6WMaKuIgxjcNZj6lDCRBPIAmIM5SgqaGXoxwA5yriZSjaWpsHF6k/oG4iDYWytEUFQ5PmHZQ0lNXAVoJpqN9nu3cJ7Geew8/oBcneCVJTM54PiFK+qTxEaOmYlJVBEIyKgpm+zV5Ibn3FMrSoWRMkiSUtiRLEnI7o3ZzesoyBurKMWvaFhcJGONIdchkPEcqQWGhQeJVjLQNo9qSOZhIj53N6MYDfv3WNrxwkykV373zjOnZKdFAI51n4g6oXEK6ptDeEOoBThZEYYTTrtXENCFFXaOExoqfvZD++x7z5oDFQcjyULFztkQxndDvHSJdwe5BiWpGDNe+CuLf8rmNFXYOJnR7MWd1xOnBPr/19bf48UcfMTofEaeX6Dx9Rnhpha21it2DZzQqJBqNmRcn3LryPDqL+HDvnHVrubYZY/wYVzdcudzluz8+xO3nPDuc8dv/8T+iE6T0lpY5KyekdoF/9ft/SCwdMk5JggSTzFi9usjy9XW+88P3qM53mZuKtZVFGum49fxNaldRockSxYc/fISLLPb0DGMN27evsHv/GaGIMfUZN659iY8+fkRRelTsMKXDupyFpVdZ21xlPh6jeuuMjx8TJx2Oj3e4crkPp0/IOef1V3+D9/7iD1m79Xf5l3/0L/nmV67TSwNm45KJrhhVPb7w+V/m7p2njKzj7P0Dbjy3yXwSY0XI5GTOePaEcFDR61/ivCl4/OSIhcGAKzevoUcpncUOvabmneOMxc0V9OxT0sUNHt7/Cd/fEby12/Dw42+z9erzLAzG/OT99/n4g+9xevyA//Sf/Jd8+K3f5flv/jf8B9tfhkGH6dNn9L7/u+BD3vvwPs9tr1KMRkg5wSR9RuWcwULO8xvrFNUZaysxjw5Lbv7S73B/95Dd+YQ3xALTyZQmSn7mPPu5NTApFWEQEwQxYdBiWyMlSQJFJ9CkQpAFmlgJAiVbABCy3TguyHR/tZ3AT//fonKFFxgkzltmjWNmGs6KhmntOC1qRnXFaWnJy4Z52RAp8E1NoMA1DcVsQjEa011ZxwkYjY6oZwdIZZmX5wifY4ojfFnjZiOayT6uPG0PKEGGUylehwgdgtSgAoyQ+EBhpcaLAHQXIRRShaDasqoQAicAnUHQgc4yemGLztplOuvrDNcv87UvfIk3b18haQpcPWH/4BFLaZ/j6Sn7J4ecTc5pGkttDXVTt8ztuqIXKijHmPyEK8uLXF0dsNgLGC4kLA4HrC0vkiUx3d4QHSZopZEXN3jnG+qmoqlq7EWwjhKtZPAiVeCiZtBWeVq7occ4aPzFzzytjc448lkOvrWzed/66IWQf2lbuHhdIVT7c9HaP8vGMC8NeWGZTirms5rJ0c7fysL4/3WUeIRtnQKetsLlpcTr9jMo0X7PyoV4D160JyNFgA5aYqHwro2SbkDiiKCNNw5EK1I1nrKE3LbiWuctVraZBUpqnLM4I6A0lMYzKnNqY2hKi3UeK+ILKiBY4amKChEmuNIwmY1o6pr5bEKoQrJen7CXYuuGGktZV6i65SEop8EKtIqorCFA4p3Fy/YQJMKgDfWSCulFqx8xBmMalHVYr3EybA+GjUN73+JXK0NVWWqbk4/P2H+ywySviReH9DsJJyeHFLlFqpCqgfHkhHFumJcWoUICLelEil6oEUZycDRjNJ5wNj2nOD4mEwI5M5yeTDk4PuNkPEcLj5KSvMiZO0MSJkBDoFTrlKktVWMoRY0MKhLRYov9RfnSSNkKNk3JvMkxzvLqy8+zvH6JyktEoAnjFJkoqrqimubUoxl2MqeY18zPJpzO55RF07aSwhBjf3Etg4N7R+iJYVKsQuV55dYqb799j9qlHJ4+RcRr3Lv3XTybfOc7D1m//jrLCylJ1mdp/UX+l9/7U04PaoQQ7O0/ZNAbcO/piB988JTVmy9wcjgmTRT9xdvszyqe7n3K2tIiTz6+w7NPP2Y+Oeb+xxPy8zGxHiNJWOkL5qdTvIkYn48xlWJvf5e3fuXzWCe5tH6JeVHTD7v0sg73P3rArUtbSKugMVzauExv0KE4mnN8cM7x08fc/dEdtq4vcuvaCk5KFlfXmJ2NWzCUszTlhPd/9A41DqVjUh0hfEwYdShPGhBzkrDHdHpCHIT0FhbwXrOytorLBEsrWxSTgmG0zqK2/PZXv8TS4hZV2dAkKXEqUUoyHp+xtdJjbVGzubaMdTDobTIdHzA+P2jdbqXEN4KiaOj3Lc/dvMqqDBnEkg+e7NKk6yzoEWb8AeuhIa5nHNeCuGe4860fsXLzNku9TTpihc+tbPBc1uMLl1+kPDrBBh0O773L6OAh9fED0l7CC1/5ba6+/g36/SXmdYovH3N0vs+jh+ccPHvCrVtvMa4ksbDMqoqgE+OrfWb1jFtrAQfTY06spRP+bAT3z60QZN0FEALT1ATeEUiBchbvHYGtEa5N7XMoojAgbxpmZftmOtCICwGbdf6naXg/TcXzF4E4zoPyKMlFZCzI0qGF4Jm3SGG4dGOLeFaRBp56dEIyXEM2NVaklPM5SjQsb2xSTSecH+8RpYsMV0IOn94FIek2Oc5Zems3MXWJbwyErl38pUb6BlEVIIKWgugMOozwCIRv2nK8B6mi9vboJdJbRCBbaEsQ4l2IDxPSZAgOPnflBdzklOSP/k9Ozyb8m+/8AY8u7dIJQ6LC0JeSfD5GmRKEYDVTTM+foV1KqgPiqOHyapfNlSssrwwI4j6dNLmwuHm0lGgl8MKBzzEmp84nFJMzbF60wTZ4govnrWh7/f6i6ulbbh+Vc4yNRHswgSMW7Tbv8dSzvBUcqoCiGOOEIAhihFKoz04VAqTQrX9ffDZH4GxWUpUNpqwwxrLw8NO/0YL41x3WKbRskN63AkIEXnEBFVJI5zGyQTmFlhYvVRvnLUpoMoSsqANP4Nsay7RqP7RzmhCLTiTSa2rrMY3Ba4mvFa5pWkpjk6PiCO3AKYOtLdZ7RvOLTdpZlDNtkhyGnk4QgWQympBmIQoPZY7MEsKgw+n5CcOTY5aXLhELjYigtBaRl4g0QQVtPkIF+CwFH2JFhDSCghpf50gtaIoKLyxeeIJJSV7OSTsp1od0egvU8wKlWyum0KLlfVSS6fiYew8+IQpCbt64xPh4Dy9r5kd7lKlmb2yRpqG/kLHYjyjHJXNX4aWksp6Tk302lvokQUwUa3q9FZbWFphMLO6gJOn3yAtLVwVMxnOmpaenHHVeMWng0JX0taZtaAWETY0KBYu9kNxqmrpgGCmqfEY26FKRsbi6RZp1qTxcWVvmf/+//4xyOkezhgkVcad1hcSJQsUBwoUYATeub9E0ntPTglA4xC/ANfvZePsvfkgyXEROHhL4HBdaNpYXENIxPqv46Owhv/zKGn/8Fz/gq7/6Jq4cE2rNak9QT2fYy6vceVSwWFr6Cz0qoyjriFsvv85sXNNbzFjMVnjw8MfIIEKnt5nNd7i0cIO58kSRpLM65NPjlEsrXcbFDFeXXH/xDV569U1suctcRmyv5RBZlrrrfPTwU9588wYPPjkkixTpxhLvvv0eD57usr19CdGPGB8fcfuLr1G+t09RjvGiR7+niVXGreefI+70IU44fPaM8fEBgVDcvHGDB3sjBJLzyTlhlDGbnWO2t3BVh48/+QmpkmxfuU5hA954ZY2T8yOuLAYEiaYoxly7sYblnMf7O0i3znTU8OzwXbYurxJ1NxnvH7A2gHF8maVhw/sfzynsh6yvrNBZvEYxcuQcUM0KnkzuU4mIt5IuP/yz7/No/Iwvf/Gb3Hn/XWbTJyTbV+hozd0H3+LGW3+ffueA2Y1NFqtDJv2XicwpI33IwuWIiiFvf/BHvHnzS3z44VPON8fUj2D89Ih0HXQtGAQRia3ZevNNVs6nXN/a4KiKiSPPcmfEtJZ0xBJmdIreWKKjJAdnAd2k5PlU4ezPjvH+uUdeJTVJGNCJQjIJXSUIVRsUqYS+CLoBVKvgt/Yi+OSzXq1UP60OSHkRjqNU+8ZCYL3FeUPlJblpLsrajtK0GgMVBiRBSBLGXN5aRZgSrT3F2YxQBi33P4yYly1bHqWZlxXj0R7nxztIrahmI6ROUWEHVIJMh9jGoIRDmBplLcLatm/qa3AG71270V9UMwTyAsTzVyseF/Q9cXHzROGEwqWLuM4Srr8Ji1d55aU3eOHWdS5nHeLTJ6S+pJdJjkdHTKo5oXR0OgFZ1mEx0qimZn2lz3Ob64RxhA8UkRZIbej0BqSdDiqIEDi8rRC+RvFZyd/jrMU52y6YUrT/PksfvIglxoMX4qd3fGMdBsB7nGjdB7X1WOsRKkAFKcZajG1auJGQCNlG+iIVQimE1kipkVq388ELGuOZFzWzvMFUvxjLVpDEhFmITEOyLCXupkRxShpHhGkIWUw2GDDo9ki7Q9Juj7QTEic9kkyjspR+2G35C9JjVctjMLLBK40hwTiLr9sqQoAl0E3blpBtnrpWgiCUZEoigRDQ2hIKh5dtIFT7pSjKqqKsGqSEQFiGvWU6sSaLDbWdYMoz8qpBmwYnPZ42XMlrTxJnRCKgVCVaSHzZ/j1KPMZZlA9wQmHyirLMacoKX5UQOpSSNI1BOYPylkBrnPSEUYBtHN4rdp895MHDR2hfEgSWZ/fuMz49xc0NYZZwel4irEUSYKsGREBD3eZFdDpYa2m85zRvmJWevBbsjQp2zyvODw/wumJ/OuF8cs5sllNYj5eG2kmMa+Obp3kbFJV1I7QS9OOAONAIEaCEIQtb2qSIQtYWN9h67goLgx5RrEmjGBXErA37UBukK8A0NHVDLUMq2+CMpq4KaivJixmTk0Pq8THzfIT9BaKLrVX8J9/8PK+9fInjWc7KZp/dWUU+ERRVwcRN6EQBK50OvjA8efaM3f2Sf/Pdx+zmZ0Rhj2/81q+Srm2yNBhQiYKst0r57FO0Kbi8NeB773yPaaHxZcAwKeimMWdqyOXLA5Jeykf37tCJ50SrISpKWN1+lc//nV/BuQanFEG0TxzHjPfPePPzz5PnJbsnI1564znG5yXSwEcf36XMS5bXl9FOMJ7PCUrPC7dvcm3rBuvri5AucbR/RD5vSIcJ29cvMVy7jGsscT/hyc4Zp7vPsHZGZTXlrKDT7XM2nrN3dAjViF4QUFnZVsPiAaNHO+jOIsM0IlYlVmlqB4GKCEPPzO3RHXQIDSwvrzEtR+gso6NqIgI2t9e4tLVNR24yraZoFCcjwE+Z5HN+6fbLHD17yOGsYFQbhukQqUtufu4blKZhGBhu3bjJvNplMj3j/v0HPPjkQ549/hi79zHl/IilxUvMTvboZX0+3f8Qp/ZIVEwkMrZfuobxKWYmsWsvEOmE5vARzkVUdsrh/n1WFq6zuJYh6iGfPntK1A0Yne3zzp0jTo8O2OgvcW77NO6vKSoMQs1SEqJqRe0NjbVEF8LCvKmxxiGCAKRHWIPwjkhJhFI0TYMQos1SF67dUGkrBH8ZdOPbDQUQn3nhcTSiFRGuSsv6Qo/Z8RFB4Ei1I9YhHkM5L1hY7lCWJSc7DynOUrqLA5IkZbA0/H+Ie7NYzbLzPO9Z057++cxTTaemHqrJZrPZTTbVpiRSoiTLUiQrthMLygA7sBAkNwFyGSNBboIACQIkuUhyEcOWkhiUotiiBA20SYrtVjebPbCn6q7qqq7pnFNn/sc9rSEX+6+WApgEYifoHzg3deoUau+9zl7f+r73fV6K2YSOadNbOc94OGXh/GcwaZ/gNVGrjc+HBKUIWjWagCDRwjR8BaFgTuxvQDyiAfAETwhNDSVEA2wS8zY5IYA0iNCk3IV0gDdtete+TG92zL/Ta/PB2+9QlUN2jgTj2UOunjnLaT5mMh7T6Wq2HztPZARPPfUsrVQRJ+1mhtvvEam46Yy4miAkSifMpqcEm2OEaARjocaW+bwLI4iUwOhAbJuNvw6PmIXN/XfzZzH2AWMDNkisC2gRoBYUedWMi+Iuw2PTnICjACiM0U1hJCVIidYKYwyxMaSRRs2TFU+cQ01KTkefTlLc8WjSKHGDRFCi8VRCIIQjSImsAoXSDGWAufvABJrN1kuUEmjhGcQBiaR2mmLejnfCIUWOUOBEM0oINLP/LJF4KQmyoec5PJk2LLVqIqk5LmMm+YyMGitUE4kqPaULCOFotzKyLGZ3dEKr08L7lOVWSm+wQRZraiUxLoByVLYgUU3kcU6BtI7KOia2xumMjoopyoI4S9AOpramLCuEBhlq6kmNEJDoDBWnxAuabpAcHEywtmGJ7O3c5fYbr3L/4W2OH96j3dIst1NkHVi5cIby47uY+pDKxVSMsU6QT8a4INgYtNnZ3aEKikR3KCvBsazwhzlKzShnOSezZnMuCov1cG8mQEiMNCyYDFtPiURCIiyTyZR2qthox7Qzg1OBw9Oc2AuKWuJkU9SLbo9+L8NEWcNP8ZZ2O+OJKxcJ6gBfFtRaEVcjylyi9RLH+QmjO3eJTc1s6WkWtzY5xwKzskJV409lDQP8rV//GtdvHhK3Ej773FPcfOMeWeQ5FQXdwQpf6mu++ac/5LknN0h7i4zf/zarV55gxgH3PnIc1CP+2vYKC3GFTCISn7C+MGWnjNjPc7ZcwfknrzI63aWY5Cxe2YSR4OD1V3lnfJ5LywPOLq+QKc3BhzXHuWDl6XNMjvdIMsjHNacnEt1VtAeOuKP45u//z3z1J3+Dd15/q4kHnuRYZ0mzjJ27D9g6d577Hz/g8PIeS2sQ6ikygtUoxp5b586fvsVsOqa/vgjlBKEErbTLM+cf43c//IDZuGxImlGLvb1TnIbsYMLFL3+RXjqgdkM6nYgP33yF3mARJxzj42OS1ip2ekrLtDl/cYvZ0T2uXvw843u3iZb63P7BK3QjSRxp3n3nQ7749Nf53NOf5x//1n/H5mrM268d80t/ZZV80mJt+RypLHCzMb31Mzx2+TIbYZXvff8bPPnMF/j93/lHbG0ZTj77Rd549x2W0ifYe/1VPv+VFynjfe7ffIt8Y4UrK0/z1lvv0O5UZBsXqfanROkSB7MpneAoJxVLrQG12aV/+08oeovsuQGT/IjlA8fJ/YKP0m/Qi5f5zHPnWTraYf3MM9x85zX++guK2nT44OMTHu7fIalr/ubf/pevsx8ffywlynka3FtAiUCFx3uH9R6Hx3iHdgIjFF5KytBAXR7V0t43s2fgE9Tto/pEoiCA85Yg5qEwQCQh1YqWMYS6ZKGtmkKjrhFSkCYKhEchUWlEezAAIB+PcK5CRpBkfSrlacUt0jTBVgUoTZAQ5kJIaR3CP5LbNSETj9wTAeY8eo+UGqHkJzz+R/ZKpdR88234BpLm5N2M2F3jz++vopMe7e5Nzp87w7XTGZ1kxmj8kCyRPHbhMY7HQ4wOPHblM6Ta0e4N6HTbGBzj2ZQk1kRxCy8cOu3iXI4XCq01tZMEqfCAn49zQmjwuJLmS80ftBBACE1BEObXN+cPlD5QeYgln0QYexEIwTWlkWjEpAGJFBIh1ScsigZF0HR/jI6ItCFqJCO4GirrqWr3//IV+P/NJ40MQcTNiEc5hNeYWKCdwXuBjT2pUHhRQ2gEkkILvAIRYoSsiL0ihFkTIa0VihplNbWbryMpcDis0ri6xLpm/u2DwlcQR4Z2PyESCQaFqUe4ekYsJTWqmfvrgJQedEwQgSLPGbqaSDpiJ4nUJoWb0k00FJZ8MkT3+kgRE6c9inxKmeZI4ShKh9YJsekioxTpHWUQRF5QB4GVMUJbhG/SHCWCSBqsbSBfUdCk0mOMoQLq8RQlLLWOqWix+3CKUZK6dcishqpsE0qF0QlprJCqx2ic4+JAVAnsPAgriTKUt9R5QU9HuLqmtBUH0zEhGXAybYrxSCkybUDWKNPEma9320RpSlTVxFZRW4gFqFQyGtWUdRMmpbUgeIWqAgqJVglIQYxk4gLgObs4YLq7z41xQaYlPm4hyxneDHFVwepCm2R9hf5gja6KuecLsiBJNq98KmsY4Ic3jtjZ2UFoT1pHRN0WaWa4cmaLl773GhvPPM4vLl1jVFpUVfDs809yeFDzb/3S1/jmP3mTx8+uEs8O2F5bQ6cJJwe7RNkiSpe0wwa1n3H+wjmGuxAvXWb3g9e5c1zy1Wev8caN6yiT8fDoPpNRzmle0M0k2cILyMRiZZtEl5g0ZTw8YHlxkSvnHG+/cYN//+/+bb71nZd4+60/p66aA5YLAS+BvMBLyf07eyRikbI2rJzr0dKKzWSF75djlmWEH9Xs7nyMQ5J0IqpWzZXPbPOD16aY2mKDZTQsSCNJ69J5up1Fju58xOL6FlPrWNpcIW6fAa+xccFAOWRnjePTAzorK1D2MEqztr3G/f0RaXeZnYOPmVrLk088zcHpmKXjG6wMWpw/e5VnZos4N+OLzzzJt155hY2LF1ge9DgaWerIMxrDF5/5SY6GBxxLy09cfobT2x/w5Sev8UffeJMXn9lkvHcdc/kq5y9Luq2Km0fv46Rjtp8Qx5aSXZK0BbMxC+tn+fDBhAW/i83vcjgsyZavEIfAViRJuz3Sds6lK5e5+4PvEpKaH759m0F/i9v3X0NUbSrZ48ODH/DVZ/9NLi/+6JHBj087rGcMxzOc9wjvCM5jbcAFKF3zcjkSDu8huKYEcAHmpKL5hqE+GRkopZCy0WyDwHk3n2s3drZMKZQUJEoQaQeuZlHGZBo0gYXFhKJyBCBNNX7OoC5OJmT9Dkmnj9QxLmiKuiQTq1jRAFhirSjLHIkkxH6+wQZkPgZb49vLTatRaAIS4Wqct0ilm8yE0IjRpDL/j3FICOGTggeaPBgCTQszCtjQxUUt+k//HAsXnmRU/kNqe4+fbV+iFobty+d4vt/ndGpZWGiD8HRSzfLqFjEFq67Eyog0G2BUGyccIl4i1Dk+KKSO8cWM2lVMJ1OqskTQAIm0AC1AiYZDIOe9gaZD86jsAe9hRiB3nkw1LWitBVI15YRQBh8CoW5sqJHSBASKRlshpEAbQxRFpKkmbTV0OTWrKWeWSeUYT/J/5Zfhv85HyIRIgURTy4auGDlBFRyR9ShpKWLTJI/5gJQa52tEHfAKEhuotUKXUNhAHSpaQhIShbSB3OcUpULWkrIG6QRGQaDpoGA9JwjGJ0NUlZOkgjqvsEritCYOhlraZjxjIYgKKZscBBGgPVimDg43OqBAcUvcImkd0F5fQQKmkyHQCK0YjY+JtW6uubdKqhVBQRHHaMBLh9KBsjxFWImKDDiJqqYUSIxxtNotEgVKerKWIhxOGc6GDA/v8/DhTU53HuJMTjHO2bfgnaLOT+nHmnhzwM7hjFk9axJQXURRTsjLnKkTyLJkeXGBti3IlEV3MkrvKCpPhWB7Y5EySGw1pSwmqKC5duUcnW4LMzlgsR1zb2+KVnByckLUSvBFIIsNnoqyiDkqC9pJTBVbaunRSmOloAwVta2wLiDjhEtPXOLSxYLT0vL9+8fYWhCO7zNY2WDt/OfoLrcZHu1gBxmxbhENUlwx+lTWMIDePENr9xbLy9uMYoM7mfEH3/oO7rkxT2waTm99gDOSwfoWkpwyd3TkEFHB2lpE1Er41kv3eOGLK0wPxxwdCUIcGNqE6eweaxsrUHjK2nL7vftoMWQQZdwbHjHwMT7OaK1vYY8Kzl5+mosbXa49eZUsW2R0sk+NZdHk/IN//jZf/vI1zrXh8PgeX3pylZ/76r/H3/uPd7j54S2SSIMRyCC5ce82xWTGex+8y3s3PqTTkXTurvK90YzDwyOeuPo4vZVF3njtbWxZE1zNxuI5rk8+4s7uLv12n1CMQWuOj0947nOX+JkvfYUP332bpfUziCjm+MZ7LGyd5fT+6yw8/TxKPE6x/zKHo9ssb17jwQd3uHjtMvu7e9TmDJhDHp7ssLz1OJPTXU5HgdHJHTJXUzBjMpGsnF3gYOcOvU7C+bVNlqIV4qyLGD1g+HDIT//sz/LSn/wO90YzfvbJbQ7u3GPrbJ/OlefpT/8Ad/Gvok8LajfjeCiYlYtk8hTu7mG3M0Josyza/Nl3vsmlqy8wNiOWo1MSc4bkzCV2p6csyAf0+k8S+VPefuUN0lXL4YMZw3rIN37rA7703OO88p3fYzzaR04O2P7ci7zz1imTey/z7nTGC/y7/9J19mM1BOMip7CW2jtKGygclBamznOoHCMZCEGgUCgpUVKhlSRSCq0VWqn5afUvdARaqSYYRtCcKOcnSaREaYVWgpVOxmKWYfAEX2OEp2UCQmjarQQVKZwLGAlpGuMiT1UXjeq020UmGVJG1NMhNp9STkdMxsfYfEidD3HFhDof46oZti7xril2cL4pZFyNKyZQTgi2AGeb+bl3n4T6fNLt+Etk+JLPAAAgAElEQVRiSecsztX44Odm/2Z+r4WhNl3qzirbF6/xpWeeZvPcNpfOnaXfygghsLiyxniyR7+/jBAwm+6hZUzQEdJovMuRRqNV1oQVuRolLJrmVIercVWJq2qCb074iqZAUVIgJaj5YEaEv1ywCYJoaIVCCNScMxA8OGtxoRHHETS1c3hncaHx8XthcfgmQlYIpJZoHaGjxlZnpCAET+U9Vf3pcOA9FaXIKUIg1AHnm9O4jmK8ClgtQLhG/wAILBqBjyRCVMwUICpEFJACgpdUQWFtTm0rgtQkTXoB1jrqAOMAua3JywqvAgKPF5oaR5FXeDyuElAIJvUMYRubo28kfIQg8UIwdYFiPEFWkGaaqCVwGgpXQFESxRHj01PG4xFpZEgxWGqSVruJZK4KyvEIWc4Q1lJOc4rxDCNjZNxQORUCW1uElkitKGxBWQqq0GRPyMhgkOw/HHHwYI9x5emTcfHsIkKlxLHmwuYZVNShLCyRVvSyHgRPVViss+TWE2yFdRabLTEtBSGk5FXF3WHFx/szzm5f4s7DHYIIJMYTSYhbKbOiJJ9N8VLw0d4uOm5DlZPGEbYC09asLiR8dnudxZ4kUR7nxsxGOSWWyqgmuKZoujamAG8bzcfhdMap6NLLumg3Juks0mqtoLSkON2nlJIqtPDaN3Ho3a1PZQ0DDD94mY/3YefhkIc3f0hVj/m1n/s59nb3mLJIqPscFafsHBzQW1kl9xX91T4nR7tsnX2Mjx/s8dSzX+bWB9fptxLev/0xk9FNzp57mlbWxwTDaP86VS25fD4i1BvEcZs4dBhWOSvRHdp1xmle8fK/+D+59PQTTIe7WD9FZxGVlww2z9FJY+7ceICMDNPpKbfv3eX+/WOe/cyzzXtDCrSOODjYYXh4ilCB0ahiNJxw//4po+EJBIcPNaPxmAf3H9DpthgMFjFxhPVjxI0hqTMcHTYk2vZyhyxLuLqyzJvfvUOysEQdlwzv3yPkU+pKgWpRTxQyUoSoT5r2yMe7JIMBu3u3MSbw8c0/ZWHzHJe2zzE+us3ymcfZfOKnCNJwenhKbGO2VjaYPdzl6qXPoqSnvbACceDBzk1e+vPv8cxnX+T73/lD7MxwbuES5x//Ca588TeggslH3+fiV55hfXGJ2TQn7W9wNNwnbdfAjGhFs5lss3X1eaJoGRGvMVgv+fjBP8fP9hFuRF9nrGwOWF46y2x4SIHmdHyHLzz/U4xGi2ysX+M3/vrXcc6ic8HuewccH5wgqo/40vZ5Tq7fZz3+0e/iH9shmBQlgabtP/MOD8SRRqPoonCqERA2I4VGtCbnmGPbQI2RCBwB51xzkpaNFQo88xgEtIAQPEVdkWpJqhyrieDaYhcZPJ1+m1amqesKHRnSJGva2klMlBoWshQZReiOAe2ws4o6CFrdHghBXeXoYCkLiQwSb3N82kHoBJ0ugUkafKsyc+393DbpA8ELgtYQmpScEBpBoZ+LDr1vbq6UYt4pCE3r3tv5bD0G5RERQJfupedR3XssnLWMjm7ig+Ho5IBU5Jy9/Bx1NWKwdZ5EtiilJWHQZNEriaNp78uqwpZjQnFCCDXBzrBVQTEZk0+m2NohRGgATDRkwgAYIeYCSPA0XAgAQaBugJINK0KqJiwjivC1xdkKqTS2nKfkCYUUmrq2RJEApZDzqOM0a5O123TaCd3JjL2TQFULTkafjofbG4+pY4RwgAUrqWmCubTQKByugqBmeK3ABwQaaSVIR+IF2geqAEFqtA7UIeAriZaWBZMwk5Y4lsxKS+VkIzKsGx0MgJMFaioxRjOrHTqBlsypvSdCAyXWS7yvKb3HCI8yCYmyaFJ02pR3s1HBtB6xtBTz4fsfILtdtNK04ojp+BRjFMIaWt0u1gum9+8iWwm2LIljQVl5QlU3TpW4cTPYxGCOSiazGftlyfqZLQ7SFm0UEZY4UnRafT7/k1/j4a23uL+/z359Sj0rabUzwnTC9OQQ75v7Wrqc4ALtOOW0PCWvgdrTNgqnNaP7H/PCc1/ha7/ybzOb5Tx4+1XeevcVXnrtuygiXOWpVYT2E0xd84XPXcUYx43XfgAqZlKfMuj0WGmlDI+HEAyHpxXH0yFJ1uLcgua4sNRlyWgyxhwdoOM2obCUdoKvaqanh1AG9m3K3nFNb2GFzc1t4qDJbcXReEISSaLYMbuxR2shgWLYUFs/pc/ATvjCM09w/8EpV8+dpXP5Mt995R79K19BiAnR4pjPXPtl3nr9Oq9/7zuoIidfPsvyWswHH3yfxd4q1999lV/71V/m/kc3uXymz9JgmeFwzEe3HrDx/FP0+8uc7HX44P2brG9GjIYtllpLzM7AS9d32eo6ovYGy8s9NtcWqGZDhBAYLCZMmB7OOD33S7z5jb/PE2e/wtLyIldf+Cnee+d9HttY4hv/6L/l7/zmf8bwZIRWArRE2tBkdXjPNJ+wc/+QOFGYyHA8PUTlGikkhwdHBAd37+1zenJI0u6QtGOqumbg4Fe+9nnuDkesndEIWzK7ZVFJQXdzk3sPbrPeg7I+oMgVRZ0R6XXG5QHl8JD2Uovx1CCUpNh/n1EZ009ajHZvcbD7A5Z7PXorS2zITUbjt3jy2lOMDm4wKls8du4MR4e3aJ97iq/1L/DDH/4p7Y5hYaOPU4Y//ub/zvntazxxbpnJW/d4J0tpv/sx6+fOofOSn3j6M01ybq2I2ue5c+s6w+ktzn72F/j6wox/9i/e48zGk7h0iXNb65Qix2jL3u51nn7uZ7j15itce/Gn+N1/+h3W+z0WLywhQuC0FnRWDWtXV1huDzgthgxFRPTEOq2ziz9ynf14dLG183m4QElFNOcLWJpENC0aEZb3jYgtzDeZRzNs5kTAedR5c6p282JgvknJ4JGq2agFgcREJBIIlmIWaMUJdV3jvaLTayGCxESaKFZEkUbJJh41BJgOZ8RxglQSDxRVTZxChJxnwc9dA1LRNNAlCNPMbbUGpR9pCUHEzelfzlu//GWuwiP4Emjd3MLmmhumP6FB/IYAKI1EYmSC1ZKQ9WkvVBwfvUq3t8z93eusrFwg+IrgxmRJB+kLgjQooal8ThI1HY8gGxuarScEVzQZBtbhg8PP43SdrfHONsWMEEgh8dKBe0SPZL7pNc+sudyAoLlniOY5KSmJshilTYPSlXI+CXJNcdSY9ufFj0cahdIaE8UYE5MkEUnUwIysg/xT0hBITDMvD4Jm8CTwWLRTgKN2DXQJEQi1bOBN0uGExngLKiC8wlpNbSsiqZDaUaumW1D7ALZh+yc6IpE1tTfUJdTCYmWYUyEtWsUstlJG+QSUxKiACRopA94JZkQoX6GURAiNU4ZpcKjZjEQbumlEa62NtQERaoyJSJTBSI0UDo0hzTrMZlOEjNBZmwBM81OkiCkridIGURX4wuOdQSKx3YjMxzgnmD4csrS4ggoCqZuxRRACEyRl5ZDFjLooSGKBLSsK74lrRWUjpvkprvR41bhLKutQQpFEEZEMVEDux3zrz36P/cMHoA0333+TvJoRpCHrd9GqRlUFg/UuraTD+PiIC9vrtGOYnOacfeIyvSjm6MHH6M6AFo60E3Nvd0JL5XR6KSGLGc+g324z6PUROoGWx9YGOyuhqhhXlkMbQxemJahpjmtrilhgrCAYifcCFcbkPkVUktp9euFG60/9FW59tMOkOsWnT6NnJdfOLfH+/n0O6kXu3nmJ93cPeWrJsPXk53nwwfukCymVclzZHuCEYeWJ8xw8uMVoNmGUK8anU/b2bvGrv/QLZMUeN3ZnmOqQjcUIORvRT1s8DDO2Fnq0i5LWRpdzeIZylel4gk5aKBMxGe4hRIYyis+eibiR9UliRVUNCbNDNs9tMJk1SPS1jT6unFEiSFNNPoM6NPk4nVaGDoJhUVO7kjhp0eu2uXP3HkZL8qriwd37rC4P2N3bZbW/gsXzxIVzCC/Y2LpA7S358QGlO2Bj8zGylfO0jl6hlguoUCFEhlnapNh9i+n4gPWt8+weWcYn99g+c5FpOSWqHVU5oZADVC+js7JAxJRe1OLo0NFezxB3C5Z6KVM3Qy0+hfJT7u29zcbyJbqZxeqUohzw/OcS+gvnOT29yeh0zItfeBa985DIz8iF4Hsvv8/j21fYP/yAwVbG9vnPU8QFa+lZHk49a727TG7d5sxf6TKePUR3YH0l4gc/LNh79xV8vcOtO1MGqxkbIuH9V37AEy9+ll6vxbWVFDGeUPc2Ob+9Qrl+gklXODh8+Ueusx/vMtC6SbYTotkEfCOUAzE/ZYYGMERjVWP+YGHOzg+hCUKab6be+0/wOM3u0vxbsZQYpdC+JsYyc4YkaHKj8NrRUjHCQVUFlAkY5RFaUVUVZS0QcUIca4T3OG8xrT5xnNBaWEGbCJNlqADON5tSWZYE2WrmJbZGy5pQlQRZI7VpkMY0m763FTiHUAahaDbbIJDqUaHwqEho7JRCCrQyoBTe27nbohEAKhPhkgFBatY2LmLLmqeWv46gos5LpqMdyuIeHfUMQgaiThsh23jRoJQ9DQbaT49wromWDlJS1I4yLyiLGdZWDWsggFACZeeagRAaB4Rv7Ih2LiokhGaE01QCgGh0B0qyfnaNKM6oqgIJxNo0dDzjcK4CZHMvEI31UEiSNKPTGTBY7FOXJd2DEcNpxSj/dAoCEwLBSQQeFxzSeZwIDWJYdYiB0k3Bi8ZyqiXGG5SpGpEoGhscQsxQSpPXOdRNwqEPAlyBwRFqTRABkcYoV2GDJPYaj0C7ihzLtBjTTVZ4bPsJHhweMp2MGNkKgaWz+BnWB6tUoweMT+5hrSPRGiENQQeGw4ohOW1fI3SLVneJ/HTGVJcsLq6S6Iju8gZaQDnNmRVHpN0M7QUrK2dRRhOsox7OmIUpoiqJHKg0RTqFEo40TcgGHTIMkRBEQiFanrKKOdg9YuviFapQM77+Lsd5wdJghcILJuMc68ckaY/x7BBbOsqqatrGw2MmgkaUqxKC9QgCb77z54RgkCpgdEJrsEQWtwiuprIFda1JM0MSZ3z43k32jnNGk4Lvv/whnVQySD1R6minEUo4xoVFtQxGCXQdmDlPMS7xywKfF1R1YDI+YlxY3vgQKmmIUkOrrnFScSoLWj4hKkC2Q+Ou6KTEvYjDvUPSLEPXvU9lDQP83u//IdO6zd/6N77A6ekxbtLiwYnmUn+R2mYsqi9wVdSY7eXmgJW1effGDR5//PN0FxcoS8t7NwrWzwXagzP89FobqaCWlpsPCja7Kcf5Ea1knfsfv8v22SUuXbrKm++9w7c/vMsXr65yeN9wdXORZ595EeQIFXeYHB/RSRJy6fHW897/9JtIs82skijR4cHebTbPPc2Tn73IwZ2H/L3/4O9y585Nfuu3fgfhJYUsqeuA1pqyrpmWYF1NmhiCLzg6KSnLmjjKiKKmSD2ZTPBBkXYSrl1cor3QYm2wynR6QF4N6ZqEQWuVpTOP88Nvv0l7gUb3E0AXp5zWKVmtWF17nJO9A2bTMRfW18ikYViOWdlaxrotlpZT7t36iMhlKFsi4hlea4Q9Yf3iVdqLl3n3re+xvKTIDwRGnyfr9vjo1sssLG+wtrnOjeuHJN0OcnefSWr4XFHzyumQ80sXGJ08ZOtMn8zcotVepseEk+qQtPZ84xv/JT/9V3+DjU6Xot2iG6Xcf3DM2hlNVV3hybOX2bvzNkvnnyL56Ae01oDBZnMQ1Cmfudjm5rvfIg236XSf4+Gdu7Q6EadHu9y9e4u/8SPW2Y8tCIQS4OZz8vnJ+JF1sDGviYZOB82peN4dgEZ1jhBI73G++Z6c/5RSEi0FwXqMkhgBiQKtBN1Es5UJegaSliRRktJ6iAL9OMXEshG8oZGJQacpSqtGlDgYoE1Eq9vHxDFREuGFoc4L6gBOimYDk4YgU5RQxN4SrGtCe1xoWP1SNcWK8A1y2c/Z/TAHATWt90YXoT85eT8ar3yS4yB1s1l+YrNs/sxLQ5RmiPoEtGkAR9Nj0igl090mjTFpIVyNcDkuaTd+8rkY0ArfdEZwTdFlbdMdqOtGCzEvwXQIzVw8hIbO533jfJg/P+Yo6kcPVvGo+wFOQm9hASUTivoUIRqvevDNNZrQtN0JDR1OPtKIRDEmikmShCxLaMdNpn3lPp1+a209aRqD9FSTHOE16KoZDdmCau6SUELQ+PA02utm3SKwBJR0OGeabphSGBrKo3SKNFN4r/C2+btR7ZBI8A3e2WAaZ4uQSC/ZH51Q1DXrm+dJWxkHwzHWltTFIcO9Q1yZ40PAhYCqPLolyGeC2HikFNRWgCjZ2fmY8+NDWos9VNH8js5GpwgVUYVA7TyZVCStFkYJRNLCH++jNegyQmiFk5CZFkkck5cjYhnQdcW0zFFVRJV7krZApxG91QXaKyv0jkZc2d5mZ+eY2fSAmdOkwhFEzcHxAWWlKEJg7cwmBw+P6XX6eK9wboYIBjLVJGcKgfeyIdBpRTuJEdKSGEmoBJ1I0jE1k/1DptWEu0djlNL0spjlhRajyQlJkJBolFesDfpEBPIcrBbUwVKFgnIyZVI7JIrZtGbnVJB7T2r6WJcDAh08Riqc9QQT0UZhJ47lC20SrTluOdK0zexT7BCcP3eRv/HzF/kff/tNfvHFbRbOLDC4p/EDzR/+sxv86gtnmRaC737nZS5ur3B1vc+sHTMratJIYLVhqV8yeniHzorl9tjy0VtvsLr9Ob76pbPc/fBVutkaHz88xijD4UnF/e9+i+nBISu9TfTgCmqyw5mLl0n6CbODU2QnoE2LYBxheoxpRUzEMuL0mI8+uMGV81ew0jAcPUSrNnQjzsfXSKKUSP4+USsiaqUcHE6b9D5hsMwwRmCd4+R4Mhe0B+qqQkhBNzPEUrLeX+ba1SU6KqGbGaowYTZ5yHLaQpoME8EonyKTQBT3GHmHPKiRqyWd1XPMxhluvEvSUZxbPMPGepu9vUOcNPQ7A6bVCTJE+FqAOSJuD5hOPYnOMLOa3Cxih3to32J4dECl2niT4Uyf1dYGWWeL6f4uqyvrGBVxIDTLlze5++5rrF08R1uAzfqEaZMyasKUcgJJvwSVEsi4986bPDjd58rlyzw8lNT2mE77OewsRugOK1sXqSlYWz5L0u1T5nuMjk7YTU/Q8SE7J/ssdPtsn11l7/49ytE+y70B0+VzP3Kd/diCwDk+abUHGncBvpmyByka5XnTAvgk5fATwoAPqHljwYnm5KxE05a2tiZIgRIKKwQdD8E6MqNIhCANHoNAP3IrKIX1MB7N0LFBLHdwSqO9pBpOaS8vYOIMJQ06zghRRukF05MxzjeYY6kaXoBSilZnES9ylBOouEvQMcaW4Dy+yBFSo6JWs3nSwHm8rfDeNh2PEAiqsd9JqRBSotQjX/4jKyLzgkF8cj8FoE2MJ0BrGaMjypNDhB7QGvSpR/vYeohhBW8rZGsD6QuUL8C0CdUIP5uhtET6GFePcXZGVU6o8yllXlPlltra5tnMuzPNaMfPEw0DtmHkEfCNbc4FvAwkUpHN4VNKBlbPXG2qOFejsTgRcKEREQYSRGhSMJWrUQSkFqjIEKcxvUEXV+es9jOUCOx/ShyC2Ce4osSJQCQCNpINTjg0gCCnEiQFtZAIXyG9p5SaOHi8NIhQIgUIF1BYImSDma4Fwni816hgyELAq5qpr9AmIhUx3tdMrEK4ioyIen4vR5NTTj94fe7lBK8ULozwQuJlQ9A0wTOqA0EGUimIex2CU+QTD1qx0O6ABldYss0B7U6PYpZTz0bEUYSJLbauCU5wfHxC+WCHcTmhKGs6nRbBW9KkBb5AKoUvJuROMrUlp8Oc1lFG1ltiUKUoHWjHgeee+wqbZy5x78EdVq1kdydHTad0B4bpLEDW4k5xQlXBnYcTVhe2yFpT8nKM0quY0MCtsAInapzWCBGhZEUsNW0pSBNPnC5gEezOShYZUxRTmKPOty8PmgLJdohiwcMHhywudHDeYrVCRtAxCf1Jxc71D3G2Te1n7Dw84YfvfkR7cZVWe4OivI/CIogIskaLQG4Frp6QUyFjwQ+/ndI1CbqdMFaGpPejY2P///489tgq/80f/oDh3h7/+A9O+fKLL3Ln8IjL5QaPrcOfvHqd+3vXyeQy944CP7xxHYXn81cv8Pb7BU89/XlC9W32ywVaIWZ8fMCzzz7DweEBf/BP/iHXnnqKnbtv8Mtfeo5hucSHD05JZpIjMcW4MfsH+7TtAavn1pG2xMuKbrdHKCom0wmdzgLH4yn/yX/99/kP/85/yrdfPeLCZYHQBVVhuXXvFk89/zRHJyP6kxXOXtjiJ1+4wsrmVT58+wavvfkWH926j7MRSRwzKyqSSCHwLPcGPP/EJrLrqCrN6mCNYTEhkhlJ6jjau02/1aaXLpEMFum0DNHCWa6/9wbWFdhqwGBd0OtkpMIxqqdkq9eYfnifVrtGp5p3b+wg7T2efvx5ZjanGk45Lh2x36OVLDManRBKx0rHU+QlJ2VKUsbkrYh2vUbc8USiQEzvQquLFRpf73I6LemnJWefeJyTOueuOWS7vcr3P3yXS9uPUZ1MifrbpN1b2NmYfrbMzevvkOqIo4O7bK+d5+FHHzAtdrh8rQ/DXW68/n2WukNWzn6W04NTVLtA+SnHkx16ixdImSLNBFtGuGyZ+++8RpJ0CeqYeDJjb+fgR66zHw/jDP4vmfJBCkngkdJ+/i3xF0XAJ8OBuXHd8+jwGZAerGiEiWoOLMJ5nPNYLbHB0UkyBpHCGNCmQSILE5G2OwgJWSuBSFG7pgPh8GiliKIYITUiyvAioqybDbm2bg4QCgjXnPal/IuI5hCaFjy1o6YmEMA3vAURNdcppGoQtM7hnJvjZiHUc+aAUk3GQdLkOAjUJx2BR04EmHdM8M1J3aSEdBVkhJkcYqsc0V1AB4UKFulLqGtkPUCYBBUczluETBBi3JzslUTUzf/X1xZblriyoq4c3jfCTicDToa/1MEI877OvA0QGi1BkBJJIFYKo0Epj4k1rc4A55tnhA8I7wmhISE2LZ/mXjpr584FmhAkHRNFMUmakLVikqJo4ECfwkdEJQGNDk3RQ6MgAKHwSoAURDJFatmcBmqHlK5R+nuHkHwSymWtw8xR3Y+K1co7RNA46QhOEBmNEg6nY4rSNd0YqXFKokJN5cU8bbLJUVDC4yV4GaGFI5gMFTzKNQkUhYXMCEzuUXHCiZphhOZ4+JCT3X26i4vE7S7KZHg/pSpyxqN90iglaStKFZGPjpkWJbYucDaQoKiFJYs7lK5E1YYqBKTJUMJRVBP8rHE96NCl326jnSC0YX11ixd+8ue5/u7r3LhzF60t+RSKWUXuS4wymEyTZAsYLbEhwQB5WaGNbiib3jH1Eq2aBMYkaeOLXQwZWafPeisjUjEilowOh5+MT1wr5t3ru6RCcn5rmdjA1OsGd240tZ8hdIthOSOLJaotefX1VxlNHaKYYpSg3v0IuzQmSvpEqcb5E0Z1SSIMxkhSArqTNaTISNNPE9qLy3ipSaLkU1nDABdWVnjiTo58bpnl1Q1eevn7/NrXP8e33vuY5cWYmx9/xLNPfZ4vX+iy/fzXeeP6ff6Pf/C/4KOUEBzf/KOX2GgXeH2KFAOSbsxJCaq3yIKTvPzhlM89/gL//f/6B5z/zBpKLnBhfcB2skEqZpwZeE6Ha2TJMlWYkeQtpDR4afHeU6qSOHGkaZfB4Az3T2bs3t+l11uh99gG/aWU8dEOg5WLyKnn8uIa1TQgYsXKWo/zZ86yGDt+8PEOkclo5ZqV/hK7Jwc8dvkMIU6oC0vHLDE6mqC1pMhnjOQBa90FbDihG2+CKeisn+fu4QlSSjr9AXVdUs76qKUMkXZY7LawY0vSVaS6x3R2xNbyOpkZcHxYcDLbJyVif2eHQbrAeO+AwfI5kpUlJoc7nAYNiWQ4Omx+Z8ucZPAZdvY+YK01IokWOTrcJVES7/u0e6s4nREVI65cu0ZLGS6f2UI5QefCF7DDMc5ljKYjukXF1uXHGI1mdEwgUHHmyS9T7LxHb2GZowf3kLpgcaHLaHRIt7/KG7ff40tf+BXuvfunDNY0wqyQpWcJsw/pmTblwS43773O0lKHhfUlMhP9yHX2YwsC/2hG4F3jX/MNbVCKgHc0GxPgg5/bpfy8AGgY+z5ALBXC+WZeH0Dj8ELhnOfsIGNSVGjnWNIRyy1DqgJmHqvrlcYKiccTaUMpAjIEYh3hfBOXapSi0hoTJRSuYQgEWzZRx3MLXVU21sI0jTHO4+WYNChMAqqYIqxFBT2P921CnRKjQUdN+E0IjRWGhkTXqPYb6h+1hQoq71FaoyLf2LmUQUjxyOqPtXaObw5oKbBJClLhe+uYYkY4uYOK0mYyEbVQtiYUh3jXQiZtJI7gA1Jl+MiBb1T73ktmVU7pK0KSEtKaIIZ47zBeNJhcEajFHDjk+WT88RcKykAsYJCEhtAVG9YfP8fSwha2yCnLKUZYlITKhnmh1BQ/ztsGl+wsQgaCEigTN9a3umRhoUcIcDo7+ld6Ef5rf1SFCQYbNLpySBEgrhsGhtUYMSPXIAtJHez8bki8kMSqwPmYKFiIFdHc1y7rgDWSWlQstVpMfI23Kc6VGAR5VUBcICNJS0FQKeXE4rWbWxQVwViUBWOaJMFgWghfIWqBNxEmabpqovbkoeCgKIg9dNspQXoWljZZWN3gqS98kSBgfHzIwekuqqzRYh77LQWHB3sk2qA8BKvIXYGoCwo7JW8PiKI+B6dj5CgnbhtKrWjrNtpEdNOEXjui12vSEONK0Mo0T16+wuXHLnHu6lO88+qf8953/ymRL4kzMEmHvK4Yne6TrJ4hSwWFNlRqgpCaumjWrRKaWEaYlsLnBe3WMqnybG9sMCkqDDWH+3t8cPuA0gfa7Q692vMTLzzJaAU+n6MAACAASURBVDrm+vv7TKqiSYOUEZuLgrLW1KWlv7LAnaMJO/tjZC7oZgqZLZKmChVEExVrJIlRoA1BDkiVwclAbCRpnGGMJOr0MEqgTIoWGsynF270vTc/Ynt7iXwGZnbCr/7Cc+zf3+HXXniKo7Lmc+sDHuQT9u+fsF/8LhvtJX7mr73IO2/uYd0xaZ6z8cVfxO69wcPDE7ZWN3Gu5o++9x5Xrmzzm7/+0/xfr33A1oVlToaS/cNb7D2QbG/0SRZj7r/3LgtnXgTpEbakrkfgmo5v1o7BxcRxwu7+HX7xb/4yv/17v8d/9dsv8Z//R7/OcFSx0D9PtDBglk8IRvP817/K9//8j/nf/ov/gbVum3SguXv7iDoP/OzPP8lgcYnx4YSyOsPq2UtMrSXPd0mjPqr27OzcZ6XdpZq0UJ1VtBRksSLttXj59T1Oj69zdmONmhndbIPCHlOHAfnRjIVWDysCVl7lD1//Y37hC5fxJudk5Njde8D5y2ucnNYsbmyjj3YpZI+9B/eoZvfAV5SJ4uxal3J0RHbmGoW4x+m9P6OfCCbjDv83ce8Va1l23+l9K+1w8rk5VA7dXdU5sRnErDCyNZKGksZjCRjYECTbgGGMYb8YhiGM4ScDxgDjh7FgA4ZnZMowLAxsYSgqcIakKJLdJDuyutnV3VVd+eZz7kk7rOSHfZual25AgAa9XwqFWwXcsO9ea//X7/d9s35FdXRA5/JnaI3fJatv8uAgR5QH3Nhdod1+n7VTVxiPbxMnb2FcQX/lIr31VaY+JdpDVDzgYKo4s7nJ8fiIVHe4e+0Go9KzvrJguPYIt996g9s7+xypfV770b9gZDS5Kbh2/UXOXP4Fnn30CY7sAf1zy2yoh3jx+jd4Mn2Kje67H3qfffQd7k/2A82q32BvT4KCUfx0cPDTIwVxkicIsaGESUCfjMybBHvDKhDypG+N5FS/j9Y0iwmNelYrQ2IMMtHIROGkYFE5YhnQOqV2jc89CEWQCT4muKhAaYSQ1LXH1h5ra2xdN8l/GpSu957gAraqqYsFi+NjysUxtp5jT7gDIjp8VRLqkhBdc3YS/E+/VqEkSmuk0k0WjYCvC2w5x1Ul1tbN//u3mNF/PVVpin9SGaJSmKSPUgpbzMCXCDcHKmK7h1CanzIfo0cE2zAHgIgCoRFCN+fVVcl8dMxiPKGsLFU4+blxsrDIv45zhpO325OPIoSgpSX5CWyp1TdsXziPOIH0fPCzklr/tHXSnEf89XERBGSMaKkbAJVJMElKkidkmSFPP5yO9e/ysj7BetXQl1TjX3BCEqNGKI1TCqomSyG1aiYGNiDqSFk1DQonMrxrqpkTWzIPJaUrCS5Q2ZoQJaFaUDqLjU2uIhWKARITP8gVWCICoxoHSKJaJKbTsNalRIQSfQJGSqQmzzqgUqJWZLpFqjQieIpKIoMmWsvFK09hekOiD1TVnMSX9FoJZ89d5qHzD7OxusLm5hpBNgHhUjraqcEbgQoCFQPBzpGVR+ZdQvRoZ1HG0F8esLG1TH+YoQ30uy2SFIyB9bU+nbTPha1tPvm5z5NuX6ZMc7ppC+89K2cfZuvcJexihky6jVnSGBALRFjgVI0QHhGb8KHxHlEtWDuzgS5rntwaYihws6Zx0R4aBv0MGyOLOmFaOHprLfIksH1hiSwxHDzYZ161UcM2c+kYl5pMZKSdnOV2xnIOmRTo1GCkoy2aDWzbSNYSTdqGQSsnb6VI12zmpBQYbRBGUWUg+fhcBudXI6OjBVe+9FvsTjT7o4xTF59gUkdOn77MNBngZjkHbkyHgLUlN1+/zjPPX+ALz62BXObuzTd4f1/x8JOPMJ9W7N5/m421FH//Jje+9z3sXcsjD6/z5EPLnDFzeqZmXCr+4A+/zcvTRzn3xGm88CADaatPUcwQQmJ0m0TneBdgkfD41fMs+4CVHRZOgEpJOorq6D6Ht3Y4rqeMZyMKBxuDNs4V7I9mOKU4f3GLC5cuIDGYTLN1cYvQVnRSTa+7RO2nHB/NSduaka+p+3OQB7TyTercovMeL736Pba2OsyLEonC6zmZHDCfjxgMtvGFRSd9TLvF3/ncF6iOD5gcBu7ODph7w617kePJGD8esXfvJtIZCh8R7TWy86dZ2niM0fR9uhtn2H/3GuXIcn7j02yef5rSRWaFIiSr7E12WOn08GEdnSha9Ln61Brnzq4w2rlGlnravWXk5mWqXJOtrlPuXycu7vBgd0Qs5iTtVdqr55gd71KnU1orc1qtU9y9+T6lL3hw9A5nly4yKidczs/QqiqOpu+xIh+wfzQhLVLKmefo7tuMrOSgGLE+6H3offaREwKpwPuAlhIfPYoGJvTBeDgE3yTyYzwh9EWMlIQQmioJYJ1DycafJ0WzUcgTSRIEx/OKUDdkvURrekoTXY0VoiHyGYkWAhcUrU4bM+iCEOhEEaVgPHEkHcOKSkEaFmUNArzzOGub2T4fBP2AEpySOBcxtkapjNx60rqFaPebylw7RyoN0RIrjxQKoQ1GyuaIQBuE0I0MKAScDfi6JFYFxNDon01G6HaRaYbOcoTUTTXsZGwew8nGJ2vh4wpSaTKZUT94BWEyTDlpmAcqQQZHcBky7eNVjpASWVbNUY3OQdYsJiOOD/cppguqssZ58F4QfST6iFaSjEBpP2iMNPa6DwqHqYKtXKG1AAJPfvHzPPX853FIptN9RIhEoQgi0spzhG7qmc67ptZoLa6aI0ULrTMwKa32AEJguDJACpjMPh4OQd/nLEyFjFB6SSIlIaZIFYnGY1wOZkEICU46dJAI5ZAikLiEWgQSndDuaOpixmhRkQpJIQNGNt8DZQNWRUwQLGqHMY7jRSA3Ai8kMRGoTCEd6GDokBCUI6CpnEfESCIFTimEUHhjSYJB2Bpbzmn3u8QgsFiSaFneOsfP/t1fg9pS3L5NZiQrwyG9y1dJhaAsJizqElfWjba106EoSpQzCJUyryWD9iratKhDxHRSMik53DnEdDK2h3263S5pAkYJMI4YBEnfoLxADBM6vcCZsw8TwkWuXrzK3uERX/3q7xO//XUOb/6E1tJpzj58kfvv30BpjyktxrRodQ2DVg/TSliUlk5Lk4UZl09dpb/U5cbtGxy5wOh4wZ3Rgs1ewrnzW8xtn+ShDCELutpwZ7RDmqTs3Dvk9PoAmaQsdxz7Y4OQFavLbWalpJc6JG2QkKoOUUnSYRvlEup6RhAREVNa0ZJqgTMOk/Qa0JoSRCHJaIiTUX98RwYPb2Tc3i/QD/6Cs+uRpe4+D3YP2WgV7L65y3OPX+Im9+k//AKHd+7QXuny7//844hqzL3DPi986SzPXdK8d6dE79/lE4+f4sadwLaFORmtSxf5jRf6vP3KHi/++Jjtp75MGvZ58lLOeu/zVPtjHn7+Z6GucaWnlQ04qTkhJCwWY+qqJOlk1JXjvXtv88LVq7z15hs8dPkyrVRjTKc5mlKSVK1y5tQp9t+f8P7+bU4Pt3lw9zqf/oVLrC5toHSNyfbIs2UKc4xigPSS8V5Nf7DM5FjhD2+R9FZIl4cooTl94VFev/YTlgYCW/Tp5YJOq0dqStqmy7Df4nixx/LZbarFDBLNe/dGjA8UxXuv88LzD7FwM6TeYTxtUSxmFKKFmZaEbka1OCLdG+CX5mRWcrx3gBOSVqfD4eQt6knOg0NLr3xA0t6m72rGd24yX3mc97/5HTYev8J5Z7l7MKXV36QsA0lHkesubabcffAi7TOPEF58hTPPfZJBLnnvrTcpXcVyx7DWuog3ns72Kjtv/oi6Kjh77hQZy4TYZdAeEkRC+/RZvvq9f8WXH/ocB4v7LNfLvF+NeGFtCNKRkX/offaRG4IEqGUTP2ubpEk/O4eREmJoUtcnU2dJcz4vhSCI5hfJx4CKTWbAnYiPIoIMSJWgxuOQLBvNUqpIMoVdQOUjWkaUSUBr0qyFbLWRaQYhEKMguthMELRGaNOk931sMgEiIhvGDMGHZkMgG2Oaj54Q6qYmJz2qQfJBdEQ0PgSkat6oY2yOPgQOIQzNAsrJG3LDG3BVha0L3GIG3iKcRSqNLfvoPKe9tI5M0oZ8F/ipLCme0P5i0sajwXt0e41YHBHpIso5sdvHUyCpIVYgEhApcOJViIEYGp+9ry21CzgfcT420xAAKZGhyVIowYl8SeDjSagQQUcJ+qr52UUl2ThzgXZ3SAyWqirRQpBoRQxN00ArAxGc92jZNEtCaLIFWkik0mhlGh5BnlG3czrt9G/nyfg3vGrdfL06BvQJeMjgGsJmJQmhOsl8OExwKCJep1jrUXkKcYH0FmpBIjXGFiA9Co2OisK5E4iVR4pGJhVjw2xwtmbY6iJVZFo0BsjEKFIVWaAoogDXEDpLDxDJdE2MGhsrhAwkOsXawPJSG4fksac+w9NPPcXm2jLBWkzSor+0QhCeajbBBs+kmFGXcwQKGxxGKZRJ6GbtJlQqNE5rCldhdIor6yaAmBlM2gLv8GXBFINJDO1O4wCRspkmzWaBJBG0REQEyanzHfqDlF/+yt/n3rVr7O/fYjLao5ztgy9ItWEiLblKiYmmpCaTLVqZpN/vsKZSltcGzBZzXF1Tjg85Go3QypP0uyyiQLUiwcIbD3bYaLc5ni3IUkPLSh7sHrLSTqmdpZgviJ0UXQtMlpJnSyhZ4q3ExyYk7CZT6rRDK29hvcAYhYwpZeXIQ0KQlugkreBRxjV125g2ds+P6frG9WNW+me48913WT3zOK+88xoPrxmG5x9jOgsc7O2wtvU41166RkdK3npwTEcv8WCv4sqFPp1ei/F8xOFkgbA1q5tTgs6pJ/dJO0Oy6piXvv0D5nPJhdNbxAevMzNDvv6dA8Kk4Oqjl9CJRkuQckhdTfBliZTt5rmmaoo6kqdNjihLhozv3+G1v7rLF37+BZICtFgj2AWt1hLrp6bMZht0Vu6QjgS1GNHLDa1uj4P5MXU1R9CiqgRVlZFry2hnytIApnsFvp5SSehmgUQ13ovXXr/O7fslZ09vU/lDWnGbGAQyyVBDmC0WZO0VwiiglttoWbK5fQFf3GXQXeO4mDGZwbmVNV7+4bc4d2qN9tYm42KBnAtC4Zi5G4hDQW95g0I4hiswns85f+5h7vzkOhuDQGe4TlUdkHfOkeYbiHafC6eHXPniz/L6n32NnfmYq5+4zPzWA4RcoZyPaK8PMVNFuXuDxdIqS4cPmC53SXNNWmXcvrPPcOUG1aFivlgw2bEM2hn39m+RJRVD0+eRC8/zw1e/wan1PtUYFnXJMBsQiSzbJdaWOty+P2LbfLik66PlRokgRSFCJMkUOE8ZIDWS6E8WXBHxUWKDaKqEPpAnkoU7aRYoAbY5z2/piDGaFlATGIgUGxypbvSwLgaiUSSmGV2XtccpReoDee2gcGjdSJRMZmh1WuStFjJpIZB4URGjR52AXqrS431A6aYjb12zeCUKoigbYEyag414mxGjR+uEaANJ3iUokNYSnCckjSrI+4pATe0crq45PtinLufMjvbxxYxqMYYQMLpFkrZYPn2GvNtnsH6GtNUhbbebt3zZaJWNgpi1CGIVxBWULXHFIXK+A7N7qKRPMBkyaFScALKZTviArQvKxZRyNjtpF3gq66iDpwoB/8HJgAAtBKlqqJGVa1oG/oSfcK4F2x1JP4kkyy0uX3icLO8wPXxAFALrLMpkaGWoKVAqaSqa3lM6hyBiXI3yhhib4xCVZiShTae3RAywtDT723s6/g2uREgK3/RfchFBGzwRGxRCNQyAEGiaJTEl6oASgiQ3BClpyS5KaBLhqeZzYqaw1pHiCToQfQIKEhROgfKCyjdZBBtSplWFQjZcjEQhAqhOTsvlTBcls+yYyifkoiaqFBMsnXbObFZhokFnlpXOkMuf/hJPPvo0Fy9cRIpAZlJ0qwNC4uoZFI6d4z3KssRVERU9Wb+Ht55FqBF2ilKgXSSqQJVm2FlKzFu4UNNvtRn2eqRBMtq5xyiASRrYjI2go6CcjpkUc7rL6/RXltk6tcGwHTFGsbIp+dLqs/Sz/4nX3niZr/7+P2M+W6DElOXWBknf4ILg9GqfJElBSpa6LQaJ4PBgj6OR5M7dB6Sx5tpPdimDpN3tcP7sRXSawwkDZPjQRfbvHvDohXO8c3uX9soWJl9wOFvQV4rlnuHYBWSaYIyBECldjSRDJh4VE5QQZEXEhQIdQKU5WUyRXYUSAqUMg6UV8k6X0paExQxnS1T+8W0INIbv/dVLPHf1FO+/+OccV5JUbbH37Z8gVMo7N+9w9akrtLMeh4f3OLN2njKFc15y/fYhV5cWzBZTosl54vKAN9+bcu5UjzNLZ9i/dZ/3b7yN1Ip2p0XppuzLdTLlkPmQs5dX+cwv/BLGO2yMKK2wi5o0X6JejGn1l6lcTr9dMS8tIVr+3lc+x//9h39O5/Jz/O7v/B5/8Ie/j/e7tFXOgiM6/YTB9jrbD9Y4fHCTYX8d9YjESc98tIeULSofMATyVOG9pS7n2CrQ6nSYzA8RtgLnaPdWOPPY4/zn/+i/Q6kev/Hrn2A+8cjMovOSNNnGl4Ks12E22aG1OUQ6SywWCNPlocvPNWfaJsPHB9wrS658+nMc+zm3Xv4r8u4al1a2qV2NCRuIrKCkxdrWed58+fu0uke88eIOtegwWF4j7s+JnWX29vZZSR333vk+Dz/1Zb7z9T/m4tVH6Pqc62+/zcNXNhndugNhzrVrt5gXARGnGLXBcjfh6O0FrGUsnVplQx1Q1qcQA8nxwT5eFrT7XTZ7Z2mrZVQ541vXvs5ybwmdFHzm4lns/Ih0dQnrcnanu8xv7lHHin629BH32UdceaIp6ppECbpCgDLU2jUGPNV01rN4gsCNICP4E9tfSwmChARBrZv6Yl8rEqOJwqMd2OAxWqFFJCEgYyBVBoJFKkWeJQilSbMErdWJSEg3FjNhSFpthE7wPjQ2O3yD4a09trbY2jWfmJLNAhabtzREREpBCA4fKoSXBOea/EFVolVs8gg6oVExNZONWFusb5QHVd3kEyZHh1TVnKO9HWwxp16Mid6hQsP1n88ntLtL2IWlt7TKYPsUKk3BNATDDyiIwuS4tNNwA2qFSHsEuzjpbVoQVRPsjI2BMIZA8BZvS5ytTjwKAR8+yHhIZLSocOKNiCCVQDb4gUbWdAJqHhpFW0HazVk9f4E07RBCJPgaQcOTqJ1D6RQhTCOICSeThrpGSnDWoo07OUZSSKWRyqBNQnoCjvo4rtxLVJpT+7JpX1CjRdPpd2gUFqNSghLUNEaBJEDpwVRQSkemNK6d4dOczBtkWCB0QERxwrsUBKOQQqA+CJ/6gJER6QAJOtSYtE+mPVIbjhYzohIYmZCgGyS4CKi0g/BAKMi6S6xkOTHv8ORTz7OxdZ600yZNFCbNcYVr7sNZycwucEWEGBiubGCyDIqCMk3IHJRCkxGbt6lQkXZTVC1ppQ3+u5W1aWdt8AIXUpJMsRgXoB2pNejMkCVLdGyXd9++xo2fzAjPfwl/epPllQxFBCN46PELJL2Ug/F9/vJP/pSDvZr5bMpqt09nbcDN/TFPXDpNkDXO1XSHKeur5/j+S2+RMWNUBMKJ0jszCf1+m2A1o2JMMZsznU8xLuXe7j1irJkdP6DrOoSqYiEkWS5JTBeRJAQDqQxkepnoCxQp3ltcjFhdY1TTWvogG9M1HqE7iCShqKd0Yk4/z1nkClMJSv/xVGcBts9+gnOnNvn2S2+zOlzmme0+9/Zqru2CaDl+7td+Df3eq7yzUyKR7N4bsbTe57BUnF8/Q1Ud4WSHvLXEg3GCs7cop5rD3UPEcJWB8bz0kxFPvHCW2z96ja3tLY6nBavDDsN8wOZKl8rPSEULb+do1QMRyNIOPhQIGWi1h5R2hJ0KMqF49OmHeXB/zEF7g9l4Sj8fIPpdYnWIMhm9NKXdWcKkbXr9dUT0dLJ1XBDYMCdREtKSarpgoguWN5Zx1RxcYH48Ya27ynB4hmxpiZdef5N5FVkZRqqFxSSClom4SqOXEoKdEF2Lpf52w1oJnirUaJHSFjX7h3tkaYcwH7EQgu6pS6jREdtP/XuMHvyY2IVbOwuu9jRTodDe89Zr32Jz+yH2Du9w9pEnufbWNZYNLBysdFLi8YQDX7E8yBjPHb31M9z5yTuoJOfMyjpl5bGLgjQVrPXajOIE3d5ge+sZynKPW/a7PM3TUAYGKz3K+T4XL32RMH6R0MtxztLprJBVknRjk3T3Jvfv36ElDHXtEFExr0vEwqJnBacvn6Oft1C6+6H32Uc+pTMZaedZo08NNR5oK4kQkTQxzeIUQjN4lpKyrht1adoEpdpaMy0XqCgIAnq5IW1K8ag0ZRpEw8b3gVALfNIs6mnLoKUmekHWzvHeU1tPlhkKF+gvD5GJOTlDl9R1TfAWLcAFT1UFrG02fVJIrG8SkJkMqEShTwJDMQTmkxlClo2YJW9hWhVSGpiMQWmUSvARXNQ45xgdjCnmBfNiQQiOajGjrkvK40NqW1BXJSJEhGgARebeTbRQdAev0O4MeOTpT7G8dZql09uoRGNM0mw5pESmAyrdxiR9Yj1DFgd4N0XZKTHWxGyIUKrRLtua6CrKqmAyOWY6mVKUtrFBehChqVl6KZAhEkQT5JQnQKIGUijom8hGS5Plgkuf/RTPPPk8XgrqxQTrmyClTHLmxRyMZpAvUTmL9cXJyYnHRygXk2ZkbjKkTpBao7QhyXKCrcg/pg73xDRvNQZB0J4YNaWz6JPvRRJTpLTUMUUGRR4EeJCyEayIAB5LsC3WVza5t/M+faUhCuY2oIxCqciorJA0tVGtFCrRJ4roZvfli0hxPEOvLjVynk4bKo9xgiQBZXKst9Q2UE+nrC5vsr62Qbq5xWef/1muXHmGLDOEE4iSLWsm40PqYkqaJLRUSmerIelpJM5X3Bnvs78/QimoreXKow/T1hEjWvTaXfJhh3bWyKhUUSCyhMTWxNii9tDqJQidYoxCZQmzxQyBIJFtjqaHvPfjH/Gjf3PAz/3Kr7J+cRkdJP2e4clHz+HqX+KRzfP8L//r/8z9O7c4fXYJb2vOb65wa/eAq6f6jGYlb72zwyAXTBYFfWkoZmOESfjUz7zAUm+VV155l+inXHroLO+P5sytYvdwD+kloRKMFgXTCnrS0ut1iCGhzhNCECS1RuWaRGtCMoRQo2JGrsCHSGYyimiJttko2tTQFiDThK4UxKqgtDOUVDiZ0FEfz7EXwPH+e7z96mucObPNr//m32E8PuRS6TmO8Md/9grf/bP/j9t3brPd6fH4kxf5zmsvsXIjg8467WEf2V/njTde52q9QLoz/OD776A+6VhUOfz4GvbsKdq9mneuvcr66S3uTAfMyoSzZ5exh28R5M8jSTAqaY5VU9kcsaqIJLJz54jlNcH+Yckf/2//hHS9wwuXL/DPXnqRje0r/Nf/1e/xj//xf8OKbhwhobaYPMckkbOXlkiMIskCw40+89IyGgcOD0Z0VY4c9tmIA6wLuBA5PLzOYCWhjBlHeL77je/z4l99l83tbT792FVMakilIu30aCXL5JmksBkqh6IOGNWh8BX1aMRgc4n9+3NGsxlLoUTrPpfPtHnta19DyAxZHMIisMi7rK/lfOv1txkMTvOpC08xLY6Z3TviYO82o5ng8J03+fQnP8lL/+ZrrK+2aNv3Odo1tHo10Q7x+ztsntlmfz9ye3eX6SuHvPClpzi6cZM7h3N6LcPuKMGN/4K1Rz7Jr/693+WtH/+Qtp7STh5iaTUwOryFMIFlt8XhfA6jHd7xIG4L1leX+PHRIQ9vnGVzrUadmFPb6zmDQZvx0RHHYZdLl1740PvsIzcESggSKbCuWVhzIZlITxRNUl4JiRWBEJqFWBJJtETKRliEiCQIoowYpUhFszhV3pGdGPY0TQ1PCFCqAcAQIj46nIDKWzLTRxiDDwGV5qg0QwjZLNxEvIcYmlFtoDEmCUmTxqYJ8X1A+SM4YlRN3iBGyrIGBHUVMXVN6h1NHD0l0EiMvIvMymYicLRzQFEU1N7h8fiqIjqLr+Z4XxNCs0mSUqCkxMYCgcCGfSbTGcq8xnQ8RRlNq9cl9jtopSFqhNRoaXAGUBoTPbKOxGqMiAYRbJN9UDkYh5CaGALloqQoKqx1DdlLioYqzAexwQ/EUyfwxRO8tFSKnhFkRpAoOHXhAkv9ZaxrchFRAFLgFUhh8DRgJUegto2HommYhBOXQomrS1RsMhviBNxkdIL5mM5ffXSoGHHekZAhhWIkHWnwCFIIC0RICapCoNFe46TFq0hSB4KUiBiYF3MG9ZAsS5vNp4VMe2IZqXwD2fJB0E8NSZ5zPF0gTvTZMpH4xBOER3hH7Ro0bggVWiSo6DE6EKJrKH5G0O31OByP+OVf/i1On71IdzhA2gKb5OggmE2OKWfNAp11hxg0JtMIYQi2xlqBDqBjYOfuXbY212jLFkU158fXXmc46PL8058iSonJ2o3cK0RcSOgNO6iyJEkSvJbkDryRkGVkeUJd1vjQp/vIE4yX9/jRn/8Z5+9d4fHPPtPcazKyubZJearmM5/4Gb5d1RyPCq6cXeE4eM5sDnnz3T3aqcfXU6TL6Bi4s3cAJtDvdqhGY1a3TvMb/+Bn6a6d4s//5b+k3TVIkdNT64wP7jFRmiRp4YRnPK0p9xasbnXQMZCoZuLorCSoSFSg64gSvgnb5gnOWlIpUO2cLDmZCIZAKppcgVMJwjuCkBgvsXLxsdzDANfevMmTj6+R9HLee/Ntiipwbc/xzuvv8V/+zqdY1AnjiWBnf8TGUo/nsgvUYYKdTnn59bcZDDcopoLbYY/JvYKLV5/h0Ab63U1ev3Oby+MjRgvo9xTV+D466SBn77B7a4/C3gZS0iTiXUDInBiqZh2IFmjRHqSokHLt2l+5TgAAIABJREFUe9+ik7U5vfEEW1unOL39DpU84K0fTLl5/TsMTv0y/XyF2XiX5f6QGAKt3har/VWOxrHBzNc1kQoZEtJuG+pAqRq8fDF3tFubZD3P3mTO1tkl/s8//iOSQcaTj50ixCmd3oBOO6eV5oT6kFmZMBwMEFETfIUWHfruiDtl0zqrRzOSwjPaOcL5G7Q3nuaZT3+JLM750Z9+jf7GEFVbvF3i3FrG5hMX+Na//g4r647ErdJPl1g9tc5s/4CXv/+veezRT9CJezg95NHPXKUKBrHYYcgKN3bnTBeBelZS1MfE42Nu7R9BkoBJWLKK7e3zGKF4+Xt/hPJtzGqHxfQ+kTXu3n6f/qDGesfqZsJ4eobVcMzWxWc5fO0v2FpaYWWrz87dXTbXL/Pe7RvoHKR2tLor5MqR9rY/9D77yKf0INHUSIxWFGWBBdrGkACJ0ZTWYmTCAk9bC3RiWDiHQeJ9TaISyBP6QpMISRXqn5IPi8oxaKWNw8BblIoN2lQGZkVFYhKkAxMUoW76kbrTwuRtjM6QWlJ7QYP7UTTGRQVRNMcANAhiQWP5U1qRGtXwBJyjihbvHGVZ4VwEWYAUqCxHqhRnIzZAOZ9TLUqOjkbYuqKqqkb5KxSy4fg2C69v6jhKnCyEOiEKSWKaRkHtS6T2zN59h+vv3eC9d95ldWODh556nM7yEoPVlabKGCPSNEclLl9BJi206RDrObhFE2tMs8aZkPVQJsPWgbqOWA/O0bxluoDjxMzHyTEHEccHlVHBhg6cbxk6rYTlC6d54uon0Trh8GAX7xaNXjrJWOBZXl6jdHO8TDBGYqsKWzuM0Scsgpq6mJNlGQLfIGmVQpuEkKbo9MNhGP8uLykitQ9oEampiEKSRoGWChE8QqRE0Uh48JxU4gRJjJRpRAaBcc1R2ftHN7ly4RJLrQ6vXXsVWzisjyipaNxPjpk3pFXF6mqXMlqmoxpRCIbdDsFa5osRwmXkfY1Mc6T3dPQas6pAZhmDUDFYbrF26iFOP/4En7j6NK2NDbpph5AluNGY3ckhoaxZP3UWqQUmajKtWQRLrAWTcsH+7Rvcu3+TybRgdrjPsZEcHO0yenCXewcHvHX9TS5eeBTV3iQcj9DeIWIPgiaOKlRi0Nai0IS2Ag2trFFGn76yhitWmU8quu0lev0e09GEb/5f/4rP/oNfREXB5tkOK2uPsXphnU9++Yv8o//st7m9O+HZp66wkhnWuzX3R4GeVBxOF9y+f9T47i9e4OK5Mzz6wnMYI2kLYLxPb+C5e2BZ3tiguxgTGNCuJTvje7hK0R50mR6W5KaLkglOOxKTkiuNTxISneLyBHEiDbM4XNqEOlupxihF0s2QHmQnx4cIscJ4jdLgjUeYj89lMJkc862Xp5w/k3HjaMyFYp+FTvn8M4/yT/+ft3lsc5137t3k7t0RD10wfPLhK+j+Kd46fBsxtRyEXZ55ts//8c9f5itffI5Oe8EPf3iT559v8XNPnOX194dsP9Ilnb3Pu7cniHidJ7/wPPNqndf+5P/F1gtMMOh0QPAFPvhGXBYN0Tl63RazRYEgYfOxx3jhC5+n2+vzTz//S/yn/8l/wWe+sMH//s+/g+9fZHt7g6TyHI4mVAvH6dNnuL8z53AqaZOSrC0j0iWKyQ9o9zImVbM+xJAyHFicTUgk/OWL3+VPv/FdojAM1DLdfInMTennLby3KNciaae08h4mq1hMU4I/xslDdh7cRWcKFQ957Z0H3HjnNf7uZ19gVDt++P0f0W/1uHv7Ljoqblzf5elPDJndvsPq+lkOXrvPpx4+x7zao3XlPJ3uMnfu7NPdXicfrKP7gfYicD0MMe/+mNvTktQq7uxqlnuW3nCT2gQee/YTTITk0qNXsccOgaO1rLhza5e1zQQx66D7nvZowsoja3z/L77G+atPYj3s+8CzKuPYVoQaXvn+y7j5EU8+9CS3btxGBMV4fIM0EbT7fawThMMJ+3d26W3d/tD77CM3BFGAURIfT94yIwQZcEgkgaAjiUxRtvppvz4IsAQypRCxScJLDTY2aWwRIVMK6yzeNg9qk0i0blj7Uku0TEAqogSvBCpNkKZhEygp8RqkPqnwCYE46cOf7A7QSuNPJhYhRoxOUFohtUQEQXAO7z3OOaqiwjrPvFogpEIlBUpn+BNb4PHRmGJRMDue44PDn9QpVWzYCRKBDx7nPFI2rAOpNCpt/PIqJhAlShqEMljRkBCPjnaxtiDJUla3NunkLUQna9gOSiOUgTQhBo33Y2QQBFcjHMjEEJVEJW3Sdg+V5kQU3kd84CRHIAheED74u2i8FCIKCAEpBEuZZKAk6XKfrauPkqQ53lqKYoKSoIUBNIKATnMSPOGkyvmB8TEEe5KyB/CEkw1Sw20QSNnkCZT6eCYERYBMtbCxIFqBVs1UpdYClQlEXROCRUaFkKZhaPxbuG7pLEFJIpYYDHce7JKfS+jmLabWspC+qagiiFETbDN5mi8sdR2pgqVlQFiLFGB8A8AhRnQQDPpLVJWgpzMSqakSjZSG81ef5tylh0i6HYwDoRuuxdHBHiWRleEqneGANIJ3BTYIpA3UsWZ8b4fDwyMODg4gMywtDfHWUUz2idExyAXJSh98STnao3QFwVqiP0QKhUo90Ua6a9t0Wi2GsouIFrtpmlYOEt2OdGOGMODDJiImvL9zh51377N+YRsTFcFELpxeoWWe5Te+8hW+/c1vcuPWHdhaJxMpdXnIWztHmMSTp02QM6Hm1s3rXHzoItF47mfLLIq7TKo2a33Hy2+8xdm+YXN1yKvXbpLnfUxmOK7HdHsJOomE4MhMGy0qvGxBlNR+jhRdUhWxWpIEiY0ekaQoIfGtDGnyk2wIqCBx3uClpXAOYyOaj0fQBfCV3/g53n39Vdotwzdf+iY/nAr+g9/8VV68+YClsMunfuYFvvvV1+k/d4nPXlKI5DK3Xvo2m2strjz0FG+8ucuN797ld/7hb1NWu7z71n2+9LlP0I1HLK93+MUzPeLgIb759VdZ6rUo1BLf/PqPCNUeV59+njztNpukcgRpjzrco6c6VNbjg6cq51R1l9nRDlefucDh7ttMj9cYdCP/0T/8D/nv/4d/wrkn1+lLWO4vczA6pK0V77x7h3lhGc0OURyxfeYsM3Lu3fwRe/fvM6/nXNx8gpBUPMjnuOtjut027z14gC8SFu6YNO/x0LnT9NMu3eUh7XzG+LiF7kMQitlsgm4LOoMeo8MAWpKUFVIpjvYiDz/xBM8+c55X/+p15nsPuPToZ+j3oT6jKQ7vcLZ7noQW1bwkKs9wuc9K3mc6usf1P/pTllqS9NFPMbu3x1ZxSKKX2dFL5JngL781pnKOn/v8ZS6cOs3Rzi0OR/v4WNJuRcbTGuWnrG+f4+be+xzfOmRpeAGXHeFSwTCpaMseC5ewffYxdL3As8YgHjO1Mw5277J7eMRBOuGFtcfwZYEvDcudZUaHt4AEbMLBnfeQTiB7GbPph/M0PvIpnSYJwXoMouGE+0AmJEJpKhFJokHESFdqahGZu5q2Us0EIdE/TSdrGUiNpqwWZFlCRykqDdYHMtn05VHNAuuiI9ONLVCnhqyVIRPTVBmRJEmGRjcBQd/AcbQ2CBQyery3J2FGhZB/DU9qKnUCRMCVlsl4QlXWjI7n1M5h6yZiV/kT6Y9UBOeZLUqsc7ja/XQSEEVDYNRasfCeiMTNLTWBVDdnyto3YaVAsxkJLmJkxEgBWrPwnsXxmOm1N0iuv82dd2/y9AvP0l0ZkA8VREjSvAEfpWsgFkg1QcRIkLKR8HR69Je3SAcDCnaYFTWFjZQhYl1gEQI2RurQPMSrIClFxCpJVwgutwyr3YQrX/gCTz72WYILTI4PWSym9FodrPXo1JAGTU3EpB3KukBGRYgCbTTeemrrKOoa8CSVRQjXcB+iAAxSpCRJ+2/r2fg3urQBWZUYGagTTfQBb5qz5GBrfLAkKIyTFNKiAYEnhIgRimAaKZESAhE108kRP7lW8vizT3M4uk/7wS7W1RzNPSJEvAQfQfhAlhnS0KJ2EtHNGWY5yge8L6mCJNeGJFui3U5Jc9A+kqDxWZuHLz5Cb7BK2uugdZvjowdMJyWy1WddG/Juj3J0CKZF4Tzz2RHv3XyTlk7IyTi/us726qCp1NYBLQKkKbK/BOcfQcUGIHY4H5OSEpTGW8v08BY3p2MyndJ+7zq2XnBxc5XBmYucSy7R6Wd44VAaZEeRp4bzy8tUdkA27PDyd7/F7E8m/Mpv/8e02glIWNts8Su/9bs89+nP8z/+3n/LW8cztjaX0DrF6kBZzRj013E+4EvLI0+d57goOZhVnFnNCeWC8YO7zBc1qyown0V2j/eonMfUkHQ1HCesbK8hlUKZVtPeEW2CNORK4k7w1EWiG+Cga9PJQUtD2u2TZAkqSoiOIDTQuFh0ACk8kCPExyPoAnjlpVcZrPU4OAicu/pFcmm5uTPl11+4gJ93+cF3v8nnzz9GTAT3bt1hUr3KcGuLeeyx/8pbfOYLp6nqLRY+JUwELZHyxvu36Q1P8TPnenz/G29w5imPrmaUqktc3OMLn3kYVa8TZEaIFbnp4UQb78dk6RaL6QQnaoxqU5cWEQtOXboKMcWYbaROGS3u8cSjp/nKr36ZX/zyz/P3f+s3ef6FJ/nEFz7D23tTMJZWTzBY3aY4HPLezXd5b3+XnXfH2IGhO8gYlTvMjiPL/citzhbX3nuJ2aTgeDSj1e3xpecvsbZyBsGMpVPnUChObRim44Leehdsv6nhmki7t055MMJkGmfm1AvYvXeP1nrN8uoS555+gXvXX+XP/+A6ncTxyRceQp06zb29glnLsKjuMhpZ1taf5e7hmAuPXaIsZ/SSMc9cOEVXHnFz94ALj6zzg798mSLOka7mrd0eYf9dopMkfU2yvMbrr96iWHQ43Qns7rzO+fPr3NDrzMqE9k+OUTNLdmaJnxQjtrSnLdrcmzxgMQ5kHVCzc5SMuHT2AoOjA9qmw9HenLOXB9x4sODxh5/m7Tfepj1Ygfu36ZxaY231PJN7r3/offaRpEKBxCGIQZzUcSRCS7QAGZt8QO1t8y8T1fwyyhOSHxEdIqlWZFqSiEgnS0iMhBjxPmCExDmHEBEjIQTROAmA2kfSrMkKBOtppTnKGITRCBFPPnEBUjZyIQQiBpRoYCrGCBJjMLohw0khEM4RrMVWFYtFwWxeMpmVzOc103nJbFFSFhXz6YLR0YTJZE5Z1lRVTW0d1rqmbug8znsq30wM6uCoffPxynoq23zcW9f8eRLOCz6QGEOapuR5iyzLqKqKSVVw+/59bl6/wezomBB9M2+JTRsiqoyg2w2WWWUnfoUEkaSk7T5Jp4dMEqzSuNi8rdvYTAU84IPAebABXBAoYJAo2qmk1crY2DxLlnQoijmL+eSEsSA+oC43XIWqbGqhzmNdTYgCF30zfVEa6zzup2bLhv0Q4wmC+kSx/HFckaYxEjENhAaPBKQPKK8bdbE0OOXRsZFtOSLBNxCt1AsECxwK4SUaSWlrgoONtS1SkxODQQGamiADlRYsXKSaO0LQOOcZLzz7RcRLRWe4Qqu7SiEksayp8MwmFp9ERrMS8h79pSGtdgfdSvEUzCcVzkfSrItv96hcc58dzw443L/HZDph2GkTPMzrgjI4YpQ4r5hXjv3xjPnOEcXxhDg9wJcTpotj6vGYUJY4K7j7/xP35jGWZfd93+csd3v3rbVXV3X13j3T0z0znIXLkJKGO6mFWqwIVmI5CmApgA0HBhJEhoAATBwIUWLFVgzHhhMniC0JUSxQCymRFEmJ5IgcDmc4+0xPT+9V1V3VVfXq7Xc/5+SPWyPnj5COA8Nz/y3gvbrvnXfu7/x+3+/n29/kG9/+C65evcF3X3yFO5MhXm+Oe/0J1194gdeef56dm/vMJo6q8urOkfaQ0qFkSW+xyYWHn2Jx9TgvfvM5RoO0zslQisXVZY6fPs+DFy+SmopJlpObilYUIFybySghEAXtuS525iHHY3TqeOXVG7zxxiZhdwFfeCyeWmFhcY4iS4kDn7K0HBzOaHWbNBpRnRVhKyot0cIggwrnK6Sn6qSREqTxUYGPFj4yitCqDqgqba3j8IVE+wIlNZ4nIYhRgaLk3RMVdtqShU6b9U5BPt7ihLrPqY0VDvc3mY0yolmCFhNGI8PhaMiHHl5lvtcmjg5IBVz55ssUk0O++/W/wMQVC+dPM6ccFy+cxGA58/QHGFVjgsUT3DsQrC5FNINVXnzlNidWm1ghmCV9NIaqrMirCVL4CKPJsgQvaDAd7NNsC1ZOXCLudgmjJtJ5jEcp739ilWe/+zyf+dSnuPLydYTSjO/1+cCHf5gTFy9D15IWOc3uCrOZ4fadOxRTTTqCO1tbDA7GvPzci7QWckaHBddfvUJDR8SeZH5tHr/lcXL9GJ4E5YWgPJqddj3GTsfIKsCYMXHTJx1PyUqHMj7KC2h2Arq6x8LxJaZ3X2N94zx/5Rf/AxpxC+v52NEOk/u3+dAjx9HWMek7Yr/k1OlT3N7b5uzFB3HTMR3fkOYh3XCBg1sD7h1OWL/0QR781GcwZcXNO5s04jZ3d2aorKA9v8Tw9ovYWLJ3bxOvucj226/RaZWEFy7ijrVgaZFg8TzppGTSjlk7/SFUpDm7scj+eMCTlx5hfzhjfr6N32gRNCMoFQueYdjvszfeYnB3B4WjE6+z88pNsvT7p3b+wA5BSf3grhD4vocWtYAPBQ3rEE7QUg2EkPiiIhYhRZnXbeKyZFZZWoFPK/SREoQRR7AgQ+xpsrye3Ya+AgGtuHYuJLkhaGjseIz0NZ5WSFlrFOpwIhBWoFXNOdDKIJVEOYlAHAXT1JhhLQTG1OFA+XRCkiTc3zlgrz8jzSuySmCcoTA1crYsylpcJcCZOtDHHukO6tl7zbkvPJClwUqFyQqmlUFbMM7hC7/OfbAW0pygoXFC4PsRze4yXhgStdrYylAUFa6w5FLx/Ju3uLE55Md/qkNzSaC0X8+z/Rgjg7orT4m0JcIVWB0hWiHv+cCnkeEcd7Y/R1GOyZKC3NWta2OhdILKQXqUv7AWCs42BSuLLZYeOs983CJL+0xmI9LJsA4D0RpUCFrhe5LpdEpYGbwju6Y7aq07CaEf0PAbFFVGLfIsULZuuTtRd0Sce3cKgqDSCGsRUhGXdbveVBYrSjQKY5eBGcZJtHBoNNJpTAAJJT4gXVTP00WGdQIpHNdvXOPC2XOsP3KRyc4hO3fv4IgoqrpToLVHIR1lbsH38DyBrirS0sMljuXFNl3pmF+9RGd5Ed8aXFESPHaM1bWT9JZX8KOIbDRm1h8xLB29TgvMlOogZ/veVTASL27SP+wzTROcg/FoTDYcMBqP0Z7i7v4O3aBBo9dhubeAzjR+GDOZTnDCYRKDFJaCukOXxTFLi4tIPPaHhxwcHLK2vECj3WZ6c5u372xz8vRZirKg0whp+S2OP7hBa67JwqKPNJLe0gf59le+zP/6a/8dP/G3/janj8+xerxDd77Ff/g3/w7f/JM/4Euf/1163cU6GbJZMRyNSazHupFkCKYiZDpLOXXyGMotk88OGZsmC50F7qj7rMx1iVpNXr16B08pWutrCBUgncIoS1NCGTQIpY/wAjypsFoTKh9tHSpS+EETIR1CKxwVvnQgAkqboXGIMKS0IVZLVFkR8e6sYYBTD3ySwG1xaEM+sG4Zjko2ghQtAwoXsDk+4IfPN/ihrsehuMzCwlm2tv+U+bDHA+/b4F4/pHRNPvjoMjsJXDjbYLpwGpNt8d2rIy6cjFHMcXv3Fp/8oUvQmeO1519CSUm8soQ0OSoOSc0BWoVYFWPNDN8PKcdDBnt7FNMdTpw+ix+1SdMhTmma3SVm0ymvXhnyve+8zqtvvc5f/09+iT/5V7/FU0+/Hxf4bG7eRdCluWDY7u/x2rVNsIKbN64zas8TyYQbt9/gYDygfeMek7EhajS48MBpes0WK72LOEY4v0Pk5XiRR5aVtOJF8smIsDHFDyLyKkO5GFtsETU1UbxM1T/k6U99gO1rO+zevQLzy2RBxr2dA04/scjy5YcgGRKunWHXZFx48iyPPX2Cbzz3OmaWstiZ562XXmXj4Qvc3B0x3O3zwadP8s0vvc2544ustwc0JWztjlhbO0Y/m9BaW6OSU668fJP3/PBT5GnOmYfXufq1r7G6soHnSQ6272APJdcOtlk7vsxwp0SHiqK8iykLbt48BBvx9ltXWFno4lNwY38PUU04duIxktsvUQGqVGQmY/XkQ1T3rpGoQ/Lt/58jA3GUTyC1IlICrSDLLAJLSQ0l8pE44WrKtxR1JLAD5NFJXUKFw7PuL0+Nvqcpin+NND466DNLM0pjiRoRWhiavSZ+6IESKE/j+TX+V9ZxcQhASYnWCukE0h6JBkV9W+7otGpMQVkWpNMZySxjNMkZz0qyytYPy6O0PmctpalPtUVVFwauqtO8eMde6XlIAbk0aKERxlBZsKWjkAJfSgrnELbmC1S29uRqLyJodvDbXfwwwm/U1LiGUxgD08qSjqf0k5zpYErQjQni2hlhcUhPUVYeIGtLoTuKoVaSucV11k4eELViDoZjciswhlrv4ByVo+70HJ3YFwKPOV/RXVlieeUYVIa0SkiSKaYq6xGJMYDFczW+Oi/L2k+vfCwWKUAKRWULlBBEgV+Db/T/g61ArTWo8xLepbTDMsdpD09qnOdQViJtPfLAVCg7QwlBLmTtCnAWbSVUNesfLUHUkC1jfayscBZmkxHjYZ8TC+eJ1iLSyZCqzJnkM9ANlNMoDMJzqKImROY5NBoSGfgEUYj2fbxAo30fkZQUVcFyb5FWs4XyfbT26PcnJElO0Izw/QaDyYjpZIy0Et1qYFEkFpzSDIYDpumA/Z09smRK2FAIV7C5NyEc9Nlv9/EbXcKmz/TggBxLnpYwyxDNCKpa2HT72lWWlpc4dvI00veZphWeZ8lij0bUpj+aEMQNRrOEyWBCf7zPhYceYPHkHM25BjaxPPzkB5BS860vfRXxiU9y/lQPETqOn73Mj/yY5itf+hMm0xFhFBAHIRMxQ9qCzb198AJWN07QbLW4f7CDQaAnQ3JTcGPnGslswjiZ0jYVoRdSKWotk7HIMETpej8SwiB1HU1uPdB+LShsRiHC82vCpxA4IbB5ha+gUI7AKApVIooSJyv8XOGof+fv1vXGdz7HRz/1Yd54823mm5KG1Lz88i2KyhGEMe1OwRsvfY+vjnweefLj2N3n8MJ1ru3vM8wqRtbAeJuf/OiHGX/jFbZvXiEdwdx8l8cubrB9sM3h1oS/8qkP8uxzrzKavkgzDBkXgrlmD2cbZJMUL4goK7DVGF9FJNMJUnlYEYLnMzncobG4ROE0qjAUboBWmicvr3Pz+m3yRpd/+Bv/Le9938f56uefpdO+woc+/EOM8l1WVtrkocOXKdVcwP73xmzfm+E1wGYlurfIKCnphAbP85nfOIsabBG0Rpg0J/IVRS7odBcIZY7RKSGSquqADIlCmJUpcXORPJlhGwHGpDzztW/zrS9/iUff/yPML3u0Yp/DWYwTi+zc2Ka32CIf3OH0sZCvvryJHD7H2QsfwV8Yce3GPtO9Q6blLdY3jhEtrjGeKHrdJWQXBoMD7g+ndFaXefP6FmcWWwT5PgunHqThL7C5+QouC+nOrzOcW8VPU575/a/zkb/+NNmhZXx3GzG9wWHRw115m+WupL3QxeplprtbxMKnJy2DyZCNbptWb41Xv/USGw+cYJxmdOcXWTrzEJPBAclkzF5/n4cuP/1919kPLAjy0hH49QzcmQJnQQYKYyXSKUogK0usMwS+h61KIupQHaElSjjaoY8QlsDzydMKpQSmrNvoUtYeVhwUJQSeoBVHKKVQQQhBiPUD4mZMGIX4gV9Hx9YSLrxA1hAhZ2vbo6mDdkoqnANbZtiqJBsOSJOE+/dHTGcVW/2UYe4o7DvAHpCybtFXVQ34SYsCjKWqypoMWHvw0KZGG8e6FvYJB4USGGVrTQMaJTU4idYeuYjQzsefW6G5vEY0P18HgkQxQRAStpoIqeimFYcHY7Is48qdXS41QsK4idUaXwcIAX7YPAIQVWgXgpkhhCRYWOWCklx64j3kxnGvf4sUMKXAHWGmrQOrFIE0nO54LHQjTl5+lIX5VQ5mE6okoyhSQq1Ii5ygaqKEIM0MlZY465jOEvxI1NZOVT8kbWUpTYHEEIcRvl9zFd4JTRLUxZ7W746osNQNpCxxdkbhHEElKZVClA6la6+rsRVaAvIovMk6BBanJapSmKpECXCuou5BCYwruXH7BssrS4TRHKcffBIzHXFwuEOepkzzCrSkHbTxVU3KpBGxvHga6QnmOjFSCPzGKs1mm2guxmFY3ziO72mSwQF7+QxRNfBin+HggNnBJs4IUEDYZG84IUlnDAZDxvt73Nm6Q5klICylFST9nJm1VJMDDitLd+wj4zlEVTIZT2qIlCcJVEBsWmQmxZYS53LGg0O27m7h+wGnT18kzwui3AM9ZLW3TFdqXn7lBZaPrTHfaXH1D/6QE8dP8dCjD9MIYo6dX2Vu5dP82Z9+mf/zN3+NH/2l/4wTx9eQvmPt1Dme/vBH+cM//BxnFlsstGNakcfB7j2G+4fEGl5702ep7bNx+ixBNWXW9fFtxbOvfRsloNGcoxAp3VaLTne+pnJ6bQItkMKCF9SwNKEIggAR+LVYORAYFRAoSWdhhSxJKLMSF4e0fA/rLONkjDIS4R3FtSuFcQrJu1cRXA8uEHzrG0zTgPWNB4n9igpFa2mBvfuHfOfVIcfaLXIOuXrta2z6y6yf6PCeyxe4d2uPi70pwcY8Lz77DM1WzOLieWbT+ywff4jrmyNm1RwPnl/g1s5dhkQ8fPE9DA4Fxp5JAAAgAElEQVQmnL58gcTk+OUBIi9BxShvDmyF9DyU9RmNEqKmx9zSgwy2rlAUM2bTMX4jpu11SGYlC6vnefzRlJev3uAgXOLm3Tf4xZ/7RUajK/zz/+N/p8x9cmlwpqrx7lnBhdMrfOwjH+Gf/e4XMFbzE0+t8dadhPXlZcrMsdquCOYWCE0X3Y5R6hAtI4pyhDriinihR0M1mYwKijJFlAcoaYk6IcJY/EabZDrjMz/74+TxSczms8j4OB9+/DgOGG0PmBSOVtwjkSdZkUOOXT7N3t6QkRix2FNcPHeBzqWnKQ4TwnyHyI1YvbjA/EKH8cEeV68fcG59AzMY0J2fsXryPTTnzvCFP/ttLnzoMUSyy+71uyThEjJo0JwPef3P36Kflswv+PhRTCYsJ9dX8MohdrckcdeR+YzF5YBgYZ0yzbm5PaW1l9E63iJLEuZOLPPoQ5/k5b/4Dtmkz+5wzPqFD3Kws/d919m/YZe2eEohlaQqLVIrtJII6SjLCoer1fjUkJvKQqBq5n0oFSUWJQVaSnwlqARgKgQCrRTO2Rp3TL05C13nH0gV4IU+wkEjjEAdnaKkgqMCoo4SrjMFjKnV7XVugaF8J/q4yDBFQTqakkxTxtOMaWrJK0deGCqO2tkCSlPC0f1UVQ1CqpzBVbVtz0lQzuGsQ0uojgSTUtQdClPVUcvWWJAO5yssArSHCJs4LyQtKmSWoaTGCJ8ChWrWvAcVRjTnfbxZwrTI2T8Ys7DWwyPEKg+JqpX9SoPQGOmjTVpnIgiBH7U4tnGCe/cOePXKNlQ5RlislVgFnTjmcJrS1ZKuVsRBgOeHWGsp0hmz2exoAxU4qUDr2pFhLKW0aKEoq4y8LJHynWTLenxTVRZnyzoZDnX0PVkcEiRHY5x/V1vjv92lVIUyikrbmu3vWbS1WPVOFHQ9PjBC4h+NAwrnsFiUqVtd0kqMNAgrsapEmzrC2FYFB/37rKx0CRoNlCehEZJmKWIwIfA1rUYLpSApK7rdJRqLPRrKx2/EFJMpMlR42kMZQ9hq0+p0AEk6m1GVAk8aTJZRJVMyl+KSCuVJZpWgPxpQzmYIZqTZhFEyokxzlOeBKXHJiKSAsigohGE/SzHjjJbJMX5Eai1hKRnbjHI2RKgWQvs0opAiSSnSjLyoOBjt4ylBGC7QCDymSYJSHoPRIVu7+/zUz/w0HSXpTya8/fLzzC2u8+DcReKuz6UH30eVFXzry3/I3iM/zFPvf4CpMlx8/H1874XnyAdTTNvncFzi6RAjHJOs4IEgQ3sBMhsxSoYY53FweMjyXJO7gxQzHdKNNWGrdXQAqZ0YVmrwG/ha4ymB1AHSj+v8CeXjYRC6Dr/MkxRrS4wowFQMhgaEQXo+dVqFQqkSUVl8pSl4dwK6AFrj63Te8wRXvvpFer0OLz9/i40HN1gwhyz0jvHpj82xf3fM2zfg0sMPoo3GeRVvf+9FPv0zP86zz76ENi06PZ/QJYwPdkiTfYwNOHfhLLu7Kdu3N1lbX2appRi5BcrQcXjve3Dxo1jTRotDqqJgNtyi2VvB2nrclMz2iFsL5CnkJfSCHpoAK2A47NMIW4wnCYvLbWQ+YvXCcQ6TIf/b7/xLPnD5BNnYYPIZtBrosh4ZR60WN++N6MxtkI76nFhss3cwoxMHKCWpxJjFhYsk04TeUoPReB+lemgvohFGWCNwukSUIbNyj7yYIktDqTyCtkALyazcoZoJ5tuSzZtvsbwS0IznuHdzl46asLy4zleuTpmbgwdPzzOY9BlNJrTLdR56/wVeuXmfRbXN+lqbRpyQJZYs2yfHR5R7DIYFvgeeH/DW3S3muj1eubqFxyu8fu0aaxuGh554ku99/YvM9yKGZYNmMICNHlq2aBz0ObMxz4SEM4uL9Kd7hAi6J9okt0YU94csPnSZ51+8SlKOeGTjHIQ+4+EmQXuOY4sXuf7Cq4QiJw891tYvk/fHaPX9R1/qs5/97Pf942/943/wWWMMpiyw1uCMwcNiy6K22wGlqXPXpfbq1rFyGGuJ4rC2FxYlcaRRtkQJ96+TE6WsiW5aoz2JtYI4bKK1otOL8QKP3tIKYRgSt1soP8ALQpTS9etoUKqm7+EcwkFV5lSlocgyyiwhGx0y7Y/Yv3/IwShhf1DQzwz91JIa6nAmWVMUpRWYyjFLc9LSkOQFVWEoj0BJua3b76WsswS0V2N8/WYbIxVOeljlkaQFhanzHaxUxJ0eRmssHklaMjwcc7DX5+7mNge7B7hKU2aWoNdBNXy8KALlMU5y5hoapUB5NRlPqpp8J3SAEzXiWTiHcylSR7giY5al3Li9TVlUjPMSLRRxt8NgMmUxhIvtgONrPeaPLdNZPEaJZToYMJ7NmM1SsqogbjQJwjbGVkf2O4Pv+ZSzhOrolKS0h+Oo81NUpPkUKTyiuIWQEmsMzjqU9GoAVDrl2BOf+q//3W6T/+brH/+DX/9sISSeoe7iAF5Zr12rHIYS58AzFldB4QzSlnWX58g6a5VAW4sQBmcVpVT41mEVJKYi0oJO1EUJRdBsEDdbrKwfp7u4QKezRtyep9NepNlu0mu08HyPLE8xs4r5hQV8PyTudlmcn0MqxfDwgNJ6eEGMdBmz2RTVimGWcpBmjLIEIxS3N28TBQFvvPYG+/u7jPYPyGYjfJujZYWTAYQh3XaDhgwwWtEMfYyKcFIRSoXnezRUgPBLyjQlrSaMDu9jshmoiMIadF4wtDO6cYzNJWGzQRi3WTl+nPOnH0DFbVqdOeK5FspvMhwNuPXmawRRl/VTx9g4d4bv/tmXefnbf86ZJz/K0kKTySjl9MmzfPELf8BkVrC22qbTUfT7Ga4yLM8vsL2/z2w64eqNW3znrRvs9RMOJvu0wgZKhkTNJr7XRKka5awl+GEb7fuohkegm0RxjO956Cik4YcIXxNFMUoGSAXOzBC2wDqN14hpeD4oD01eQ3iEwFQF1iZYG/DeD3zg3/saBti89upnR1v7xI0GS/4Orsx55LHL3Nnc5NLJBivHLuPFK+zceINp5RGoBKsiZiLkD77wRZgZfu4Xfp4rN69Slgk2XKaK5olkiJrc4cETG+wNbrGx3mb+xCMEKiO9e4OPf/gjZKpClyMEHiav8FsK5zRFVWAqTbvXw9omiBLt1SLvskpIi4xms1eLm01CszPHM19/DjeaIL2S7Zs7fPLTP83r166wP9gnMCUrc4Ju6JhNDol8yze+/gz/xd/9e2ze3uLso8dZbjdZXl5hfqXL7dde4czxDktr51hYWqMdz9NoSppBg1EpkNZSmD6UPYzogD5Aq5go0FhZob02syTjzt6MyA9YX7zI/Z3r/PBP/jSvv7nJLE/RqmKuucQzz79AL7CMx4bDYcbOzR2WT1/izZdu0Fg5w3jq+LM//j3WLr2PazduM07gyhu3UJXk5KkVnvr0p1F+wu7OFg89EKCCY2zMrTKYDknyAhc1ubB+CuuVuFnG7q1bNHohy/ExquGQ4WFC1Cw5duICb7/yOqdPL7HVP0S0VlhSjhNnTvDsa3foHx4yvrtJo9NDqBClSu7t52xfexUba5JshjGKx374M/+v6/gHdghsWWFweFJBHQNDdWRl00em/3ecOE5YhHQY5RCmhgHVfniHsBVOgSksVPXD0hlD6HuUOJyphX+eJ1BOoeOIZhwjtEL5HjLwkVohXIUTAk8KFBYcNR4WsDWvFyFtPbs2jjJPybOM6SxnmlckBSRGkBswiCOGgMWZ+rWqqqqBPkdqeetsHSXgHJVwda68qQOCiiPRonQOJyVCKErqz8uZmhAkXcCsLAkrwYABSkzIkpQsTcmLvM46GCR0F1e41IppLvaIAv8olU0wG2dEkY+NaieH0rp+TynA96gKD4WrvwOhaDdbdJsNPFuPCCLh0Vjocu+wjyqg24JOpGl2msTNZj1eKQuyJMMYQ1IWoOt7LkqLs6amKAqJtA4lJFlV1roAUX//Ukh83yMvaiJlvRjq0c07aGPBO3HL78JVCZAW6ySyrN0xhTy6HydwQmNljrVgVX0/lZBoW2JFCyFKTCkRosSikZXBtw6hFNJJsuGMYTRhfiWjEcR41oL0kabEkxYjxyir8eMW6qh4xUlMmWJDjd8MEcon0nWxNxqNSXNDbyGoO3DG0G62GGcz0qqgmE0IGl0G/QNckjPM9hjt7TBNh8yShHYoaKiQoqoQCsrRIaX0Sa1D+w1KU6HaTWwypRk10E5wMJkQVjU7o+c3GVrvSA+R4JcwMAVCBmy17jPXrKgixySf4Ydt2nLKY5cexFYlxWTCbDaj01li/+3b7Fy7ybFjC3RbPh/7qV/glW9/hfu3r+ObE6SzMYPRCC/wGKYJ8TTi1EoLpcY4m1PkUxrSUOUZQmoWW11KY+jIBlLp+qwuwnpfUQrhSaT26mAtLYm8JlI1kBoCrakw5OWMqvRQFFTS4akWVnYJzYxcOwIEuXNgKoq0wm/18KqcVFc4o4m8d49DsJ9U3DuQeG7G/OnHKOUh129foxkdY9M/SXJnl8udPn/t597H579e8fLbd3h4/Q4NFfA3fuqn+e4bX+Yf/ZN/ws9+8mnevL3DmWMee/2SfPcZ/Ac+waSacHLtAVTmU+y/QWYtD7z/Q6TKQJ7Q6KxRFBkmqhCJhwtneKJDmg/QpYetAibpkGbYYjbeZ284xVSSrZuv01u8zPycj/AFn/7Jn+K3fucf0d80rF64yO9/7nf5oQ99nN/7nd/mgQfOMtfO2bqfEJWGtFDk1nL5wjme6ypcHmI9y2h0yNLiWfC26yybah9tlzG+QmtNnleYPEF7Aa4MUBTEQYVfPUC/uI4nTlJJia1yYi+C/jYnNtq4BcUKx/jTz/0R92hyOWyigzGxNnz6k0+x2lviC6++QWAlSy3F3vVnmVUHPPe1Zzl3dpVz5x5j9/4eP/rpj1Hu3yD5kZ8nS69wZ/MKz37pjwg7PR598iHCuR6T67fw1o6x2JunUAHV6Dom6LP1wh0uPXYe1zrGhY0Ob778ArP+fVprF6mGHrfUmAdOLTOqFMFcj2Swi2NG083RlJITx9usPL7K6vENRkmLb3/9G6yeOM/ZJ9/P8NYmzRjS8v73XWc/sCBIixwlFE7WKF7vyKcvtUdqKirrkF5tEyyNrROkpCPWkoYvKZzAF1ClORpJaWuEbllWR2hQ0CjyoiKMAhAV+B6RFxAEPs12B+X7KCRKSgQV2tWRy8ZZQqtxOMoipzzylOMsjpzKJEzGJZNRxv7UMM0M93JFXgkyJ9A4pARP14VLmtc4yLIssJUhrepix2JxDgz1iKJyJZ7vk5e11gCta5ywqeqC4shF4aTBznIaLUGKYTa5RzIa0z/co6xKKlMhhebW7StEcY9pmvLUxz+M6oAf+CgZsTcpCJoljY5DuBqkpHT9eQsEMuxiqxKZT3BY/GaP5nyPwldY55hbX+T+7pBJamhowUPzyxxfX2Tj0qOEcYeg2WQyHTIzFVL7NLwIaw3D0ZCgKDDWsbS4TCQalKJAaEmapLU/31iEAqk8wiAAFmpxp/QQUtTCRwxW1BAepb1/l/vj/+fLGoEWFkuBErXbxTpbo62lAiPqcYDz0QIKIfBLiVUGL8uwzqKwKO2hAesCLIZSOZAlykju7t5kYXkR2QXRCeosC+tRSR+lAxQSKYraIYOgqkqUDlmeW0RZsKToaJWyMkyzvBacmml9Co4aZLMpqkiYFpbW3ApGWK4+8yr3D3cxWcJw/xCvIYijBpWUjDFI6WHzFCcEM69GXXdaczQCB5WmjAIO+320zWh35zEmw00dZQFBWCIDQRhoMmPI0hQ232YUCcZ7+5yuTjF/+RLLq+ss99pM05R5FVEqwcOPPEya5wTK0N++xmxU0lqSrJ48jjGf4F/8z3+PjfOP0Ap8/DjmgQfWeeGNG6hiREvNc+7YHPuHQwbTIaUXEOYVNoiZDA4wlSGOfLLKMd/roqQAajR2Q4ZYoZDK1hRKWTs7lKeoNFgbIJUgkpayEvjagSuJlE8Ze2hbd7U8Ve8vfruDBQqvgWclHjm5efdcBnu3r7NdtXjkxBzTfEA/CVlZOMPO/g69oqTM9vj8Xpdbo4QPNbfoxk2WT54mSA1qYZ33vvfD7Gy9hWNGaA5JygfIRpusxou8dfUFTnSXEK0Ofm+Bwc4Wqr3G26++xHvf9zitxhJpOSXJDolVG9XwKfKcyh/S6C5SJnVnUekG+/3bIGJa3Tmk8pkID62nqOg0Nkt55NISF/6rX+dXfuXvImc73E4Fv/lL/ymj8R77u69yOIpZO/kQJzf2efNWn6XlNf77X/3b/MQv/zLPPv8y5xcWmVuM0IHm1Ik1TpxaJydkMBtzfGWNfjVBS8PiUsR0MMOUAh3lCFdihE/sHyMTGdJosqnBhI5R/z7m8ccJJ4ds3z8gXFyldeXPuff2iA/9rV+lvbDB6y+9xle/9Q3C9hxLCw3OnTjDpbOWr3/12+ymE2ZRiwuri8z5t/jWN1/i0uMP88xXvsTw/lWWTpykv7fJ5M6Ecw+vM7oHC6unaDSPc/dwn66aMpKaQf8+S8fmSGaGmLu8/OyE3kKT5WMPYmVEZEb0uo4vPnMVlxd84jMfYXJvn9zvsbd7SHdpmX/xf73Jz/7yB3GTNm9850ucf/AszrVp2pLGmTW6Ucz23dvfd539wJHBP/37v/ZZXD0NNkfCNCklhTF/maqnEbWlx1T4ApqhJtSSli8QzoBzhEc8fGvq1nvk+bX4zFmEkERNja8lvh/RmmujPZ9mp4fXiFHaI4pDpBJ14NGRJkFRB/SIqiIv8yP/e/0/5UlKlqQc7PQ5HOVsj0tGpWBcCHJTxwILJXGi7grUnu7aF52VJWVV425L56gqVz/krcBYwFK/F7W/viwq8qIkL0tMZSmrCgn4QYN2b5723CIiDBgNDhiNDjns75MkM/IipyorqtJQZVNmkxHLa+cIGg28hgdCEAkIPY/WXA31kVLVoCVxtDEJUSOSZZ3GqNIZSTLF95f5oY//GD//V/8jPvrUk5zpzPHk+iIrK4re0jzWlEzHB9y/dYe97U1mkxGuKDCmziKQulGHVqkQrzFXv76zJFnOYb+PkII4ilFSkpviKLNA4wcRQqgj5kCdLimRR+LDkqVHPvLvvd36D//Hv//ZWjsokUIcDTwcvnMI63BUSDSKAuEcUhqwEmcVSlcYAoR0uAoqUYsNpZQEOsRXAVoEYBWHB/tMx4fMd5bxkEjlIYUjkDWTw2qQxjCtHEVasLhwnEarRVZUdOMOLgjYH4wwzuJmYzCKqNHAEz57+7vsDA/wvIhofplZv8/br7/Ejc1rkKZ0mwHOQtBqYayuMcd4tbBWxTQbLZpho6aA6pjJuI9zirw0IAJ8IaAEKwqMB8r4WGcQwtBqNfH9ABVEbO7expWCyjqavXkWV44hCWjGHcazIUGjTXdBMdcLmOt1qUoYj/t0FhZoNUMwitlszHNf+SKdY8fptDqEjTYmzbm7dRchwWgfTwfs9SekZcFcb5HBsI8vHEGjiXOWMGoRaBB+RNxoIX0fv9EgUB6+9hA6wA9jhLCESqP8FqEnUcIgVIBuNJBSY8sSQ17rQYQkLzM8FMhaGCykxvmyZqNojQg1j73niXdlZNC///XProU+Z86sMktnPPX+CyzIfZ740KMM7r3GRlvSFgMe7lSEXoduNGNzbwejUvbefp3dwYxuY4GdvTssLC8x3bmB0BmLp49THR7izS9inOTe6y+yuBRxa2uPMGxxYmMVlMckSVhoL+NEhLUZylrKPONwmIJMyYsUYSqmM4O0FS5QJKOCJJkgRYnBw+YFeTHDSjh76iQ7dwcEpEzu3+Sz/81v8Mdf+CJLTY8sGeN7PdbPrnFzd4SY7uNGr3L27OMU+YDu8R4yV8wm94mkQQcb+CHkWUo2u4/yNFoFZNkA7Sk81aIyUEmDcwJpEmZZQV5a8jzlzGrMC6+8xvbWiGBhDS/v01x/jAceP8WxhuSN5/8cO9xCKsvS6kXm5zW3spJp1aX16AdYXDrHzqvPMB4fcONtS7H+JF+5tktn9Qnuxg8Teh7DsYcTE958+zZB7xjXr7zG3v0tpv0hu1v3UTTZv3fAYw+f5I23N1k+c4y406TdahM0F5gkB1TtVdpxj6UVwwMXT9LfvMcgGRPrgLSa0ox6XL23y4899RjPfe33OHN8hTjQTGYOv+noHzoSERDNtTl/+WP/9iODv3zouvpUVclaSGesAyFryyB1HK8nBEo6Gp5CCVerdoyrw3EAJ+uWsq90zUlXAldJrJQ0/QAlFWHLx/c9/GaM8LxaN+B7NXzoKKHvnYcNghqNjKWsDM7UNjzram5/WTlmhWWUWaYVJJUjq+UAyKOToBbUD3jjqKyjMo6ycmBqNo917ghJW5/spKsJvXVLvaofmk6gjMVJUVMEncEB2vdBelS+gqKqxy9VVSczunfmLID1qJwjzxJm0yHDcRvhCxp+SOkJ8qqqITnvhDM5C0ciPedMrXrXIQ6B7q1w/MGYnzj5GKPdTf78819g82DAW7eu0MnHPLS+hK8b+L0FQukxiKYoW4spQ89HCoFxoPwaoWyrlOnBLjMdML80T9xdhemISVWxUFYoqWptiQe+8o6gSBZburpboGplvrOOd8l1iNYCqho2pKgtsdbWYx3hgTMeJQVKAZXCVICwOKXQhUchC3x3lA5pJRiBU1CaHF2UeH6I8jWVKuhP9zm4f4+FlR6Rp9F4lKJEKh9VWUrlsHmBk3WXzQFBGCIbEbPRtC6ykynj6YB4NiMKI0TomE1nCB3R6MxRZSlpmjEd9dHOEjQazPIC348IRIBuVFhR1cWzUsReA0/FlLZE2YLZbIQVPtLVVkylQ9KsT7e7DDMIJJRKIEqoTIa1PkJkhCEEE8N4eIDwLHt3j3FseZVoWTDfPUXZFCSHE7SYI88yBIo8TaiMYbA3YuXEIq1egwcfepT+1l0O+7vsbd7BDx0n149z/e2XKTLDchcODfhRRJFCmkxpd1pUw4S96YTAb+BTgmhhncIoSeQdhXepGnqmlQJRIlWEE3WxXEiBtT7eO2NOF6BlhVAS4xRKOqzWlKKOUreVJvdLtAiQwuHEOwFp7871wu0OnzjnsZ+NCVrH2Nodc2/S4M1/+kd87OOPI2KFvH8T6dX7T9ya48JcSG9xjrLYxtfz6GQXqxroYsD5cyv0R5bx7gFLvQZJvEDj4Bp2dZ1qNmVh5QT7e0M81cDagrlOm1FySBx2sMKnNElNJBQFvjdHMt4hNxXYAqs9Wn6IDA2SFs1mhFSS5mKD4e0Jc70uO4Hg7/zKX+O//M//Bwon+J9+49d54bWbrK8s8/DJDgQFYd7iRGxZWjzPZLBL5Ua0o5gyyWgHIdkkJ89CurGEqqR0AU1/HikLxoMR0mlEbKnGBiVipJggPcgLi9IRATkVITt3xgyHHj/6iVOI5nmS7dcZZAfMbu/wB995gQcXFb/9zB7L3SZPLM2xtdlgY9mgncHe3cJvL3H6F36J6b27/PPP3eRs7nFWFJznBv/q93+f6ekF3n+xjZf3OH9ijvmNDq/PGmSlqxNnm5JGG/YGkmmlOH3mPO0oZ29QkooKz8tZ7Szj2iGj3Xu47joHOzlVHIMLWO21OHlig9t7JZ95+hJ37lzj+EOXMa6k8JpI0Wept0I5SghdhTPffzP+gQWBLyWloP6ROYe0FisFCoF1DmsdxhVIJfG0pOEp4ihAmooqT1DO4Wsf4yzKWjInkTiK0pDmhlbo1fAgLRCqphQmScbCRhsdhkRhgPI8lKrbzULW1Ym15shsUBPlNBqLJbe1VzgrDNNZzvaoYjexDCpF6Y4KE+quhHC1INJUFdZUZIXFWkdp66LCIevOCLWH3B1Z6CrjkM5R5mUd92tqW5KU9YdcVSVKabKsJIjrpL00T5lMxkzGIypTU6KEEDhnKUyJrRyzZMTt628wSycsrxyjoUKCs6u0fDClwffqz6CmAHI0p7dUokRIjfQCTHuBZnueZj5jZXWZU+95DJscsPPGFe5vXcXvHiegwde+8L8wG43p90cIoWh22/i6RkWXztFsdwk8n6jVYZYdkFY5VT7E1wF2OqZwJXu+T9yIaHgBwji8llfHRFcGKRyR8tBojLVgTe3tfBcuJXyszlAuQKkcZyXagvOgcKApaTgfd6SXEdZSP1cspS/xnEdFvfYRdX6Wpf4hV0pRmgJlDJR1kXxz8y1ub0dsnD7FfK9LszsPwuJl72hbYjrdLkFTUqQJcXuebDKmCufxZI4vStqLKySHQwZ724TzcwQNn7DRI5mOONzZ4Y3XX2VvNmauPU/oe4g4oj3fYngwABUQSI9ZkVBUIaGVVB1HMSvwEMzSKVHUxkpHVZaUZQFWMxkPcWWC9AO08qjqu8bTPnaSES52mEsto9GEdDji5We/yZnzl+m0Mq69+RbnnniYmy+9TllWVM4QeT79PGeus8TO7fvs3L3NQneN4ydO8sFP/Qz/7Dd+lYPDPpceeZju0ipx3GAyGpL2mqSzjL1JRrsTUBY5oso5TC3K00gM02lB6Wb4kSX2eqB9lNfEuDpd0tZcSjQeRgsiz8PZChE5SusjFAhpa0Gvp1DaxwGR10A5g3QWKxVCWaQRKO2wqoV8F10GLz37Mn/4uV0+9sELHF9fZjy1vOd0yNyTD2OmIzZnMWkO/e1tLl16HFNs4qkO06kgFj0O+mOk3+b2rau8lsMHH28y2L9PNh7jtZqE4+fpnnuY7N49prZkbU6yEHaZpjs4HK3GWYRsIcIYT0vGh0PKqsIpwXSaoHSX6WAbz/ewznDtjddZXFpjfnkJk0q82MdmId3lNqH1aYQeIhf8jf/450D7UO2zFs0w5ZSvvzgikgVPPvYAn3jiQ7x49QbjZk6WzNi4cIzF7iLbW2+xcPIcxWwAyX3KeIlidJ9Tp0VqwqIAACAASURBVB/h2ttvk8wMnbYE2wNdA+6qkUeuplSFImx5CBWS9fe50c/Y6Dm+/PXXWGm8ih0NiJaaJN4yG+dPMRj2efqD5zh7useLf/ECmVD0DxVBvE8QxcAerSvf4/yJFZYaOcnrf8zahz/J1tYr/M2/+iDvferT/Oa//DyT0T3CbpOzWtEvN/AlnDkXsTC/xo1XvsnSxjpOa0rlM+7vEMeN/5u4946xNEvP+34nfOnmeytXdXWe7umZ7p6wu7OzM8ONXJK7lEiJlACbkOEsGwYo/2XDNgx4AQEOgC1ZhiXIEmRDACWDpKS1uSRFipu4YfJOTp1zdeWbw/d9J/iPc7u5BrQrK1jzAYWu7q6+93bdU995z/s+z+9hZmYk9TbFtE868SyeOMve7lVqnZjepILzI24R0ZEpd++9SV1UWH/qLP/j//ybDPYFT589js8Eotoh8jmzuML771/mF37COvupBYHWEuE91nu0n5+uvEeKcGIXwiGMQKBIIkmsBRFunvwH0ku8BmXCydM6R5JGGAROSKwzoOKQ8S4lznsazSY6lsRxEBKGTkSozGVABeItDz3uVgaxoxcPUvw8pXVMc8/hFEZGYYP6MJwKkXih5nje0E1wNuRsO+cw/mHfI9jm/FxINP9zIYJgzs3Dj6QxhJppHrDkxTzgx2HynEmvjylzZpMJRZ4z/6LwkBAKHOspy5z+/g5KaqTxtGodoseP46XAufB8D1jCzjnwweYIASvtPQjv8EIi4goikUS9LSajIap/j+HBde6/+xpr5z5Ja2mTmb1N2ZsEBoSzSCfxxmEFFM6h5k8WacXUOMZmikeSZQmFUeRFAXiyRmipCxneJ2OC8NPaQL7zKISfk6o+hkvYcLpzFEgforBRMqQYesFESbwp0DhKoVF4pNcY5xHRFOHDSVt4i8eFmGrv0V5TapDOE0o1hZCe0SRHuxmHh0skSiOziNilQERhPWkUBfuo8+zdvU3lRJ0+hno1QtpZELGWU3w0xeSOwfURU2fQ7YIyL7l87RI2L9HGUu1IJoWlksTgIiamhLJgJjRGSpqtDvl0SjkeU01iRqMp2ktyMyETEVJpvNfEWmC0D8mV0wlxUqUwE6x1jAYDljpNTOEoTIHX4IwHXzDo9tDHTzIdjRne3iauVJmUY5SKKazFGEkSy8ArOehR5p5zF59kZdlx8elP8fbLP+Tg0JCICa1Gi4P9PXr9Hoczj7OGSS5RjYy0VmN3sI/OFWUqiauCZn0BnaU4JzAmCIhjKbHWk+ApdIy3JSjPzEe4wlFXMR4D85GjcY7YRyhjEV4iIoU0Bqs1ykms8MSRAiWIC8v4Y4rwBvjcc0vc/mDE6RWHNzt85slTfOsP3mVtc5X2Yp2De/exVlBvL3H7cEamVrl17xbHFx1ajekdFERZRn8Us1xXvPneDUTkqSmFKKCaJNy6fp9R7x41Kbkf7RM32zSmFSoVyP0UGQmcmOLFEmWZk1Y6TGYjhJySG4FQisHoPvXWUaJKymgy5VijRY8JeW6Y9O+QNFsM3ZhqtoqoZuhqBSZbmFIy8RlxMUFLh40ihlNoP/4Uya33eHT9HLnRXLrVxQz3mBUV1o8sceujIeNSku9MaLY2OJwc4nxEnFVBFCgnKZwkS+uMxl3EJAXZxZgqpugy7I1Is4yNpQXOtRRx5wi3b9/FHmzRH+4z2JmiU8Xxi89QK65w01VZqC2RHb6PUY5KdQGsI09T/slbl9k8dYasOMNsvE8aZ+wdFvzgO9/n9NoKb/W6dGbwpafbfP+tEdc/usO9WzF3twuO1FMmhePyzdvkNqN7dYtxNOL05mkmwy6l3gYbUxv2yVqKWTdn1t2mtnyc1IwY7nnuHk64cO44v/G3/hAzyPni51/gC58+D5ObdFoJ12+PeGRzgf/pf/vH/Fc/YZ39VA3Bb/3Nv/I1QRBgaQRCQRJHZElEHElksJmjtKJVTUjjeaSsD6cspUIqYuEkM6fRsXp4UtRaEEcZaSxxJrQIa4sL1NstqvU2cVZB6DAuCGA+B9LivKP0FgsPcwKm04JpYTAGXOG4v9Pl9vaAd+4dMDUeocOpwXkbcI5S4qwPeQR5TmlceCwn8HNnhJsXCM6ah4RF58L82HsfBGnzQsX7wD0AMXc+CJRURFEYgUzHY7oHu0yngRsgxPzrBAG5LEEpTaQ0ppjSSFJObR5l8cQydZ1RrwbltNIB8SznJEDvLQ8AQA+eXiDR8RywoyKSSo3WwgKnjp5lcblCTSeUOkLoOrfu3Zq7RSS2LClEmA9LqRB4kkSjdEYsIyYzQ+EMjWaTSpKipaYoSirVbG4fjdFRTFkU2FCx4XyYsRhXoqVk8fGf+dc+f/3bf/Uvfw0M3hsUEV5ahNN4DE46arkiTy1GKiJnkUi8FFgRKJullCROhthuHEZA6sBrj9cy0DKRoOajMi1Qqs7qaptKrDE2R08Fs8mQIi/orB8lq9cZdbvc394jWe6Q1jq0Gw2iNKGZ6sDsKHOE9fSH+xzs3OXtH73OpVs3mPZ7jHZ3We600EITx5rurARi4kgR6xqlM9SyGn4yoNJq4KcjRnbGZDxECxmYHj4hVp5qljKKLcqWVLImxitqnQWSKCZ2CdN8RtpssHn0BPlsSjkrsN4wnI6o1GuMDvbR1ZTutIcuPIPJlCip0mi1SWo1ZFLFjKd0hz2sE0zGY7LmEo2FOuVkwvUPXyEf9qjWm4xGfaZlyWg8xluBKR2zomA2g8nEIpwg0QlGB8thmtSo1GLiNKUSZ0RaUa81iSoRUZKAcmRxhhKSOKnisphYzsWtMoSHRUJjVYkQNmhIoiRQDLWigsd4gZAOJ1MSX3L+woWPRUPwP/x3f/VrX/zsBXKhMX6B1370AfVaxrFTm5x8dBUVr7LX9QyyNvndqxyOhhxs76KyZca548lnP8Ply3d45uJ5/sHv/YBPfPoFpv0B9cdi3v/ONRaWKyy0K6j6BpNC8sp7BzSqEVkiabdPMJlO8MITR3WK2YDZ+DCQHH2MM1NMqUH1qSaLHOwfsLi8TlJRTMYjRuMDZDkhqSxAbrFaUMlqiHoF5QxZfZOZS1hqVDh6dIObd++Qj3r8/M9+HlOUHGzv0u4Yjj71NIM79yin+2xunCNbjFlaW+Nwdw8VC+L6IqKUjKddGg1DMTLhfqljyuKAg50uhR+i7YRibHFC0SsVR49ILt+fETfa/M4PJjz3iUdwWcrmseMMxAq3+1M2M8m2TTiqMqqNMUtHnyTeuoxTCa40bN14l/X2Jn7S4+UfvoEtR5w4s8CTn3iGj67ehKzB6soaa6sNRsMWVkaY4g5PbtSolDm9geX+FCI87VYVESsWsjr7U0+tpvnOSzdJkgofXb9OMVpgONqm0lkh73U57EraFclf/+2XeeXtt/k7f+M/Y3mhxbmjMd7sMywVh/tbxLHlxqVt/uKv/AxL5z73T13HP/XYpmSYt0slkA98/9JjfZgfCw9KCyIF2nuUCwRBJUEiwUnwglFuKEXYULVQQV+AQEvBtDCoOEHFMfVaBQkhkMcL3FyvYJ0FEdDC3tqHNkEclMZSGIebs/NLDJPCMJqYsNmXOdbOgUHuQVyxBxEgRtbY+Ymbh2hfP8cY23nBEcBHdo5Bnkf8ejfPCnB49wBKFF7ngy4CQOEdBh8aEv5PnucBFn2uUwQkBQ7joZZpms2EVMeB22BMeGxHwCnPxwX+QQ3i/cOCxOMoS4vwgIogbiIrDXylwuLKGRbXNxmPu6SVCp1GDWtKZoXB+nADNtZhjWNWWkyZU5giYH0RuKDGROmUJM7I4hTrQ0qktX4OKPLYefjTA+qjtUGL8XFcYx2sfloEYaT0mtRBhkKTIGRMWkpiI+YCSIl2IbY5RhPNY6ultyjhUCicUHgZMMfKK4pIYwUY4RBInBgjhUcWBqY5kzJnNMuZuZJaUiWOq4zHIxZWF6hkTarVJkpXqEhNMdlnOurRqbZoRhXiWNNpL1NMpkwGPbKsiUlTqmkMcUyluUAiVbDXZW3SRhVVTimLGT6NGQ9GGB86eZGSTKdTXF5S2hIVN5kYqAtNBZhNB2RZhiod1mX4mkanmiIPjpMojhjaMpyqrSIfjfFas3fvDtc/uErpC6JqQme1ST4ek0Ypq6sLxJUqWa2J8RbhBZ6SY+tn+eQLX+TgcMLd+/cZ9gcIlZLnAmcVTktmTpE4RSUTlAJsFVzqUF5SjRRSeAwKyPBUUHE0R49qhIpJkhpplEJSQUcS7R1WeSId4Fs+UvhEo1UFqSvEMg1rmTDqMzpGInBlgXGTkDL6MV3PP/uzvHvVsXV3j2+++AGX9yxLayfp9R2/8Xe+xf7lF1lfaXPrrTd59Mwxzl48z6ee/QTHTp3k7GNLXLl0g7UjJ/n6S+/ywvNP8aPXX6Q73uXw3QFLaxBnLe5euc7NN39IuwkXntwgrQqcSunnd0KxP+kyGfSYDEaYMqZfTogrGSQ1EmWY5S2KYkYUDxBiRkTKytJRqtVlJjNDnIButJBeEmlNwy/RSBaYcICINV4lFNmML3/u0zz97PP0P7jM+698k6gasXNX43b36U9K8ijhYP8OozuemXdzkVvJwfgOeXmfVmUNO1M0ljeZMUSVMdNpirWHyNwxMxnQo9Faoqr6HN7zuFnM3ruvsXKk5IfvfMDlnV2++cZVVhcNn3+8zR/dTXj7lZd5/NkXuHn9Pq63zWIr46mVlE5zg5XaUa68/Q6x6vHZ58+xvbfFa6/ucOu173OsucRCNCapLvDN169yf/cqkS1odE7TmynOPvEEv/v967SWNvjwco/unmQ4Ltnp9fnc809TaXZ49vxx8sGER09s0Jt0eemt+yRC8M7l+6TLDfaHU5554gnWq+u8/b23cIMRW3fHHG7tcLA74t7dAw4OxrSOLLA3LX7iOvupHYK/99f++68pEboDsZJEUuGdR4qw9SgvkBJiKYikQzhHLAno0CQiTmJ64xLrRUC/CsmkKIm0wgmPs4Ik0bRXF6ikUQj9aS+Q1ZtEURKUvSL8WyHC6d06h51voSFRkNDuFzIUB3nB3ftddvYH3D3sY61DyKAw93O2P4K5VdFQlAZnHXYeBuScm38YvLOhM/EwhyEUEeF4/ydCozBKkKF7EBIgUHMnRZxWkGXOaDimzEsKVzxs/fs5UEl6UCqiWa2x1Krx5c88z7HTZ0hrKdpbskSitURFwWYZioFAKAxoYPXw8XAWa4qQCKkjpI5wcYavdtDtVZKlYzzy1LNsHtvk+KnHePzTz7N5/AzrR07h44RK1qTXGzMadUnjKqXw5NZRTSKiJMK58N2Pk5RKWkGpMGf2eGZFQVkYTOmxZYEpDUWZ46zHW8Pak5//1366+t//yl/7mgG0T4MmRE4odAJIlAKBw0YyhGSVEjQ4XeCFIegLC6wQIAg2WR/jcWgXoeZplNoLHCFPQzmJFinNehUiQWEEZTmj2mjQbK9Qby+QpBqX1KmurrPSPkKqJFIronpGaj1GKSIRoRJJFKf4qWFEis1nbB3eor+1RaXZYGl5g+lsCl6QJgm9rVscbG8x8hNqaUrpFEmaYMsCIRy93gClJGtHNpFEKF3grKHMR2zvblFLm0ipqbQXWF45QlHmpCrD4Onu7tPdP0A6EBWY2ZLF9eOYwQGlSKgoRXNlMUTiWsHmkSVarSZuLnxc6DSQURVbhhHb+vEOjdYaa6sbTGZTbl+5TrNSxQ0OyQ3kJljFGp02giqltGA0iRNEcUTSWSVLE7JahVhHRBVLFCWoOEUlkkqcggoC0ERVkMIi0oTUVXBKYEpPqhVKCMq4gtYxjXaTJK0x6Q0oTI5wEp3GGB8RiZjcGp68cP5j6RC8/dYbX6tEmrwY8cixI3z2qcd5853XeHQj4+jJR3nmSz/LR7d3aWdVdgaHFP37bK6tc/7JC7z31lUW2ovMZns0sNzcPmS17lnfqNMdlXQWmxRmlbt33uTUudMcDGF3Z5tLr27z7rUP+fwLZxkODNV6k6m1HG4f4BGU+QGV1grlbEijtUZRjqi3M44efYbhcIRQJeXI02pUOfSWWi1l1u/TaNaY2j7jsk9V13EyhOYd9g5pL2+S39jj2LEldsYjuh9scezpxxjZnEfOthhsDznx2CdwZJRuyMH2Np36MjM3oFNfoJjOGPbvodMGOhEMhhn73SuMt/eIKg20AKFzfLWGKi11F9Of7HD6sWUWNx7n5KkOx1fW+f4fv8wnLxzj7/6f3yCtr9J/67s8fuQ0snqJR09/Cq3vU+9s8N5HN3ns0VMM9q6i65qsfoZxKTi6usSJpSY+qbG4XKUoDMvsc3G9zihaZlefwKP55KMBw/zkp47ToM8T59Y5c6TCre4A6z2Ht/eg2uFX/uK/zcUv/zvYuM4b3/59RLPK/niJ42fPwt4t7uxMEeWICxdOsz8dsbleJUqWqLdrRHHEzmDI+soGqYB7d3s88blf/ud3GUQ+zOgfYoKtD9GwXuBM4LozD7lxzoKSYT4qBWmagrGgBYlUGOOCaEsqmPvU680KcRxY8sZ6Ko0mQumA/J235pWUSDTziJ8gCnzYqg+bvJAK7yzGOoqH2GEfhH4+iBCtEyjhEV7O3QE8nM17/+Mf886BtfPnmO/eQjz8vXPhZBhsjiGK+YEV8KESed6V0Erh620atQnFbEZu81BkzC/nHAUebQoS6WhnmpUjG9Q6LbxSODP9Me1AaIvIMDEI4kj5J6FFc9MEMO+meI9z8+AmKZClQQ8PEJMpWTFGTMYMd3tcv/QOZT6jP+pTq7c5eeE82jl0bNm9v0MpclpxjHBgSov3BTrOUVKSevUwwMiUJc4EbYEpBc4XKEnAXccfz+lq5h3aa5yUAajlkgBQ8pLSGSLh8C68l4UK77+2CiciIkKEcABQKaSTSOFwc3RzZBUz4ZBOIGVJ5EFISRKDyMAKArY7XiBptchqHZwQFLkhShM6soL1OcZI5HhAJWlRGkeUVFAqQuZj/GzKvd0ud7avgpGM9w6xGLZ2t5Aq/KA3O8uM+yNEliIpccMhOX1owvSgj48zvPSkwlO4nFHvkEarzWQww+UzpuMu48Nd8uYGNSlptRcZjyaIJCGTKWZwB2EsUSWlHPYRpSRyApFDffMErY5m/dhxrl2/zVd+4avs3t8h0hDXBN3dGWY4QkcaW0xRTEmTZaSRNOoV1k+f5vGdT/Cd7/0hyBmNeowZeWS1Q6u1wOJilURron6EcJY4amMTC8rhFECE1xqp01BUKQmRBhOjqqHTo90Ml2VExlO6kjRKieJpEA+LnNRqSuHZ2doLtywpiDF4q8j3x6QrS8ReYe30Y1nDAC1tubK3y/mLjzH86C0OPvqQr3zuc8xkxOjOJQbdE5w+fgK9aal3nmPU7XPlwx/w5t9+g8/84hfZvjnh/o5lOtjnl375F/nuy++z1zWUuWS2e5/P/puf58q927x7M2KtNqBe7XD0mZQP7vVQaRWGYCYDtFig2arQ701Js4QsquDNDGM8rXaGmwiiRGHKHAqFrOdMfcKpjdOYfICp5fS7A6RUKB+T6xE+q2MPJ9RSWGjWGXcs+/tDlk+c5Yffe4NHuzvsDSJuvnKbI48/RWwVSTWjmA6RUtMbHzKbFVSyfaxZJG5EeKUxhSCOpsS+JFdTUhKms4KkbfA5mKpj+/AST54/TjGucG90jYY7zu2da3zx+S+TT6/y3/x7f5ZvXblNsbxIY3OVd954md2779Nc3CBtwsLaE+z1u2zJdWalRQzvsLR2kkYSsbOzR293n729GbkUiFixuPQC3R/8rzzy8/8+d65f5o1LHZY6irVOh4NY8cjFx3n9vW3qusOnn3yKl1/6BkviGD/43f+bp7745/jU018i+XdL7uxuczAYs5hGHPSnjCipdyLOrGuufHQXe+Yir92+RcUcciJ1tKsLnH3sDDdvfISLDn/iOvupBYFRYbat/AORnUeIEHRjrcVKgRYq5KHrcMNXSYqUQRk/meZgBdMy5BdUKglOKSqRJIlj8rzAmZzWQgMRR+SlQdoJWb2N9SEix3k/Z+F7vBPgJWJ+0nc2bHRYh7CWoiyZ5Dmz0mC9RUsB1uJtiZ0XKh6PKw1FWYYxwgOBn/cPP5cijC1Ca1/82N+Hy7mgOVCE4gahcNaGomBusbOmYDadEkV1mqvHOH7x58h7Q779W3+DmRtg5hHC+DDG6MSaT51Y45mnnubIhcdxqaQ8yHGlwxmDK0t8XAZPvxcgQvTzg1a8eFgOhK6Dc6FQkULipUJ6hYjBNxWiUpAVhiMyor7aZZbCwc4udusmvX6Xe7s7KClYrmVYC4WUpEdXURKKXp+ZycEbTDSh3mxifaBZmnzGZDpEIrGupDR2nlshcY3Gv8h98F/6SpzDaJDGECsZQmtsSSElyjuMlCTCU0pFkpeUSjB0jsjN0EIiJHOBZRgHGO+RKIwSQStChNcFidfYSFDL6rSWOtSyJVRcpZJJNClpvUOaxBhXUDhBNLYc9Efo3YRcGrK0jk5iFptLRDpHTjxFKhlO7zKhoBAJkbfoJMJ5z6g/YkvuktYaNOMMjixwcPsaUUUjrWU6GbG4uEapNbIS45xn4HZAJsRRjcmsCMViZLh16zazfMTJWJHWM1w5YWG1jbnZo7QD7MQzm/UgraGTjPGkR5xWsQlMyzFHW48yPZzx53/xK7z87T9GxIrGJ88ixhOK8ZTD/R364yGNSDM53OHe3Ttcfy/YUjsbJzhx/hwXn/g0SbOGuX6DMrpJbAp6B3fIezE6EgivSLRkEM1oVCtQhE6lygIvIWRwRIg4QqKJqgoZgTACGym8MxihUZHAiBynJZEVlGjKfAqiDMOHRCCMp9AK40A3GkwHQ1yWoP3HNzJor1a5IBbY3d8iXTlDM7K8+Molfubz51m8+Bx//7f/L06urZE7aLW+TeEEb752mY2ja3zwxgcYv8vJzQ1m7pPc/vB9NjttLn10mTOnjrJ59Et84zf+FqJI2du+xrmfe4G9Gy9zbb9FxJDv/e7rnH/+PN1hRpRNMGUIB3IuYlLsUzqHsD0SvU5c15TOsXn6SUb7O0FoO5syOLxFvd4gijTp0gJuOiB3kslUUk4HFMOCenWdmenxxBOep1qvsHcHnvlLC/znf/N1/tu/VPDK7a8S792hlyjqusm0EPhJH1+ps7i4wM5+n+V6n0p1ge279wNsqhgxKWbEcZVZcYhOqjCpIYVkPNzhYG9Ifg5uXHufZjLk0BTI5jqy9w6HvYzvDHt8+N51PnXhcbbuXKcqBSee/3nWlgW+L6hnERN5hCL/Jr1hyblzZ9k8cYJLb76BwrB5dAVtC4xv4EtLVNyj8eSvUeQxX/3Tf47X/+A3MfYkf/TDN+l0Vth58RaPrnrytQ6Nk8c5a34RZzVXrr3Dq9/6de4fDvnVP/s5ktyxNjlgNM740mcvMuweIlobfP/tPu8f3mLnzQ95962XefLYEivPPc4jFc+v/9f/C43V4/yHv/Sln7jOfnr8sRTIuWAuSKpcCLzx4ZTqCRhdScgokFIEhDGS0rog/HPBoiXnbVEpIFIaZy2lLUNLzhiySoUyN2SVOJyqf2zk/GBeL2QoEqwNG6ln3t63NqQAlgVlUWKsC69NqXDiCugRgvGch0hi5u19D4FwKP6kKPiT5/b/r8+DXXD+/H5Oop0XDn7OIwCwck4WFJLm4jJrJ48TRxHm9q9y6aMfcH9wDeOCZSKSko1mjdMnj7J+6gwq0jgHpsjxtsAagTMR3s0tk/MWdnhRP1bMiPBahQqjFuccQqigOwCs1IgoARkhdElaLFCWAjN9H1PmjEYzhBeU1iB1gm7VsEWOKh0H27dJ0yqLq+ukNmfQ20dhGU9G+KyGFYKyzDFlifAC6wNzwXuB1pJZnvx/uO39q7+UFhjjMNojXSjahHIoq/DCB11MGdwCQkq0tejColRCpMBKN18bQTNjhcNL8EJTyhLtDcqHUVEqBCsrGzRqNdAapQRRsohSlmq1ilFhNh9LjbcFLpZEiSZSCaPJFDsr0Q2JK8Mcu8hz7nUPGQ6niFmfQTcUiFHkcbJOklVoNpr0+mMaTTUXlEZ4AkRL4ZgpQ63a5HA0JKpUKfIZM5sjEXifUJZ5YIJoxXjYZWV1FZ9bIh0hEcFeG4NO11BK02xKxjdGeCloNmpkrTYL9ZBl0D8c8wu//BV2dg7RmaWWtFA6pVVJOeiNmIwHRJHA5DlQsL+1RRTXSaMKn3vuc3z9679NOtthPDIQKSIBWBgraEhPKRTK5XiXobAQOaw2aFdFeYnyoTCO5g4KUEgt8BpSL3BKIpXDGoWOLDNrg5U4t6jII7Qkl4TW6KQkFgJbzhCJQORjTPzxcQiqtZjLLx2QZTleD8hdk8rKMm++e4vx4A3OnzhKvVOl1mpx68N3+faLH1GvLqMmkkEqydRxpqbFuRMpMj7NtY+2cOMxC4slX//GP+CFixf40Y0hi0fPMXYaK6sktUWKwynX7t3jSfM4NvNEuspsNkHMNLoqmPQc9U4bFBTlgGqlTZQkTAcjkkrK4cEBMtJk9Yz6Sh2KJtNJn6LISZIq/XxIxRYM5ARvuvTNAl859wqzw4ioqjjeKdl8dIO6v89UHGXSHSIqEdNsQFrdoN+9S5bWmeUWUTpmxQRxMEbrGuPBfcQsCEsnxYwoqiArNeywRNUsYhpzdlFzsJuzPy1hcIiXt+lsCm7eu0nWPsa5x45z8dwZdnr32YzqjPqavhlxuJ/R6V7DVWKkvcXzLzyB9h1+57vfp+je4uip4yCWuHn3Poc7W1yZXOapJ/4UK/e/xTMXv8w9E/Htb/0QM0tZ8jOGg4RqI2bvje9yf/kEn37qFPnOByiG5LZC1eYc+/TP4S5f5tL1CXFSsNyM8UPLne0+t69c5vQ5wSfOnebddz5i2B/zpU+doVFp4V3MuNvFikAOfumdy3z1J6yzn1oQ7t7dEAAAIABJREFUSOMCMnguYvdCYqVDzk/pEkiBREnSSCO0DKdupRhNilAMCEGWaKQKG5RWinFe4EpLq1UhUhBlCTpJkEqh0hg0IWVx3o3wIlDkHgrxzDw9z4UoWnzYpPO8pCwCEEkLQTWKmAhQcn5+9u7HxgQuoIe9m7MJ4EEknycQGR+4Cx5cD8YCYq7yZ+4E9D5AjaSOwjjEE4SAjDnY2uLoyac5/ug6mRZ8+i//J9jdX+PmD/6I8eiAyzfepdffp1Gv8vizX6XzyGkmRY6ZWMa9AyJpKAsotCSuZAELrESI0w3fjXm5FgScUirE3B4lpQwdHS/wziG9AxReAc4TLyS0ay3OjcbcunGT8dgxzWfcObhEv8jJBp5aVEEKh/CaUb/LMB8QRyntWgeVxgz6B4xHMyQeb0siKSmNAWSIjrYWoRRKpv9cN8B/VdeMgLJVzmGVw3qJMGHuXyqJzx1WR8TGMI0AoWiK0O53hNRGR4TUod5KpcIIifIlqnSUUpEldTY3j5JkMSJKmVhHu9IgViLYRpWkHPXIlaS50MFrTTQrkXGCyiqkkWR57SQid+g0w5RjrBB4HdPt9Zm4HCcjSHPi3DKaONqdCl46JnmOQjHs75NUNMNRQYTjYHDIG68dcOzYKWQ8Rs+CXqCYObAzKqrOWI2pRS0qtTqT3pjrty/jdcS5C09xcP9+gPrIGCM9idIoSg53BrRqbbyKyEdTOhspB/0Dbly+grhwkfPnThKfrjLcseyKPguViKXljPUTC3R7E/ZvH5A2KzCeEUU17nz4KqpWJ1uo8ZkL53nrlW2QmqG3JNYxkSXRVCHqHu0L0qTCzClK0ycqI4RfmsdrC1QqSStVkiTBCUfVSvIoENHLOA40VRT4CaXVaBesyFqWmGFBFEVYaYjiDJvGiCQiFuBdiTQSX358WQa/93uvU2s7JjmcORGztztguZ6SLrZ5+bU9hnvXyTnJzO3RWTrFlz9haa63MWqF3uEu5cFtoqTCqz864PTijGZ7jRe++GmszPjSlxb54K03+fyzp3n11VsosUm1c5o7771HlDTZ2pth5TKJHJNPd1jotJkYS62ywXi8w2yW0+1ts7SyQV4a8u190mpMaSZUOkuU+ZAsq7BzbZ+ykrPWWECJBbr7WwEXHsesHX8Ep6s8kb1EuV+lVjUkWjGdev76v7FHlAj+0wv/B7/10n/B3tU/YuHYecrhm9Sbi0zNIWa3j0ozitIw3k/w+V08BUVXYRpdkmoHGXvyaZ9KUqPIPb3BPe72DX56i0p9gzs7kkdPZUzzGoutFT77mSO88v5V3vvgNu2qYCdexmp4+sIi3d0bqLVTXL78AYsbihe/8Rq53OGJ48dpLh2h0n6K6uICN29uc7Kd8fk/9WvUF5b5h795i3d++C4N51lcyFByzMHdkmeeeZS33rzEl77y5yFLGO7f5vsfbnHYg1Td4JnFIe3ZKxyzV7jtnuOx5VPMBtu4yPLBO1uIeInbO5bywxd57sl1XvrhW3zy+U+y05e8f3OfUX/IVz97nkv3JFfu3v+J6+ynFwRC8mDveyDGkwEGj2ce2/tA8CdCFLDDU/pACpRKEUcBNVw6SzwXvzljgiXReyIVodMg+IpijZQaIdR8ow2vQ4QXE0YGc5U9iEC/C7OA8Lh+Hl8s5vG281OGmwfsPLi8ezD+CE32sGk+mML7OWNB/Aki+J96BUGZIEwVHgT4SBkeNJD+HJNhl72b14nl50kTRa0RkTSWaTf+NLPBIelrbW5f/QhbdInaHQrvENOCvD+jyIeoJOgzHnxIL4OjwAenRPgl9G8QYu7uCHbGB0WDEDJ0Px44KR4wDIQCFVGVEmUthXccbt8jw5OXJfvb9zkUnkk+o5XFpFpComjUW6SRhpkkymqYYkY57WHKgjiu4q3By/A6nFcIFVOoyk9bav//XVKhSHBygjNxaPvrAuMUXpVkLsIbKLUgsQInPIUWwWZoC4SIghbA2RChazVWhjEPChoqYbnVIa3XkSogvSUSQTTXoowQTjPxHuMELM2dO4kmqVSIcaQ6oSoV1BNUpBBRgh+NyOKEmTEkKkXGdTI8blqjHO5yeHjI4pHjuKJEao81EqsFJBHDbp/+uEe9dYTW+hFm0x4zNyWLJaNygkBReEtkJFlDoqs1xCjCFZabNy+zvnGEWmcF50pazQ624yn3e1y/ex3voV7pUNEVqvWMctKja0tW1tYZ9LvYckbWyHjxtbeI45Tk+CadpTZxpOm0K/TuT3FFzsbJNXysuHf1Xca9PUTWoLmwwNQYYmUJ/XoNQjHNoeVloApqQUqMLFOct6RCo7EoCZHX6PnPrBIJVoNSGVIbcAbjwJez0IGbWVzkoVSoWKJSg3WKVGm8DXHstn9I6QUi1VBYUv3xFLUAy8cXKKczvHL8/h/d5C/80lneeOk2dCPOnXqUejNmr99j/76krq/SLwS9y3tkq5Yrb3/AxsnHeP/D2xxbX2LP1th6v8sjJ2pUazCe5GyutznY95w+s0Y969PLC0R9mcWjS3B/QKq7jCee3f0xJZokkxTFIbV6xt7BkEq8QTFTlGaAllD2QafBim7Gln6vR2WxihlDORvTHY5pdSoMB1MipxCZp9FKeP3yh/yZc4pi4FEK2i3HdCqZloL1Roke/xaVpVXMwXXKiiMuFcIXTGeKTmsFqafE1uPiiOm0QNWhmqbkZkgqm0xsj5lPsSLnxtaENN/i4voJ7l1/l97iJ3hrd8ym2qU3Lfnm9y9zGB3hyPlznLvwZa7+6NscWWqxczBEllNq1QqrR4/Saq3RXOxycnOTgoxi/0N+58UrbJ5b4+blG3xmNWXrB9/nyk6f5372Cwgx5do1yXByn4WoQavV5sUffYdGVOPVt1+kU1WstaqcPVan/fQRUj+l18t5/84W94qMR9afIq3k3Lqjkb7H8RPr7O51Oeh2WY5jXnnjEqdOt+kPIBGGTqPK2TPHeOPll+jvDjj9+Cd+4jr7Z5A25vkFIkCJQqs8kPukkkgRBGPMYUDWg/AiaAHSFO+DB700JUhF7INtMNaCWCsMYHWEmRmaiw2yWp20WguzWyR2DpIRDzYzR7Cx8aDwEHgRRgfWS0oTSIKRVGRRRBZplJQBEWnDydU75lZDPxf3hS4EyIddAQTzcJ5wPRgT/HiH4AGdMBAKPUoGx4VSEV64ILBz0Bvt8d573+Hc7z3J488+gT9To9SC5skWmalysvE5qptHufbOB/SEI5tOKQ9yJqMeNV2QC4WZTSkl2HyK8BbhHFIpvBdzDUMY6kgdBWHnj406H3QzhAi6C+9tAEKFv0TEEQsbJ3hq9RgjmWBEyitf/02mszFRnNGoZDgBw3pCJ04w0nM4sxgj0FqD3aOwlkq1yd5Bl3ozRsqIqNoiThLSSo0oiiGt/wvcBv/lr8h7ZqpElgotBN6VRCZCeBBWUwqLV2ETt7pEOIkqFQ6JVxotNdo5Sg/Ka7yMkExwOkI5xcaR42S1OkIZlNBEkQYtmEz20EQwNHjryb0gW1gn8gm1OCZd7CBQiJnDOYnzBeVkSDFZpJzNmA73KEvBs5/5At3piK2v/zaFKYkqdZaR7OztcvWD1xAqol1t4LxnOhwwnozJlSGptkh8Tr93QFaL8KXEjD229GjjMTInrTfYG/dYqNX5+V/9L/nD3/q7xM5x7YM3cLIK3iK8QaYC7SVpdSkgmdOE1tIitizZ3+vT7CSMKgOWlk5hRMrNSweUheFg9zYLi210v8HRpERKwWi4xaQ/5NTZDU6eWqO391m27nzA1rX3cXGKyzKGuyWFSDCFpZ1ZZqkil5a6rhCpmFgbjJqRJjV0bIiFBhVCqGJnccaj1QjiBroYUWKRKiNVUCKZWYNMMlJfolJHIS3IKnoywVhHFOtgfc5qaDSFyTGA+xjRxd/8R/+QY+cqrKyforXg+MYfXma5E/PUk21+4++9wld/7rOcWFikU7Vc2y248GSNdy9d4mDrkNWjj3P1eo8vfuk4lz8YcPZ0ynIHtq9dQlZSdg8mJElMUjWsrzzGaHqAdVNWVhusrwgyOvzonTdYay9QjRO27w1YWdsgn+2zf/WQjbXHsdbT3dkm6zSIjCVuSdwswZqC0ktGw0Gwo6uEw1GOImb77i62GGPymFJmKJHT37+A0t8lXQjUWF9AKgoSB9PdlH/rix/x+1cu8vbrV+i065jxPioVNJttBrv3yeIBhe0g4yFpXAFVMjVThFxE10H0mph8jyhb5VjD4/wah+OI/nhCS7zOmdUOH+33+ZnnPs/9UYUzkeTW+y8zW3yTbd0g2jlApLfodPv0r9wlbn+aq2++xCeeeIx7uyV3bv4xW/2YWrvB0dWLqHIHf+R5lO3xxJlTTHpTlFZ858Xf4/TKBjYpaJQFF44ep9k+wjf+4BtoEVHOekS5Y6bqqKriz/wH/zE33niFpdY67WbOzlaXc6sF8coJRixxdvMIb/zwLbYqbW5sf8TlG3eRz6VMkwoXjiqmoyGzuM75xxscbXV/4jr7Z3QIRAgVEnJ+YndzQJCYn9gdSodMAzdnA5TGkiQJEh8yBuYnbSUlQkUP5+2Fc1TxCGNpdBpUsow4TVCxDlHGbk7dI4gJPQFf4PHMBQyoeedCPHA5EE4UzBPtkAIlAg9BIJAmFBRBejcXDD6YRMiwkT74v/gf0xI8GBs8KApCBHHwrMO8gJAiOCiEDM/txdwi6JkVI1578Z9g8xG11gtUailCZFhn6Y+m9EuL1HUOh0NqpUNMCpwtQQaUrnUGaw0mzxEEMeGDFEacmMMkQlHgHogvhAI0QgRhqJQyRDN7gjBTzDssHlQ1pbh3Bzc+ZKHd4hf/wn/E69/7Du99+GZAVQtBoRSRVnRqTdKsGsY+sxzjbGi7LhxBtxRFlBElGVnWJI6TMA5CYaOPR0NgUWgb3g8jBVIIjCjRzBPuhEX6ENutXIQ0DqMdwkuknhMnQ3mAdCWllkgiEgNOCWQ1xvsc4VKsEAhXYFxoUxe+CCmLMkJkNbKlBaq16jwBURELQa4jIu2w5RBfzhAmwKY0CicNdu8uKq3QOHmCg6uXKGY5/UmXJJU4l2KMZX/UR0iPjCX4Gk3tkDJCy5isWiEykKZNZtMZ7cU2Qof0UFMY7GhKpbbAqLtLRVcwzlCPU1SaIkWK1lDaAlyOd1OwGUKGr+t0Ntg72CEuxhxc3ePcYxcpnGB/f5ssjUjXjxClEf3elMmKIkWztLbG9sxQ5oa4ImivtjnotpgOh4iswurSOgddE9a3lkSNDkWvS+IyrDPUvccLTaxTMitxZkoZ1dCRJpMRTnmMGRDJOtJOEZHAjGckdYlKKzAaE9UylHMIG+HcBGUULlYkzQXspIcxFlPMyDrBFZJogfIpJeZjWcMA5596gbWlnJwZz134BFdubbOzv8WlD3e5u7fHVtfy3Ws3OdqJObuyyIdXP2TWczxz/gzXDg3PrCxxuDvg0afOMb5/lySG5aee596Hl1g9OmXn+j1aa19Aih5JVXPYi3A4lv06Res+kwNDZaPD4c4d1jdPMRhPQDpUHDGebRHFFa7ffZtH6z/L3v5d4u6URjujEJ5YC1QcIWSCGQrKpE8ctTDTPYyuk7YzfD5l736XzsqXQf4xLo+weQgbi2pVEJZi7KgveXZfrSLQMBNUlxoMhwNcOqKki+0ZdDomasbE0uFcBy/2idIIczij01jlYHAP182pNTr0uwP29reJljdZ3jzC1o0fsbpyBjuc8MjxOpdffYuNC+f4w3/89+mTceKpT+LymLfFaar9Ibs3XmXsNdd+43c5deoIy6uPsX66wff++HVenfwjTl08R1E69m5dxaXLFIfbtBoZF84c5+R6gp0sIhsS39+nXmlz8rFnibMGH775IjmWjbomas3Yf/t7bK6sc2x9hQ9efIMPbxue/vUv8N4rH3LYv83p06tsbe9xfuMMv/KFiyStdd545Ucsr1Z569U9ZoeXeOX2Ns9eOErmVn/iOvupBUElVqSJxvvQAXBeoGRQLJelAy0J8Lwwwy6MwQF5WVKWFi8kRWlIZCANCumJohhnDBUlafw/xL1pjGTZeab3nOWusUfkXlmVWVVday/VG8luskk2N+0UORIEezwCvEEwYdg/LBgwZgFMG7CBgSRLA3tsa+SxYUnwLJJlayMl7kuL3SSb7KW6uqurqypryX2NyFjues7xjxvdlAxTA8ma6QsEAlmJyrwRcfLe73zf+z5vLaIx26bRjJG+JvB9vKkwsXIZvONtwDoxzfWpigQhLHZaqBS2wIgq/10rSSwFpZJEUpIaixJVHrrBUlIlMIrp2KPSEEydBFMIksNOYUbmL3QH/kJnQHlIWXVLBBIlFFp5CM8HKSjSvBL1SQ9nDWsbr7KxdZ3X3/gOszMrnL7wAFEz4mBng+2Nu2S5Rb+5QT2KaYea0APra6yopthFkZNPRlBmOBtWhQ5VjoIQunIfWAfagPMRegpZkmLKSFCIqS7DuoLpkKMqZOo9WkuSIH6F8cYdfv2f/jrpOOEX/5v/nt/+pf+Cuh8y2/A4MdfjodUVbF7w0r19hk5Qq/eQgWCQQuzPUK9FeMrHSkFeloz6Ga4sKNW7k2Wgi4JcC5xy+BZyWdnKKCWFl2LxECWoUmKUQWlDKX2EKZGFADXBKyRloHFWERpBLhz4MZ1mA6crjLExYIoCyMgDjxoGKRSF9fB0zNLqJfwwwqvXCKUm0pK8tMzONHDGIouMVEtSm6OFogg0xTgl7PYQucGMxgRhTP94iJMesV+jNbtCNh4hfY903EcEdSaTlLaQJKogTCVplqE9H5KSer3Hzt4mxlRkQ+cOaXRi5mdOsvnmGo+991leefV5Gu1F4noD31fkk5Kjo3s45cApgqBJHIdEUYTJHScWTpCNMj724Q9xaq7L5uZdLKB8TafTYXfjgLg2JghKWlHIybOzNJtN7ty6z9LSHFFUp718hqje4Tjd58Er7yWUim+/8RqTseBOssFM6FdFpTI4CZEnKqSwqwSZyg+oaR/tKUzcICgMzk5wJuCwf0x3cR5VFNjjfQo8ICQzBX4yodAG4XKCUpOUI2yRYq2HDGPS8SFpluPpBr6yJO7d6xAE+Rq12qPYW2+xH7zKex5+iu9clXTmOvztn5sBa7jgj7i33aG/s8/T73svyfrrIAbcuLHBoxfmGY+2MfcG3Hz1Ns98/KOM1jeYP3OaW6/XiRZP02rW6epjvv1qwqOPztGtN3j1jes0Ow16sy3C9ioXex6TvEp7LZTPrVc3qQfrtJZiTp8+y2i0CXJClh8w6M9TZIqi3KPXO89rt5/j8cffz3gz59WNb+MmJbPzHiuXV9lYKzlyG5ycT5BFh0jvURYKshSvLSlKRb0m0fWQqL1AFNzCqzVIk208HbKzfZ96q0HQ7BLXYpLBkDyQGBKQJdpqZH2O48kIrVLW+iOi+UW8yTGPP/VpDra2WCzfxJ1ukQrJN5/7YyZ/0OfhD3yK5O5tZpodzixf4rGP/Dts7N0leOkPufzUj/Gd7z/P4GhAczYiqJf0929Tts7x/nMXmTvTY34uZ/XUWW7HknK8y0tphzL0mDUpf/zl+1w8O+buN17jnmjSn7xC2HiavDvibz3zsxAeczka4Jyl7Ybc2FG8cmuH1SdW6KyUfOf1dVpzy6xmB/hexNmzPeqB5a0764QLCQszEUfbN7j0gY8SZoYHmzGTJKdV/HD77F9aEDjAuGrW7unp2No5CgAsSgo8rXAOsrysWtDGUZaG1FbfD7QHrqqsfa0oywJfCgpKwnpEVIvx4xAldQXiE7zjWqiWnUOipzqGqcvevb3Trc7STql9SmmEyKuURknVIhauunkKh5JqCgOqaIduumO2lWJyWgiUlYPg/zUyeLsroJSc7rjftiNOxxp+JWWoEMlMNYeVBRAnKUwB1rK1eZOj/iZbe7fx/YgyGTAeH6OaHbrb2+TNJvFct7LqOUllepMV6dBYnLHYLMVOX6/yg+piDWAtYgpTqgowWwkvxduBTpXmQenKefAO8VgKrC1Ix8f0+wcszy1wtLvOH/2z3+L0A+exo13OLVZ43ZpWJKVBBfVptGyMJyWBUCgPSmMpXYJwld5jlIwwNicI3535q29VVQApHyOqkYATuhJWIlG2wOoIJSzOKEo0yhgCB4X2cC5AiRSMD85QaFDWEiPwIo84s2S+QeY+CkD51Y7IizClI651aLZ7qNDDBhEePmHogeexoBRO1bFyjClyPCNpturko5J6EGOkohymlBZqns9gkqClII5qBM5RJAleEOKco1brMClTmr6h9GrML6xw0N/CN5UGxBZDVs88xOFgDxl7lEWJKGsUqWU8PCZuNlm/fZ0it0T1BoEfkyb75CLED3xGh0OiRh0hFV4gEFnGsTgidXUeP/8IWV5ycuUk333hZaz2WThRY3dnnbhzhsWTdTbWdnCzETPzMe0ZTWlmOU5LvNinOTdD1G0jRgIRRHR6SzTDNZRIcdLHFJZRlBCYkMLX1K1GuAAvbiF0QBAEYBypneBHMWiQooZDU+8oknEOEvI0wxMlnhcSKAW1iABHaiZYz+LbBKlDTBRjpSU5Sgh0TNiqU6aOyH/3sgzml84g85jj7hL5ekarfo80vc1RP+L//v0X+Q8/83N8+2u36JyaZXZ+lW98+8uc7C5yvLPPs4+vMN+u86X1Ac889gBH93ZQYpewVyfWgic/1iBQK9y5vc7m0ZjTsx6/97tf5+SpBptbGcvzdX76Jz/B0nxEMg5RhcfR4ICiyGi1SyZJgBtrBnnJKEk4d3aVuxtbNJsx48kew0FA3Dyi3mxw/eXvs3F/gFfz6TRiDvpHJN94ldyUrLba5NGIb+79B3xk4R/ia4uoN5gMJgR+gN8WXH2l4OqXf4uHnvgpxuPXKVyG3zxLuxah1SGd9gxFaQl1jIwMxfEBXlwDX5Kld/DDHod7IYPOGd4/u8a9os2N17/AExfew623NPnRhBNLGzz65Mc4ZI7J0RF5mfDwpcdRts+X/uUvs308x4MXF3nx6g2yw11mZi7ikjXWj3JOr65yd/0+jdVVtu7dwcUn2Xv9Ps1Qstl9mE5+h8nBGs1Oj08+o5iNAs623097pcXz1w/Z2Nxg3E/41httzjfu81K9y8VzK9hGjbde+B0agcJLZli7dZuV0z6Tgebu+ls8c3qGrpvnq195mR/50acI3TF3rt6ntXiGO3dvMp44fvajH+L7b97E+X9NDoEnQbnqhluaaeyutRhr8SR4SlSkM/MDP3xWlFjnCIQgUFXAje9HGFNWrgQl6fSqrkBtpo4MfISTeF6ADKY9AQtQvtPSt8a80+K3VJZBZx1lYShLQ1EyhctU52E9jSo0SmUEDoyzICH0FEZCJsBZgzBVR8BCJVa0U1iRs4h3RINVMVHF+Sq0nooep7sF97bhYCrWk9N0v7dRx9bZKlnRGlAwyEaMTcrhcR9TliTFGBB0s5zde3exJxZY6NYwxidJc5wtCQJFHASkhcBIUFYhAR1IiiwjCitBJ3mBkBmiLsBmFGNb5UGENZxXaTGsM5UepJqTVJ+aUHi1Np3OHKsL+3zg0imSs3NoDMurlzhx6qcZrl1FSENWFqQGopqPFJoojirLqe9VbdvAB2GQtnKV1Os9/KhFtzXz/++K+Nc8+n6JEJLQOCwS5QRi6i7JFQQ6JMoMmTRTTUSJRGKFxJYZFp9SOZw2eMZD2AKDotHqEvhNMi/D5VnVCRIlXtCosh0s6EZI3GzgPAhkG+VrjE3wo1katRpaSOIwwuSaRAmU0GSHGaVf6R1Qmn6acnfrHkU+QlYRTIgwRuaSbHwMxTH1eo/ElszELYrEY288wSQJpDmlMRTWoqxkc+0OkgJtHKH2OSgzpBNsb92m3u5xeHTEyuoZhFQISowxpAe30bU2ze4MOggokgmhmsFvRnh5iczHzNcjzly6yNr1W2xs32cwHJOXK9is5OyKj8xhbqHHyVOtyuLpK+bnI8pCcmN7xMJsmwsPv4/7d95ikIx58CMfo3f6PIkp+NY3vs7O+h3GoxI/zglw6Dii1WzjtyRxs0sQ+XjNOoGbupnyAlmLUbLElhqjIfR8UqnwQg+hFEifIp8gJIQTS+EKRL2LzAXaKUw5odueIfECpLFIP6/+37t0zC7P4oIM77rj5s4h7d4QqSPW7w/4zH/0Ga5fe4lPfPrTfPflaxzs3uPBJ3+czdeex499Xrt2D+89XR5YDBiNRsQLTZQMuXXX0onvMN4/RzM+ZH+7Ty1J2coOeOLDP8Ph0XWeXAy4dvV7OF3gZIMw7qEjxZzJENLnzTs5L337VT74gfcwFil5GrB/tEF7psVolNDpzRJrixWKpH9MK4qYW41Yv3cdW8xx7tGL5MdD2u2Q/HDMxps3abZa/ObVn+dDJ/+Myye+RzzXxm8U/Od//xwHeoVOY53BaIta2ENFIWayjbAxwu8xHB7j+z6d2R5b+7dptlpEjTZMYGRDjoclK90AufkyjeajuN27FNsZf2peZlG1yO02r09OM7z/Bn7jDg/NR8QLq+zvFcSzJ2mVu0wOXmCy3WDh4Ue58vSP8dq1fcKVB/EPBiTrazTUDJ2NdYaNBq2DA15du8bTH71Me2fEXv8VGuEsb3z3RSIpuZ0atE547o0mZ977FIu1nCC+iO9lGHeJl157hZvJDYa9Rc6ff5K1114lHyRcefRxbr95lZWVFu2lK3zlc99l6eFlfuaT7+XanQ3K8YjCGup+nSsPLfKnv/c9Xrt7n7T/Fp2VR3/oOvvLSRuCqi3vKt20cA4pKt+8EtWjNBULQPzAFYgSkkArhBJ4WlPmGVpXqXee1tTrIXE9RDuJb6e4XwmVPL/EubzaoRtX7b5lBft5mztQliVlaaaaAomSU9+xkFNrpJxy6cETAm8aDCSnD08pfCWRqrI3alGNJyRT2MlU5kozAAAgAElEQVQ0mElJgVYCT0r09GspfuAseOdtmo4VqrwBOxUpummHA6qzFNiySoorS0ORT8jzEc4YrHFkWTrtdFisybC2wNgqWKnMCvI0o5jaIEXltKwKJesq3cIUr4x1GJPjspRieEyZJNiyoDRVEh5FjikqC9rb544EJRUHR/tsbe5x7+ab7Lx1i6BIGW3c5Hh3g8PjXYbjEYdJwrE1qDim2erS6rRpdFq0221ajRaNeodWfYZGs0u3O8/83Aoz3UVa7R8+t/rXeUROT50wDukEwnhImyOsI3YSSKubvxI4U7lqJJopwxhP+CACAidw0iGVX4XiBBIhDRgPS4iUliisIZHoAlxYQ3oNonod34sQgUVEGpSu0jYjjY0jZOiTlAVShBSlITEJJkuwkxzrLGv3b7GztUOWGxwlOje0/QYyjqqiL6+stoH1ENpjDLQCzbh/hK9C/KiOZwOCWo1MCLI0x6iQXApqgUSYY3wVQ5LQObFIqDVR6NOIAoosJ8MiNMS6wv96QuJpiyf11CKpOb28wpnVE9y+eZ25Eyd45KErJImh3u1hlKQsod30GI9TpCerPBQrOB5OOFi/R/+wT601S+jH6LCFyRwvP/81/uzzf8ily5f50Kd/hrmTK4Qzc5U42Fqscigj8DB4WhMj0EET4cX4jS5lkVCmFi+q40sBFNQCBVZBnuIoCYKQyA8RXoznSqKiqMQfGITvURiLNA5TFpjSYf/Slfav9zjsjxFugTjqce6UoxA+850VXnmzz7e+8lV2juCFV77Lh599lppSuIO7NGXl2vLrii986TUaC132Tch8s8n1qzdYbFtkuMhw7w3u7uwRCMmutMz2GtTFPnd2So6TjIWTS/zu//llGkHB0dEheRqRpobj/pDnv/xdDg7u0ZxJac0IwnpCnhT09/ZxFJSlptHWnDzT5eTiaYTnaISKra271HoF62trFFj2NvfYT3N6M6uITOPKhO/c/Cl+4R/+Ev/oX8zxX/+jVcTiT2EO79FYeoB60yMZDNE24Xh0gMu2acUhUkX4cZtRekgj6pJMPLTN8OMYYRyqSHj59jZ9v81xP6ExdwXRO0/ctwS9Fe7kdVaXzqG1JNnb5fb6iM29ks27G0wObnNvsI1aPIsIY776J1/nK5/7Kr6fMj+zzCCpc+y6NNslXm+emcDj5Z0+S6tzFGWLzaMdTnc7eAie+fgHaPYClh89jd+Z5/KVKzx9KiO9s8FCxzApChr1Iz747IO8/+OfZH71IYySXHnmPLRP8fq11+gpj3rqCGsdolbGW1uS62+t06pJzi/OUk+PUbrkte/d4sJKm/qo5PHHPoDt7/zQdfavEBVWhC9n7bSFXwmqhLAUzlFYW0W8SsG4KHEOar7GYpESPOFQNkP7krJMaLQ7NJtN4maM0IowCNG+T1gLUFLg8gxwlE5Vv0/9Oa/9NDlPODntGFDNxJVDOIF0Ehn4KFMSaR8VOso8q2AwFChTBdMYoUitwHoQKU2pDZSGwr6NOX5bQPgD6p8T4KRCSIlz6p1BhphaF5nmGRhTIqWeagckGFOhjZ0EBE4YiiKB3FXOCyGQUqOlQvo+ThiwBWVRUJYeRjkyDINBycTTCGsp85woCNBaoeMY7VU3GesMCIO1BeIwxVBSGou2BumHSFHx51VZCcQoCkytg1AewguxQjK7cAqspNx+kzJL0EHIxKvx1t4Oi+c+yCTJqLVmCbTPYrOL0h5KVWMYJUQl1NJTF4Zfqz5LYxA6wPrvjqjQx2KNqIgCUiBkCvgEVlA6U8F5PEPgPErfooSPmHYTfE9MP18fJypeTVqmxKIOsiJ4CqvQSuJHAVYYHBLjCaIgIGjWqMddtBLoWod6EGCAIj/GZhGSEVZ3COoR5cRS9icoOUEkOeH8MkqHxLXXyTdvczAcYYuc9swsYa3Bzv4mmXB4OqyAMaXB784z2+uRbe6TmIRkdEjQ8rGewQ/r5OMRKmhRCJ9uqBkeD4mb84j+kELCbL1Do1FDyYjD3S1KYwj8CDVOSPySmd4pEMeMhjm1dB8R1zhx8gQrp09Sq4fUwgjrDEeTQ+JGTBjW2L13m6OjfX7kx3+EwaQkMZa6lGgNnV6Ni+cvEEQaP51w15XU2zGNcJlzVz6Iu/49vvmlzzPKJoS+T627ROvULMIapJY4XcMLY4SuYletyYniGrLM0LU2o/0DVODhKYEKG3hegJcV7O0f4I8myE6TtH8ItRhcpcWRbwcYKU0pHbIY41Ao5cAW78oaBkgmCYd3XmS+toidzCCk4XBwxJUL51iqDTn5yPv45pc/x/2rV2nqBuP+kCQfowOf4/4mD175KDfvXGNnfR+TW06eepD+7haJX0MUGY+eMqwudfm7v3GNJx46j2o63PA2rDxCUDS4/PhlSiyR9hmP14gbDXZ2+zT8gNUnLtDfGfLApRMM9u8xGB0ShnMUSHQxYShKJjcTktwwO9/FpgF3r23RrLc5ffIyyhT4fkwzVjS9iP6MT9e1GB1mfKJ1QHr8EXAjevEuS4+/FylH5GlK3A7ZvrdLe3YO8oSdvR38sEGylxAGGilLpFTs7uU0e5IgCDmY3OPocMCPLx1xe2uIX95lZn5Cufw483OzcBAgin16C6dpkLKfJXz1j36f2sIq4fIKJ2YWufnKtzmwgtXTp7i/OyY9fJGvf/G7eO4Y/+xD6MQykRNElrE8P0fUmCHdeZNeJHnzxiZxO2BtY0R75TJzZy5w4kqHq1evc3dL8sGPvw9Pa1751nOIE6sclC0Wnz7B3u0XqLVmODgUrG+/gBd64Bm+98p12jOClcc/ycZXvsj+aI3zzz7Li9/7NsvzcwRlTmNhkc3tDb51/SpLgwV8O/6h6+wvLQgstuoMKFkxCRBT9X/VEVCeAhwGwFUQI4UBKfA8hS8VVpQYBL5UBL6HryUmL9FhgN+so7RCvY0ntnaa/ucw/EDZb95JFxRYZ3C2xApR/d63W9+iCjBSQuArhVOCyPfIhSEqDIUDY0ukUpRKU1T0IXwDJeDZqZPCVvt6a8wP/PrTzAbn3n7mbS7RO2BD6+Q78KN3hP7vPE9piMg/xxSorIo4idWKMAxwzlLmJUVhyPOcTHkYa6ZtfUFhLPqdLoCt3idrq2Jgagu1ZVHRDW2V/VCassp9Ly2CEpuMcMUEWxYooRFxHe2HVfdGKZLRGBk3MdJHtGbwZk/he3UaM6epWYcXRPhBiO9H0whsXZ2jLavikWoX7elwKnKUCKHw/Xen3SosOCVx1seqAul8pDEYUaKcopBgp3HazgiMK3CWCvUsChwKo6r337oST2t07OF5FY9ABB4ql1jn8KxFB03UVCArLJTjIZk2zDTnoFTkLqVvCsoyw3cC3Z7DEQBJlfqJqSieRYKwghNzS+xtb1Lz2uxu3QUkwhbYcZV8WJMBuTOkTtJNJ2hfkcQ1PCsZHB0w22mytTYgjUpcaSnTMZEQiCDG6glkBb35OY6o1tC4zBE4EpfTiGLSDLQXUubjimjYqOOVDquqrJBmFJHvH1IEkosXH2R7POTW7ft0zi4SxjFGlRy8vsVo7Gg1Y7bv7XD6zBxymiERhooyMRwNhrQXF+mPDFGjjQ4Vvdij0YirEZ927G7d55ErDxIITRR3CbRHHNcwfoygoChTXBZgEYzyDK/dJKrHTIZb6KMM0ZvDmoz67Bw2GVd/Q2FEWRj8Wp2yVJQuRTnNZGuToFUHHSASENKgyncPTDTbTDgceaztjri9cYMoWuDpp66wv9Nn49465v46UWuJreN9jscZj5y+wGCScn9tm7h7inZwj90dzcd//NN85QvfxNqcu/v7WD9kdXWOm+vbHOcp/8nfeZoHL7yPUZqzsnyGq1ev0Zttc/ZsDR34xLWA/uERqtZieJzRnG9Qq8VMChge7eMFljIP8bQmH+8jmm3yvQNCr0a9qxkeKpROqTdrlEVIf9wnbPbQ8oBk4CFig1Z1drfukmWSvNzFUxYlI8ZJSiPymQxSSjUiH1panRm0yRgKgxkKGqYkbvcYDO9Tk3XC2EPKOqVxHA/26XizNB55gLXhHW6+eofezCwXY8vtw01e/c63GC930LfGtNjFn21zevkkpz7dpL9/zKwbc2cS8al/99/nG194nt3t6/j5gO3AY/bsEg+0L7F2tMelRx7l6ku3SEeGuj/EWgjqHqiAYf0EWViSD0bcuX/M/MIpbrx5jbmO5fy5hzgaePRHjsalT1HvNti/8U1ev/EWKrOc7Fqev3Obuid5860DbknLcnMRF4+4/91v0O7WqM9H3F67RX/iOKV8GgsrDPwGyc6YU80DhlsHiLnoh66zf6XtUIuqBV5i0Q6UrBC5ke9hhIO8uuGESiBElVlgrUEbh5QOP4g4GmaEYUhQC/AbAc1uB19pPK1RYYCVFQxESF0REJ0AZzFl+YMdunOU02TCt7HDchrq48pKT+DKHE+J6s33DYXNscIROYUsBKaUlI4qoEn7mNJgEChR7aQLKoGhEoKiyMHZKkMAQXUtMEg59fxXZ0DpLMpB6UqEAC31FHpUORLEFILElOFgjZ3mMyic0sS1GlEUEQU+HgaTjcmSBGcNnovRqvocnIC0NJAVOAG+56MzUxVnkwThHHkyxJmqmChNSZ5XfACv3iDNE9Jhn/TokOHxIU4KFhYMYSNHLNarSGgvYu7cgwxkQEcF1FozaB3g/JBmcxatKnCPby0lBYEfUYtirHPkaVq1WMUPAE0CwItxOMoy+5u6Nv6VDqMM2laBRL4IKClAOAohCbQgKKAQ3rTwNWhtKEqFNDlS+1XXJw/IvAKLoa5jai5EqgIlLVEZ4+kE43Uq+2tU4ImAoNdBCYWnPVyhCJTBDz2sigh1xPHWGsOjXQpboqVgpnWCemcBc7yPatcYHx5izAFne13k2QfZ3F/nJz7yU3zvhT/h/vpNAiGQkUbXamSDEa12j/v7O7TCAKU0cRAz+8iT6MAn6eR06g1G2jEeamqdGuOjPtoppBdQEOKyAYejI2quRqcxQ63WRZcFKi+ptdr0jwzpeEir3aAXN0BqPnLlcU7OzTEzu4BqRiyXAtHwKLXgtdeusrK8SiAE/XzCc899iW53mWa7hjVwanmG0TDFVR5hJuOUja23aCw8RL3eJaw3GFkfr1anrQSD4wRPSe7vDDm3MoMnM1ReMByPCNMJutVARRFlOUK7nKYIKPDJkzE66FHqktJk6HyIIUL6ITYv0fVGRSB0DqEFPtWNR9YbGHQF+RI5WVkQhN67soYB9rYhbCgajR4ffPAyB7bG/TvXeejCWQ4PfJQY0a37iCBm+YFZ1m7dYLJ/QG9xDi0cN+6MWJo9wfq9V/GikEQofM8RnTmB69/gdCOk1u6yuXeTb31njcuXH2ShU/LKK9+gFrb5j/+zv8/WW69TakmtJuinuzTCEmsLjg5S6lHBn76xRrs25P6dMU8++36cdLSLEaVtMLMQQdlASMnRwTahjrDFFrVwlnR8yGB0gEaxL485HBzQbIRoF+EmOZmIkGqCLiVHxwWhNNgsJmyEiGLAcDQkSUpqcQuBo0g2iVVIXqSIooOKcuxkjN+ssXbrPlFcEB1ucvHxy7x24xbL9kEWFwqyk8/i9t9i9uI8r10P2N86oN1N2R1oXr/d59Kq4MTiA3z+d3+HhXiLU4+ew5//W5T5kOGN67x+cMRyo8mg73H5kYfQ9i6vX9tB6DHru7scjRN6UcwTVx7mH/yXv8X7P/gMf/j5P+R44x6nz53l1tp1QhFy7tIcD50+x3B0n/OXn2CUHCBHmv/rK9d4oNPh9PkLRLyOrV3CD4dkg11WP/wIV1++iRefpHN6ldNLt/ncN29yangTtrZotpfIygS5uMKJ2l+zIBDWVclwb98A3+bgKIXFVfPv6exdS4nwFFlRIqSgUa9RYiq/+pS9r8IAUNWGO1CIqdrdiCrjfKp5n6J3KwaCneoI3lbzW/cD4p6dphaaosDkVecAXBUnbB3SAlJiptkLWkqMKaeq+hINFFO6n5Vuii2s4IcINf1avtMJeBtvXDn+fkAKfCcEyTlMaaoW5p87zwp8UD1XwEeJ8v0p2KgKSIq94B0wUpanSCVIshTfk6isSi3MQh8pArSncBh8axG2RBYGWxRMxsMqi6Aoqg6BqVIpsyyhOB4zSUek6ZhSgilKBsM+pXWEs0sgFYVxpE7Q7Z2gdJJms4dTCuX5hFGIwFKaKq9ABho/CCnLohJdCEkc+hRlVbCEUR1TJEyyamcZuHfHwx1oH1MKCpFjTBUDbKlmw0pKEglIRW7BJ6cwGuckVmtskZNJh9Il2hqUVAQCCpkjCw8ZeDiTkSmP0AvwPA8VRPhBgLIKHWmEFRXzvRBoB35QFUiHWUIQNSmKknRSMneiTmkNuc2IkEhPIAqBcnBmYZFLq/PEjQ7hE8+wtbrMV7/2PNt5ju80NooRhaE920U6weHaNaQf44dd4kYHqR3H/SOEs3jAZDBgPB7iK48sT7GqiVOC4vAIZXMOjSXSEqHrGE+Ru5KZ7izbB5sEaOKZJWxpWN/cYuXEaWRpEJ4EU7K5fg8vatObX2SUlPQW57j80GN4QUxqJ6hJyEwvJktL/KAE5bO3PyEKYzqNk0wKQyFKQi+g220xUg9g7t9FeROi0Gdvb4tHr1wm1CVevYeMIgxVsezyEXHgMU4LtLJokePHs0RexNjlaFkjTzK0FBhbIKIIacHzZUUYKCEMFEXqk2QTgmYdV1q0p7BkFO9ihyCef4CF+hHtWY+16xP2dhLmFmb5ytdvcOHMHDv7t1hcOkc+2ufrX7vOA/M1ZlfP8L2X36TVbhNKwRee+y7vufII5883SbOI2nLMW7dfZnszQz68hHp9nS+/sYOUPjsbLyMjeOoTP8JLLx9S5BMKBpD7pLpDHCZs2SGhrnM8GLB1d51oFsbZCc5dmiGd3Ge2fYZW5wGUThBFl6AGeS45PhzSWXA0Wl20X6PWCYF5JpNdCjGmGUfkecLhYEKj5kjzI4rEcersOQYHeyitMIVF0yIpjhCqR70+ojBjxpkhMDHtbh1RZmgxoZj0MWWl/5qreZy7eMDN9cfZv/8Sn/rb/zaTgePqnz3Po++BovN+/uyPf51P/MIv8vrahO2jDQK3Qy+wqOP77KdwcSbntf0l7t0Jad//OspZnvrZX2B44zuMD17lcPub7G3UWA0zVFnnzbde59SCBzlc2z9m5uz7+ImPPMnR4IiP/fgn+eM/+ROWT57jaP11rJ/zzRfeojx8nssf/Bjjm6/z1sEGP/mpv8NjzTqLnQJtc1RgqQ9f4+SpR1h65il271zn0SevsLd9BzO8h2dq/MzPfZLvv/AKUTQkWb+Ot9BjcH+P5fc9/EPXmfrsZz/7Q7/5h//rf/dZ52Q1AsBWoBwnpumH03GC4514ZCEkcRwQBj4oRVYYhoWhFdVoduvEtaiamYceSqiKU1AaiklOnudVW1ZIrFAYJyhs5Vhg6ioopiK6KrqYKuq4LJikKXmeVZHFtkoGLMuCPKmsfpX7oCIVKisphSRAV6mEtqyCgKasASkkWql3UMeZAffnwMdySv6T6i/yCaoIYgfT9+sd8BH8IJDICTzfR/sBoe8hPU0jiAiDkHarRRSF+L6H51WRwk5NByhJijEWqTVFWZInCel4ArIaaQz7fQb9AUWWk2YZSEXpKhgIviZNEvb7uxzv7uCc5eaN2/Q3d2jOLBN1u/h+jdI6+hODK328ehujQ5qdGaTvoXyPQAsEBbEXoIMIZUtMniOkw5Z5FSDkSpieX5IcU4yP2Ny4wdr1G1xb3+fjH37vf/U3cnX8Kxy/9qu//NlC2orm6AxOGpBxhbYVJZGqOk3GB2t1tapdCc5SeBJfeO8UhcZZGkFE4HlYF4LMqEUdtB/QiltIrdC2smK2Wl08LyDQNUqraTYaCC2p9+bBFczMrdDuzBAGEY1uBy/pM04OKUYZmc3x+32Ug0a7Rjeu0REpoRewcGqZlZMP8PBjz/DFr/0Ro3FKo7NAWozxpaJMxkxGCX6ny9F4H1sULCyeQimD8n3yIse3HlpqUq0wvuTocJ2G8hiOh0gHJ85cZDyaEPqWoNGhLApGB0dEXsxk0idUIYHUEAqK7X0ufegJdOoYj4/YmxSoOKDbWcLzPWYXOzz+2AVyeszOLjCz0AYEtZrEVx6TkcBzEr9eo9aeJTOWzskFTJqSJDkbd96kf5TgKcPuIKfTnScrLO/5wFMEQNzsoQIPISRe6GMLg/YUXq1Oaiu3wKQ0KGPJrUBFAXkxwbgAlydkw128WhctNWWRg03xwwZKSIQf4TnJ2KQEtR7FxPHoow/+G1/DAP/i//inn33ksVO8+NIOeepx5emH6O9ucerUCb7/3MuUqk2rt8wg85HWcmN9g4PNDXyT49cCfvQnnyAIHS+98CLN3gMc7q+T2IBnH1vFW77M5z/3DRYvXWB4cMhPfPITCP8YFdYJjw/4B3/vF0kOXmRCC185ksm4Qg7LnM2jIbYwZHnOxKT0Zk4SxJq8tDTDJldf+wrXvv0qzU6D/tExV554GB3W2b6/Q6c7ixdK+rubFHYP6Vooz3G8V9Bpt8iSHE96zM6tMrMwi0skabJNkofkiSUdHhOoOlIYdBQjjMEaD2lgkOwySXKwmnSUE4Ux5vgtvG6HAZc52L/LR3/mM/wPv/qPWd/cImSb3/yXv4Nq+nzqUz/H/t277H/vOd77zI9w46V/xqNP/zwPnz7NgW1zd+eAmYbjwqyHkhn9IuKNL/8OO1vb6NCSjDIwLTZVm3tbd6jJjNOPPEE+HDDfa4A85oFzF5hptzh44zmefuIx7q29xjCRoBZYOdXmM3/31xitv0m28hQPLUcMjvZZOdlgdflB7l97kQ+87zHOXDyJxxGTw7cIZcZi07C4ENN0Eed7goOjASdOdFg+s8RAa0R7GVlf4v7de/zEp/+t/891/Je6DKyt7FlMkwbF1GnghKuep/YtgahseTi0qMKEkiSlNJUMUUcBUkgKXDXTznKKsuS4PyIZjMjyjLwoKE1ldTKmsjbCNBPAgrMCK6pQo6ozUFUFzjicrSr3orCUhcE4A9ZU4KApitBzVXSzmXYQPF3hmD1bKdCRgrdDBJVSeIGP8rw/5yqodsEIVe3qYfrvAqYkxqpNblHCoUSVoIebhio5hxUWoVUVqas0vlCV2C3PAabuiSolME0SXFlS5kVFTisNpXEYC85Nsc65xSQFZV5QFEXViZECiUIKTZpnjIYD1t+8zv7tewhdKdw7UY1Gs0vcaFagKQFaKkzp0EHAZDJBTV0dnXqdmlYILFk2YZjlZEXlAjHOkEyGpGmKwWKylP2DTcbZhNHBJtub96jXZunOtLm8PPc3cV38qx8SpLMYqfAcKKOQQhAphZYeqSixUqJMQYBCI0BqpPCrz8f5OAyCEqU8jDHYMsczCr+Q5FYhRUQhQEiPsF5DhZqsKHDlmEI6apGPFA6X5cjCEUQNtOdTj2MaNZ9Ou8Z4NGS0vY1VEFB1zjwdEghJOTjGEFbNNRkjhI+0Bc6rYT1JYC31bgOVJ5h0RDwzR+ALYhfTiGMoLCIKGI8PmIz6dE4/QHximfn5BXqtWRqqgRdGNLszKKUxwwlgOdo7YDzp0+jO0G6HlNYStOYYlzleGHM8HFOEDjlKcTanfnKGuNFkbmaZs+eXeODiKoeHRxynKVobtOfotUKaLY9sPKIoS0bDIUf9QzrtGi63NLttOn6NVmuGertFkkyYm+2w1GnTbnbxlEJYQxz1kErim4xGGBOEIcqB8gTSOEpjCTyfQNXQysev9YjiEE/6CBEQB+D7PnF3kckkqcSgMiMrS0yRYaVBuQwXVn9PxpVEPf/dWcPA00/22FovefY9i+ykhvU31/BNwOHBETMXT/D4lSW2tsfcvnGXE6fOcfrUacJI8KM//QQyP+C3f/trHGwLfuW//QynlwOSfAeKl/gn//xruOQNfvpDF7nca/CeBx/kV3/lH3Pn/haHO3v8e//p38NM1jk+OqLcXwOr8YNadf1saPAS0iTF+HXKNKTWjum2FhncWuOFr3+RIOtxamWF3/rff480XWdrZ5244TF/qslgcMjgKMXgMzhwFCYBRiyfm8fTDR569BLzJ9scT/ZxuWNQblO4ExUPhkrXkZPhPMhGQ5I8R/kTSsZkZogfWlI3BBWA1DixQP/+EQ/Z73D1+9e5+t3f5qPPXqHd1px68kfptJb5sfeep+smjLKEo/mz3H/py5Qs8dKf/gZff/WreLUEl2dk/hn21Ao38xjtpWwdOKKgweqF99Cbu8TJC/N0GfPI+XN0li7T37jNYuckx8chJ0LNy89/nhevXeXsx36eXFoaScZ8N2B5qUAlA/6XX/slNtKA11/4fa6tb3JiNiQ5HLG9s0f77CXGueO5L/0RO/fvU29EpKMJuwc5h4cjrDAclTnnL4ScnBUsLF9g5fSTxK2Qo/2b/MGffueHrrO/tEPwuf/5lz+rMCjh8KTEq+6w1QBhKqZTQiKEw9OSwFNV10BICld5uWvNFjL00YGPRSC0pMwNx/0ROqzhhQFhLSAMI4TWGAd5XlDkGXnqMIXByuomb83bor+qCChLU+3ksrx6pFm1ay0LHBZRumnYUBXFnE2BPVJKiqLEiunPm4KIhHV4gYcfhlihUFpjiqIaKVS2BrRUOFm5A6TUCKpCQE0LDykVUqjqtbztUrBV9kPgVTQ1JaufrZWi2ahTb7bAOZrNBr7nU6vVq26FBaElUvtIpfAChVa6etYBTkvysqAsSwwgjURIHxsFeFMRXzoasX73LodHxwwPUgKvTmu2h1WSqN4gdw4hA4b9IakRKCUZpyk4KAtLZksOh0OCMEapkEYtriSfBoSurG71egMhPCZJgZMhYVSn3l2kNbMEUtBsN4njJucvrP4b31395i//ymeRAuUc2iqc0DFYTXkAACAASURBVGhpqzRD5QitpSgFVspqVOUsUihKJavXKfLqc3AC0GgkSFWp3JWg2WmhQ4+40USrCOt5+EFApD3yLKcWhBSFIlzqETQ6oASeDqg1G8RBTKvVxGRg0jGhkrQ7LfQkIVYKHwHJEB9Noz5TaQ+OtvE9j//xf/uf2DkY0uzNMOgfkQ2HpFklRG2pBuBDHBJFNZbmZ8nzkuRwgvQUcdxlpt1gcDSg12wReoBR+FHM7NIydzdu0W7NQhBhTUGRO3TQpDvXouWFFKNjxnv3ePTiZebrTc58/Kkq+jwRnDg9Q+RJjvojNrd2Weh1GI1SwmYL4XLS4wHKFrR7LYKaIB3kjI6PsdZyb2udBy6dRuiSO6+9wd2tNSaHhwz7GaoOK702o9yifcn8wilOnl7hcP9+RSiVIePRhHq7japFhCpAKY9QezgvoEwnuLxkkvWJ4yah32aU5bgClBNkpoAyQwZ1rBOUQmGPD4iMRDRjpJNk45QrD787HYJvf/0PPrs7DNnau8PpXovtoyGNmiaqt2l0PL74hZf5yPuf4N7+Lt977ovM1DVru46zccKBWuThy5f44Ac/zvW767zwrWt84EMfRgfnMck+ewcetV7A3T3B+887HmuP0Qsf4OyJkLW16/zGP/nnrC6e5Mb3n+fUxSuM+/dxfo3h7oDdrSFlYRCqRErJwqkWuxvruPYJZk6fRcchWzt3CeI6r754g+OdLU4+sMDgcEytGXG0NyJNJph8g+FRgikFNd8RN+ts79xid7+PKCdsr++T5AU22UXrgmxSkuclYWxQCFKXIEpNbixRTRJ7Jwi1YlImtMIIKTRFnuIHHRYe+Qh7RYtzPZ+mqvP/EPdmMZql933e8y5n/fbau6p6X2fr2UccDjnkUBJFkaIVMYxEBTEsyIniBHHgIDfJTUIgNwGy2AgiwIgF27CVxImAyJZJihIpcRty2JyZ5nTP9PS+Vnft27ee7V1ycWqoG5FOgkhzgL5rfN1ddbrOe/7/3+958txANuKZ504xZo731ve48Pptor3LUOyRhym9k8+zumnoyAnNpXlmOxELc7Ncv3GHmdYUL378OXQSc/3mCvOzgq07Q46cmuLEMx/h3o+/x1Mv/RLDyCATydXJUY6fn6Y1lRKPH3Hn+l1Wd3eJVEw0d4STS4e4/eg6R5YbvPqpV5jt9Lh5d59IetaGFW5S0h+P6XUbqDTi6o0+25N9rq9s4GVCa2aW/eGE4eYjqlEtpppve6bSFtsr6zx/uscn/8a/95fexz8bTBTUA4TanyOwzlEZe9AmOCD4AUJK4iSu7W6uniZEcUTgYZwXdNtNtAoxtq4mIhVxMyZpJERRhI7jGi/sHA6LMQbvHUrXhEJ/UCcQB4RC52oegRM18KeeKhisq+AAKKS8QAQCVYnavIdDHjz0kR4pOQgn8pOKoEcceBH+gmAofd1C0EmCEgJfVvVY5UAtLIP6s11ZHXxgHTcUshY0OV8n75VUCCXRsq5pKiWRWqOjmCiOsEVxwDCw6LB27QoUGDCizj0YYygpCbSojXtaomRNgBTeE8QxSgd4IymMw2QZpbH05hdpW4dqRLTnpomEYm9nzHBUEUtDS0oyaxkPBhSVodPoMMwndFodEII4CPHWEYURHo3WMcVklzx3JGmK8IqiKuqHqlB4a8izHB1KbAnWOSbZTxdq/FVeuc6RNqlLopLab+EVwkkmwqF8iRMh0gps5GppV2UIjMf62tho0QjlEd4xqUoMBXEcokWMKC1CV/jK4oOCJGoRCI3XASIKEMYTNxJSG+GEQFMgraTZnUW4kmpcEUpIWx3yTFJVBYG3+MqidEiSdolUA6+gKse0wh5S94h0SKwTismEyf4OspWgw5g4UjWFzxeETpC2GqzsDOkemia7dQlfOqSdkJuUZq9DpSyEbeJEkk367I/2mJ9eJrMFrSDC6haTcowdF/SSaVpTXZLJPsUkZ3H2EKefOAeRorIW4TTF1pjtbMKRE1NMzbSogvr+CrRgMg4Zl4KpTkoSgCBERJKFYwvsbO0SpFMkocFmijBKEJUgKwsaqWN2ap4kTtlVQ5qtBu+8fYGFw7/C0uJhRoMMH4fMqCaZ98jqYFqnJePKEiqLkAIpAxrJNFU+xtox7XQKUxm8zwmEx+QWX+QEYQsTgqgaDMbDmklCRSg+PNvheFxw4nCTtTUPYcCorND9bW6ubXL29CLNlmFvtMHe3iYzp54gnD3EC52Md9Y3efrUHIfOPsUbP/gGj59rcP7Z57nyrW+yX3lmF6YotOaZ08u8d3+L/+MrP+TwwgyHz86x9v46793/Mb/zH/0a+BaX/vguz/cHTIqMwjjiJEAnFlE43E6IsxMGWxnb+wHdnmT30S3OHVtCHzpEO8k53RU82F7n8ps/Zqq3zLhYZ3fnFu1uh6wfk/mCspLsba9h7X2WDs9R9itMInHagJP4StPfH6FkkyiKMM4hlCKmiWsIJoOHiHyeXPcpfEiYdjFGsDmJmbRPMscaF+8NmW83sHGXpdk2cnaZe++9xfDBkMPt2/zROwVf+LVP82h4HvPev+IzS4qvP7xLPtrgxp1ZIrXD8XPTjDfGnFts0G3EXLtyi7OzOcvtDi5rMAliHg6nufjPf5/FuVk60Q4rj67RqkIac12+/ZUfcfVen1//7KeZ6i1w48EG7bDDaOs67+xJXHoEaTo8ul3w/uVb2OIeQUuTNGcopxZYufuQZ490SWemWT7TYH7RcOXSkNX1e9z9zvdpdxL+xs9/ipuX3yVo9CgmY2YOzbF49hTH2j99MfCz0cXOonQ9DfgLGVAd5hOqDs4pqTj4uYnU4U/IaJNhn1IGJM0m4+GEscxpdJtUTiKjqPYWxDFOKWwFhuoAtOMIlK6tfUGtPK6Kem1RWYNzHmvNQcXO4EqLMwZZv7jh63UxijoPUMg6+MgBelgGAlfVuQJtDBkO5zxaKFBgyhLpHFoFGGsJ04QAgXUeL+uHuPA1y1kJQc1IEIjAYX3tP/BC4r2tscUfoIxVLUOSByIkCUSqfiPNswlJFJCXJTrSmLJCBwrCD2qOHmMrdrf2acQhUnaJlGZcVWgtodkkUBqlA3QQ0N/bQ1QWH0kaaYf2zBz5pGTv4R5l4mkdmmbxsSlEHCKFYnNnwmCUYYhAB+S2JAwCSmd/gkxO4pC8LFBVhQ4CShfUwTulqZwgywuCKCBqNHCurh7aMkMmMTJoMdf7cDjwSjfwujZZaJcijaBUEyKR1uhlOgdRD4EwAyRtjA8Q3mNkhfKaQMLEllhT9+cjF6JEgFIhJlIIqRlXI5JgCiEFRJIoDAmVwgYhYRBgpaMZJVTFCKNKSGKidApdFmhToQNNmIaEWU6eOeJIIkxFTJMgCPCjTUqbQk8xeHCHraLApRprJiSHFgk9lJMxjakGk5FDRynaOpyvmF1YJtIBNhtjREBn6QhhoFm7fRUpoWimJEYRihSh6/XZYneWbH+PRpzgi5xWGrNx9yrNE0/x9/6z/5KphQXCwRjTipDDCotEdwU+TjicNlm5s83MfJNsO2MYOw7NzBJ1AzouAC/JM0eYWGamp9gf5ljV5olnU1pxxEiAUbB45gymyHn30lvMzRym1Qhozsxx6fZt8vGYb3/rW/ytX/8NpF+hkBUEHbSb4IWtVcnSkXabmFKig3plU+VjQjSmgsJMUBoMCucM1gmcKRCNFC00SWOGsjVFWYwRSIJ/kxz2r/B689oGH22dJiBldqbD484wHh7iU6diOt7x5KmPURSKL/7KJ7nwxo9YX7nP4/OWZ14+w921jFZccawb82jdU2TXaC5NoYzmyWNtLt0f894bb/LWnZzlo0/RlCU/+LOvcGd1lf/wP/4NqBL+4A+/x9XrO3hVEukUM9likJX0GnPYcpO11R2E18j2FDd+8G0CJQiDJtJvMdVMuPlggrYj6B7jjXf3OX8q4/23rxB3Fni0nRFUI2bmFBGavb0BWT5CSYFCYCdD8qzCG0HSnMVUHmRJ2PSERYu9SZ+imhC3AqajJXRHUw5yZBKSBoaXPvlxrt3dZe/BOoiApHyIiuHR/ZSH63u8tzmi117kTHmZ40vT/CevPMOjC1fp2YJBb56v3i3Js5JWljF/pkNWbXL54kMqs8HzH/sSW2sXmU00vnOS5qTPZl5x+Khmc+M+U3PzfPftH7PdmqfbOcGtcYP9lQkzZz7HzzUvMz9Vcme/pLX4BNbuoOUM2ajPuTnF1be/xuFzH2d2qcHqoy5TnWnSYo9vXnif5myL8Mxz5LubXLo9YvJun93NR3zkhGNt1XP+8SUu3b1DXmrak21Wrz7k1GMxL546hInbP/U++5kZAi8EWI+ktgqaA7rdB8Q+KQRKgtYKd5Col0qjg4BKS3JnMQKyrMBax3iYMclKKluPuJ0HLJTG1eFCYzHWHtgIRc0dOIgxOA9eSBz1G6dz9aqgKHIOmpA/oSfiHaKuVeNNvSY4gAfi8HVNkIP6nwXpDt7rD/DDIOrpgNIEYUgQBERxHZYUQiJDfRAuBBEEeCUIQk0YBiitCbVCIesphBDoDyYGop5GKCmw3lGaqibo4bDOo7TCeU8xmWDLErxHHvAHxAeNBKgnMar+fpRFiSkNTqpasGM9ykuMsUS6PnRFYUKr1eXoYydptes1TaPTIU0aNFstjK8w3rGxvc3+aEg+zhhOJpSmqn0USYTxnjBNUEGIcZ7W1DTtZlIfEJF46xkPxuRVDWPKyoIsGyNdgEZj1IcDJvJWEVWCyIX1TRIYtIipIonzGYaqRjkDoPHOoJRFiAptFV44ispDVdXeA1NgbUEgFIEO0dICIVKkSK0QUuGsQBpLaC2JkcjcoHyIwJO0pxFCs7P+iMlwgGo1kHFCYRxR2sFXDumhUGBjhdUK4x2j8QBvKsaTPm+9+0N2s5JstIOtSpTNEdJTCvCVIghrdLUSkrRUVHmBxpJ7gVRgJhkNHeB1fZjrBikuH1PFAhs1iEJNVXk2V1YpraURCPpFxcLMDLPNDumhNuFSilqeQYoIu7ZHtZ+BVSgtkcZx+OgMaZIwt9BiamYKd6AwRwi8BRXUAVwdWZAQxg7lFdJVSOuJkpTpbhvZTDh6/CitqZRms8nS1DSz7R4zC/MM+kPS9jQ6CXGuQodFnf/QEVomxDKpV1uRQlMhVQ0rKwKDCEPCUOOsRYUpoZBEUULSmEIaRZRP8L5C4UjTBBUkRHH6odzDAK+88CRRkIH3vPnOddqdeXQSk4icq49WuXLpLvvbQ/LxiOXHn2bt0T2SRorqHmM0Dvhf//nvcX9nk/NPnyebSJpTUwgivv/WPudPH+buWh/jNMe6iuHmHbpLpzm6OMfYRrz144v8+de/wtETx5BBQKhDysoThT28duADlBrQacek4yG4EeeeOgrkrN3b5J13r2DCIUuLXdh/SCcoidWAVz/5MaIpxU4BQzfHZBDw8MEKOhrQaLep8iFCFJjSE8qE0jWQvmQyGVPZDOk9yArvK6YaEREe2YTCFFQqQFES6kPcvvQWW3du0VQ77AzGrNBkLVogXYyYNKdo9FIeW+5xf+pJ1uVz/PBPv0UuC8qgQ4MUFS0y3/I89uwzbG6NWbQNjsw3ObI4zcbmFR5sVqQzc+zt3uL992+R5SPe+u4V/Mjy9FPH+K1few2zco+gv8XPHQl5+WiD0eolpheXaFaG2ckav/SJDrMzC3z26R6ffnKOuCpY34lxSZMy2yGUAcOow72p03zuM6/y+V/+JDfff8C16ze4efsao3LCypbjW++tc7O5xJ+8foO1eys0Ds0yWt2nt3wMFzhWdjaw2U9vy/zMDMFX//Hf//IHApxahnMQHgzqB2IURshAI7xnlBcURU7gHJO8JM8FWmmkD7CypuoVxiCcoNFq4b2ktB6nA5ypH2TW1aCdGocM1kis8VTGYPEHeF6PNYaqMkxGOcLVNTch6oeqw+OEoLRQFhbrBePCUlqwrnb85c5RVRWVO8AfH4QKkQIdxugwqH8FIQhBGCcI6wmlAinRQqKlqKFKDgIkSut6zx9HBGEI1LkEW5maKhiH9UMkCuqwk9YkUVS7172rVcFhiFYSffA19c5QFQVIidQSqWq1cqQVWgmgDjpKpZGBpMpyrLeEzZAgDLHOocKIMjcYK+jMTCNVRNjsEKdNgiilsp6t7TGD0eSgPqpJum1aYUI+HiJ0iLUF5ShHC8vWxhqD/T5hpAlMwXgwZNgf4TToQKNsQZGN0a5ECk+hmmxvbDAuLM89dfSvff/6D//n//7LUka4oEJ7dRACraWQziuklzjtCLzCOI1VCu/NQXsEEJKwPh1ihcBLTYWg224QBwoZzxIKjQo83kqS3ixhGCJRFKbAa8iLijCKabS7dcgRT7a/yWi4S7U/Io4SVBoTqJhidw1vLLYag8lJJlDsbxE0p0jnjzEwJd96/VtsDYdk1QRRFgRxA1tVhEkPb3MQgqIoSNtzGFniqKjyIYO1dYyB5eOnGe3uY6WmO7uAKAytThtbWGIkkyynHI2YO3oYbEVgJd1U8PLZZ/nN3/kteidnUaFCNiQi0fhsRJjtUe3miMVGPX1Tkv5qhhQQNgKy/RIRgBnU4VWPQ2vFqBCsbhvm52J6zQBjYXOrT5aVNKOErZUNhCs498xZur15svEuM502aw9WUVZigoDHzr/IZP8hPjeIqIkTEIQCm0ucLjDlGG81zhtCGSOURjqPdSUyMFRlQZb3aYQNvJkg4xjpAmyg69Wjt2A9QhjOnjn9oWQIvv/GG18O7ZidccHCVESeT9jeLWmlXVa3B5x74gn6+ZidB6sM90vK8Tq2MYt2Y4q9G5QDy1e/dRG1fwOZdBhtb5N5R3c2xcqEU3OnUdpy5PHHuddPKMs+SavD9R+9Txq2kWaNj7zyed5++22eefY8+xsbeK+xVUlRVowmJWE6zf2dDFdaHty+X1sHyzGxEhSDPmmrw+rONpE27O82uHLnPo20w/LCNMVwjXv7mkc7JYu9hLzIieIpJoNd5heOYlWAdgohAi7fus+hI02SYJYwqhiPLVZWTCWO1kxMv29RJiMIptAu46tf/x6PT+8x7C4jZmYICoPOJpyaE2zfv0qCZrB7kz2R8JXvP+CzHz/Ddy/eoZck9DotjnT6PLzxgBeebtFenKZvesx3HKePz3L9oeXVJ0/x9Quvc3LpCeZm2rQIObygcdEMW3mDS48KTj/5JCKS/PDr1xmUD/n0Z3+FX3ihy94kYhQts3rrETPtirGex7uUe5OcnSxmX7d541rBc2eaFNsZ3YYn3LvOTqWYUbskxrA4nRDh+FtfeIWPfezn2VtbYX0oWDi2zFQa8PDRGg8ebFDKOVbv7hPoNR578Vf+32cI1AEXwFqHN+7AKaDqF60wwltHXtVUvFhqlJKUzlIUltwKQlVX/cJGE+MdGogCTVkavPQEaePAR1C/neM/YPV7vK9+0nBA6bqSaCqsPRAaVaa2BfgPpD3+ICBYw3+8FDitKWyBP3iAW+WRTuKFORAZOZSr2wJe1fXBmiIoDgBErg4liTp0BtR0RFejmb11CBRa1uuJOnemEUqiqgqlFFofrBkO/g0fXFLWvz+IQsqiwh3kB7yzGF/jE4MoBA/VJK9XDY0EAVSlRQYW7T1BFGK9IxtPsFlFmGkEbYJAIwNNNSmwHBgao5AgCJFBgBOSsqpHYU7UX8e4mWArS5kVlK6iGI8IohhTZkjZIMstlVcESYCdFEy8g0BSFWPUWFC6AhVoKhcTzvVAhQwerjKZjGl9SKRCLzyVKgm8xVA/CJAKKImMxKkQ6wtckONLhZWO0Hic1PUBtaqopKndD7auw0oVInSEVIowkIhY1+hsb1C+PtA5oWgGDYpyAhqUsBhXEIomZd6vPQBFxqjaxwrHTJqggogqG+PKCpMNUVqRyTECaKctwiDFFSsMhmOcAFGZOmciHEVp6DZqX0YSdRA+oBNKctGkVZRMyqrOrugQJBhpaCctXF4SxAnCVDTjiNwaWnGKlRWVsbTSDvOzKYdbU/zq3/l1kukuZlwi4wAVKHzgwIWYhiO/s03z+HQtAVLQmo/p705IrEbokN2+pWEcxlU0dK1V71cW3YJOoiitwHlJWSmUk4wmQ3AFi4uLiGHFpBiSRAmbOxvs7WyTNNvcuPoOR48v0+zN4Ta30dojUWgkZaIJdO08cLLAGkMgEqw3aBXhioIyG9GUDWSUAJZKBKjKY2SGyg2BDjGBxguDsT9dG/tXfT24v8LZZcdjxxXXbwqiVsZsOsOjzQFRo83m1i4//tFt5mcc64MJR46eZW97jRVRceNBQdRf56WnZnjnxh6d9cvsZppPf+wsOihZvX+Xotvko688wQ8u3Kczo9AiRQPzh5aBgIFJeO355/mt/+J/4wtf+BxpnELoGBlFUrTxbBEkluphhbN7BGHIofkeO+tjqmLEbG+KG9ev88tf+FXWr/+YR1VA7AWyWme5F3P80FPcW72OWXds7eRM8ownPnme97//OnmeEaaORneGSalIlaDhl0mbMft7A7zsU04i1sYRxgzYX9tCN7v0lmCyu8drH3uFYrjLsa2rrHcf4+btDSbVgI88+Rke7AqWlyM210IOHRHszsZ87Y9e5+VPfZQbN28itnaY6IjZk3N84+0MN3mTqnuc6zsb7Kw95MjJM9x+f5VG7mj11/nx7g7JoaO8PDdFq5KYMGep0WN3sEIYNHniF85zqFGy+u63iTcVzeYyz54/wrvvCUpdkA37oAXDasRnPnWS5eUeP/Tb3L9+lczN0Np8SEGLLz4RsXp7g7Q3y/7aPjNhkx9fu8na2rfpacF84FlducN8+jheVbx3b50Tx47y2Ok2K3vlT73PfubKoKoso6IiryzlwZu3CjXOefrDIZOywBQGV9l69B0FqKiBaiS0mxGx0pQWJrsDysGYOIlRkUYHIUEjwXnHaDxhlOWM84I8K5hkBdk4ZzwYMxxPGJYlJTWqtypLyqJiMs4psxxB/edmownjQUZVGlxZIazEFpYsP4CJSIGRNcs+dwZX2HolIBQ2kHglcdZRWQdS1dwAJEooRBCidUCURIhQE4raEegP+AtBqJE6QOmAMIxohDGpCmikCXGaECUJURqhqQmIQkqkDuj0puh2p1EqIFASZyv6wwH9wYhinB0giT0GMMJT5gWmKCjynL1hn53tfbK8BC+JkpggTGjOTaOShEkBk0KQjy3jyuEJ8XHE3l5GbiU7e0PurWxy7cYqD9aHVEYSpy2CICZJU6rhGFNU6PYspjAUpac/zCioeRTW5AzHI/qT2tQYBYpJPmE4KNjOBVXcxoiQYjKh0WuyeOoYM9O9/z9/Pv4/vgKRglBUNBFa1N9PKdA+xCiJEpAaT1lFyFgSo3BCgZBYYdGqDr9ZNCWSwBtiLVBWY8KUIErRBSgZEsWNuuaKoBiN2N3YrAO2AgblhPFgnyROabSnCKqKNPeEnQYN51m58z4P37+I8yVSWmI0mpCkM02vO0fanCaMQy6/f5k1aQgVqEYbWi2kCAlcTpTEiMYM1lXoKGBSWkw2ZtOOUc0mOnR0myn57g6BBScMaZqSRgonJJNihI0UHlOHG3E0Wl26RcmXPvNFWovTyFgTNmOkFiBsPfqPNNp2SM6fgfWKcnfC1oM97jzYRDQiRkNY2cnZXN8g6BjSqRgfaPr7BfduDSn2BgilCXDcurvD9sY6u+uPePPN73L89DEWZnv4pE2j2yOY6XH65HFOnllmXJQMhgVf/8pXSNNpTCCg6BNJSzXpI7KHVGWOsI7KSXTYJFM5wmQU+T42UDRmlyjcAFzJcJIRSI+T9apANKcYjSf4ssBXJUzyD+UeBlh78BbDrMNb72wyKHZZfTigkntsPHqfQ9Mpt++s8tQzTxB1epx+/AgXr19j+sR55uYafOoTr/Lkqy+xdOZljiw3UL5CBfD+5StsPRjSURNavsnbNzYZU3LpnascWzpEZ2aOni0wW0M+/pln+B//u/+a00fP8L0f/Yje/CyhapCokqYWzM22UEFEKT2m9Jw7PkuZS47OQiyabOwMOXFyhsG3/zWvPXuK1Zu3cXlCGrfpr2ku3h3zztUFbvct7z8cU+UFF7/7BjutJmlbU+72cXsblDv3ODJ7hJuXfkgatHjs/Hl6vTlml2LCqR5r27uIZJbZdofGeA1dlMwdaWDMHnfjJXazZU7MjvjEyy/ytT+/RL6xTuQtN95+nanJhLWL3+c3f+dL5MUUO6ub3NjaYP7ENGMUx2ZCbsz+Gu++dZ+kPcfRp1/jwajNhWyZV49qdhqS8aTkeGPIxZub/NmbF/G55f171xgTcX8AS0ckvrnIve0hr1+8ySDtIkSbUGasXLvBkaOLLM51memd5O6u45vfvMJg9QHHT51iQa/x6sufoXfuJTbdDPv5YW6vZDwaNtgsFLt7t1g+Ok2SHKKr9/jkE4e5fPkdnn3lC/zbn/9VjlYZjf4jLlz84U+9z37mhKC0IJXEO2pBixJ46zCmIpT1G68INFJAHNdO8v5kjDAO4zwGTSA0pXQYKSiswFQQCItxhlHfYFEIP0QHkkhqvACJPDAbmvohKvhJ8MtROwC8U+AN9gProQdjDqYFzmKcQyPwXpI7g7R/QQz0UuAEPxEZWV87FBAC7y3WeqQKavKgAlNZAiHAWYT3CClrp4J39XRAa7TUNQPgL4CLCCkIw6D+OwtFEIQEQtepfSmI0gRrSuI4Ztwf4kOBpaAIQ5yvlctaKHQU1DrlssQKMKXDaEucNqmspyhLgiBEx2G9zvEKj4MgJtIBUdJBJBGTwYTC1vrY/iCnsLUJsKhMDWM6UFSn09MYY8nLepUSK0mgBLEM2Sk11lUEymKLjMB7sqxAJy2i1JKNJNIX9NeHCFcg0gQvQKkPKVSYV5AYlPUoISkpcUrihAGjcLag0ooIiyssUNsvrXOEKsB5/mWvQwAAIABJREFUg7MeiUU7jZcRhYGJrgjQTEpLJ47qSUTuycoRKpY0p9q1q0CHSB1TjnMq1ydf8jSbU4i8JOgGZMMBRRSx0JkmH+4Se421DiUrYgK8l+iojYxDKmO4dO0yxWBQ309GYLVCBoIgSlE6QBYFMoTAeALjGVcFOhLkxR5JOkWrt8BotEcZwAzTVKljrjPPlppQGYEQIYXLUZXEtxR7u1uc6TaQJxoHjA2Nkx/Au+tgjlpuU+3kqLLEJAIvA77zgzfpzfVoNGpt763b90ijiiNZq5bOhA02R5KjRxRJ1MCYqiaJekva6fH+u2/RiRoIcggVs0kPqQ2yP6JqxZw6cZrNnRFF1qcqNI20TdXq0d8fojOPDLuEPmdSTZBCEwZtlDaoSlIYQxRGVLZiZ2ODZKqHrgxBGENZ4n2JRlGWI0wMgS0RWqOinx7G+qu+PvKJL3H14leZnTnG2EQsdPtsbu/z3HPP8kf/6g2e+dhHeP/+I555+gSX37nN0SOP01TwcK3J0+f2GAURU/0drowCzEDy9MfPcOXSVXqmpFzZIX5snq/9X9/m6Vdf4cknT5OXhnfeucETszCWDa68/oAXznT4wZ093vzK67x4cpqqGtCM5xiH2/RmWgx3Il6ZvYV76RcZ7w8JdMHmike3HtCuYmYXXmDSushXv/c+P//qE2wMJ1z84du89GSDU605jnzus/zhvzB87qM5avE0e6v3OdrqMRzepT8paSxoGtUivXaOm1iCpmBrdQ9XtHF2iDZrBNqQtB0jK9h65zrN1hT3OidZ2xwx2pthmH8DyoLkva/Qbs9RRBWD9VucO/8y37m8yUc/+lH+/BvvMTB9Fl/4RRb8DS68tUm7G3F1+xYLizlLv/03ufzH/xKUoaN2mJ89yn/z1T067h5/9z//mwxHXd5591/TiiNu7jdRM2e5/tYFwpbldvMZdrf3CU49z+LMLPevX+Wf/ct/xC/8B7/B8WOLvHlzmzYlaZTS7vUY6w2MmmH70SMWz3+BLTthc2j4pxcmfDotmFta4LFGxP2b19gfheyXlnNPLzJ/pEFkJ8x0Glz/wVeYP3yI706azAURif/pbZmfzSH4R//Dlz11sC0QAm8tWkq0rh3xURgQKQ4S8pZxWYL1lM4xLioKYxi5Wm6klWK60yJKNM44+rt99vsjiskEaT3SOWRYEwKLoiDLC7yxaFU7zC0W61xdczxY+RtTUhaG/mhSTwKEqANuIsB7wcQYKlOvO9ASXF0tzIwBWyt/8TWICClrvXMQ1A/uMEQHQf1gxWOqmnpYyAPVswcFBEGMVpI0rY2CztY5B+EdQnjKogAHcSNBhqoGJmlJqCWRkoQaUB5fOirvkFIRBzXWWJi6Tim1pshLZKhrTGteIpxgbnmRsN3C5oIKiVAhQdwmSJuUOQRpg8bUNGkvBQS7w4oHWyP6eYRqpHVyOoppxSGB8jgLMgixviZJKqUJGykyTFBBXaULui2SqS5h0iJp9Qja08TTPRpJQhy3CZsJWoV4m9XrJRVisxJTSZ5+8vBf+/71n/wv/+DLghglAoSqx8mRqb/fuIhSQSgkDl1nZWQdkpRCUsoCbQVWCQLjEUJhnUXhSERAEmsW0gZ5KCBpETVTur1Z0iRBWAU6xEpNmeckUYoPBYmIaU61cSiSZkoUhUTS46sJ2mu8MbjA09UxzbDF9PwhdByT54Y3Lr3BN999k3Kwz1hFNPBEjYRRNkInDazJIBtSSo0MHKPRFnmZE5uS0uUsLD/O7PwCs0sLhEqzv77OeDDABYJWsws6wPoSNx6Ttho4Y2mFivPPPc+ZTz6DELKu0CLAebJhRhBENTPDOCrhYeJ52M9Jp7rIqEWzLShyw5nTc/QabXpTEZKEh9sZU9OOOIppJAItAqocVm7d4cHN94hDx2x3mjQMkSJmYkuMLWmECl1AEAumem2u331AID2b44qXP/EJir2HZNUIHfUorSU4uBfLokT7AOk9UaNJpCWo+v+6tpZAauIwwldjkmZEmiZ004T5mR7Ly8eYP7TMmbNnSOP0Q8kQ/J9/8Adfvn7jESfPnGO5N2JruECceN66cI2p+R7744wzc0OuvnsDLRJOnUqJAs/eMGM8caRxxsde/BRnG45BqZieP8J4POHZF09xfdVw7cE6L3/sE7D9OqEYcm9rgBtsURjJcMdy6mjJ8y9/kbPtHfqkPHX+JK2oAdqiY8/m2i4mabK+dZ/VtTFnHu+xN7KcPXaco4d6aBVyZ+0eM8EMUapYz8YcW5ri2JFT5HKACRaYz3Y4vrhKe26O8fYVkulFVLZDOr3EybNnaEU5SbNNGDY4emKJrOjTm0kRMqEsRihXIeMmM3Nt1iZNcAUnjizixiOmZw9za3fAcwstNneGnHrsWSZ7qzA2PPnya5SDdUb7Y965cgExvM5i0zC89H329GEOHZvl/o27xEOHDWZxDy9x4vQirajkyuVt3r+7zS+80OPVV1/DhVu0owQb9fjan/yAp585w71790nSEVPTM6Q2JhYVS/Y+dx7scO2aYvmZs9ze7HKn73nx+CG+89YVgrljDHb3cXuWRjtmKQko44KVW9/l3FzEk60BKw+3mW0FfOPtexyaSlnfr7i3Kjh6pMHe1ohx1WJuLuX1Hz2ispK56RmGzWcY7V/nlz7/7/5/IRV6tNKEOqhBPt5RuoNEvPNgLEpIvIUqL/HW1sIhY/BeUllJGES0O22SVhOrawlQPimpiopAQqAFURwSxSGBkgdZgtqNEMcRYVhXwIQDXTP4ULru9HvqVHcQhmitDxDBsm5HiJqs6AXIMICDnT2iPpwEUtQ0wYMqpVL150opDxoGtZlQVBZXVvUbundIawCHl/U4v2YaiNqCp+q9qLOWg84h/mB8Iaj9CkhJkRd1qKms6iyBAy8lARLhPDoOD6CIH1gcFUoHGOOw1hMGYa1+RiJ0SNho4YTGGI0MUnwc4iINPsR4yPOCjfU9Hu4M2NsdkbuybnMUGaYck40njLOshjhhsabEGAOBxllPNSkojac0FiqPK+qDC0rVNkgnSMMAHdQcArQgaU7R6EyRJjFp3CBJP5yWgXQSIQ1SVpTKQaAohcIJDaoilg6pQpxWSFHTLAPhkNKjrCRA1B4DQBmDdwXGVQhhMI4ahy1TelGDdtxGGoe3Di0EWmuUkDSjhGHhcLklz0fsj/q0Gw1iHVGWOc5UVHmGtTlx1KIbtQlkRBiGeB3iVMiN3bv84ff+lKrIcNSobZRmMtoj9AKR9fFCETUbVKVh0s/AGkJbUTUSTp14mkavQxglNFodpmcPsXzqDO2ZHv2tLVZWrtafXRp0s01n9hBVOUEUFc984kUCU2IrIK8P3l5AmERIKbDCUjUVQSfGT4UkrYi0mWCqMcXQUnmJFtBohpR5yMbGEJtN2NssKYxnt1SMR7Cyusvdu1fJ+tt0mw1aSYSKYsJYkIYhgQwpyxEDu4MWinYSUIwyCluyd/s6F974ce2SUCl52SdJE4TwCB2jlKWq+vggoJhkZEVJKFVNi2xH9Dop07M95k+c5vTxM5w4+QQnz55jZm4ZFbXY3xvynT+78KHcwwC+XOeTr73CaLDCbtYjEBtoGXHk1GN0O4ZPvRjz+huPmF3oMjcXsrKacePuDkuLszy49ojhnuIbb9/m6yuPiJdmcWKfwfY+w5VNTh1r8YufOMv9G+/SW3iMmbMv8Oxyl/mZozTSmHOnI3bXSr76v/8el27dY5gVeO8ZD4bopIk2KcYamowZjRXzszE7G4rv/Ol3ubvZJ23Pk++v05AxF67fY/7kWap+xJ//+TVW1vfRYo7Nh2t8463LXHl3lf7mhNbRX+bO5WvooKSbtNAiZTxqorOQhbkOPtDMHHqMWE/Tm604duwUabpEiKYRLzLeGbLm56nkAvfv3GK3HPOlz32Ey/dyOq2MuCGYn5vh4y8+x3ffusxa0eQ3fvOXeOWF82yMY969skbemGN47z3uXrrC9OE5GqfnOZnkbG1VXPjhJWa6Rzn1zCk++eIRSA7zvTcvcrKzgLIRUQB/+29/kbnOHj/32BFK12P1wSNGVc4bD3fwnVNk6Qy9cw0Wl5c4vTCk3U24t3mLVz92jO7kKn/6Z3/G8x9ZQrfnWM/HjB7usukTJkPP/t4as6mm13E8cXoeJcaQNJFhwTvvvIstcvJmg2T+NE8/tcjOxgNuPxxy98YFXvnoyZ96n4m6ZveXX//+c/M+UmCMre183pPbkiQKkVJQmNrgJrwnEYrceHJTy49UqFBBzMg5Hq0PUVHMwmybQNU8ACHrHXwURHSmO8QHzHxrLN74mn8Q1mRAHUa1Ua80eFsH77y15FmBMZYsK+oKoVR4qSgrS1EassKgpGJU1SuD0tXug9E4x1YG42s1k6WmI/oDeIlUiihO6naDdTXy2NYEu9JUB5OAumbZaiYkSUQYp3jnGY7HeO9RytVo1v0h1np6s9N1/dFaKmNYOnQIZyxpHNfthiDCe41G0OympGkDJRRRFBE30vqgYgQOgUpClIP21DSzvSnSmS4KTVYatPCMhxOcF3TnWwy2B6yujym9YHZppqb0jSoCbfFOkqQR+d4+AMn0LErrWl3sgUAjqgypIvTB9MZWUPqaDmaLChEGdeDR1Thm42sHuQg0viypqjqxrwT8O59/9q99b/DKYye9VICp4U2eqq7ASY1UFRBRlVV9sLSCUlq0E0hKXCFwqqJE46sJJaKmYTrBTK/D9MwhThw7g0w6NKbmiFGkCzN1CwVJ3KhzGUrUIcNA5ZSENKOIxWPnaSQBe3evoaiw/W101KTTXkSOdwmEoNNdwIQJgRT89t/7LfJmzGQwIIxCSFOUrSiUYq7TJq8EhR0TE7M/GtLr9phdOMRga0w03aMlPYFqMs522Fq5w6Fjx9nb2qKwnnNnTnPzxnsEUQMyA2lIrBUEkjOHjnHq8FFm2wts3bzMUy/9HKc/+1wN80LWMK2hxSmBTiRXLt3A6Ta3H60QRTG9ZpennprHlYrN1T5Ce3rTDeIkAunYzyzNhmL1YZ+1a1cZjQdMLdSmxUnWJ1Aa7xUTcnTWx5WebDJi4mvl9p2bt7lw8TrTM/NEoeA//a++TNXfYm9jCxdFuMoQBY44TlCRxBeO5tIJokCTJBGucqyv7/FwdZV8OGFtY51BNmJvcw2Rewb5BDAYrSjLnN//J//0Q9l9ffHzL/q7dx7x/EsvY2SbRiIY7d1hcXmRRrrIYLSDMw0mxSO2Hm3x2PnzrK1u8nDlAadOnKXT7tGf9GnGGh1NUQxuIHWT/dUVHuxuc2ZpiYWjZ1jfn/CrLwV8840NmjMzHAq3KYsm11dv8eblIUdPLDOjHL/ypV/G7G8ioxh8lzcvXqYEOiJjowhoxBFTM4rVO2vcXd3jU6+9xne+9h0OP3uO4V5JEAyIidm6dpPDzz5HPhxw/fKPOL44z7ZI6DZDBjtbPHXuOFOnXsNUBVMdgc0Fjak2TuT0t/cZlyVr99YZDvcIYokmpDPToVn0ud/f4zO/9Gv87v/09znzzEv0t1YZDHe4cndIW3jm50NOvvhZhnoKV+4i1t6lO32E9Vv3sKokas8wP9Nga7fkzJPPcvvebfZu38NVY/7O3/1t/sHvfZ13rlueObTJr3/uMW7uduk/eovlhbMsH3ucH/3JP2PPp3ROnmX/0QpLx05i3S7njj7NP/z9f0EaSIwpOX58nl/+3Gdozp7gv/3df4wtIv6ts32kKdmPH0fJHCm7HDtxgnevXGZ/OKG/8pBWCwgdC9MpGw8zjhyZ4oWXz3Hhe9fpzXUo/DS5kJzuBgwevc0fX9giDgPc4tP8/u/97l96H/8bSRvee6RUWF+zCJpRhFQwyixKa0xhiQJFJQU+DElbUY0ELiqyLGN9L2OQQ6I8k8qSCI2iHtPqMKgzCtbVBwGlAHFA6gM4EAe5mg9gjMXZWvjjHFgvsAhkGCKcP7AqClxZrwZ0FOO8R5amVhH7mrIYSU0hHTIMMLnB+rrnbwUESoGSmAMmgRQCqeqEvFKq/r3iA1BTrWYWCIypNdGCgwiBlDVQxh2QHOMY5xz9/hAZRSipUZGuDyBRQLc7S1V5lLNEjSZJ2kIHGnDEcVrnFpyicjCsCkKviIRiazhiOkoQqqIYZ5RlQX80wWtBf9Rnc22PdGqONNIE3kJpqPIJVhYIA8IETMb7VNbjEISNJrIbolAUWY5yBhWFeFljpK3QeC/IqxJhPYEHoVVNmLQVQRhgncUWJa4owSl0qHEfYCH/mi/hHcZIVGUpI4idwEuLc57g/ybuvYI0Tc/zvOsNX/xz5zQ57ISdnY3YCOwCuyDATJoQIdOkRFFSWWWyJMuiij7RmeUqH7mKtuhi2WKRIi0TZgBBAjBIAIuw2Bwn7ISd1BO6ezp3//ELb/DB16RPDFT5wNr/aI66p/9+u/v9nue+r8tqwOJUUK13XIZEAwZpJD6opgvKAlqgnEbGUBYwGgoG3SHdbpfYK5rtCZyGfLeL0Am+nhAMc8LxBm6Uo5OUwkkmxscrPba2FMOM0INzAtMdEEUa3a5UWrVUE4eaYXeHMk0RsYayJEoq1oUvfZXlKMG0HM4UpHtOiqQzSaszgbOwur3MbLuJimN6gwHZKGfm4GF2+kPu319jZC3NOMQbwf6TR7CjjM37t7GZIwg7fHRnmVsr90hcgbCaze6AIy8+iorBCYcSAucE7GTYfSnN5jRDk9MbjFheWuepnz9AGCk8ijiO0LEniQU6cAzzglYU4p1i6dZttjcWGZ+YxVlL0e+SZyNcGkPgUdkIY3KkjxBBwES9wSjLOHTwIIuLS+QioIwDettrJEVOPY3QUQeUpVaro4KAtFVHDA19q1hZ2+Wjm5fIBgU3bl7DmwxyhaglDAdb+Kyk8DlDO4DSgZXIj49LxN2lIacfeYqtjS5pq6QzN0ca7GOUFQy6t9jd6ZHnJUZJdnZz3n/1DR5++nlEMWJ58V0mHn2Y6XHPe69fJ2i0KPsDHjxTcurB/RwYHuS1c9dI6+vcWrrDN+IF2rUE63Mu3xzyxNlp0pUGn3lillXr+fDmJn+v1mFns08oFcWwxImCem2eDz88x/zEJB8t3kC6LfAtDs9P8eX/+DIv/vjD6P5d0lpCmKR0twbMfuoR7l+8xE4J+44cYGM3YOi3CZNZXG2OzWiauTQmUI7+cINGPaIUHZStIWQf7w1FsUaiE5LYoaKIetLBpJbj9YTF5du0Jw4S1edpRDHr1zXPPzpD4AVvXVnEvfsNjj37BZZ2NS0fIIvrhI06Sgrm9s2wvLRGsHOT3eVxalOCc1fHGdbm+bd//Bo+kfzqLx3iq296/ujP3+GTJ5pcvKu4tnmXTzcC1vU+4vYYN985x3NP7CPbvc16GfL91b/hxWeewsdNDs+0uHblVXpdzTe/+lecrhvysRahGhCPtWk26hg1wWhtjQ/f+T4bwx0++dznuZDCRDMmmZ5h9eY9atMjtgarvP3ORbK+IZzWqDCmKQVbxRxr/igvffYYrnufqf0/3MnxIycEv3p2ylsPWlW+gtLa6o8Inlo9RkhFWIuw3mFzh7eW3rDEOstq3zAsHZ00wOmIQgianQ6BkkRKIUNF6CFIYjqtGj4QSBEgpCCJq1GklhohJcZ6yrKS+wgPpTN/Vy+0zlKWZZX6R2CBMivBC3pFgTEW6yXeQ16OMHlJVlSAJe8dvcFob3LgQEiStLYXlRI45wiDACR7MJWgEgxZixfVWiNUYeVC3KM5GjxaKbRSWGcYDnOSMIA4IlCa4U6fuNGg1W4RhCG1epu4njI9PUue50gvSDpjREFMXgzJhkO8ccRJjBeCorSsbaxTDEY0J6bAWOrtMWzhyIY5SocUI0eRjRgba9JopdRShTCuako4i8kHeG9xeYFXooLJKIUTKVFcpzXZqUKWpcXaynlQOktgwQcBQgmErbrZXkmCKMSJaoLgJQjroKxGy4S6IjN6+MLnT/0nf7p68dh+P4ojQicwPgehCR2YQCJsZTrEZTjhMTaq2jLO4XyB17LScnsofYDCUjqP9b4KwaomkwsLNCdnODg5T5LWEEJDmtAfDSisYX5mgVojIfYhaa2GiiMip+l2V6i3pmjUBOX6BqL0BM5SSyaJAkWjOUWz1mBoN7Gyxhsffp9vfP2bXN/aIDMWzIiw3USXmvGpacpBH11PccQMt26T5YKDjz5CqmrcuvUhrpch6wkyc6gEtna2MLlj3/wheoNNkqRGUQx5+OyjmGxELQ7YHIzYXt1CSMFkqFnaWCMSASem5viF//LX2Hf2AF6CzwRq2+DGBK/+zWtkAvoFzC+Mc3xuHhVA3KmTdS1RIBCJQ4qAYVbiM8O169dx3W10ItCyhtUGlY0YOkeQNimLHD/q4X2BCnWF+S4LgqRBoRTlsM8f/slfVShnM+JTn/wMD559mLXldd5+533Wuiv4fFTllZSgl1sSXeVjFFDaElsoZJFhcAyHO4gIWrU2aVKjM9YmDKDRGuc3/uVvfSwTgi/+7I/7+bkxZubrbA7u0dZz/NnXzjO7f5axsQzXN6xvl0yM15kMS1b6uxw6fIqb11aRdpnSxQx8nbGG5vOPHeGtxTtMjh+lu73EbGfER6sDjtRho5ygk+Y8+YlD/PnXb9CSsL27ioxr7E8jri0NKGLJf/Xrv4IcObobqwyLHpduLiJdA9c5xcVX/ndurw34zX/+yyyef5c7GwU7QmBGOVc/usk//IlHuN+DzChkFCBGGTsm4MjR/XzpS3/N80/s5+iRY9w59zaP/cQ/QLghIhJ4l9NsjoGLyYZrrK5tsHb3PmGsCUjxQU6RO7YGfR5oZlzYWeD69XP85AtP015I+fqffY9P/+zP8ce//ydsDUt+7OEZbly+ytwTn2BtS3Hw7JO88eXf5tR4i2sbuxjjmDt+loUjD+K3Vrh39w43l3b47CcP8t13u3TzLU60ahw4MseHuyGjbcnpxw8y5nbpLp3j8Wdf5Kt/9AdMnjzOTfkYxyYcO9e+iQoW8PkK9ViR63HeubRK5hI6Ev7+LzzNofkGb371T3FhnVwBOiKtN0l9yrkr95md88zuO8DNxXXmxzq88sabREGDJz/9CNnmLjeu3uHME49x4d5bRNLxxRd/iU7U51vfew+RDakffYJ/8hv/+v/7hMCLKknshayAOWlKrVVDOM9ot0+WlWxtjbDKImWA1rBVSrKhR0nLTCMgCDQDY/AGet0eEkEkJWEtodVuILzg/lYfFSjCICSJor35s0AIW5kCS1dx6KlCD9b66mlcCBAKLzzG20pz7DwmiCjxYF1FPDSOAot0e7bCUGJKQ2EcJSBQ1VN8GBFFEULAYJjhrMNFAmsstSTFe08YKvJRjvcQhCFCaJwxDLMRCEGj2UBLRRjFWO8JVVapmAuDcSVGS/Iix/oKp1wCylpG2YjSefJhjgsCytSws7rJ1tYG+agkDiKidpPMlHS7A8qRQ7YajE+M0Z6Zoh5GNNsNwihA+YrGKJVH4smHGTiPVxblJE54hDcU/T62NEhZtTeMq6qYwvg9BrRA7mmjyyJnmGWgFWkcgZAIFSCdJ8sLhK7MkLKsvi4XVhCrQFQrGWc+ngkBxqCdxmiN9DFB6bChJzKK3OaYPWqk8CCURaFx2iKdxokApEKXFqeqn4dQVNmNwhQMXZ/bN68g791GnHyU8bkxZmYOs9PdYGc7pz07jxnlDBC0j04iC0iCACE07WgWN9il2FbouI5WGbK0hNKiwgjrRqwOS/z2Lrt+h1e/8wMKL8E4tHJIUjpJh77OMBhWt7vUCosIRgT1OVp1yb0r14kbdUxmIBEEQoIcEAdjzE3Os3D4GJ/41Its319m2M958MEHsM5z7v236Q92WNg3w9PPfor5VoPv/uBtFnc3aI6N080HvPwnX+OXz/4zcBWLoRwLQFue/LGnEUpw+a1LHDy8QK3VqGp8TuFliUgUWiuyUtLbGLJ++zyNWkLSCshlQTw1RhrWMN1NdJTgm00CJavz6xRbuxsoFXH9ynWWlta5ef8e/e1dnC7Z7mbUWk1e/sHX+e6rP0COSrb6WyiXkWlFO2ji8ThnGJRDQtfGhZr9nTZhEtKenAedoMMGWmWEUQuh0ipYm5UYOfx4zjAwyrvcul+y29UcnF/g4KNneaLnuLZ4D+ea7GTbNOstrN9Ge0E9bbC+ukQc9klqY9TrCxx/4km65/+SNy5c5OQnnibbWaavWgSq5OefP8TIHuDBuM8b727xyntD+v0+t3YU9fo0cXeZe50nidJ3iWsN+r2cyYkYOTCkcopR7xy1MKYe3iSeOsy8vM7v/q9/QWtyii+89AzvXrxPvTlkoT3G5tBgE8n1u9ucammWb+8yfeYprny0yi/+7EPsn53gT7/2AWna5tlmk+W72zSsZXb+BLW6o7d1r7LADleYn20w7McYMyQvLUEUsXJ5AzsZovNlOn6Xu5sXKXdhLN3ly//+P3L3zlUW5g/w7o1Njk3VePObrzM5rtmuZ+x74CWu3niDtZ2UVj1kgnXExhVurq9z6olTxK0VLlzqsq+2BLUpPvHYQd66co9Tkx2+8/5rdM48g1X7+fb5kNsrr1EUTeyNG6TNASubgn1acunOuxze/wBj4x2uLK7w4tOz7K6s89CZ49y/fZHL769x6hM/xlBPsnk34857f0Ior9Hv7nJ7I+NzP/1vuLOxzUxnDS93eOqFT5Nl69y8cBeT7/JLv/YFGm3B7OJ+bt26zevv/QVlr85Mu8mOKXHBDz/HP/JCIAUEaUIQBUitkQhG/RHSVE+jWIGPFAEa40oKKxkNSyLlSANNvRZhsxJbVGGtfDgi0Jqk1UBqhbOWvLRk3iOGUKvvJf9LU/0CwYPbcyl4QKlKamSqf1uqj2tsWemAvagCelpUSOI95W3hCoTzGGvxssIxl8bteReomhNSEIUBWldnsrMVAAAgAElEQVTkQC9EhaL1jlAGJHFSTUiEAGmQ3qOFrJjpIkDnRYUlDkKU0gRhjEbQLwtM6emPRkjrySQVDa7fRxQ51noGA4VAYqwj6/dBSHRWsLm5we7uLqawDHROQ4aoKCaKZmiNtZk/cox2u06nkdCMI6I4RMiqESJFNdmx1iH3IFKRFhVvwTmkN1VbpCwquJPcC4c6SyAVAlPpl4UDY6vaHRbKyhQodYRzJVZKTOkJnUNE4d43SuJKS2kcRNX/QfHx1A5N6hCqmuAIW2CUwPpi7zxJvPFIrfG+Qkor5VDW4qRGS0UpBA6LCivPuheV9SqOQ4R1CBHgneL+5j0yP6IWThIojU5LjB1wvzvg9Phh/LDAK7CFRgiHDC3tpEGJI/KOvFBoEZNpQeIdIwo2u7u8+/YbrGxsc+72dRAJeeAxxnB8/342hxmm22MzG2L6PUykCZ2hKA0mTtAxSJtXa74kZLDTIw1TQumZPnCUTz30CA0E15ZXKPKCjVtNaq2EybRDOw05e+ohjh4+QC1NOX32JL/zOxn37i2zVRQEG8uITKBigZcOFUrMXmUYCWeeeghvPEJ6jJXIwiNLi89ibGy5c/4auegz0axVFM7ZeVoyRQaSQGlsGuGUpLc94N76OlcvXWQ08NxZuU7kIu6u3KbnBhS7g0q01qwhrGVkHN6mhLFj5DKsySnLEl1a2nWFTjX1sZRGENGoNxBJQLM1S+AlPqqRRZ6GbmDdCOkEBkc+6FWNI/Px7Qx+6gv/OX/0u/8OP6c5sVDnnW9/lytLnunxMcabdc7d2eQLz8/yN39xnc6MRtYS8kwgwoCpdsz84RYv//mXOPHoUR5+4DgfvPMej545zfxhwdf/6gIXrno+/cwY15Y1V95/iwNHD7KzeIeZfROUgeajG2t8et9dikbKG+e3OHX2FuP1M8T1kEHWQ4uQtKEZ9Aw3b61yYmqCh49PUQ5Lrn54gTACWw5YmDnM8vJ5Hv3E47TUKvd2LPm+o6xv3sYsr/KH37/Ff//PfowXnv8Ed+53CcMGU602Khww0ZmmcKvs9g1b26uEMqK3k6GSAcZvMOofItKW1Xv3WbsnefK5U5TrKZevOAbjATU1zUjs8sVf+jW++pUv0w6nubm+gmnHbA/gk/Uab6+c49jCLNnOIs1awM2NHc4cOESaT1MMPI8e7nBJlGz0DzKVOtZGmgeOP8ni9TfZf2yWL3/lNWYnL3Jg3xw7d1eZ2b+fh+d7fPvcXaabTaJDs2xeXeP5yQPcuvEuC3XNeHeNDRnz+uW7HBxPOfv4Ga68fwdj3qd19ARHnniGqJ/zl1/5C8YPH2Pp5d+nLkNW5p5i5foSE83LHD7SoX1W4rJDnD//JkdPT7D44RZPPv00X/7L60zMHGJiHtTmPm5f+OCHnrMffSGo1Rj1R/R6A5IwQmiJzQsKa6sncyrJgPFwbTsnDQUTaUSoq/22KQpKIA4FrjCUXiCsx3tHOSwYWk9mSnpDhxJQOBgVhpaQaB1Q7ol1tA7QgabMcpytiImYPYqic5TWQlHtUQkUEoU3DmcseVGQZ4ZiT2Ms9sJwf5sNaOx1/iWiyg9IiRZVa8A6ixCKZq1Oc6JDXhb0N3Zw1hKGEVIF6DiukuU1TRAEhGmdpJbincOUFVFxuxzhBkOGZYayjkxpiipoQL02wkrYWF3fU+Xm7PYGRLUaQRghdY3WzEHipElrcowo0Iy3WsRJRLuVEGpNpDVaCDCmwvLGUZXN8CCVItW6cj+UBqEVoaiyGULFaFuN9sVeliPZy04oY3BFhsgNQkqSICXX1fvtjMeIarduSkBVGmibF9VFzVbGSu3AGIfSCq8/HlJhREjmKv2xDTzKQG4ciQ8JHfhEoWyVa3HWY2QMaoQWqqq9aoeOqrS6DyB2IeVewyMIS5zSOBUjRiPKpW2uZq/RrDeZPvQAKxurTE7OcW99gyljaLWbpLZftWCGgm4ENa8YjDxWh3TLEe16SB6GvPvWW+RBwdfefhmTG9KkBYHiV/6Lf8z8wYOMho4/+L3foUgTmu2Yop6S7RYYr/AiQwvFRDjBdtGllSSoJOLY4WPU6jHPPfUkp04cJV1R7K6vsCElwVSdZLTDTDPg5KGjiNIwc+ggqh3ByKJ1yL/89d+AZqU23rm5Tjl0yACcAiUl2ovqEo/C5yUECmMMqlQsLq6g63XCfA0tJclETNT3vP7+ObbXtlhZW2Z58y5x0iZpNZluTmKDkjKzDMs+gVHsZBnbO5u47U18oDBZzmBrh145JNiMiJwjjfcR5Yq8FLzw2eeYHWuRDQwSi48CQGF1TkCEEinGO6zwKAs2H9GwDYwvUErhhEehEXqEFjE2+pGlrP9fX1c+fI+f+cJPcX1xkasf9Ehrx9hd+oDB7hjHnh3n7KFxXvnG2/zEzx7FFSk3bq1SmiHTccrDn/xpvv6Vb9CeXeDCd1+n+dMJM23NK6+d4+yTY0wsnKS+9hZ3L3UrAFQ6zvSRE1y9tgQuJ1+/x3xzhmyni2hOceahWSYaClFXVV219ExOTFBKGHVXkVJx9fYNHjqVcP6Da3ywBWkT0tYEz0wW3P1wjYcm3kczxeXr9zm4EJKEI+7qBV58VvHN965x7cYr/MN/8VtkxQgfatKxDoPRCmZYUPRXsaMuWocEacJWt2B3MMOJg/N86TuvcHu3xU/+9AN88/vneejoLLVxT7efsmOHPPHZR2DxKj/92eeZmz/AV/6vHmp5mXrD8ea5N3n47MP84R9+ixNn97G8uMoDpzvsU1uESY3f/p//A4Oi5IVPPcv88WNsFEOGWcjGe3/GA098CnFlkV/4qTNcu3YNZQe0pxzP/eQL/Pkf/TGDIuLwoXkmTh9Bf3Cby6v3qU0eZ3YuZOAN8comM6mkyNb59st3mJs7TNhq0TQW1Znn1vKf8ZlfeIhie4eytY9ukVIvVplpXOLgo7/C4rn3WEhDJh99hFs37/KDb6wwN2E4//bXeeGFx1i8d4+JiTNsDpfYd2z+h56zH3khyEYFWWHQUjEwBmFERelDkRfV2DlOUnrDAikkDR0QxQGRUhhrUAhCFNuZQQChqHDA1tpKlBRIrPd4AU54rLdYY/C5qapVrloPSKlwpcWW1RN+aS3eOLRUCCmqlHjpGZkC5TWhU3gEeVZSWIctDMJ6rATrLH6POaCkwsn/Z3IgVLVLN9bsVRhdxWCoRQyKDIylLAzVu6CrfbEICKIqbBYojVIxUgUYcnIMprDYzFRNAqHIvNlDQkOgqpVKGGoCIzBCIKIUEcSVcteHxM0mk3MLNNIazUYNHQR00oggUIQCtPd7BkX20M9VXdR5U4GYBPi9yYpGVnt9ufcgT5W7EFrv1ccE0lXip6o5EIHXgMdLSxhEFKaqaFpv8Aqk3cNG+yoYiooq74Q1eKHxzqGdrKqYH8OrT4wmQHiHMg4lChKfVogrBc6lCFdiA0ckwYkhTsiqPhtECFcSSEUpC5SXlAKcy7ChxgcxMTFCQlCP0CLGO0leFGzeX6LTbEE+otfbZqzTQghFnmgiofBlSWgcnoLC5BijuPjhBaYW5snKglcuvkOj1iapSZLWGKfOnGJqegrdz9m8d4t2c4H/5r/9LRavX+WVb7/Gbq/H9FRMGEi8VKRRhJA1WsWQIwcO0m61eO75x4gbCWP1FrIncTJnbHyOl/7eL5LMaPLtAhkrTOHAl4iawMcFcqAJ1zyjdoHdKLE2YGMwRN66w8zCGEm7icEiQlHVUIsCUPgMEIL1zS49J9i6cI4PLr5PFAacP3eONE2ZmeuwuryETjocOHiy+r0RaW4v3cKIkshoynLA7sAQCs0wLyl3tlnfXcU7xZEDMzzQniBu1rh48SZmmCPCgPFkHIqAeqODowfSVopr60hEDCqkHGWIUKNsJcQJggirMqQOECLCmiFaarxTFHiqH6iP5+V34a/PvcJYWzK7/3GarYyHP32a5etLfHDzDnfNgMf31bm3NCIqdplvaBYefpCLF7fw3ZtMTs9x/eY1ZG2crY+uUm+GCBLe+85lfvHvP8OHHz3BldfOEU/cp1uE/P6/+w/83BcfIV/NaDUtie/gJiIun7vEF//Rz/HR5Ws8/9IX2bj7AaohCNspaj0nsi1Onpxg/ujP8fIHb/Hcwyd4/S/fZHz6LKFd49y755k4cpTfefUe7Yka//zzR9jpKr51pY0t1ri9FTBZG3L2zBz1Tof+9ibWDBk3M4jQkLsBW1s50nj6hWBnZ4T3t4nCOnd21mg0Wxw6qFi7vsLYmIfWGK+/9jpPPXuW4fAgm3cLNpd6vPXGd/hHLz7PtZs3kdrTUVMU/Zzf//dfpd3W9FczTpx8hEJa/uIrb/PAmYNMLbT54q/+JIkP+dPfe5nZx58gW3yDsckDXHr/dVr1mK1Ld+j4HFGbIJ2b4cBkk+MH2ywcf5y1i+f44OWSH//0Y9zbrFETS1y+2We4eY0HHvs8Ny69w073Os88/BJxq06tlrK+scPilZs88/BTLK+tcaknGeZbZNkqD504i6/9PJsfXcCWklu3PmBz4xbf+/AWj545hhNzXNvQuM2S6Ykxrr7yZYKpDq+/fo9//C/+38/Zj7wQ7JYS6zXeUhn7BJi8wDiLDhRKKFZWuwydZaKmKYXDWchNiTGGMArpDkYYL9BSIvbc1aNuD68kopZiEOSjETrWhFKihCAb9JGZRoRBFSo0HouktJbcWvKRwQuI4wDjHSa32LLa00tZEkcR3nlG2QhXOgpXXWqKssA5hww0Oo5RQpAPM7Tca0woRej2Vg1aIxzESR1BgHACUxhU0KI5M0aYJAjrCENdiYuSOsZkjAY5w2yE6A8p+j16ZUZoBbRaxEiSvCDWIUmrjVIBjc441BJk6elt7+KTBu39J6klCWP1Ns12g/GZMeIwIJIV/hjnqnRtNsQi8KKGU3rPsSAZDAbVN1cpEHu0SesJlcY5QHq8oxJWSVntz4VAKYWXHmkcRkhUGiO8QyLIsgwhQ4R24Ctqny0NVlVZjdJV9Uxv9i5rQuKFR0gYFSO0/ng4BEr2CXytysMog3QKHVZqb+9rpM4wTASq1BjhkF7ipcUiEKWFOAARIo1EKo/XmtBX6zOlAqKoUn6H1DDeEkmFsZa818UMBgi5jI5jtu426Q8HTEx2GJd1QlGQC4mpN4GEUb9H3Iz51lvfwY0yZsZn6Uy1mZ15EmmgWWsiC8dufg/ZF5jmkEie4vShM/zMb38WN7RoLXF9h0gkOogQkcUJh+hRsS/KiDB3+KUMa3PyBqjQo4MWxgjCWohqKrR1oKrMjCTHTUp8BxIZ4WTKxo1Fjj8wS5jU6A9y3n37XTauXEeOTWKcJdsd0B7rYKTh7q3bSG+5eu0qiBJRjtBBnVrsMKNtuv2U+niHlY+WWL51E20zvK64FnErZqw1Rr1RY27qMDLR2MGAonyQ+tgUxozo93aQtiRp1jhw4Chf+tOvUptcYBRu8fo77/HsM2fRRIyyHUZFRlSrYY2iFDk+sKisxCUJdVllTDLtCKQmxxIIxagoSNM6pszx2cd3Idh/6gBWLzI2kdJsldxf9exe/4AHj55gfjaGYcadrYgPXvkuD549TC4EW92AU5ObWPkCY3OLvDj3AF/79i1umhonk3k+81Kd77+6zbkLXXY3tvAioXPgDKrhODTXYPHqJt4KHn/gQf7422/wuacPcfbJp/jal17hN/71PyXPutRnjhHnfY4fOs1We53B7S1sL2P15vv0erv84O4V5qaazEX3EekYBz71M1y5fA3T/5Dpffu4vO5pNjQPjfW415ihv7vIA6deQBUrtJI2mpyx5gEasWVt5TouN5hshCAl62/TnLDsbLZI603+u//hf+GRRx5nkK+wbmJOPHCC3Xv3GUQLXLl5n8OtDFUXPPzZl5hamOXu8jbz+6Z59PRJlq5d5v4g4OD0OMefeYELr7/CR+98i8mFY7SPneGPv/Y6YxMxdy9ep9crGJsP6ETr+LCk4zcQC1PkLuFeMUOn6eiOLOHNPpevXmAwzBhuW5K5JxAfLfLdr36HZx9twtgDHNs/Tnc0wfLNezz96ac4/9cDBnnBez94g7BeZ1+7wamjB7h+e4VQ13j80Qf50ne/ypGowdLqNdLaMvNHHuf+W9+idWSC/qjF4UNjbHc9u/1rnJhtc//qdxi2F+jsO8Fg6x7b/PBp7Y+8EHQLW9m+BOTOo5SqPPfeYouC0At2cVXQyisCETDMCmKtkDrEWHBaoUpP7g1KSNze06eOQswoZzgYUjqBsJJRYTBVrQFhHb4sMTjSeg1Q5IUjL/O9CpDcAxZVICBjDH6PK2Cc25MXqSoQuZeilw4QDiErvK/ztpoIeLBibxy4N07XQYgyiiBOQIWQFzgjSDvjBPVmRTgTkjQJ0JHGK4kvPL6b46xllA0qprwOEJEkqbUIw7jaZ2pNWqsjRYBKGui0hikMoieoNaaZnJiinkZ0mk3iOCTWglhUwTdfjQAwZUExLJBK4VVOoB1/S5XUsgIkib/9elwFT7K4amViqqd1ISuIk5SVUhoBbm/6UmUPqpbH3zIYqsmJqL5H1lXIZ+/RvuqkayExxlRjYq3xCMK9zkZVF/1P/5JeYKVCek+gMrxMKD0oGeBlSc8XpEWM8IJSGYy0BFTuCRMLQilxzhDLqpZpndoTW2WMcoEWEmoNSgoiHaHxSBXhHRg3wvkxhBqxvrtDU/UoRkPuO0unNVlBuazA+BGmuw045qamEa4SWpnCY3xGPUpItEYNMqxS1cXPl/R2V8n6axw4OvN3PBC0QJfgRwbX3tvpDyAqYsphiVOOoeth2prGgTGEtJCBCKtmDTiErnI23nnwMV6C0pbN3YL+xiaLN++yvrbB7cW7DPIhOxur5N0B9YkGcVRjmBmiKMZqwajIGUtC8mwTqRIimdAfdZF5jhOW7M5NxsfHOXigQdyYZ2JmjmaQoMMQFYVYW1lFNQpTGsJ2h93NFYgFMW1I67hBFyMMU82Yw/sPcW9lCb3vLDK3jKxHJwGCGJlbfGkQwqNlwMBV4qiw9BgfYLUiVBacQpoMLwLqSY3CZQgVouLyYznDAGVecuz4swx6d6gLQ5AI5ifb+HKXyxc2kHaH7UHJ4YfmCPEM+iOmxjfJ6ydZWx+ycneRLRlx5tgBVlbvc3+nx7vn78JwhyPTm6RpxsL8Pi6dX+fzn3uQH3z9Oq2aYGL/OFcvLnJ0RvDe+ascO2xZODDLzPQcQkjSeoNMxdRaG+Q2wCa72HXLUm+LwcYWY5GiKIbse/ApnnvyMW68923eXNymPb+PT372Ofr373B/a4QJpjg2GfDmYIZdBLfOX+f0c9sEMqDRAFeAlDU2N5fxDPBiQBBJ7MCiXBUElSG0E0m3J9kdbnBuw/PLLxzg8Uzx4b3bDIsm3L8EoyGdxiTh/hYn0gUGfgOfthiu36e3s8GvPd3kmed/nXvXN6i3U2o6Qwfj3Lu3RJHlDEkpoxHl+jbdkcEmTdavblGaAb42T7MxxkwnoOtHbC5+RJq2uPLG37B//gATHUEnPsHbV7u4w4KnRcIoalFsf8Qf/I+v8JmfeInRxjJPfeZnuHrhPUo3ZGPpOibX3NrqsrryPV741EsIlXLtynv41TWGa9/n6LGHeeXCLWpumROHHqYoFONzD/H9b36Lh85OsnnvOp30YdZGDab3t3/oOfuRF4K+iDCmxFlHGidI4ymLrLKHGRg5x26voFGLcHFMHkgCA5mH0FR8YYfES4f2msLLysaWxOTWUvT7lbynrIA92x6iIKRoN1BS4rwgCGIKI3HOk+eiSv3Gcs9YF1Z5AjlC6AStbEXbkyC1REc1FBJjc3xpsLYSFyE1pTdVI0EEeO/RKkarkLjewnkIZYTXmnqjU/EAghRnPLXxcaTQVU7AGrCG0hSURYHyBd4OCVUdEzm0diTtEKk0rUYHXQ9RVBcYS4CQIXGtjVQhtekm6khIpCWtWkVujAJPLC2yzChKEEZUFwJvq/VFVu3sDb4CaQQhaEXpSpSUYEy1HtEaYy3S2j38fPVxvKBSK+9plaWQe6rrvQuAqbrm3jhcaSt6vXMoXwUghZBVRU9XSt9CVpcJ53313giJLaoaphcfT6hQixpeltUKyoQoFxErgXEe6SHwAU4XGKGpO00m/nYXrklcdU4CGRAqR4lAR7LKF3hN6qv8DL1dfKuFxWO9QWmLVHUUIYmySJGiyx69dUkWbCNUyubyIkIIRi4kSkJGO2vgJSII0IEiDFPKckg9DsEawNPF0EQgfABWopShMCPOf/fbCBVx8JFHGB+vk3vJaNfg74yIdAh1hS9zZEdSAEU9JDKwsXgTEScIp+llXW5fv0t/kP3dz8PcwQVkEvDmK+8QOcG5i69iRpbMbEOpqNVbBPWUMEjZNttsfnid/nAL4z2tWoMoSajXNOLQAZ5+/BOkScj85ATGFDgrCFUMcYhujqNHQ0SqkC7BW0e3qLgK28MNgqSOtYamhe5wlel9D9Mf9BDaEueCvNHEjWBr8yaPPXQY4y3D3V3iJORLX/pz/sEXfxEXhpQjQ5FlmGIH1ZygEc0gkoKs9ChKnO2TFaqqoRYClUCejxgOeijhSdKxj+UMAzx0us21a5fo1Fucv3KdJ060WRSnGPS2mZ8TLN4siJs59fo0S9dWmJ4PuXJtjflZSSfZIbMznFqIsL2LTKQd1gYZqpkQ146xvLnCqQceJbv3Pp8LLd/7xvc59OBZTGZY3rjDlXuXeezZH2dhdJW8mfDXX3uZ//pf/SYqloxKQekySiJorTFRj6gfP83v/W/foyxKriho1Zv0BzmbK5fZWrd88uxRzj46x5ULd8h9SCPw7A7WyZqf4YVn7/Pq916hn1vqtQZKGKTNGPW3WLt9i7W1DdY3+3grKZFICZMHZ7l7Z53/6d/+G96/fIMHZ4ds9BusNwK+9a33efzJk8TCcvKpk9y6lpHvZhw4fprRTo9Bf5tGOsZ4OsTHMac/d4aNuzHvX/822Z01jjx+lFtX7nLqwUl8uY+iXWd0N+P+zWusmoLDDz3D3IEpbow2qPmSz5+W9Lc2+D9eWSGwGQdOP87jD53msuzhNnZQgwi1vcjx+f1k+SrXlweotXXsU1/krPojxrNVRjIkunuRqUaLYdLizuY2L33iaQ77XXbWFrhz7zYT47NI1aC1cIC0rhgFEQcn2qxtDKrVSr7FD84vI8bGcNFJjr+4n9FQMt0w9C7/4Ieesx95IWg2W+z0BggnsIFmZAuUCvHe0pWVBTEXksRA4RWhk9i9nj5RgEKQWYP2AhxYqRECSivJcseIgLy01GopUgrCIKpGnT5CyIhmrYXUqhpxWyo+QRBWT21IlA6xeGScY3xVbRP4CmCiJFpVY39VjCilJVF7z8hC4q2p8K/OQigIkzpBFJO2xvAemkGCiwLSepMwCHFhQoAmadRBCtI4qvgHucHYksEoQxclzgRYX1Krj+G8Iq7ViYKQKAoJIoUtSqx15Ba0jkjbHYIgJE1ipCiROJR0CGMqQIsyBFTBR+X1HhzOIPfMiUEUgJJVSFLuWaC8R7BXzdRghUUiq3WJl1hrq4uRqBQ1eI/cMzwKCUJXFTu7x31AsEeX9FVyXFTTogqfW1UW5R63QYiqugggld6TUcmPbfsaelFdXpzCqBCvHMLpKv/gc4QP8QFok5DponrvrEEhcbrKwUgpyVyGNIKyloCPUT7DiYiSEUkZ4Bw4PGlar0yAOkEWoIKIKG0xGGXU6gki8IQ+ZOgNUili6SiHfZCSQCToNARhiFA46QiNxChBng+RxiJqTVKpCAODL0dIwDhHpAuWrl0ivz+GqtX3MjIB+WAVaToUkSXYKbFIRv1tstxz6eJFttZXoRSsdTfIBn1K7ar1iK7CkvsPH+b9d3+Aw5HIBJ+PMEpTTyJ2t7fIl2/Q3R2irSWuJxw9uo+gVefI/H7G221mZ/ahhUXFLWq1GqIEIod3kmxkSEKF0RoXa0ojMUWPAE0QWoZlSRy2cC4jUBG+6JHWOkivaLXb1frQ7RJ6RSAMenya/u4dHjx5hLcuXGJgY+zAIGNP0CsRgSYJQnZHAaocIpTDjiwuAYygFBIZhvgcrNlE6ZkKEhU1MIwoPiZBF8Crb91ibmIM4h5HHzhDz3TxbHDz/TeZO3qIeGwWm61x9d03KUeChSMnYXtIs+3Z3FjhwNg422RsxCeZzje5fft+BaUKJO9fWeNo6x6XLgwQB6cYP2BZW10h27rL4cceZ/7waa6cv8KRTo0r3RoHD80Qpg08Fs0Q5xJqE4coVwrK4j4yGNEf5ix0IpSUNEPJYH3ElZ1F1na2WT33Dg89+E8J1BrNsaMEcZ3hNZho3eT//MN3CFWf4w+cQEpDoi0Cyygfst1dZXsnJ3Ca1nhKtyvxwrFy9wbaDLh2u0AMN3j/bp+x6RY/cWKO3eNTNHXGjU2JcitsrWwwPdtC5cvc2tzBZo5JGeFDeO6LP8vrr7/J507mHGkpBqePkzqNaivOn7/EtVXJ4UP7OPHgk/zMS8fp7eS8+c47FEWdditjsJ3y+uWYWHk+9bQg23F862/e4l/98mFefnuJQ/uaTNc927t1RldXEXWJNm22mg3Obr7KwokjrG/v0ppTZHfX2BI1ksxz+ug0w/4SF997lRs3lxC1adbWt4hbc0yl0N+6ye3rWxzdd4osjej1uiRC8Nzjz7O2usrSvSVG25tEYyGbIuWRTzz/Q8/Zj7wQLOw7xpz1lT7WVXUr7w2UJXnWYzCqEMAyiomCiiYlZfW0iAeHJc1yvKz209oJVBii0hY1oQiCKuwVaIXUmiisI6KIOGmADpAqQMoqIGhdNdZ3QhLpymEgZIAXgkCFlN5VVENrsYXBYlGi2qs7VyGIndxTHouqIy+cxyMQXhAkCTIMiOKkGiMGGiUVKgwRSleAIiUI9pwISkq8c0gvcAYyBTAAACAASURBVEC2JzEq86yKXXoq+1wSoaVESV21K4qKtmipKoxJI8Y7hygNxXCI36v94R1S670Ip0SoiggnBdhAoZQiikEHuvojjqg+Bx4hxd9lBDAV8750FuVlNRZWek/Z5KunUuHxSIJAVmsGrfDOI1VVz0RJ7J7hTu/hpZXzlKYEK5DO4wREQlMoSyj2Lh1SofY4BMp/PKFC70Q1wg8NsRdV7VSPCIuYLFLU8gKTKwwF0kuEi5CxQXpBWQQE2hJoxYA6SeRJZFURtVYhwxqdMEW6kCCNkDKgdCXSBQTKI0NDXE+JpSHqxMh8QOybuHyEjxUECh02iKKQoreDlRLhCjCasCEQJCTCUgjQPiduN6g1YxKlEUpRb9Qq73ugkFJhEs3qYJdseZPu5irvnr9IEEiW15ZY3VghNRYdafYfOcOVS+/Qbo2RqJjMjzCDHKtSpC/xeJJ6Qr0zxfbKHVIv2N7aZHyiSWemxYEDxxjvTONCCSHouAmlJXYZTscIFPV2g0B44qiGEgKdNlG2oChygrBGWWaELY2wnpp2bG0GBIkiiBt0B5uEpSDwCi9KCuMxgyU2t7Zpzx5jJHahz95KTjEcDZEe1ESLxHSQYcFgq0vY9jTH27z+2hWeeP5xamXG5taQKGgQ+ggfawiqyVotichGWRU09ZZBYxwVRBgh0HGlVK+oIR/P6+K5N4gfeRrNgGY7ZGV9k0jV+ZV/8p/xrbeWefhIzIUbCQvzR+kPt9nZ6ZIVOdduF5w42eLdD+5jFmqsX15iX6OkMzmNGxUccrc4+YVHuNNt8eO/8gTf/+bfEEQNOtMxH61qjk5McX/5IpP7D/PupTd55rF9/OJv/i5hoClLic1HKJUgsj6NRkhncpb1jYI4+r/be7Mgy67rTO/bwxnunHNmZWVV1jwAVQAKQBEECIAgCVISSVFkS1RTCpFttxQhW5alaDvc0e5HOxzhfuiwHNGKaHdosLtbrZaopkSKM8gGQYAgCBSqgJrHrCEr5+lm3vEMe28/7JNFv4COkKONfsgVUQ9ZeeOec2/tOmutf/3r/wcolSynnvkQ811Ff+EnXG2X6HQEJ47uZ2VtA6EU5dCQpuNUSiv0231+/mMH+HffvcLvfOaXGKwGVIIGC/M32Fqco9VKQPSoD5TJ0wgqfeqN3fzZH36ZFz/xIW5fvMLU0WmeODpKM6lw/dYFzp6/x4GTR4htn+VrlxGixdjkMGdu3CTUAf2e40ozxiQJ9XuLjE+UuHHnEptmFxfPvEvSWWO4VuPDn/g59s2fo2VLTJkF8v4+TLKJba1x8eUzPPTMaSrTQ9y90aTmUt4+c42nTz1E+fAp/uDLX6Wet5meOMbNdy4xMVCjHS+xse7Yas1RsUOsLe5ncxYGSps0F5ukA3sJylWuX73I7Ut3GBqvsO+xD7NqrjEUdeiYBrWgxLnXbzM2mfPch1/k+sXbyNxx4rGTrC6s8e6bL3HsxFHaFSjVLca1Gc7a1ET1Pc/ZzywIhnfvByGxQqFdYWST9nA2I0m6WAHGgJAKpMJagyJHWjDCkdvcM3mVRkqF0hFBFBNVGt4fQBisMUQqRKsAHZe9zaiOoVApFNIXAxQqhMY5AuXNfqQskrZSGGQBbzswBuMMUgQgHNZZHIVIkfXqelp5YhhSI5xDh6FP+Mp/JUr6tcRAB2jlZYYRws9pESjpO2JfsDjCMADrMOUIcOTGSyPHJV8ls20Ym3s2vnGWQEhk6Cn/LvHkPee8HKzEPGC7q23/56L711oi8V27VsqrNVnf5RdfFeBdF7UTOOd5EbKwlxYuxxmQQqK0wODQwq8LKql+ajVdiD85C0r61UKE8SOILCdQmtR6HoNwIAOFzL30rhYSa0FqgbM5mcn/Pz4S/24hJaSyi3CaXCqUA8sAkPlZsRUoCVb7sYvOvSy2VQGylCHRCCGI0MRSeL6L6IMugbTkqkQcaIzNMZnDaIUOM6xooMIQp6BtHVUsygVkLgUFkQThNGmvRS9TlGRAJjOsiFCRJlQldCApa0MlrCLynKg0SG2oTFwKGRrYjYgrbK2v8O7dOW5cucH8zB2GJoaZuXmF4eFBeksrJFKDgpoJyGyPNDWUanWGx6apxprWwoIvtPsphOBUTmgjqkpSUxljgeXYU48wMFyjXh/EZQ5RatBP/HdmRUa9OoqSEf3VJRLhk2a1XCEwOVmgKCd+xChFQFTV4AwpAXmvT6w1xsboKCcTnoNRi2KMCiBNcBL6vQ7JRodKfQCyBGUj2rZLWYeIao16dQBMF5EaTBCiFUzt28uVO7cZGDvAW2de46lnjhFFIRP1YTpJ11u4W01fhJheh+XuKvWhCY+clVMCY7GlkDCBfn8LGUSoXvK+nGGA3/7ip7l5b55eu4STjuHBMn0pOHP2Ol/69Rd5440rDFcU5Uem+dbX7vHw2BhHTj/JD8+cZ3d7kD2Tlpl334axCXRtiGBkF3devcETjx9nujLE9y63WVu4T224htncpN9psWd6nHd/8grBYIN3z/6Yh46e4ov/1e8QiBK9NMWZBF0OUCJAZRl5MsRAAzr5Ji8+3eDuQpdymLN57gq37nV56pihNr6XPIKXr6WM63HaK2cZOyQpN2osX7+JinM+/QtPMDk5QKAMqTUo6VA0wNzHpj1ko0E7yxgaeoh3f/AyHzq5D+MsF67Nc+HyIofHNPsP7mG1ndI1HZSCDbWXt378KnvHK1w+v8V6N6PXWmBy125kssH9zZxo4S6te/PIkUH27F7hyUcOsjRf4dCTDd488zoL64s897kXeeXWBU7WHa5V4yOf/iwLyyu8+cMfMjYesDY5xa1bZzny6IfZ9chBzr15gYGgyn3R55svvckzp07y3bde49CBKQ7sjfjBG+uMH4yYuTvP/oOjXD4/y+TeEczdJcYm+gycfJg7c22uL64RrNyiMlxhYOwY/furrK3f4tjDJb75nXNM7YITj77A7VXB9Xd+jFAVApfzlb/9Lh99+hHu3Fqk2e8QVPay2r/JL7/HOfuZBcHE9AlU6FX8vDiQ9RbC1s+UHQIVFIlSeSthl6Ve6jVLsdYgjfWOg0qjo8i/TnvfwlxojDF+g0ELZBCikN6fwG3fYLH7jiWzBonwa0FSouKoYMcXsDkWYX3q9SKGAbCdRx3WWoz1jHoZeIVDDL5o8PR75DY8XszTpVL+GloiHdjcw+9SCDIJYRAgRHGPziFM4GHnQKGFIqoEKOWJfTjnVRZdkYyV90KwDmzJUM4ir8zoimtI38Uba5FIlPDw8LZ7IlIghcBZi1MOhEQ5R1r4BggpsIFfFEUoDDnW4KF9JFr7BIcQpNYbQaV5jhSFH0NR/EipAM/PsFZ6wqKQqCAgEN69QSF8QeHwBU7hP5FZi7EW/f4ABGRaIGTZr2TmhhRDoGMIBdrldEoRkUtBKqI8xGqBkEVBmGucdgSBIhMZqJq38o4kcZ76TYrIYZIu9cqAl8GVEilCgjhCSEPgFEFmEHlGP9QMlgcxgS8gddxHqRq2ZwnCABGXqVQHCQKNlSEqiEnbLTqdhJs3zrNl7tBfW8OVLWazR7Vcp2X7VOMyeadNB4FLYrJ8na2Woe36hIEkX+uS5j1c19Lp9Int96iMjLG7OkZ84jBjEw0Gq6PIsIzNepRCgSuPUx8cIo0ljfIYarNNVxiSANq9NlFZopKUXAWEUiNLIW64RCSqhLrsDc6qNaphmcQKYtpsdFKqIgYEDRR9ctbznHxrntrwOEEQe+fNxFCplCAMyV0L7Sx53GCoMkRXJARBmXpXEZQUGak3quoYXKOO6A/ARpPTp44jlWFpfZFqtcYf/emX+c1/+BskrJMnOf3AYftddFhBVWsQh2RZF6EzygMTlJNN2hlgtpjYvYfm2jLvE8gFwNnrHfZOTXL8QI/FjTGyWouq1VTDlJe/c5Ur5y+z91DA4lKDhx85wr2FPiLcZGV2kVt1yRNPPsrKwhyf+tgjvPODHzBdrzHwwREaBwe5eOcOauYG+174BLPNmKXeONpssns049zFJfafGOThx57i7vwd/uk/+UdEjPM7v/8r5LaD6nRYvn2HPcefoDF1gNXFFRo1yf3NjE1juXr+Lr3lDR6ezthcUeiBHlmrz9XFu5jxElu1BiP7V7h6YZbJ0Rqrmyv8zhf+B2x7haSjyNIOaaLZ7G7Q6yQMjuxhZbnJ0OgE33/tJSrlMUYmJG++9jJTw2VMmpOXJzl46jT3ZjcY1zH1wSHWb19n//Qog1MHmTn3Gh985jiXL9Torc0wt+HYNzbMB06P05sO+PbZJSbWJOtmi5vLG1z/6hJadvnwc0+xT80wODrAqy/9EfWhiPNnFBONiKgRMNrYZGJonDfONlgf7/Cv/uwdxsxNRhqWX/u1X+Xdi9cQrsdHnj3FRt5jZGqM3/voaXptx1e+fYPzl2b5r//hh1huD3Lum6+yubGImE1IbMKnHt7H/X4FOpfZdAEj45plXSOrVPjS7/w2Wa/L8soClQh+PB8y3RjDlTSPPjZEV4QkpYhs8SpPPXWIu9dn3/Oc/cyCICyXEVpiizkquAfCQkp42FloWXSfhdOPMTjniEyKNf4hjFa+m9c+eaIUCElgJcIJnN9c9xC5EChLYYHs9e20EDgHcbE87yQPEpKQhbIZ3qrZGc+WFgKk9g6Nzm+d47btbLW3OBYCv5NfdNMCgTU+IVq27YsdCIewonB4g9xZyCw5DkHm0QK8Ja0yzhcj0qsVUCgk+gm9t3H2hcZPDZIEXkdAKuW7cSEK22OwzhJo7UWVrAHpCwDhwBZ2zrIoxoz1WwTbBktIhZDaawAUgkMUmwpCOUzuvEy0yVEqxFgDODJnfALFj3o8yVAWasYKVzwZtw2LXLGJ4opCAPy9OATOeDEE+z6NX4WWYBO0gyzQBE4gsAROYLRG2x5WevVAI8s4B9r2UdahFaRC0iGn6gKwBiEsuu9woUZKS1AgI0IEpAp03kOXJDIzaECGDkIoV0epBBIhq5RLinIAcVRF1keJSjU6rTZbzSY3rtzEOcOdxXt015soUcImCb2kR2m4BkmHLLGIzJH3OxgZ0llromO/ythZXyWQIVk/wzQ79E1OqVRicnwP00cOMlgZZLDSIKyF1KoNXNrHxn40F8YxoRhF522CyVHclkX3FYlsYp33KAkzRWQ1TkOWWnoO8qxFXaZUKoOosAT9No2oiraWtc0tchXTswahQLqcPAsw0pC5LgOlCjIeJu0ZHAmByBkaqNHtGnL6iKRLuRIzqEdQuUX2HJndIKyPYJM+UghyI/x6aN4njCJEpYHptThx/AQ3vvcysVZ0NiRBSdNZMsggJm4ldE1KKbZkGThjiLQkSR3rK1uMDNSIpcCamLX789Trw5iR9/Z9+U8d4yPDNGqCThqQpV26nR6beZfZ2SYH9+9m4tA0w2Mh6bLlxo1VWq026Z4hPnh6hMW5VZormzSbkq/+zY95eM8eJg/sY++BvXz3y3/ActvxG59/ge9+4weUxso83FhkpjXKYjdi30NHeOjgMP/xu2c4duwoN65eY2nrLhN7/lfm79/mxuyrNIb3cuX2RR4fqlIeCbl+cZ7ltYz795ZZiroM6hZaPsrQoRDbSzh3eY6wXmVmdpXjxxu8/voiexsBLlHIdp10qwt5CKqFkT02lmaYu3+PzGZsrs0SjUyykSWsdA2trRn2HX2Wxz74UY5WVrm5NcDdu3N855vv8MzzB/nIoZ/j1rvfI3JVSr3LvPPaPIPHnufanYzGpOPaXIWDh2s0c8nr373OGxdu8KVfeY60t8aRxi5s0ubY/iHmt9pcu36RsdIpVK+NLMVUhw5y4OEBtu6vc+/abS4sr3KqJPh7n3yaP/2rM7zw0SHunm1wZ2mWt773DVoy5he/+CL37iX8+V98natvz7B7qMHpJyr8xq8+z73ZPfyHv71EPLDIYx97nD/5t9/j13/lSdbmFzkzk7Bv9CbN7hhn711Fy4yPnTrM3aszzFybIU80LzwzwfxNydRkHSdyPn70MLke5ievfIvpxgiz+57m4sV1jj38xHues59ZEKig4m2M8UnLOnDaP+Cl9qiBCopOmm0VrwfpCOEEQiiEKqR4nE/kQspCoMg9MCTy6rJF1rA+qQZaAz4RbxvnePKWX3/TfniOFBLjBAovW+y0/qnnAQ7hbLFT7e9LFvLFPtF52X7vjWBRwiKs8ByBIrkq4Ql5ufVlgnMOl0sQlsxmOK08yc/5bthZCJQgExaR+AIjyyhWHmVRgIhCN5GfzvwLPoMxxUhCevEk6QDphx5eH8X70Tvr0QxboBPO+de4zMPeYRhicofNi9+5FJc7L8DivLeBRx48x8C53K9r5t4VMncWQgBJKgzC5UVB4wrUQfp/XykKRKg4N0qRG+f9JxILzmKD90eHwOXmQYEXG4sNBE70SUWEdhnOBYg8Ae3JoHGe4SIwWpJIiFzgXQ6V50LEQYjEUVUhmZYEqk6sA0w9pColKhxFKkV1eJQoEv7/hlG004y0nXPn9jk2mz2aq6tIpRgZGSFJM7Y2FulkGYFJQQWgI2SeQxygnME4RWe5S551UZnFWsFAVAK61KZGqYYhB48fpS6HIUjRUUwUVyDLCSNNVB4kUL540UGdMJAIBdoGhCWLySyxLJMHirynaK2uUWmM07EZVTmEKHfAQT8FkSZIAsKaoaEEnXYXl0GaGSSbaBUz351DRIJGuUHsLEGtjMkkXZd6EicRwfAQNnH0u5skMkAlKTqISPtbaKlQ1tHq9yFN0GFAGIUEQYleP8VsrmOCgKDcwPU7yFKJDEtISDioqMRTpJ0ecWbJsoRMZPyHf/c3/L2//znkyjI967xtJRk6iJFKI41AW0ka5rSyHEohQlpUZYhSVOLOzevvyxkGKAUp2eYq9zYqlIM2qx3NSKlE47CitbHG7bvr2KTE+rrhox9/gZqc443LKZcuzvPUhx7lxtwcRw9MEkWOkcOn+Pf/6utEYYBAE4WOf/FHf83Bg5PI0TLLd9eZGm7zxGN7+Mo3rzM2cph4eIgrSzPsmtpN3B3j3be+z8ytBU5/4BHiuMRff2uNf/xPf5N/9s//iee7ZC0ePTDAG+eX6FYUnfmbtFZ6RKPT7NpVZn0+JZcR124v4cQa7doI11dv8S//939MuQzdjYTm+jqbG4vcuHaDrW4f5/r0+poLr59ngJxTe6coq4xzr71GEPUYOXaKt175IQcP7kNORCzPZVy+eJM4GuTWnbv8g+NDfPXMLT6+/xYuKtNc2SDI2rz+boU9o10+9egefu6Zz9BPBQu6zr/91qsMnj4Nq4Kqs/SzMm/PLNHdbDI6dZzORpO3LsyQi5QDBw6SBA1mz17j1vl/zX/xy0epDY2xdC9muDrBRm+N06enmFlucu3GPJQiNtcFH3/6aWaWlvjyH36ZX/jwYc5eu8XQ+F4GJjs8/YHjtMpVkmCKfnKZqPIYgjXKSvP0yUdJmqs8sm+M+bzEwydP8MYr79JLN2ndf5daucGbVwJ0qcrJjzxHO4fenRmUq5O2l97znP2/iHMXiAAOKyUIT6hzzne6ACb36UFqWXSnPlFYKCBtVcD529Cz79aFK+T1HPidgZ/Ov5X0pYHW+kEBgRA4IYrEV7DYKbTlRdGNC59QKVbqZFF4CKex1oAwSN/w++oGb+LjbKH2V/x1gYIXia/4vHL72rb4BL7o8MndGwE5Y3HWANKPSxCgxIOxgLMOaYt1P1cgClIh8OQ9JVSh0GixTiALsyaF82MBZ7HGIZwqErxDCvfTosi4B59fPOBc/PTaxji/l180Otb570BrAaawdXZenZFiXLDNI7DbOg+FiaFUEvX/UHK11msgWCHJbTGisLknlxqHkO/PnkFsINERQuYPBJXa0hIYSYYjsMqLDSERKkdqSxaESCOJgwhpBEpmZKKMCiRROUI6RajqaJkRDQ2i45BQquIB6x0i783cpt/apGMilMlZmrtPqWbY2tjEqYCwPIDCsTp3h4QQJzJ/PrTG5RLTb2NDidnyniHG5pScJK6ViALH+N79PDw1RTw0SLk+jHYeB1NhAx158mwQKEyWUquPEQqHEYogCsjyjByIdNWfCREShn5MYWVKXB4j0y1ct02pXKFUjkk2EqqVEo42rbCMy3qkSYqoVKjoGt0kA+P9TKLAUNEljHWkaRdpoJ/3kWFAWYR0wggjBaLfK/g1EmUzbJpCnuKyrFAvFQyNT9HtbNDNLK3lJZwqEwwOYeKAmlOkcUxZO9p9vwWSl6rotEXqImxoOHT0CHMLS4gMrt6+y9z8IiO1Qej36XcMuUxxWU6gNYlJMaGgpEukWUpZKTqJwskem0mX4dL7I78NML8wS2N4AB2H3L3XY3iwxuFHT7K5cJ8kmeHpJ4+xOneR5589zTe+9xaHj+1jelIwVjmFEMMsv/1tTv7aZ8lFwtzMTY4enWB9eYXJvWPcn2/zS5/++9xbusHQ+iIHnxjh5TMZ7565QL1U49uvXmVkUPLuy2uc+sJhRkyJxaV53r54icmJERpVx1e/9gpJv8+Ny1dprScsLjriSsL09CQH90nOn19kz3hENJhz+ZphYqxCpSQYqg5yr73KQ4/twVzPCcUInVZCmmX0V9fp9BL6IiHrGkQYYFyPG1dn+dRTI7C2wJIoMTg2xa3L57kz1uTgYye4c3mGsYkKG82clZVFTp3Yx0h1iG+sbvDsY4fAJgS1ANJDSGaYbgSs3Z/nKwtNnj69ihINtAnJcnCdTWbcfsS9C/zWF17g9Xdv01uvkc7OIsKI+r4qS1dnmb19FalC5EDIvumD/PCHTfYduMmpQ7u4fafP2dYEq9+/x6HhDdKhaZ4/OUDw7DRzc7dZXBE884FPstJf57GnTvPC809x6cx11ntNjpoeC/k67b5hYesSo7umeGZomnbeR6RbnD2/Siws76wkHK51SCfqLI88wYA2hKWA6WHNjbdfJRobZOn6LOXhPbTT+nues59dEEi8oQ9eHc835D4BPYCCrQHh6MsMhcAq/zDSQYiToLXCCQ1SYpyfzWqKpGSd3/EHhLWYIkGLIlGhJE4pX71LvzsvnScWCucQxkseb6vtWecFdURB/nPS4Nh2Siv6/SLpbUPombGeW4DF5BaMwimL1MaT+6RCKkesNTjnrWetQ9kEYyxGWE9slOCc8ap/UuGsBaHop34jAWu8w6H1ZQSuWMcLDdIqTG7InVeCdxjPDXASqwS5zVBKFrRIHhReWmoQzo9viiSfOYNQAQJvVITDoxdaorQGY0F6pCIQGqGFR1ykxRpvTOOrPV9cWScxWe4LBAdaeb16hfLcBonnk1iFc9DPMvLcEGpNZhwBBWdDvk868MKgCu2ERGqEkcRkSJuQCYcIeiincMoQuBirq5Qd2FgSVAIQMaUgRtWrSKkphcN00x7zm2uQGtbP/Ig8z8gMBKpENSwhpCNBYUwXa3xSFgFsrRgcGVm/B2ttnAaZbtA1DmVKhJGgXKoQ1GJGdu+iVCnTKJephBXCgZggDIiCAbI8odYYoVGukFe96ZJQMbVIY6QlNKC0IoojIipYlZD0e1Tqw+S9LpUgIJfa21jblJ6zWGHRaRvhJP1sCxdqTEmRS8daexOtOvSNIMpDwijDqIhSaRe5S+jlBRlVOkoIrOkjdAWlNYIQXRU4FeIiRddFqPYGRmjSNEUHJXo9g9R+TNXZ2sAGBqUqIC0mNUSNYcJ2j+7uCjouEQCtXkYugf4WaZ5D3qMSV8itxQpJpiXOaB555AAX3n2barVOKQz413/2b/j93/1dqJeIXZUsgWjXON21+0yqVe65KQ5VLnGnd4iD5SvcdkeIupcplUqE0ftDjAWYW1oh6Rkq1S77jxwilDHvvnkWERsa5TEO7B3izGaJmTtXGBsWrK+3yBLF4GCVrNvh0WdPMn/1bXYf2U8cD1MajFhcb7PZ7jK9a5SwotCqxmpu2ZqroOQcm3mdw7sE11ohaV/zsc//PCMjETevL3Pr+hLXLt6mTEizt8b6wg0GxurcurLI0kKb8niVzeVlXHeLqwzT3ILLcyFjSRclLVtbbRZaEb+4y5HkNWRpiP/2t36BsKxAZZisRVwbxHT7LM+1GagPkeUhwd6DfOSRHi42zLc0S80eH3m8Sm91kqn6JO9e/jFBkDG0axetpVk6rSbvXJjnoT197t3LGJoe5crcKsd0xI/e/h6H9k4wEAYcPnGCblky0+kyNGy5uLjBQx84yVrpCOXUsDE2zf/25+c4NpQx39QcmYLRWgM7MEC6GfKhk8P85TvLiO4EvQuXGBgYY6RW58rtRY4cnKQ2sEnamuDQoUO8ceYWs5FBb/W4Ot9GdrqUaz1OHDuKUEPMXJ8jiDvsaYzyk5stpuqK/uQQsZol36yx0MnorG4g4zUyKxk+uI9AZLRtjY25ZZjfZL0kGKj2ePXObg7t3oWUEQMf+wK6t8lQ8nd0O3TFLN8BSssHMDXObxGowszEWAu5xUhJIEPPdrde9U5iPfTtnBfEMc4LJ0qf1mzR+cpi391D8sX8epshX8DUzlmc236Rv7YQnsEviiQrRFG0UJDtfQb1Sn3Ov9IY47tj57A53vmQHKwjRJLjeRH+j/+81hms9Z26wPsuWOE8278gM9pipODn7YJcWBwKCiKjv2eLNdYPWAr2nnV+W8H4Ef4D6F8UyAnOYgvEA1dwGkTxKa3AbH95EqST28YGaJRXGdQCZ43fElDSr2wi/egEP8bxbsyu2DAIvM9DXhAci8s648mhzlkszo8dCpGj7VGREKBl4ZQZSGRqipXJ94eR1ZEJoQMrciRV/7BxjlxYtLCQB2jtipGTxmFRg3VioelbSaZga6NNd3UL08/IeudxWQ+UJrACowNSlZI7SPsWKy1OWIwB6Rymb7AiJUkTor7FuAArU5yFSIQMNIbZVamwe2y3t82OK0RRlSiWGFkib+2WvQAAEDVJREFUqESUhMQEksiFyHKFSA4SlhokdBCZplyqes2HDEQ1hihHuELMS/QQxiGiiNRmSC3ItCVNWmRtCVoRqxgRBRBFmK0uVMqE5ZhSrYEmpNvrIbspmenSd5qK1qjcYJHgDS1xyqJkmcHhOr1uk16/RaBLuDxFZEOIqkaKkKhUR5ZCNjZbIPw6sA697kPX5VilyTKoBBopITd94raiQ4LKHXmaQhqCLDg/zqBDTd9Iep0eUX0Ak0OsQzrGUoqrHq2oDJI7CJM+OqqjMPTCjDzr0Lp1l1pZMjaekTbX6SYNaqJDjkLlPbbcGPW4z+L8e3dW/6kjCsosbjqOjtdQ/TWuz20QhlVWbq6T2uuMTb3I+J7jzN7pInuXuLd8gZNPPkGv2+How8Ost+vMzw3xt9++xMGDDQ7uO8KeAw+xfP8Sx/YM89Yb36ElB/noJz7OjbPfIBo/QLcvubJ1l3Ie88wHB/jJhQVe/8ElPvjcaR59bB+vvnWGejzI2v15NjubjAyOc2hPHblhuB30OPzwXqQFkcZMDk9ya2aGzQ6YVPH4k8fo5iG9YJ1+rFleukN57MMEAfS6hlJlmPXVW7S3UsqDNUqNKiVR5m6zz9rWApcu5Zw+3OD01AS9hU3KMmU96ZG0upw8NMXNq7dQAw2CuMLWVpOGqPHzv/QC33npNep79tPcXGBkaIjcRTRdl6C1xVqzSmCX2ZKPMF7e5MKcpb57jfaGJu2WSIdiPvdEl9ubXe61YhY2O9i1OR557jnOnrvGE9N7+NGFLXqNIxw7DitLTeq2x+bGPSZrIwwfHiBtrvD5X/0IX/v2jxmpO46vSuKpQc5cucuAdujjH2Z4rM1rr7SJrWR8skLXxsRljU1aCL3AkcEB7os262436WaTzWZAJnq012dwvRVqaogoF4h2j5qd52ZjjIOlFPGTr+AyWD3yd9Qh0EJ6fXsgLQhnHk72sre2IMxZ57w0sJBkuSEXDmcMSgcY47D9jBzhSYNSkCuBzCmY+caTB4ukaYs1QS0UWWYgt+QiQ2n//hQSu77bt2BBF9QDYzxXwBg/Q5fSIJUE4RUKnRAYYXDGr/eZYj4gpEDLsND0l2xv6SvhXyccpD1fDODyYm/fPvAA2N5e2CbXWfzPUjiCUPpRg3WejGe9AZFQksxYT5DEv8aYAhlgG8Uw2NzLDjsrMaogUyq/XWCdf/Bj/WjEoxIOJTxp01rvNIgwSBXihCu+Q+dVJC346g6E1AjnCaGi0BrQUpEX75HnBhlJD/8XqoOeXyFAbSsXOoJAEmhJmucoBzLU5M6itucU/z9HLQCb1QiUxQUWl4W0kx7OChazBNG39LaTpmlC4HC3HUb6kYjQIaHSGCtwwlCrDFEeHaXZarK11SY2MTl9L9ksDf11idAZtdIgshowOVEmjkapDlfQeYAsayKnQYTYQBCG3rBKB5FfCdUKFZWJtcJa6LY3MTqmXI4JwjJhrYFwFkSfKK6RK0WKX1WNSw6bdKBUw5IThFXSJEPXwPSsXwlWjs1+n7q2aF1GB45+2iOWdfJkk3KjTm4FreU5rFOUS+O4dN0XlQQE1QahlvSSDNHeQIQVdNhEqBI1pegphyp5DwxnDM6mNLuLBHkJFVfIOj36xiKtdyBMTIdemtLd6lIqS8JAI4Sil2VYKXBKk5sco0FiiHNFqjJkmtPrJKjAkiQpjdI4adbGmARsjhWGuBzj0oCPf+bn+eaff5veZImkFPNv/vj/5Iu//VtULGgryfNNeqlieatMty8IqhGGMtY06fZyjjYW2dgQtKLx9+UMAySd+3zyhRf42uv3MKlk/z5F0llj3/Q0l68t8s75S8wvtLh+aYaxQUVtqIFJuizcX+Lo7t0s3TxHqZ/yuWcnubGwyvULb5OqOr/2K0/R2co4deIYuS5z9uWXuL2Vcah6lY7R3Lm3wee/9Cz/xx/9GVP7jvDf/N5/yR//8Zf5zX/wq+zeP8nRkwPU9z3F98+dJTGac2d+wuR0jUNJnVfOvstHn3+M6al9ROUqo40Oxpax7RW63YjqgKBZeZhqZnn+dJkDk3vp9BJMD3Q1IqyOQW2dyd1juKDK4oJjuPkT2k8+xyeeqrB59jXuzi2w98AQjx9/mAszd6nUS5Q7M0yNVEiHRpg89ihLF28zm/WZee0VOq0+1XwGGSjKMmO6tsVGN6I0rDg1PYLUD/Ojb/wVs/VDRPWYuLXI7ori7kCVNHb8L3/zDk8+NY3SAbe2mtjKQyy99AafPDlKXwR89ulxZueXWb46z8DYOHnWxLZq3E8Fmdwk6aVceelb7BuZZGJ0kHduZuzqNfjsJ/Zwb/Eux6tlXppN2PvoKbL+KrXhg1y6PMcH9sHq3TrCTLJmq8iKoJrc4shzuxgixqkq9xcFsrsLXdqgMryHzvo6qysdWjeu88q5DlMTg4z1MuYWz7/nOfvZpMJCC8A5S6BCPy83xvParC1m5Arh/AzfFl3iNpvdGIPBPoCLRZEMcRSq+sU83xWoQJGsrHNY/M8Sh5UOkbuisxWFroCH3H2nvO2M6LvvPDNYZ4kDDUhySaFfLhDWbzX4W5Jk1vhNCScLvl4Bl8MDR0CHKRj0Bc/AWKw1hfqeX3H0FGpvneysIy8e0jL3IwxEoefvfFH1YHxhrYf7hSiQgYLDQFFsbHMChEMifWEhC2JjgXL4jYCC8yAouqdi3RJLIL2qoNKyUB4sUBXpf298HeFHMfgP7rGNAl4p3tuY7ffyaIMqoAMvM+2RHmGsHw1RvJ/2pEjp3p+CYCMrk3a6WJPTzzPSPMNlfZwQ9AlwLvfOBQ5EGKAspEojHAQonMmQeUo/UATW0mousdWEar2OERH9dpNcW4YrA1TLEY39wwSRJo7K6FhTlg5jS4RBBVdWlJRCCI2VCqkyVKlMKCRSOwIXEzbqiCyl1e5jXZ9afQ9OJigdAiGhyEBbrK7Sy3ICIYlCvy6ZuxxyR9/mxN2UpCIJVIBpr4OOkSbASUGjXkXnfVpZTigcCE2nu4Jwklx0iYIK9fFdtNfuE6SWSq1Mc6tNoAP6W2sQxrjcEte8NLg1dXKRkZCicwgrAyRbWxiXgatSixU9FSFUDMJiSJFJnzxtkZmUwEmqtRCFJrUWm/S9aFCWUcolm3lCrVFHUqaXLJLaEpHIKQUgTYgjpJ91EVajlEBHCtvvY4QmDAPq9ZhjTxzm5v0FAiHY6Gxx7tzbnDh2GFXK0WkZTYJyfVSmGA5XafZGabU1aWqZaw+wmVWRbu19OcMAUxO7eXNOsXd8gtfeeJXh+iGSnuTkQ1OM7qqyODePSdd4/sUXmb07T5TN8anP/Dr/0z/7Q149f5Wxwf00RlJury3QTkOOPHYYlfT4v/7iP/J7v/v7xHqdZrPCvbs3mVtPGTiyi4lGxPREjeV7LX75E59irVJicuwQR48eoptXyV2dsUaJKIoYqJWRbpOoPEG5FPGZzz1GWB9nuZVg780xNqz47g/uUhsb4hNHItrBKtdvdSmll/nY557htbNX+eCzfqU0qnbACYbGJhnrZdxcuQP9Eheu3mV8ZBff/vK3ePGTHyYe2U2eNzH5KEt3V6miGDj8BO9cvEhtIGQs6vD4dM6fXKtzpK64fHmdupSMfvBzmFvvEKmU7715ni988Xm22hHf/94rDDTKrHTgyRMC3XUEYxlX76wwMLiHoBMxM/UY/VaTzupV9oiYld4ay1mFr74yy+7KFeTeo9xbE9RyjU4M95dbPD0+SHPLcenKEk88+0GWkwVkqcvS6gwPHxphYaHDy99f4pGTw9y/fJPHD2rKeoI8fJT1uWscPFbixoUlVLWCtBl5c5mB4SmGx55mdf4Ol7obXL50l48/e4LS/pjW1hSX3ryCSGaJq8M4mROPlJmdm2UxdejVjfc8Zz+7IKgEWOsICT0xDbDKd+E/NauxBYHQq9xJ6SF5KT2R0JvmSMAWBET/Godn7/uU46F/Y/0MHhxOWESeeUte3zL7y8ntZO23FGwBxWMdSeY1EpQVKBSJ8KqJ0vhbMK7Q8rcOUwj5SOWLiswYlJJI5x0CnfAIgc09895h/MMstUVh5O/HCXBSPIDfrfTsbesMGItNskJS2JMXtdRe11/JAqXwWwbYn3bsctvKeHurQQiPVlgvGpTn9gFCIosCzCsUFgqOtkAw2N5o8ERH6UTh5SAeKAla60cxdnslcbtQ2y6KhCX1UvpgDanJPTlU+HlqEARYZwhVgDHb64YOpbS/D+OIdUgavD/z15k7swRaEWhFInJkosgDhUETpRahoS8cWuaEmcQo5zkRLiVRMVUgLysGlCKIA4bqw4SBplYfQZHiXI1cGOLGAIFWlENNHsTkCLSxlMplwrhKkmwQuJL/D6eVN9IJApzp0G+10ALkgCRLe+TSEo0NULIaK/tEYQklIrrO0M0tgVCEaY4qa8CSdruIMMCFAVFcIel1SVwfm0bIuIyTIVlni77sUY5CQmvJ0ZQrdYRN0Cj6WUoYeI0MpQWm10UGJZZXb/Pk0ReRlSr9rVVym1NWFfKwTZ5liMoALmkTOIkNS2Rpj7S5ToQhiMo0XY/cVSFZJTOCRDXIum22ei0iDUbkuJ5ElkPyOERstQlUxFqnR7lWJkVQ1hHdpI9Ke1glsWkLVRmlb/so0Sa1oGUFmyYesdQhIqzjwhinI8Ksz/HTxzl7/jqT9V2knRYvfeUrPPI//j5GQisapKRgphOjZMKl5kPY2NK2YwSuS880cEFExvsnRPDdt1Y4cHiITz77KO+ceYukKcgqNX585m1y22Z6vEZno0N5932UEJQre/iDf/4vaNBj4/4qM1duEoWS3XvGGGgcYPHGHH3Ro7XS58cvf4c//fev8Hv//S9y8gOP8+mnHufc139Eki0wNHaCy2df5UMv7EJlezny6MP8z08eYfb8O/x3nz3CQjaMiXLIUgbGG9Sjab7+3aucu/Jtkm7OCx97jiw7hhzs8+kvDfPO203OL95i/56E3aEDGXLlzVs89aEPYFwZkxnQFT/C7fbQoWJy1zH6LmTm7tcJgj189NHD1K68zkw/ZN3FHHn+AJVSmY5t0N+8hS0PUhtoMhBPsno/5x99PuKHbwY8fbTF3bzEVmRZC8d54gnJI5MZdy8tIcdGWV7N6TfXmdg9wZs/usRgXEE3xxga30W/r7BBSrWSciP7EEfD25TGxtjbmYXKJCcePcwPXplnt96kMTbFsy/s56++do3Rxh56RjGcL5ONTPG3f/kVnv/Yp1ha2CKSg2yuvUWjOspDnzjOwkKferjM2k+aRI/HvPTXrzE62eDKapPK8BBHdj/FndmrPDk1ysuvv8NmvoyO+3z09BQHxiuUagM0KiP8yV/8JSce0ajuAB/9hQ+zeL/L+tI6d/KAQRmwuDjznudMuPepc9uJndiJndiJndiJ/3zifaJ+78RO7MRO7MRO7MR/TrFTEOzETuzETuzETuzETkGwEzuxEzuxEzuxEzsFwU7sxE7sxE7sxE6wUxDsxE7sxE7sxE7sBDsFwU7sxE7sxE7sxE4A/zcK4uU8KOBclgAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<Figure size 648x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls.show_batch(nrows=1, ncols=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Take a look at each image, and check that each one seems to have the correct label for that breed of pet. Often, data scientists work with data with which they are not as familiar as domain experts may be: for instance, I actually don't know what a lot of these pet breeds are. Since I am not an expert on pet breeds, I would use Google images at this point to search for a few of these breeds, and make sure the images look similar to what I see in this output.\\n\",\n    \"\\n\",\n    \"If you made a mistake while building your `DataBlock`, it is very likely you won't see it before this step. To debug this, we encourage you to use the `summary` method. It will attempt to create a batch from the source you give it, with a lot of details. Also, if it fails, you will see exactly at which point the error happens, and the library will try to give you some help. For instance, one common mistake is to forget to use a `Resize` transform, so you end up with pictures of different sizes and are not able to batch them. Here is what the summary would look like in that case (note that the exact text may have changed since the time of writing, but it will give you an idea):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Setting-up type transforms pipelines\\n\",\n      \"Collecting items from /home/jhoward/.fastai/data/oxford-iiit-pet/images\\n\",\n      \"Found 7390 items\\n\",\n      \"2 datasets of sizes 5912,1478\\n\",\n      \"Setting up Pipeline: PILBase.create\\n\",\n      \"Setting up Pipeline: partial -> Categorize\\n\",\n      \"\\n\",\n      \"Building one sample\\n\",\n      \"  Pipeline: PILBase.create\\n\",\n      \"    starting from\\n\",\n      \"      /home/jhoward/.fastai/data/oxford-iiit-pet/images/american_pit_bull_terrier_31.jpg\\n\",\n      \"    applying PILBase.create gives\\n\",\n      \"      PILImage mode=RGB size=500x414\\n\",\n      \"  Pipeline: partial -> Categorize\\n\",\n      \"    starting from\\n\",\n      \"      /home/jhoward/.fastai/data/oxford-iiit-pet/images/american_pit_bull_terrier_31.jpg\\n\",\n      \"    applying partial gives\\n\",\n      \"      american_pit_bull_terrier\\n\",\n      \"    applying Categorize gives\\n\",\n      \"      TensorCategory(13)\\n\",\n      \"\\n\",\n      \"Final sample: (PILImage mode=RGB size=500x414, TensorCategory(13))\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"Setting up after_item: Pipeline: ToTensor\\n\",\n      \"Setting up before_batch: Pipeline: \\n\",\n      \"Setting up after_batch: Pipeline: IntToFloatTensor\\n\",\n      \"\\n\",\n      \"Building one batch\\n\",\n      \"Applying item_tfms to the first sample:\\n\",\n      \"  Pipeline: ToTensor\\n\",\n      \"    starting from\\n\",\n      \"      (PILImage mode=RGB size=500x414, TensorCategory(13))\\n\",\n      \"    applying ToTensor gives\\n\",\n      \"      (TensorImage of size 3x414x500, TensorCategory(13))\\n\",\n      \"\\n\",\n      \"Adding the next 3 samples\\n\",\n      \"\\n\",\n      \"No before_batch transform to apply\\n\",\n      \"\\n\",\n      \"Collating items in a batch\\n\",\n      \"Error! It's not possible to collate your items in a batch\\n\",\n      \"Could not collate the 0-th members of your tuples because got the following shapes\\n\",\n      \"torch.Size([3, 414, 500]),torch.Size([3, 375, 500]),torch.Size([3, 500, 281]),torch.Size([3, 203, 300])\\n\"\n     ]\n    },\n    {\n     \"ename\": \"RuntimeError\",\n     \"evalue\": \"invalid argument 0: Sizes of tensors must match except in dimension 0. Got 414 and 375 in dimension 2 at /opt/conda/conda-bld/pytorch_1579022060824/work/aten/src/TH/generic/THTensor.cpp:612\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m---------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m                              Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-11-8c0a3d421ca2>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m\\u001b[0m\\n\\u001b[1;32m      4\\u001b[0m                  \\u001b[0msplitter\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0mRandomSplitter\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mseed\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0;36m42\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      5\\u001b[0m                  get_y=using_attr(RegexLabeller(r'(.+)_\\\\d+.jpg$'), 'name'))\\n\\u001b[0;32m----> 6\\u001b[0;31m \\u001b[0mpets1\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0msummary\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mpath\\u001b[0m\\u001b[0;34m/\\u001b[0m\\u001b[0;34m\\\"images\\\"\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/block.py\\u001b[0m in \\u001b[0;36msummary\\u001b[0;34m(self, source, bs, show_batch, **kwargs)\\u001b[0m\\n\\u001b[1;32m    182\\u001b[0m         \\u001b[0mwhy\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0m_find_fail_collate\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    183\\u001b[0m         \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m\\\"Make sure all parts of your samples are tensors of the same size\\\"\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0mwhy\\u001b[0m \\u001b[0;32mis\\u001b[0m \\u001b[0;32mNone\\u001b[0m \\u001b[0;32melse\\u001b[0m \\u001b[0mwhy\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 184\\u001b[0;31m         \\u001b[0;32mraise\\u001b[0m \\u001b[0me\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    185\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    186\\u001b[0m     \\u001b[0;32mif\\u001b[0m \\u001b[0mlen\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mf\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0mf\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mdls\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mtrain\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mafter_batch\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mfs\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0mf\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mname\\u001b[0m \\u001b[0;34m!=\\u001b[0m \\u001b[0;34m'noop'\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m!=\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/block.py\\u001b[0m in \\u001b[0;36msummary\\u001b[0;34m(self, source, bs, show_batch, **kwargs)\\u001b[0m\\n\\u001b[1;32m    176\\u001b[0m     \\u001b[0mprint\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m\\\"\\\\nCollating items in a batch\\\"\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    177\\u001b[0m     \\u001b[0;32mtry\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 178\\u001b[0;31m         \\u001b[0mb\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mdls\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mtrain\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mcreate_batch\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    179\\u001b[0m         \\u001b[0mb\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mretain_types\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0ms\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0mis_listy\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32melse\\u001b[0m \\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    180\\u001b[0m     \\u001b[0;32mexcept\\u001b[0m \\u001b[0mException\\u001b[0m \\u001b[0;32mas\\u001b[0m \\u001b[0me\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/load.py\\u001b[0m in \\u001b[0;36mcreate_batch\\u001b[0;34m(self, b)\\u001b[0m\\n\\u001b[1;32m    125\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mretain\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mres\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m  \\u001b[0;32mreturn\\u001b[0m \\u001b[0mretain_types\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mres\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0mis_listy\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32melse\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    126\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mcreate_item\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m  \\u001b[0;32mreturn\\u001b[0m \\u001b[0mnext\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mit\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0ms\\u001b[0m \\u001b[0;32mis\\u001b[0m \\u001b[0;32mNone\\u001b[0m \\u001b[0;32melse\\u001b[0m \\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mdataset\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m--> 127\\u001b[0;31m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mcreate_batch\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m \\u001b[0;32mreturn\\u001b[0m \\u001b[0;34m(\\u001b[0m\\u001b[0mfa_collate\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0mfa_convert\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mprebatched\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m    128\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mdo_batch\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m \\u001b[0;32mreturn\\u001b[0m \\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mretain\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mcreate_batch\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mbefore_batch\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mb\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m    129\\u001b[0m     \\u001b[0;32mdef\\u001b[0m \\u001b[0mto\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mself\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mdevice\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m \\u001b[0mself\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mdevice\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mdevice\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/load.py\\u001b[0m in \\u001b[0;36mfa_collate\\u001b[0;34m(t)\\u001b[0m\\n\\u001b[1;32m     44\\u001b[0m     \\u001b[0mb\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     45\\u001b[0m     return (default_collate(t) if isinstance(b, _collate_types)\\n\\u001b[0;32m---> 46\\u001b[0;31m             \\u001b[0;32melse\\u001b[0m \\u001b[0mtype\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mfa_collate\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0ms\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mzip\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0misinstance\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mSequence\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     47\\u001b[0m             else default_collate(t))\\n\\u001b[1;32m     48\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/load.py\\u001b[0m in \\u001b[0;36m<listcomp>\\u001b[0;34m(.0)\\u001b[0m\\n\\u001b[1;32m     44\\u001b[0m     \\u001b[0mb\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     45\\u001b[0m     return (default_collate(t) if isinstance(b, _collate_types)\\n\\u001b[0;32m---> 46\\u001b[0;31m             \\u001b[0;32melse\\u001b[0m \\u001b[0mtype\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mfa_collate\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0ms\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mzip\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0misinstance\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mSequence\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     47\\u001b[0m             else default_collate(t))\\n\\u001b[1;32m     48\\u001b[0m \\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;32m~/git/fastai/fastai/data/load.py\\u001b[0m in \\u001b[0;36mfa_collate\\u001b[0;34m(t)\\u001b[0m\\n\\u001b[1;32m     43\\u001b[0m \\u001b[0;32mdef\\u001b[0m \\u001b[0mfa_collate\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     44\\u001b[0m     \\u001b[0mb\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 45\\u001b[0;31m     return (default_collate(t) if isinstance(b, _collate_types)\\n\\u001b[0m\\u001b[1;32m     46\\u001b[0m             \\u001b[0;32melse\\u001b[0m \\u001b[0mtype\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m0\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0mfa_collate\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0ms\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mfor\\u001b[0m \\u001b[0ms\\u001b[0m \\u001b[0;32min\\u001b[0m \\u001b[0mzip\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mt\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m \\u001b[0;32mif\\u001b[0m \\u001b[0misinstance\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mb\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mSequence\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     47\\u001b[0m             else default_collate(t))\\n\",\n      \"\\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/collate.py\\u001b[0m in \\u001b[0;36mdefault_collate\\u001b[0;34m(batch)\\u001b[0m\\n\\u001b[1;32m     53\\u001b[0m             \\u001b[0mstorage\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0melem\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mstorage\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m_new_shared\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mnumel\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     54\\u001b[0m             \\u001b[0mout\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0melem\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mnew\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mstorage\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m---> 55\\u001b[0;31m         \\u001b[0;32mreturn\\u001b[0m \\u001b[0mtorch\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0mstack\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0mbatch\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m0\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0mout\\u001b[0m\\u001b[0;34m=\\u001b[0m\\u001b[0mout\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\\u001b[1;32m     56\\u001b[0m     \\u001b[0;32melif\\u001b[0m \\u001b[0melem_type\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m__module__\\u001b[0m \\u001b[0;34m==\\u001b[0m \\u001b[0;34m'numpy'\\u001b[0m \\u001b[0;32mand\\u001b[0m \\u001b[0melem_type\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m__name__\\u001b[0m \\u001b[0;34m!=\\u001b[0m \\u001b[0;34m'str_'\\u001b[0m\\u001b[0;31m \\u001b[0m\\u001b[0;31m\\\\\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m     57\\u001b[0m             \\u001b[0;32mand\\u001b[0m \\u001b[0melem_type\\u001b[0m\\u001b[0;34m.\\u001b[0m\\u001b[0m__name__\\u001b[0m \\u001b[0;34m!=\\u001b[0m \\u001b[0;34m'string_'\\u001b[0m\\u001b[0;34m:\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 414 and 375 in dimension 2 at /opt/conda/conda-bld/pytorch_1579022060824/work/aten/src/TH/generic/THTensor.cpp:612\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"pets1 = DataBlock(blocks = (ImageBlock, CategoryBlock),\\n\",\n    \"                 get_items=get_image_files, \\n\",\n    \"                 splitter=RandomSplitter(seed=42),\\n\",\n    \"                 get_y=using_attr(RegexLabeller(r'(.+)_\\\\d+.jpg$'), 'name'))\\n\",\n    \"pets1.summary(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"```\\n\",\n    \"Setting-up type transforms pipelines\\n\",\n    \"Collecting items from /home/sgugger/.fastai/data/oxford-iiit-pet/images\\n\",\n    \"Found 7390 items\\n\",\n    \"2 datasets of sizes 5912,1478\\n\",\n    \"Setting up Pipeline: PILBase.create\\n\",\n    \"Setting up Pipeline: partial -> Categorize\\n\",\n    \"\\n\",\n    \"Building one sample\\n\",\n    \"  Pipeline: PILBase.create\\n\",\n    \"    starting from\\n\",\n    \"      /home/sgugger/.fastai/data/oxford-iiit-pet/images/american_bulldog_83.jpg\\n\",\n    \"    applying PILBase.create gives\\n\",\n    \"      PILImage mode=RGB size=375x500\\n\",\n    \"  Pipeline: partial -> Categorize\\n\",\n    \"    starting from\\n\",\n    \"      /home/sgugger/.fastai/data/oxford-iiit-pet/images/american_bulldog_83.jpg\\n\",\n    \"    applying partial gives\\n\",\n    \"      american_bulldog\\n\",\n    \"    applying Categorize gives\\n\",\n    \"      TensorCategory(12)\\n\",\n    \"\\n\",\n    \"Final sample: (PILImage mode=RGB size=375x500, TensorCategory(12))\\n\",\n    \"\\n\",\n    \"Setting up after_item: Pipeline: ToTensor\\n\",\n    \"Setting up before_batch: Pipeline: \\n\",\n    \"Setting up after_batch: Pipeline: IntToFloatTensor\\n\",\n    \"\\n\",\n    \"Building one batch\\n\",\n    \"Applying item_tfms to the first sample:\\n\",\n    \"  Pipeline: ToTensor\\n\",\n    \"    starting from\\n\",\n    \"      (PILImage mode=RGB size=375x500, TensorCategory(12))\\n\",\n    \"    applying ToTensor gives\\n\",\n    \"      (TensorImage of size 3x500x375, TensorCategory(12))\\n\",\n    \"\\n\",\n    \"Adding the next 3 samples\\n\",\n    \"\\n\",\n    \"No before_batch transform to apply\\n\",\n    \"\\n\",\n    \"Collating items in a batch\\n\",\n    \"Error! It's not possible to collate your items in a batch\\n\",\n    \"Could not collate the 0-th members of your tuples because got the following \\n\",\n    \"shapes:\\n\",\n    \"torch.Size([3, 500, 375]),torch.Size([3, 375, 500]),torch.Size([3, 333, 500]),\\n\",\n    \"torch.Size([3, 375, 500])\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can see exactly how we gathered the data and split it, how we went from a filename to a *sample* (the tuple (image, category)), then what item transforms were applied and how it failed to collate those samples in a batch (because of the different shapes). \\n\",\n    \"\\n\",\n    \"Once you think your data looks right, we generally recommend the next step should be using it to train a simple model. We often see people put off the training of an actual model for far too long. As a result, they don't actually find out what their baseline results look like. Perhaps your problem doesn't need lots of fancy domain-specific engineering. Or perhaps the data doesn't seem to train the model at all. These are things that you want to know as soon as possible. For this initial test, we'll use the same simple model that we used in <<chapter_intro>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.551305</td>\\n\",\n       \"      <td>0.322132</td>\\n\",\n       \"      <td>0.106225</td>\\n\",\n       \"      <td>00:19</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.529473</td>\\n\",\n       \"      <td>0.312148</td>\\n\",\n       \"      <td>0.095399</td>\\n\",\n       \"      <td>00:23</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.330207</td>\\n\",\n       \"      <td>0.245883</td>\\n\",\n       \"      <td>0.080514</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've briefly discussed before, the table shown when we fit a model shows us the results after each epoch of training. Remember, an epoch is one complete pass through all of the images in the data. The columns shown are the average loss over the items of the training set, the loss on the validation set, and any metrics that we requested—in this case, the error rate.\\n\",\n    \"\\n\",\n    \"Remember that *loss* is whatever function we've decided to use to optimize the parameters of our model. But we haven't actually told fastai what loss function we want to use. So what is it doing? fastai will generally try to select an appropriate loss function based on what kind of data and model you are using. In this case we have image data and a categorical outcome, so fastai will default to using *cross-entropy loss*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Entropy Loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Cross-entropy loss* is a loss function that is similar to the one we used in the previous chapter, but (as we'll see) has two benefits:\\n\",\n    \"\\n\",\n    \"- It works even when our dependent variable has more than two categories.\\n\",\n    \"- It results in faster and more reliable training.\\n\",\n    \"\\n\",\n    \"In order to understand how cross-entropy loss works for dependent variables with more than two categories, we first have to understand what the actual data and activations that are seen by the loss function look like.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Viewing Activations and Labels\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at the activations of our model. To actually get a batch of real data from our `DataLoaders`, we can use the `one_batch` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dls.one_batch()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, this returns the dependent and independent variables, as a mini-batch. Let's see what is actually contained in our dependent variable:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorCategory([ 0,  5, 23, 36,  5, 20, 29, 34, 33, 32, 31, 24, 12, 36,  8, 26, 30,  2, 12, 17,  7, 23, 12, 29, 21,  4, 35, 33,  0, 20, 26, 30,  3,  6, 36,  2, 17, 32, 11,  6,  3, 30,  5, 26, 26, 29,  7, 36,\\n\",\n       \"        31, 26, 26,  8, 13, 30, 11, 12, 36, 31, 34, 20, 15,  8,  8, 23], device='cuda:5')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our batch size is 64, so we have 64 rows in this tensor. Each row is a single integer between 0 and 36, representing our 37 possible pet breeds. We can view the predictions (that is, the activations of the final layer of our neural network) using `Learner.get_preds`. This function either takes a dataset index (0 for train and 1 for valid) or an iterator of batches. Thus, we can pass it a simple list with our batch to get our predictions. It returns predictions and targets by default, but since we already have the targets, we can effectively ignore them by assigning to the special variable `_`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([9.9911e-01, 5.0433e-05, 3.7515e-07, 8.8590e-07, 8.1794e-05, 1.8991e-05, 9.9280e-06, 5.4656e-07, 6.7920e-06, 2.3486e-04, 3.7872e-04, 2.0796e-05, 4.0443e-07, 1.6933e-07, 2.0502e-07, 3.1354e-08,\\n\",\n       \"        9.4115e-08, 2.9782e-06, 2.0243e-07, 8.5262e-08, 1.0900e-07, 1.0175e-07, 4.4780e-09, 1.4285e-07, 1.0718e-07, 8.1411e-07, 3.6618e-07, 4.0950e-07, 3.8525e-08, 2.3660e-07, 5.3747e-08, 2.5448e-07,\\n\",\n       \"        6.5860e-08, 8.0937e-05, 2.7464e-07, 5.6760e-07, 1.5462e-08])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds,_ = learn.get_preds(dl=[(x,y)])\\n\",\n    \"preds[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The actual predictions are 37 probabilities between 0 and 1, which add up to 1 in total:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(37, tensor(1.0000))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(preds[0]),preds[0].sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To transform the activations of our model into predictions like this, we used something called the *softmax* activation function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Softmax\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In our classification model, we use the softmax activation function in the final layer to ensure that the activations are all between 0 and 1, and that they sum to 1.\\n\",\n    \"\\n\",\n    \"Softmax is similar to the sigmoid function, which we saw earlier. As a reminder sigmoid looks like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(torch.sigmoid, min=-4,max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can apply this function to a single column of activations from a neural network, and get back a column of numbers between 0 and 1, so it's a very useful activation function for our final layer.\\n\",\n    \"\\n\",\n    \"Now think about what happens if we want to have more categories in our target (such as our 37 pet breeds). That means we'll need more activations than just a single column: we need an activation *per category*. We can create, for instance, a neural net that predicts 3s and 7s that returns two activations, one for each class—this will be a good first step toward creating the more general approach. Let's just use some random numbers with a standard deviation of 2 (so we multiply `randn` by 2) for this example, assuming we have 6 images and 2 possible categories (where the first column represents 3s and the second is 7s):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"torch.random.manual_seed(42);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[ 0.6734,  0.2576],\\n\",\n       \"        [ 0.4689,  0.4607],\\n\",\n       \"        [-2.2457, -0.3727],\\n\",\n       \"        [ 4.4164, -1.2760],\\n\",\n       \"        [ 0.9233,  0.5347],\\n\",\n       \"        [ 1.0698,  1.6187]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"acts = torch.randn((6,2))*2\\n\",\n    \"acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can't just take the sigmoid of this directly, since we don't get rows that add to 1 (i.e., we want the probability of being a 3 plus the probability of being a 7 to add up to 1):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.6623, 0.5641],\\n\",\n       \"        [0.6151, 0.6132],\\n\",\n       \"        [0.0957, 0.4079],\\n\",\n       \"        [0.9881, 0.2182],\\n\",\n       \"        [0.7157, 0.6306],\\n\",\n       \"        [0.7446, 0.8346]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"acts.sigmoid()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In <<chapter_mnist_basics>>, our neural net created a single activation per image, which we passed through the `sigmoid` function. That single activation represented the model's confidence that the input was a 3. Binary problems are a special case of classification problems, because the target can be treated as a single boolean value, as we did in `mnist_loss`. But binary problems can also be thought of in the context of the more general group of classifiers with any number of categories: in this case, we happen to have two categories. As we saw in the bear classifier, our neural net will return one activation per category.\\n\",\n    \"\\n\",\n    \"So in the binary case, what do those activations really indicate? A single pair of activations simply indicates the *relative* confidence of the input being a 3 versus being a 7. The overall values, whether they are both high, or both low, don't matter—all that matters is which is higher, and by how much.\\n\",\n    \"\\n\",\n    \"We would expect that since this is just another way of representing the same problem, that we would be able to use `sigmoid` directly on the two-activation version of our neural net. And indeed we can! We can just take the *difference* between the neural net activations, because that reflects how much more sure we are of the input being a 3 than a 7, and then take the sigmoid of that:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([0.6025, 0.5021, 0.1332, 0.9966, 0.5959, 0.3661])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(acts[:,0]-acts[:,1]).sigmoid()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The second column (the probability of it being a 7) will then just be that value subtracted from 1. Now, we need a way to do all this that also works for more than two columns. It turns out that this function, called `softmax`, is exactly that:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"def softmax(x): return exp(x) / exp(x).sum(dim=1, keepdim=True)\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Exponential function (exp): Literally defined as `e**x`, where `e` is a special number approximately equal to 2.718. It is the inverse of the natural logarithm function. Note that `exp` is always positive, and it increases _very_ rapidly!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's check that `softmax` returns the same values as `sigmoid` for the first column, and those values subtracted from 1 for the second column:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.6025, 0.3975],\\n\",\n       \"        [0.5021, 0.4979],\\n\",\n       \"        [0.1332, 0.8668],\\n\",\n       \"        [0.9966, 0.0034],\\n\",\n       \"        [0.5959, 0.4041],\\n\",\n       \"        [0.3661, 0.6339]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"sm_acts = torch.softmax(acts, dim=1)\\n\",\n    \"sm_acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`softmax` is the multi-category equivalent of `sigmoid`—we have to use it any time we have more than two categories and the probabilities of the categories must add to 1, and we often use it even when there are just two categories, just to make things a bit more consistent. We could create other functions that have the properties that all activations are between 0 and 1, and sum to 1; however, no other function has the same relationship to the sigmoid function, which we've seen is smooth and symmetric. Also, we'll see shortly that the softmax function works well hand-in-hand with the loss function we will look at in the next section.\\n\",\n    \"\\n\",\n    \"If we have three output activations, such as in our bear classifier, calculating softmax for a single bear image would then look like something like <<bear_softmax>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Bear softmax example\\\" width=\\\"280\\\" id=\\\"bear_softmax\\\" caption=\\\"Example of softmax on the bear classifier\\\" src=\\\"images/att_00062.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What does this function do in practice? Taking the exponential ensures all our numbers are positive, and then dividing by the sum ensures we are going to have a bunch of numbers that add up to 1. The exponential also has a nice property: if one of the numbers in our activations `x` is slightly bigger than the others, the exponential will amplify this (since it grows, well... exponentially), which means that in the softmax, that number will be closer to 1. \\n\",\n    \"\\n\",\n    \"Intuitively, the softmax function *really* wants to pick one class among the others, so it's ideal for training a classifier when we know each picture has a definite label. (Note that it may be less ideal during inference, as you might want your model to sometimes tell you it doesn't recognize any of the classes that it has seen during training, and not pick a class because it has a slightly bigger activation score. In this case, it might be better to train a model using multiple binary output columns, each using a sigmoid activation.)\\n\",\n    \"\\n\",\n    \"Softmax is the first part of the cross-entropy loss—the second part is log likelihood. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Log Likelihood\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we calculated the loss for our MNIST example in the last chapter we used:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"def mnist_loss(inputs, targets):\\n\",\n    \"    inputs = inputs.sigmoid()\\n\",\n    \"    return torch.where(targets==1, 1-inputs, inputs).mean()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Just as we moved from sigmoid to softmax, we need to extend the loss function to work with more than just binary classification—it needs to be able to classify any number of categories (in this case, we have 37 categories). Our activations, after softmax, are between 0 and 1, and sum to 1 for each row in the batch of predictions. Our targets are integers between 0 and 36.  Furthermore, cross-entropy loss generalizes our binary classification loss and allows for more than one correct label per example (which is called multi-label classificaiton, which we will discuss in Chapter 6).\\n\",\n    \"\\n\",\n    \"In the binary case, we used `torch.where` to select between `inputs` and `1-inputs`. When we treat a binary classification as a general classification problem with two categories, it actually becomes even easier, because (as we saw in the previous section) we now have two columns, containing the equivalent of `inputs` and `1-inputs`. Since there is only one correct label per example, all we need to do is select the appropriate column (as opposed to multiplying multiple probabilities). Let's try to implement this in PyTorch. For our synthetic 3s and 7s example, let's say these are our labels:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"targ = tensor([0,1,0,1,1,0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and these are the softmax activations:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.6025, 0.3975],\\n\",\n       \"        [0.5021, 0.4979],\\n\",\n       \"        [0.1332, 0.8668],\\n\",\n       \"        [0.9966, 0.0034],\\n\",\n       \"        [0.5959, 0.4041],\\n\",\n       \"        [0.3661, 0.6339]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"sm_acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then for each item of `targ` we can use that to select the appropriate column of `sm_acts` using tensor indexing, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([0.6025, 0.4979, 0.1332, 0.0034, 0.4041, 0.3661])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"idx = range(6)\\n\",\n    \"sm_acts[idx, targ]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To see exactly what's happening here, let's put all the columns together in a table. Here, the first two columns are our activations, then we have the targets and the row index.  We explain the last column, `result` below:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<table >\\n\",\n       \"  <thead>\\n\",\n       \"    <tr>\\n\",\n       \"      <th id=\\\"T_30280_level0_col0\\\" class=\\\"col_heading level0 col0\\\" >3</th>\\n\",\n       \"      <th id=\\\"T_30280_level0_col1\\\" class=\\\"col_heading level0 col1\\\" >7</th>\\n\",\n       \"      <th id=\\\"T_30280_level0_col2\\\" class=\\\"col_heading level0 col2\\\" >targ</th>\\n\",\n       \"      <th id=\\\"T_30280_level0_col3\\\" class=\\\"col_heading level0 col3\\\" >idx</th>\\n\",\n       \"      <th id=\\\"T_30280_level0_col4\\\" class=\\\"col_heading level0 col4\\\" >result</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row0_col0\\\" class=\\\"data row0 col0\\\" >0.602469</td>\\n\",\n       \"      <td id=\\\"T_30280_row0_col1\\\" class=\\\"data row0 col1\\\" >0.397531</td>\\n\",\n       \"      <td id=\\\"T_30280_row0_col2\\\" class=\\\"data row0 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_30280_row0_col3\\\" class=\\\"data row0 col3\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_30280_row0_col4\\\" class=\\\"data row0 col4\\\" >0.602469</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row1_col0\\\" class=\\\"data row1 col0\\\" >0.502065</td>\\n\",\n       \"      <td id=\\\"T_30280_row1_col1\\\" class=\\\"data row1 col1\\\" >0.497935</td>\\n\",\n       \"      <td id=\\\"T_30280_row1_col2\\\" class=\\\"data row1 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_30280_row1_col3\\\" class=\\\"data row1 col3\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_30280_row1_col4\\\" class=\\\"data row1 col4\\\" >0.497935</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row2_col0\\\" class=\\\"data row2 col0\\\" >0.133188</td>\\n\",\n       \"      <td id=\\\"T_30280_row2_col1\\\" class=\\\"data row2 col1\\\" >0.866811</td>\\n\",\n       \"      <td id=\\\"T_30280_row2_col2\\\" class=\\\"data row2 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_30280_row2_col3\\\" class=\\\"data row2 col3\\\" >2</td>\\n\",\n       \"      <td id=\\\"T_30280_row2_col4\\\" class=\\\"data row2 col4\\\" >0.133188</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row3_col0\\\" class=\\\"data row3 col0\\\" >0.996640</td>\\n\",\n       \"      <td id=\\\"T_30280_row3_col1\\\" class=\\\"data row3 col1\\\" >0.003360</td>\\n\",\n       \"      <td id=\\\"T_30280_row3_col2\\\" class=\\\"data row3 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_30280_row3_col3\\\" class=\\\"data row3 col3\\\" >3</td>\\n\",\n       \"      <td id=\\\"T_30280_row3_col4\\\" class=\\\"data row3 col4\\\" >0.003360</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row4_col0\\\" class=\\\"data row4 col0\\\" >0.595949</td>\\n\",\n       \"      <td id=\\\"T_30280_row4_col1\\\" class=\\\"data row4 col1\\\" >0.404051</td>\\n\",\n       \"      <td id=\\\"T_30280_row4_col2\\\" class=\\\"data row4 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_30280_row4_col3\\\" class=\\\"data row4 col3\\\" >4</td>\\n\",\n       \"      <td id=\\\"T_30280_row4_col4\\\" class=\\\"data row4 col4\\\" >0.404051</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_30280_row5_col0\\\" class=\\\"data row5 col0\\\" >0.366118</td>\\n\",\n       \"      <td id=\\\"T_30280_row5_col1\\\" class=\\\"data row5 col1\\\" >0.633882</td>\\n\",\n       \"      <td id=\\\"T_30280_row5_col2\\\" class=\\\"data row5 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_30280_row5_col3\\\" class=\\\"data row5 col3\\\" >5</td>\\n\",\n       \"      <td id=\\\"T_30280_row5_col4\\\" class=\\\"data row5 col4\\\" >0.366118</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"from IPython.display import HTML\\n\",\n    \"df = pd.DataFrame(sm_acts, columns=[\\\"3\\\",\\\"7\\\"])\\n\",\n    \"df['targ'] = targ\\n\",\n    \"df['idx'] = idx\\n\",\n    \"df['result'] = sm_acts[range(6), targ]\\n\",\n    \"t = df.style.hide_index()\\n\",\n    \"#To have html code compatible with our script\\n\",\n    \"html = t._repr_html_().split('</style>')[1]\\n\",\n    \"html = re.sub(r'<table id=\\\"([^\\\"]+)\\\"\\\\s*>', r'<table >', html)\\n\",\n    \"display(HTML(html))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking at this table, you can see that the `result` column can be calculated by taking the `targ` and `idx` columns as indices into the two-column matrix containing the `3` and `7` columns. That's what `sm_acts[idx, targ]` is actually doing.  The really interesting thing here is that this actually works just as well with more than two columns. To see this, consider what would happen if we added an activation column for every digit (0 through 9), and then `targ` contained a number from 0 to 9.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"PyTorch provides a function that does exactly the same thing as `sm_acts[range(n), targ]` (except it takes the negative, because when applying the log afterward, we will have negative numbers), called `nll_loss` (*NLL* stands for *negative log likelihood*):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.6025, -0.4979, -0.1332, -0.0034, -0.4041, -0.3661])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"-sm_acts[idx, targ]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.6025, -0.4979, -0.1332, -0.0034, -0.4041, -0.3661])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"F.nll_loss(sm_acts, targ, reduction='none')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Despite its name, this PyTorch function does not take the log. We'll see why in the next section, but first, let's see why taking the logarithm can be useful.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> warning: Confusing Name, Beware: The nll in `nll_loss` stands for \\\"negative log likelihood,\\\" but it doesn't actually take the log at all! It assumes you have _already_ taken the log. PyTorch has a function called `log_softmax` that combines `log` and `softmax` in a fast and accurate way. `nll_loss` is designed to be used after `log_softmax`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Taking the Log\\n\",\n    \"\\n\",\n    \"Recall that cross entropy loss may involve the multiplication of many numbers.  Multiplying lots of negative numbers together can cause problems like [numerical underflow](https://en.wikipedia.org/wiki/Arithmetic_underflow) in computers.  Therefore, we want to transform these probabilities to larger values so we can perform mathematical operations on them.  There is a mathematical function that does exactly this: the *logarithm* (available as `torch.log`). It is not defined for numbers less than 0, and looks like this between 0 and 1:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(torch.log, min=0,max=1, ty='log(x)', tx='x')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Additionally, we want to ensure our model is able to detect differences between small numbers.  For example, consider the probabilities of .01 and .001.  Indeed, those numbers are very close together—but in another sense, 0.01 is 10 times more confident than 0.001.  By taking the log of our probabilities, we prevent these important differences from being ignored.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Does \\\"logarithm\\\" ring a bell? The logarithm function has this identity:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"y = b**a\\n\",\n    \"a = log(y,b)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"In this case, we're assuming that `log(y,b)` returns *log y base b*. However, PyTorch actually doesn't define `log` this way: `log` in Python uses the special number `e` (2.718...) as the base.\\n\",\n    \"\\n\",\n    \"Perhaps a logarithm is something that you have not thought about for the last 20 years or so. But it's a mathematical idea that is going to be really critical for many things in deep learning, so now would be a great time to refresh your memory. The key thing to know about logarithms is this relationship:\\n\",\n    \"\\n\",\n    \"    log(a*b) = log(a)+log(b)\\n\",\n    \"\\n\",\n    \"When we see it in that format, it looks a bit boring; but think about what this really means. It means that logarithms increase linearly when the underlying signal increases exponentially or multiplicatively. This is used, for instance, in the Richter scale of earthquake severity, and the dB scale of noise levels. It's also often used on financial charts, where we want to show compound growth rates more clearly. Computer scientists love using logarithms, because it means that multiplication, which can create really really large and really really small numbers, can be replaced by addition, which is much less likely to result in scales that are difficult for our computers to handle.\\n\",\n    \"\\n\",\n    \"Observe that the log of a number approaches negative infinity as the number approaches zero.  In our case, since the result relfects the predicted probability of the correct label, we want our loss function to return a small value when the prediction is \\\"good\\\" (closer to 1) and a large value when the prediction is \\\"bad\\\" (closer to 0).  We can achieve this by taking the negative of the log:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(lambda x: -1*torch.log(x), min=0,max=1, tx='x', ty='- log(x)', title = 'Log Loss when true label = 1')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> s: It's not just computer scientists that love logs! Until computers came along, engineers and scientists used a special ruler called a \\\"slide rule\\\" that did multiplication by adding logarithms. Logarithms are widely used in physics, for multiplying very big or very small numbers, and many other fields.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's go ahead and update our previous table with an additional column, `loss` to reflect this loss function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<table >\\n\",\n       \"  <thead>\\n\",\n       \"    <tr>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col0\\\" class=\\\"col_heading level0 col0\\\" >3</th>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col1\\\" class=\\\"col_heading level0 col1\\\" >7</th>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col2\\\" class=\\\"col_heading level0 col2\\\" >targ</th>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col3\\\" class=\\\"col_heading level0 col3\\\" >idx</th>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col4\\\" class=\\\"col_heading level0 col4\\\" >result</th>\\n\",\n       \"      <th id=\\\"T_090ff_level0_col5\\\" class=\\\"col_heading level0 col5\\\" >loss</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col0\\\" class=\\\"data row0 col0\\\" >0.602469</td>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col1\\\" class=\\\"data row0 col1\\\" >0.397531</td>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col2\\\" class=\\\"data row0 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col3\\\" class=\\\"data row0 col3\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col4\\\" class=\\\"data row0 col4\\\" >0.602469</td>\\n\",\n       \"      <td id=\\\"T_090ff_row0_col5\\\" class=\\\"data row0 col5\\\" >0.506720</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col0\\\" class=\\\"data row1 col0\\\" >0.502065</td>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col1\\\" class=\\\"data row1 col1\\\" >0.497935</td>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col2\\\" class=\\\"data row1 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col3\\\" class=\\\"data row1 col3\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col4\\\" class=\\\"data row1 col4\\\" >0.497935</td>\\n\",\n       \"      <td id=\\\"T_090ff_row1_col5\\\" class=\\\"data row1 col5\\\" >0.697285</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col0\\\" class=\\\"data row2 col0\\\" >0.133188</td>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col1\\\" class=\\\"data row2 col1\\\" >0.866811</td>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col2\\\" class=\\\"data row2 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col3\\\" class=\\\"data row2 col3\\\" >2</td>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col4\\\" class=\\\"data row2 col4\\\" >0.133188</td>\\n\",\n       \"      <td id=\\\"T_090ff_row2_col5\\\" class=\\\"data row2 col5\\\" >2.015990</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col0\\\" class=\\\"data row3 col0\\\" >0.996640</td>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col1\\\" class=\\\"data row3 col1\\\" >0.003360</td>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col2\\\" class=\\\"data row3 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col3\\\" class=\\\"data row3 col3\\\" >3</td>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col4\\\" class=\\\"data row3 col4\\\" >0.003360</td>\\n\",\n       \"      <td id=\\\"T_090ff_row3_col5\\\" class=\\\"data row3 col5\\\" >5.695763</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col0\\\" class=\\\"data row4 col0\\\" >0.595949</td>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col1\\\" class=\\\"data row4 col1\\\" >0.404051</td>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col2\\\" class=\\\"data row4 col2\\\" >1</td>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col3\\\" class=\\\"data row4 col3\\\" >4</td>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col4\\\" class=\\\"data row4 col4\\\" >0.404051</td>\\n\",\n       \"      <td id=\\\"T_090ff_row4_col5\\\" class=\\\"data row4 col5\\\" >0.906213</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col0\\\" class=\\\"data row5 col0\\\" >0.366118</td>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col1\\\" class=\\\"data row5 col1\\\" >0.633882</td>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col2\\\" class=\\\"data row5 col2\\\" >0</td>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col3\\\" class=\\\"data row5 col3\\\" >5</td>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col4\\\" class=\\\"data row5 col4\\\" >0.366118</td>\\n\",\n       \"      <td id=\\\"T_090ff_row5_col5\\\" class=\\\"data row5 col5\\\" >1.004798</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"from IPython.display import HTML\\n\",\n    \"df['loss'] = -torch.log(tensor(df['result']))\\n\",\n    \"t = df.style.hide_index()\\n\",\n    \"#To have html code compatible with our script\\n\",\n    \"html = t._repr_html_().split('</style>')[1]\\n\",\n    \"html = re.sub(r'<table id=\\\"([^\\\"]+)\\\"\\\\s*>', r'<table >', html)\\n\",\n    \"display(HTML(html))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice how the loss is very large in the third and fourth rows where the predictions are confident and wrong, or in other words have high probabilities on the wrong class.  One benefit of using the log to calculate the loss is that our loss function penalizes predictions that are both confident and wrong.  This kind of penalty works well in practice to aid in more effective model training.  \\n\",\n    \"\\n\",\n    \"> s: There are other loss functions such as [focal loss](https://arxiv.org/pdf/1708.02002.pdf) that allow you control this penalty with a parameter.  We do not discuss that loss function in this book.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're calculating the loss from the column containing the correct label. Because there is only one \\\"right\\\" answer per example, we don't need to consider the other columns, because by the definition of softmax, they add up to 1 minus the activation corresponding to the correct label. As long as the activation columns sum to 1 (as they will, if we use softmax), then we'll have a loss function that shows how well we're predicting each digit.  Therefore, making the activation for the correct label as high as possible must mean we're also decreasing the activations of the remaining columns.  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Negative Log Likelihood\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Taking the mean of the negative log of our probabilities (taking the mean of the `loss` column of our table) gives us the *negative log likelihood* loss, which is another name for cross-entropy loss. Recall that PyTorch's `nll_loss` assumes that you already took the log of the softmax, so it doesn't actually do the logarithm for you.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we first take the softmax, and then the log likelihood of that, that combination is called *cross-entropy loss*. In PyTorch, this is available as `nn.CrossEntropyLoss` (which, in practice, actually does `log_softmax` and then `nll_loss`):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss_func = nn.CrossEntropyLoss()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, this is a class. Instantiating it gives you an object which behaves like a function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(1.8045)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss_func(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All PyTorch loss functions are provided in two forms, the class just shown above, and also a plain functional form, available in the `F` namespace:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(1.8045)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"F.cross_entropy(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Either one works fine and can be used in any situation. We've noticed that most people tend to use the class version, and that's more often used in PyTorch's official docs and examples, so we'll tend to use that too.\\n\",\n    \"\\n\",\n    \"By default PyTorch loss functions take the mean of the loss of all items. You can use `reduction='none'` to disable that:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([0.5067, 0.6973, 2.0160, 5.6958, 0.9062, 1.0048])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"nn.CrossEntropyLoss(reduction='none')(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You will notice these values match the `loss` column in our table exactly.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> s: An interesting feature about cross-entropy loss appears when we consider its gradient. The gradient of `cross_entropy(a,b)` is just `softmax(a)-b`. Since `softmax(a)` is just the final activation of the model, that means that the gradient is proportional to the difference between the prediction and the target. This is the same as mean squared error in regression (assuming there's no final activation function such as that added by `y_range`), since the gradient of `(a-b)**2` is `2*(a-b)`. Because the gradient is linear, that means we won't see sudden jumps or exponential increases in gradients, which should lead to smoother training of models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have now seen all the pieces hidden behind our loss function. But while this puts a number on how well (or badly) our model is doing, it does nothing to help us know if it's actually any good. Let's now see some ways to interpret our model's predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Model Interpretation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's very hard to interpret loss functions directly, because they are designed to be things computers can differentiate and optimize, not things that people can understand. That's why we have metrics. These are not used in the optimization process, but just to help us poor humans understand what's going on. In this case, our accuracy is looking pretty good already! So where are we making mistakes?\\n\",\n    \"\\n\",\n    \"We saw in <<chapter_intro>> that we can use a confusion matrix to see where our model is doing well, and where it's doing badly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 720x720 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#width 600\\n\",\n    \"interp = ClassificationInterpretation.from_learner(learn)\\n\",\n    \"interp.plot_confusion_matrix(figsize=(12,12), dpi=60)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Oh dear—in this case, a confusion matrix is very hard to read. We have 37 different breeds of pet, which means we have 37×37 entries in this giant matrix! Instead, we can use the `most_confused` method, which just shows us the cells of the confusion matrix with the most incorrect predictions (here, with at least 5 or more):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[('american_pit_bull_terrier', 'staffordshire_bull_terrier', 10),\\n\",\n       \" ('Ragdoll', 'Birman', 8),\\n\",\n       \" ('Siamese', 'Birman', 6),\\n\",\n       \" ('Bengal', 'Egyptian_Mau', 5),\\n\",\n       \" ('american_pit_bull_terrier', 'american_bulldog', 5)]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"interp.most_confused(min_val=5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we are not pet breed experts, it is hard for us to know whether these category errors reflect actual difficulties in recognizing breeds. So again, we turn to Google. A little bit of Googling tells us that the most common category errors shown here are actually breed differences that even expert breeders sometimes disagree about. So this gives us some comfort that we are on the right track.\\n\",\n    \"\\n\",\n    \"We seem to have a good baseline. What can we do now to make it even better?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving Our Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We will now look at a range of techniques to improve the training of our model and make it better. While doing so, we will explain a little bit more about transfer learning and how to fine-tune our pretrained model as best as possible, without breaking the pretrained weights.\\n\",\n    \"\\n\",\n    \"The first thing we need to set when training a model is the learning rate. We saw in the previous chapter that it needs to be just right to train as efficiently as possible, so how do we pick a good one? fastai provides a tool for this.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Learning Rate Finder\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the most important things we can do when training a model is to make sure that we have the right learning rate. If our learning rate is too low, it can take many, many epochs to train our model. Not only does this waste time, but it also means that we may have problems with overfitting, because every time we do a complete pass through the data, we give our model a chance to memorize it.\\n\",\n    \"\\n\",\n    \"So let's just make our learning rate really high, right? Sure, let's try that and see what happens:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.778816</td>\\n\",\n       \"      <td>5.150732</td>\\n\",\n       \"      <td>0.504060</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>4.354680</td>\\n\",\n       \"      <td>3.003533</td>\\n\",\n       \"      <td>0.834235</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1, base_lr=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That doesn't look good. Here's what happened. The optimizer stepped in the correct direction, but it stepped so far that it totally overshot the minimum loss. Repeating that multiple times makes it get further and further away, not closer and closer!\\n\",\n    \"\\n\",\n    \"What do we do to find the perfect learning rate—not too high, and not too low? In 2015 the researcher Leslie Smith came up with a brilliant idea, called the *learning rate finder*. His idea was to start with a very, very small learning rate, something so small that we would never expect it to be too big to handle. We use that for one mini-batch, find what the losses are afterwards, and then increase the learning rate by some percentage (e.g., doubling it each time). Then we do another mini-batch, track the loss, and double the learning rate again. We keep doing this until the loss gets worse, instead of better. This is the point where we know we have gone too far. We then select a learning rate a bit lower than this point. Our advice is to pick either:\\n\",\n    \"\\n\",\n    \"- One order of magnitude less than where the minimum loss was achieved (i.e., the minimum divided by 10)\\n\",\n    \"- The last point where the loss was clearly decreasing \\n\",\n    \"\\n\",\n    \"The learning rate finder computes those points on the curve to help you. Both these rules usually give around the same value. In the first chapter, we didn't specify a learning rate, using the default value from the fastai library (which is 1e-3):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"lr_min,lr_steep = learn.lr_find(suggest_funcs=(minimum, steep))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Minimum/10: 1.00e-02, steepest point: 5.25e-03\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(f\\\"Minimum/10: {lr_min:.2e}, steepest point: {lr_steep:.2e}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see on this plot that in the range 1e-6 to 1e-3, nothing really happens and the model doesn't train. Then the loss starts to decrease until it reaches a minimum, and then increases again. We don't want a learning rate greater than 1e-1 as it will give a training that diverges like the one before (you can try for yourself), but 1e-1 is already too high: at this stage we've left the period where the loss was decreasing steadily.\\n\",\n    \"\\n\",\n    \"In this learning rate plot it appears that a learning rate around 3e-3 would be appropriate, so let's choose that:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.328591</td>\\n\",\n       \"      <td>0.344678</td>\\n\",\n       \"      <td>0.114344</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.540180</td>\\n\",\n       \"      <td>0.420945</td>\\n\",\n       \"      <td>0.127876</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.329827</td>\\n\",\n       \"      <td>0.248813</td>\\n\",\n       \"      <td>0.083221</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(2, base_lr=3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> Note: Logarithmic Scale: The learning rate finder plot has a logarithmic scale, which is why the middle point between 1e-3 and 1e-2 is between 3e-3 and 4e-3. This is because we care mostly about the order of magnitude of the learning rate.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's interesting that the learning rate finder was only discovered in 2015, while neural networks have been under development since the 1950s. Throughout that time finding a good learning rate has been, perhaps, the most important and challenging issue for practitioners. The solution does not require any advanced maths, giant computing resources, huge datasets, or anything else that would make it inaccessible to any curious researcher. Furthermore, Leslie Smith, was not part of some exclusive Silicon Valley lab, but was working as a naval researcher. All of this is to say: breakthrough work in deep learning absolutely does not require access to vast resources, elite teams, or advanced mathematical ideas. There is lots of work still to be done that requires just a bit of common sense, creativity, and tenacity.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a good learning rate to train our model, let's look at how we can fine-tune the weights of a pretrained model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Unfreezing and Transfer Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We discussed briefly in <<chapter_intro>> how transfer learning works. We saw that the basic idea is that a pretrained model, trained potentially on millions of data points (such as ImageNet), is fine-tuned for some other task. But what does this really mean?\\n\",\n    \"\\n\",\n    \"We now know that a convolutional neural network consists of many linear layers with a nonlinear activation function between each pair, followed by one or more final linear layers with an activation function such as softmax at the very end. The final linear layer uses a matrix with enough columns such that the output size is the same as the number of classes in our model (assuming that we are doing classification).\\n\",\n    \"\\n\",\n    \"This final linear layer is unlikely to be of any use for us when we are fine-tuning in a transfer learning setting, because it is specifically designed to classify the categories in the original pretraining dataset. So when we do transfer learning we remove it, throw it away, and replace it with a new linear layer with the correct number of outputs for our desired task (in this case, there would be 37 activations).\\n\",\n    \"\\n\",\n    \"This newly added linear layer will have entirely random weights. Therefore, our model prior to fine-tuning has entirely random outputs. But that does not mean that it is an entirely random model! All of the layers prior to the last one have been carefully trained to be good at image classification tasks in general. As we saw in the images from the [Zeiler and Fergus paper](https://arxiv.org/pdf/1311.2901.pdf) in <<chapter_intro>> (see <<img_layer1>> through <<img_layer4>>), the first few layers encode very general concepts, such as finding gradients and edges, and later layers encode concepts that are still very useful for us, such as finding eyeballs and fur.\\n\",\n    \"\\n\",\n    \"We want to train a model in such a way that we allow it to remember all of these generally useful ideas from the pretrained model, use them to solve our particular task (classify pet breeds), and only adjust them as required for the specifics of our particular task.\\n\",\n    \"\\n\",\n    \"Our challenge when fine-tuning is to replace the random weights in our added linear layers with weights that correctly achieve our desired task (classifying pet breeds) without breaking the carefully pretrained weights and the other layers. There is actually a very simple trick to allow this to happen: tell the optimizer to only update the weights in those randomly added final layers. Don't change the weights in the rest of the neural network at all. This is called *freezing* those pretrained layers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we create a model from a pretrained network fastai automatically freezes all of the pretrained layers for us. When we call the `fine_tune` method fastai does two things:\\n\",\n    \"\\n\",\n    \"- Trains the randomly added layers for one epoch, with all other layers frozen\\n\",\n    \"- Unfreezes all of the layers, and trains them all for the number of epochs requested\\n\",\n    \"\\n\",\n    \"Although this is a reasonable default approach, it is likely that for your particular dataset you may get better results by doing things slightly differently. The `fine_tune` method has a number of parameters you can use to change its behavior, but it might be easiest for you to just call the underlying methods directly if you want to get some custom behavior. Remember that you can see the source code for the method by using the following syntax:\\n\",\n    \"\\n\",\n    \"    learn.fine_tune??\\n\",\n    \"\\n\",\n    \"So let's try doing this manually ourselves. First of all we will train the randomly added layers for three epochs, using `fit_one_cycle`. As mentioned in <<chapter_intro>>, `fit_one_cycle` is the suggested way to train models without using `fine_tune`. We'll see why later in the book; in short, what `fit_one_cycle` does is to start training at a low learning rate, gradually increase it for the first section of training, and then gradually decrease it again for the last section of training.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fine_tune??\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.188042</td>\\n\",\n       \"      <td>0.355024</td>\\n\",\n       \"      <td>0.102842</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.534234</td>\\n\",\n       \"      <td>0.302453</td>\\n\",\n       \"      <td>0.094723</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.325031</td>\\n\",\n       \"      <td>0.222268</td>\\n\",\n       \"      <td>0.074425</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fit_one_cycle(3, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we'll unfreeze the model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.unfreeze()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and run `lr_find` again, because having more layers to train, and weights that have already been trained for three epochs, means our previously found learning rate isn't appropriate any more:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(1.0964782268274575e-05, 1.5848931980144698e-06)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that the graph is a little different from when we had random weights: we don't have that sharp descent that indicates the model is training. That's because our model has been trained already. Here we have a somewhat flat area before a sharp increase, and we should take a point well before that sharp increase—for instance, 1e-5. The point with the maximum gradient isn't what we look for here and should be ignored.\\n\",\n    \"\\n\",\n    \"Let's train at a suitable learning rate:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.263579</td>\\n\",\n       \"      <td>0.217419</td>\\n\",\n       \"      <td>0.069012</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.253060</td>\\n\",\n       \"      <td>0.210346</td>\\n\",\n       \"      <td>0.062923</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.224340</td>\\n\",\n       \"      <td>0.207357</td>\\n\",\n       \"      <td>0.060217</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.200195</td>\\n\",\n       \"      <td>0.207244</td>\\n\",\n       \"      <td>0.061570</td>\\n\",\n       \"      <td>00:24</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.194269</td>\\n\",\n       \"      <td>0.200149</td>\\n\",\n       \"      <td>0.059540</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.173164</td>\\n\",\n       \"      <td>0.202301</td>\\n\",\n       \"      <td>0.059540</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(6, lr_max=1e-5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This has improved our model a bit, but there's more we can do. The deepest layers of our pretrained model might not need as high a learning rate as the last ones, so we should probably use different learning rates for those—this is known as using *discriminative learning rates*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Discriminative Learning Rates\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Even after we unfreeze, we still care a lot about the quality of those pretrained weights. We would not expect that the best learning rate for those pretrained parameters would be as high as for the randomly added parameters, even after we have tuned those randomly added parameters for a few epochs. Remember, the pretrained weights have been trained for hundreds of epochs, on millions of images.\\n\",\n    \"\\n\",\n    \"In addition, do you remember the images we saw in <<chapter_intro>>, showing what each layer learns? The first layer learns very simple foundations, like edge and gradient detectors; these are likely to be just as useful for nearly any task. The later layers learn much more complex concepts, like \\\"eye\\\" and \\\"sunset,\\\" which might not be useful in your task at all (maybe you're classifying car models, for instance). So it makes sense to let the later layers fine-tune more quickly than earlier layers.\\n\",\n    \"\\n\",\n    \"Therefore, fastai's default approach is to use discriminative learning rates. This was originally developed in the ULMFiT approach to NLP transfer learning that we will introduce in <<chapter_nlp>>. Like many good ideas in deep learning, it is extremely simple: use a lower learning rate for the early layers of the neural network, and a higher learning rate for the later layers (and especially the randomly added layers). The idea is based on insights developed by [Jason Yosinski](https://arxiv.org/abs/1411.1792), who showed in 2014 that with transfer learning different layers of a neural network should train at different speeds, as seen in <<yosinski>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Impact of different layers and training methods on transfer learning (Yosinski)\\\" width=\\\"680\\\" caption=\\\"Impact of different layers and training methods on transfer learning (courtesy of Jason Yosinski et al.)\\\" id=\\\"yosinski\\\" src=\\\"images/att_00039.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai lets you pass a Python `slice` object anywhere that a learning rate is expected. The first value passed will be the learning rate in the earliest layer of the neural network, and the second value will be the learning rate in the final layer. The layers in between will have learning rates that are multiplicatively equidistant throughout that range. Let's use this approach to replicate the previous training, but this time we'll only set the *lowest* layer of our net to a learning rate of 1e-6; the other layers will scale up to 1e-4. Let's train for a while and see what happens:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.145300</td>\\n\",\n       \"      <td>0.345568</td>\\n\",\n       \"      <td>0.119756</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.533986</td>\\n\",\n       \"      <td>0.251944</td>\\n\",\n       \"      <td>0.077131</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.317696</td>\\n\",\n       \"      <td>0.208371</td>\\n\",\n       \"      <td>0.069012</td>\\n\",\n       \"      <td>00:20</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.257977</td>\\n\",\n       \"      <td>0.205400</td>\\n\",\n       \"      <td>0.067659</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.246763</td>\\n\",\n       \"      <td>0.205107</td>\\n\",\n       \"      <td>0.066306</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.240595</td>\\n\",\n       \"      <td>0.193848</td>\\n\",\n       \"      <td>0.062246</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.209988</td>\\n\",\n       \"      <td>0.198061</td>\\n\",\n       \"      <td>0.062923</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.194756</td>\\n\",\n       \"      <td>0.193130</td>\\n\",\n       \"      <td>0.064276</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.169985</td>\\n\",\n       \"      <td>0.187885</td>\\n\",\n       \"      <td>0.056157</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.153205</td>\\n\",\n       \"      <td>0.186145</td>\\n\",\n       \"      <td>0.058863</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.141480</td>\\n\",\n       \"      <td>0.185316</td>\\n\",\n       \"      <td>0.053451</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.128564</td>\\n\",\n       \"      <td>0.180999</td>\\n\",\n       \"      <td>0.051421</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.126941</td>\\n\",\n       \"      <td>0.186288</td>\\n\",\n       \"      <td>0.054127</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.130064</td>\\n\",\n       \"      <td>0.181764</td>\\n\",\n       \"      <td>0.054127</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.124281</td>\\n\",\n       \"      <td>0.181855</td>\\n\",\n       \"      <td>0.054127</td>\\n\",\n       \"      <td>00:25</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fit_one_cycle(3, 3e-3)\\n\",\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(12, lr_max=slice(1e-6,1e-4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now the fine-tuning is working great!\\n\",\n    \"\\n\",\n    \"fastai can show us a graph of the training and validation loss:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.recorder.plot_loss()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, the training loss keeps getting better and better. But notice that eventually the validation loss improvement slows, and sometimes even gets worse! This is the point at which the model is starting to over fit. In particular, the model is becoming overconfident of its predictions. But this does *not* mean that it is getting less accurate, necessarily. Take a look at the table of training results per epoch, and you will often see that the accuracy continues improving, even as the validation loss gets worse. In the end what matters is your accuracy, or more generally your chosen metrics, not the loss. The loss is just the function we've given the computer to help us to optimize.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another decision you have to make when training the model is for how long to train for. We'll consider that next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Selecting the Number of Epochs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Often you will find that you are limited by time, rather than generalization and accuracy, when choosing how many epochs to train for. So your first approach to training should be to simply pick a number of epochs that will train in the amount of time that you are happy to wait for. Then look at the training and validation loss plots, as shown above, and in particular your metrics, and if you see that they are still getting better even in your final epochs, then you know that you have not trained for too long.\\n\",\n    \"\\n\",\n    \"On the other hand, you may well see that the metrics you have chosen are really getting worse at the end of training. Remember, it's not just that we're looking for the validation loss to get worse, but the actual metrics. Your validation loss will first get worse during training because the model gets overconfident, and only later will get worse because it is incorrectly memorizing the data. We only care in practice about the latter issue. Remember, our loss function is just something that we use to allow our optimizer to have something it can differentiate and optimize; it's not actually the thing we care about in practice.\\n\",\n    \"\\n\",\n    \"Before the days of 1cycle training it was very common to save the model at the end of each epoch, and then select whichever model had the best accuracy out of all of the models saved in each epoch. This is known as *early stopping*. However, this is very unlikely to give you the best answer, because those epochs in the middle occur before the learning rate has had a chance to reach the small values, where it can really find the best result. Therefore, if you find that you have overfit, what you should actually do is retrain your model from scratch, and this time select a total number of epochs based on where your previous best results were found.\\n\",\n    \"\\n\",\n    \"If you have the time to train for more epochs, you may want to instead use that time to train more parameters—that is, use a deeper architecture.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Deeper Architectures\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In general, a model with more parameters can model your data more accurately. (There are lots and lots of caveats to this generalization, and it depends on the specifics of the architectures you are using, but it is a reasonable rule of thumb for now.) For most of the architectures that we will be seeing in this book, you can create larger versions of them by simply adding more layers. However, since we want to use pretrained models, we need to make sure that we choose a number of layers that have already been pretrained for us.\\n\",\n    \"\\n\",\n    \"This is why, in practice, architectures tend to come in a small number of variants. For instance, the ResNet architecture that we are using in this chapter comes in variants with 18, 34, 50, 101, and 152 layer, pretrained on ImageNet. A larger (more layers and parameters; sometimes described as the \\\"capacity\\\" of a model) version of a ResNet will always be able to give us a better training loss, but it can suffer more from overfitting, because it has more parameters to overfit with.\\n\",\n    \"\\n\",\n    \"In general, a bigger model has the ability to better capture the real underlying relationships in your data, and also to capture and memorize the specific details of your individual images.\\n\",\n    \"\\n\",\n    \"However, using a deeper model is going to require more GPU RAM, so you may need to lower the size of your batches to avoid an *out-of-memory error*. This happens when you try to fit too much inside your GPU and looks like:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"Cuda runtime error: out of memory\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"You may have to restart your notebook when this happens. The way to solve it is to use a smaller batch size, which means passing smaller groups of images at any given time through your model. You can pass the batch size you want to the call creating your `DataLoaders` with `bs=`.\\n\",\n    \"\\n\",\n    \"The other downside of deeper architectures is that they take quite a bit longer to train. One technique that can speed things up a lot is *mixed-precision training*. This refers to using less-precise numbers (*half-precision floating point*, also called *fp16*) where possible during training. As we are writing these words in early 2020, nearly all current NVIDIA GPUs support a special feature called *tensor cores* that can dramatically speed up neural network training, by 2-3x. They also require a lot less GPU memory. To enable this feature in fastai, just add `to_fp16()` after your `Learner` creation (you also need to import the module).\\n\",\n    \"\\n\",\n    \"You can't really know ahead of time what the best architecture for your particular problem is—you need to try training some. So let's try a ResNet-50 now with mixed precision:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.427505</td>\\n\",\n       \"      <td>0.310554</td>\\n\",\n       \"      <td>0.098782</td>\\n\",\n       \"      <td>00:21</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.606785</td>\\n\",\n       \"      <td>0.302325</td>\\n\",\n       \"      <td>0.094723</td>\\n\",\n       \"      <td>00:22</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.409267</td>\\n\",\n       \"      <td>0.294803</td>\\n\",\n       \"      <td>0.091340</td>\\n\",\n       \"      <td>00:21</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.261121</td>\\n\",\n       \"      <td>0.274507</td>\\n\",\n       \"      <td>0.083897</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.296653</td>\\n\",\n       \"      <td>0.318649</td>\\n\",\n       \"      <td>0.084574</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.242356</td>\\n\",\n       \"      <td>0.253677</td>\\n\",\n       \"      <td>0.069012</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.150684</td>\\n\",\n       \"      <td>0.251438</td>\\n\",\n       \"      <td>0.065629</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.094997</td>\\n\",\n       \"      <td>0.239772</td>\\n\",\n       \"      <td>0.064276</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.061144</td>\\n\",\n       \"      <td>0.228082</td>\\n\",\n       \"      <td>0.054804</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from fastai.callback.fp16 import *\\n\",\n    \"learn = vision_learner(dls, resnet50, metrics=error_rate).to_fp16()\\n\",\n    \"learn.fine_tune(6, freeze_epochs=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You'll see here we've gone back to using `fine_tune`, since it's so handy! We can pass `freeze_epochs` to tell fastai how many epochs to train for while frozen. It will automatically change learning rates appropriately for most datasets.\\n\",\n    \"\\n\",\n    \"In this case, we're not seeing a clear win from the deeper model. This is useful to remember—bigger models aren't necessarily better models for your particular case! Make sure you try small models before you start scaling up.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chapter you learned some important practical tips, both for getting your image data ready for modeling (presizing, data block summary) and for fitting the model (learning rate finder, unfreezing, discriminative learning rates, setting the number of epochs, and using deeper architectures). Using these tools will help you to build more accurate image models, more quickly.\\n\",\n    \"\\n\",\n    \"We also discussed cross-entropy loss. This part of the book is worth spending plenty of time on. You aren't likely to need to actually implement cross-entropy loss from scratch yourself in practice, but it's really important you understand the inputs to and output from that function, because it (or a variant of it, as we'll see in the next chapter) is used in nearly every classification model. So when you want to debug a model, or put a model in production, or improve the accuracy of a model, you're going to need to be able to look at its activations and loss, and understand what's going on, and why. You can't do that properly if you don't understand your loss function.\\n\",\n    \"\\n\",\n    \"If cross-entropy loss hasn't \\\"clicked\\\" for you just yet, don't worry—you'll get there! First, go back to the last chapter and make sure you really understand `mnist_loss`. Then work gradually through the cells of the notebook for this chapter, where we step through each piece of cross-entropy loss. Make sure you understand what each calculation is doing, and why. Try creating some small tensors yourself and pass them into the functions, to see what they return.\\n\",\n    \"\\n\",\n    \"Remember: the choices made in the implementation of cross-entropy loss are not the only possible choices that could have been made. Just like when we looked at regression we could choose between mean squared error and mean absolute difference (L1). If you have other ideas for possible functions that you think might work, feel free to give them a try in this chapter's notebook! (Fair warning though: you'll probably find that the model will be slower to train, and less accurate. That's because the gradient of cross-entropy loss is proportional to the difference between the activation and the target, so SGD always gets a nicely scaled step for the weights.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why do we first resize to a large size on the CPU, and then to a smaller size on the GPU?\\n\",\n    \"1. If you are not familiar with regular expressions, find a regular expression tutorial, and some problem sets, and complete them. Have a look on the book's website for suggestions.\\n\",\n    \"1. What are the two ways in which data is most commonly provided, for most deep learning datasets?\\n\",\n    \"1. Look up the documentation for `L` and try using a few of the new methods that it adds.\\n\",\n    \"1. Look up the documentation for the Python `pathlib` module and try using a few methods of the `Path` class.\\n\",\n    \"1. Give two examples of ways that image transformations can degrade the quality of the data.\\n\",\n    \"1. What method does fastai provide to view the data in a `DataLoaders`?\\n\",\n    \"1. What method does fastai provide to help you debug a `DataBlock`?\\n\",\n    \"1. Should you hold off on training a model until you have thoroughly cleaned your data?\\n\",\n    \"1. What are the two pieces that are combined into cross-entropy loss in PyTorch?\\n\",\n    \"1. What are the two properties of activations that softmax ensures? Why is this important?\\n\",\n    \"1. When might you want your activations to not have these two properties?\\n\",\n    \"1. Calculate the `exp` and `softmax` columns of <<bear_softmax>> yourself (i.e., in a spreadsheet, with a calculator, or in a notebook).\\n\",\n    \"1. Why can't we use `torch.where` to create a loss function for datasets where our label can have more than two categories?\\n\",\n    \"1. What is the value of log(-2)? Why?\\n\",\n    \"1. What are two good rules of thumb for picking a learning rate from the learning rate finder?\\n\",\n    \"1. What two steps does the `fine_tune` method do?\\n\",\n    \"1. In Jupyter Notebook, how do you get the source code for a method or function?\\n\",\n    \"1. What are discriminative learning rates?\\n\",\n    \"1. How is a Python `slice` object interpreted when passed as a learning rate to fastai?\\n\",\n    \"1. Why is early stopping a poor choice when using 1cycle training?\\n\",\n    \"1. What is the difference between `resnet50` and `resnet101`?\\n\",\n    \"1. What does `to_fp16` do?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Find the paper by Leslie Smith that introduced the learning rate finder, and read it.\\n\",\n    \"1. See if you can improve the accuracy of the classifier in this chapter. What's the best accuracy you can achieve? Look on the forums and the book's website to see what other students have achieved with this dataset, and how they did it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "06_multicat.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_multicat]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Other Computer Vision Problems\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the previous chapter you learned some important practical techniques for training models in practice. Considerations like selecting learning rates and the number of epochs are very important to getting good results.\\n\",\n    \"\\n\",\n    \"In this chapter we are going to look at two other types of computer vision problems: multi-label classification and regression. The first one is when you want to predict more than one label per image (or sometimes none at all), and the second is when your labels are one or several numbers—a quantity instead of a category.\\n\",\n    \"\\n\",\n    \"In the process will study more deeply the output activations, targets, and loss functions in deep learning models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Multi-Label Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Multi-label classification refers to the problem of identifying the categories of objects in images that may not contain exactly one type of object. There may be more than one kind of object, or there may be no objects at all in the classes that you are looking for.\\n\",\n    \"\\n\",\n    \"For instance, this would have been a great approach for our bear classifier. One problem with the bear classifier that we rolled out in <<chapter_production>> was that if a user uploaded something that wasn't any kind of bear, the model would still say it was either a grizzly, black, or teddy bear—it had no ability to predict \\\"not a bear at all.\\\" In fact, after we have completed this chapter, it would be a great exercise for you to go back to your image classifier application, and try to retrain it using the multi-label technique, then test it by passing in an image that is not of any of your recognized classes.\\n\",\n    \"\\n\",\n    \"In practice, we have not seen many examples of people training multi-label classifiers for this purpose—but we very often see both users and developers complaining about this problem. It appears that this simple solution is not at all widely understood or appreciated! Because in practice it is probably more common to have some images with zero matches or more than one match, we should probably expect in practice that multi-label classifiers are more widely applicable than single-label classifiers.\\n\",\n    \"\\n\",\n    \"First, let's see what a multi-label dataset looks like, then we'll explain how to get it ready for our model. You'll see that the architecture of the model does not change from the last chapter; only the loss function does. Let's start with the data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For our example we are going to use the PASCAL dataset, which can have more than one kind of classified object per image.\\n\",\n    \"\\n\",\n    \"We begin by downloading and extracting the dataset as per usual:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PASCAL_2007)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This dataset is different from the ones we have seen before, in that it is not structured by filename or folder but instead comes with a CSV (comma-separated values) file telling us what labels to use for each image. We can inspect the CSV file by reading it into a Pandas DataFrame:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>fname</th>\\n\",\n       \"      <th>labels</th>\\n\",\n       \"      <th>is_valid</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>000005.jpg</td>\\n\",\n       \"      <td>chair</td>\\n\",\n       \"      <td>True</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>000007.jpg</td>\\n\",\n       \"      <td>car</td>\\n\",\n       \"      <td>True</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>000009.jpg</td>\\n\",\n       \"      <td>horse person</td>\\n\",\n       \"      <td>True</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>000012.jpg</td>\\n\",\n       \"      <td>car</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>000016.jpg</td>\\n\",\n       \"      <td>bicycle</td>\\n\",\n       \"      <td>True</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"        fname        labels  is_valid\\n\",\n       \"0  000005.jpg         chair      True\\n\",\n       \"1  000007.jpg           car      True\\n\",\n       \"2  000009.jpg  horse person      True\\n\",\n       \"3  000012.jpg           car     False\\n\",\n       \"4  000016.jpg       bicycle      True\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df = pd.read_csv(path/'train.csv')\\n\",\n    \"df.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, the list of categories in each image is shown as a space-delimited string.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Pandas and DataFrames\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"No, it’s not actually a panda! *Pandas* is a Python library that is used to manipulate and analyze tabular and time series data. The main class is `DataFrame`, which represents a table of rows and columns. You can get a DataFrame from a CSV file, a database table, Python dictionaries, and many other sources. In Jupyter, a DataFrame is output as a formatted table, as shown here.\\n\",\n    \"\\n\",\n    \"You can access rows and columns of a DataFrame with the `iloc` property, as if it were a matrix:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0       000005.jpg\\n\",\n       \"1       000007.jpg\\n\",\n       \"2       000009.jpg\\n\",\n       \"3       000012.jpg\\n\",\n       \"4       000016.jpg\\n\",\n       \"           ...    \\n\",\n       \"5006    009954.jpg\\n\",\n       \"5007    009955.jpg\\n\",\n       \"5008    009958.jpg\\n\",\n       \"5009    009959.jpg\\n\",\n       \"5010    009961.jpg\\n\",\n       \"Name: fname, Length: 5011, dtype: object\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.iloc[:,0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"fname       000005.jpg\\n\",\n       \"labels           chair\\n\",\n       \"is_valid          True\\n\",\n       \"Name: 0, dtype: object\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.iloc[0,:]\\n\",\n    \"# Trailing :s are always optional (in numpy, pytorch, pandas, etc.),\\n\",\n    \"#   so this is equivalent:\\n\",\n    \"df.iloc[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can also grab a column by name by indexing into a DataFrame directly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0       000005.jpg\\n\",\n       \"1       000007.jpg\\n\",\n       \"2       000009.jpg\\n\",\n       \"3       000012.jpg\\n\",\n       \"4       000016.jpg\\n\",\n       \"           ...    \\n\",\n       \"5006    009954.jpg\\n\",\n       \"5007    009955.jpg\\n\",\n       \"5008    009958.jpg\\n\",\n       \"5009    009959.jpg\\n\",\n       \"5010    009961.jpg\\n\",\n       \"Name: fname, Length: 5011, dtype: object\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df['fname']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can create new columns and do calculations using columns:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>a</th>\\n\",\n       \"      <th>b</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   a  b\\n\",\n       \"0  1  3\\n\",\n       \"1  2  4\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tmp_df = pd.DataFrame({'a':[1,2], 'b':[3,4]})\\n\",\n    \"tmp_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>a</th>\\n\",\n       \"      <th>b</th>\\n\",\n       \"      <th>c</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   a  b  c\\n\",\n       \"0  1  3  4\\n\",\n       \"1  2  4  6\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tmp_df['c'] = tmp_df['a']+tmp_df['b']\\n\",\n    \"tmp_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Pandas is a fast and flexible library, and an important part of every data scientist’s Python toolbox. Unfortunately, its API can be rather confusing and surprising, so it takes a while to get familiar with it. If you haven’t used Pandas before, we’d suggest going through a tutorial; we are particularly fond of the book [*Python for Data Analysis*](http://shop.oreilly.com/product/0636920023784.do) by Wes McKinney, the creator of Pandas (O'Reilly). It also covers other important libraries like `matplotlib` and `numpy`. We will try to briefly describe Pandas functionality we use as we come across it, but will not go into the level of detail of McKinney’s book.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have seen what the data looks like, let's make it ready for model training.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Constructing a DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"How do we convert from a `DataFrame` object to a `DataLoaders` object? We generally suggest using the data block API for creating a `DataLoaders` object, where possible, since it provides a good mix of flexibility and simplicity. Here we will show you the steps that we take to use the data blocks API to construct a `DataLoaders` object in practice, using this dataset as an example.\\n\",\n    \"\\n\",\n    \"As we have seen, PyTorch and fastai have two main classes for representing and accessing a training set or validation set:\\n\",\n    \"\\n\",\n    \"- `Dataset`:: A collection that returns a tuple of your independent and dependent variable for a single item\\n\",\n    \"- `DataLoader`:: An iterator that provides a stream of mini-batches, where each mini-batch is a tuple of a batch of independent variables and a batch of dependent variables\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"On top of these, fastai provides two classes for bringing your training and validation sets together:\\n\",\n    \"\\n\",\n    \"- `Datasets`:: An object that contains a training `Dataset` and a validation `Dataset`\\n\",\n    \"- `DataLoaders`:: An object that contains a training `DataLoader` and a validation `DataLoader`\\n\",\n    \"\\n\",\n    \"Since a `DataLoader` builds on top of a `Dataset` and adds additional functionality to it (collating multiple items into a mini-batch), it’s often easiest to start by creating and testing `Datasets`, and then look at `DataLoaders` after that’s working.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we create a `DataBlock`, we build up gradually, step by step, and use the notebook to check our data along the way. This is a great way to make sure that you maintain momentum as you are coding, and that you keep an eye out for any problems. It’s easy to debug, because you know that if a problem arises, it is in the line of code you just typed!\\n\",\n    \"\\n\",\n    \"Let’s start with the simplest case, which is a data block created with no parameters:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create a `Datasets` object from this. The only thing needed is a source—in this case, our DataFrame:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dsets = dblock.datasets(df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This contains a `train` and a `valid` dataset, which we can index into:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(4009, 1002)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(dsets.train),len(dsets.valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(fname       008663.jpg\\n\",\n       \" labels      car person\\n\",\n       \" is_valid         False\\n\",\n       \" Name: 4346, dtype: object,\\n\",\n       \" fname       008663.jpg\\n\",\n       \" labels      car person\\n\",\n       \" is_valid         False\\n\",\n       \" Name: 4346, dtype: object)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = dsets.train[0]\\n\",\n    \"x,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, this simply returns a row of the DataFrame, twice. This is because by default, the data block assumes we have two things: input and target. We are going to need to grab the appropriate fields from the DataFrame, which we can do by passing `get_x` and `get_y` functions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'008663.jpg'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x['fname']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('005620.jpg', 'aeroplane')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dblock = DataBlock(get_x = lambda r: r['fname'], get_y = lambda r: r['labels'])\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, rather than defining a function in the usual way, we are using Python’s `lambda` keyword. This is just a shortcut for defining and then referring to a function. The following more verbose approach is identical:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('002549.jpg', 'tvmonitor')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def get_x(r): return r['fname']\\n\",\n    \"def get_y(r): return r['labels']\\n\",\n    \"dblock = DataBlock(get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Lambda functions are great for quickly iterating, but they are not compatible with serialization, so we advise you to use the more verbose approach if you want to export your `Learner` after training (lambdas are fine if you are just experimenting).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that the independent variable will need to be converted into a complete path, so that we can open it as an image, and the dependent variable will need to be split on the space character (which is the default for Python’s `split` function) so that it becomes a list:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(Path('/home/jhoward/.fastai/data/pascal_2007/train/002844.jpg'), ['train'])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def get_x(r): return path/'train'/r['fname']\\n\",\n    \"def get_y(r): return r['labels'].split(' ')\\n\",\n    \"dblock = DataBlock(get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To actually open the image and do the conversion to tensors, we will need to use a set of transforms; block types will provide us with those. We can use the same block types that we have used previously, with one exception: the `ImageBlock` will work fine again, because we have a path that points to a valid image, but the `CategoryBlock` is not going to work. The problem is that block returns a single integer, but we need to be able to have multiple labels for each item. To solve this, we use a `MultiCategoryBlock`. This type of block expects to receive a list of strings, as we have in this case, so let’s test it out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(PILImage mode=RGB size=500x375,\\n\",\n       \" TensorMultiCategory([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0.]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, our list of categories is not encoded in the same way that it was for the regular `CategoryBlock`. In that case, we had a single integer representing which category was present, based on its location in our vocab. In this case, however, we instead have a list of zeros, with a one in any position where that category is present. For example, if there is a one in the second and fourth positions, then that means that vocab items two and four are present in this image. This is known as *one-hot encoding*. The reason we can’t easily just use a list of category indices is that each list would be a different length, and PyTorch requires tensors, where everything has to be the same length.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: One-hot encoding: Using a vector of zeros, with a one in each location that is represented in the data, to encode a list of integers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let’s check what the categories represent for this example (we are using the convenient `torch.where` function, which tells us all of the indices where our condition is true or false):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#1) ['dog']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"idxs = torch.where(dsets.train[0][1]==1.)[0]\\n\",\n    \"dsets.train.vocab[idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With NumPy arrays, PyTorch tensors, and fastai’s `L` class, we can index directly using a list or vector, which makes a lot of code (such as this example) much clearer and more concise.\\n\",\n    \"\\n\",\n    \"We have ignored the column `is_valid` up until now, which means that `DataBlock` has been using a random split by default. To explicitly choose the elements of our validation set, we need to write a function and pass it to `splitter` (or use one of fastai's predefined functions or classes). It will take the items (here our whole DataFrame) and must return two (or more) lists of integers:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(PILImage mode=RGB size=500x333,\\n\",\n       \" TensorMultiCategory([0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def splitter(df):\\n\",\n    \"    train = df.index[~df['is_valid']].tolist()\\n\",\n    \"    valid = df.index[df['is_valid']].tolist()\\n\",\n    \"    return train,valid\\n\",\n    \"\\n\",\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   splitter=splitter,\\n\",\n    \"                   get_x=get_x, \\n\",\n    \"                   get_y=get_y)\\n\",\n    \"\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we have discussed, a `DataLoader` collates the items from a `Dataset` into a mini-batch. This is a tuple of tensors, where each tensor simply stacks the items from that location in the `Dataset` item. \\n\",\n    \"\\n\",\n    \"Now that we have confirmed that the individual items look okay, there's one more step we need to ensure we can create our `DataLoaders`, which is to ensure that every item is of the same size. To do this, we can use `RandomResizedCrop`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   splitter=splitter,\\n\",\n    \"                   get_x=get_x, \\n\",\n    \"                   get_y=get_y,\\n\",\n    \"                   item_tfms = RandomResizedCrop(128, min_scale=0.35))\\n\",\n    \"dls = dblock.dataloaders(df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And now we can display a sample of our data:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 648x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls.show_batch(nrows=1, ncols=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Remember that if anything goes wrong when you create your `DataLoaders` from your `DataBlock`, or if you want to view exactly what happens with your `DataBlock`, you can use the `summary` method we presented in the last chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our data is now ready for training a model. As we will see, nothing is going to change when we create our `Learner`, but behind the scenes, the fastai library will pick a new loss function for us: binary cross-entropy.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Binary Cross-Entropy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we'll create our `Learner`. We saw in <<chapter_mnist_basics>> that a `Learner` object contains four main things: the model, a `DataLoaders` object, an `Optimizer`, and the loss function to use. We already have our `DataLoaders`, we can leverage fastai's `resnet` models (which we'll learn how to create from scratch later), and we know how to create an `SGD` optimizer. So let's focus on ensuring we have a suitable loss function. To do this, let's use `vision_learner` to create a `Learner`, so we can look at its activations:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We also saw that the model in a `Learner` is generally an object of a class inheriting from `nn.Module`, and that we can call it using parentheses and it will return the activations of a model. You should pass it your independent variable, as a mini-batch. We can try it out by grabbing a mini batch from our `DataLoader` and then passing it to the model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 20])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = to_cpu(dls.train.one_batch())\\n\",\n    \"activs = learn.model(x)\\n\",\n    \"activs.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Think about why `activs` has this shape—we have a batch size of 64, and we need to calculate the probability of each of 20 categories. Here’s what one of those activations looks like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorBase([-1.4608,  0.9895,  0.5279, -1.0224, -1.4174, -0.1778, -0.4821, -0.2561,  0.6638,  0.1715,  2.3625,  4.2209,  1.0515,  4.5342,  0.5485,  1.0585, -0.7959,  2.2770, -1.9935,  1.9646],\\n\",\n       \"       grad_fn=<AliasBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"activs[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Getting Model Activations: Knowing how to manually get a mini-batch and pass it into a model, and look at the activations and loss, is really important for debugging your model. It is also very helpful for learning, so that you can see exactly what is going on.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"They aren’t yet scaled to between 0 and 1, but we learned how to do that in <<chapter_mnist_basics>>, using the `sigmoid` function. We also saw how to calculate a loss based on this—this is our loss function from <<chapter_mnist_basics>>, with the addition of `log` as discussed in the last chapter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def binary_cross_entropy(inputs, targets):\\n\",\n    \"    inputs = inputs.sigmoid()\\n\",\n    \"    return -torch.where(targets==1, inputs, 1-inputs).log().mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that because we have a one-hot-encoded dependent variable, we can't directly use `nll_loss` or `softmax` (and therefore we can't use `cross_entropy`):\\n\",\n    \"\\n\",\n    \"- `softmax`, as we saw, requires that all predictions sum to 1, and tends to push one activation to be much larger than the others (due to the use of `exp`); however, we may well have multiple objects that we're confident appear in an image, so restricting the maximum sum of activations to 1 is not a good idea. By the same reasoning, we may want the sum to be *less* than 1, if we don't think *any* of the categories appear in an image.\\n\",\n    \"- `nll_loss`, as we saw, returns the value of just one activation: the single activation corresponding with the single label for an item. This doesn't make sense when we have multiple labels.\\n\",\n    \"\\n\",\n    \"On the other hand, the `binary_cross_entropy` function, which is just `mnist_loss` along with `log`, provides just what we need, thanks to the magic of PyTorch's elementwise operations. Each activation will be compared to each target for each column, so we don't have to do anything to make this function work for multiple columns.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: One of the things I really like about working with libraries like PyTorch, with broadcasting and elementwise operations, is that quite frequently I find I can write code that works equally well for a single item or a batch of items, without changes. `binary_cross_entropy` is a great example of this. By using these operations, we don't have to write loops ourselves, and can rely on PyTorch to do the looping we need as appropriate for the rank of the tensors we're working with.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"PyTorch already provides this function for us. In fact, it provides a number of versions, with rather confusing names!\\n\",\n    \"\\n\",\n    \"`F.binary_cross_entropy` and its module equivalent `nn.BCELoss` calculate cross-entropy on a one-hot-encoded target, but do not include the initial `sigmoid`. Normally for one-hot-encoded targets you'll want `F.binary_cross_entropy_with_logits` (or `nn.BCEWithLogitsLoss`), which do both sigmoid and binary cross-entropy in a single function, as in the preceding example.\\n\",\n    \"\\n\",\n    \"The equivalent for single-label datasets (like MNIST or the Pet dataset), where the target is encoded as a single integer, is `F.nll_loss` or `nn.NLLLoss` for the version without the initial softmax, and `F.cross_entropy` or `nn.CrossEntropyLoss` for the version with the initial softmax.\\n\",\n    \"\\n\",\n    \"Since we have a one-hot-encoded target, we will use `BCEWithLogitsLoss`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorMultiCategory(1.0524, grad_fn=<AliasBackward0>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss_func = nn.BCEWithLogitsLoss()\\n\",\n    \"loss = loss_func(activs, y)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We don't actually need to tell fastai to use this loss function (although we can if we want) since it will be automatically chosen for us. fastai knows that the `DataLoaders` has multiple category labels, so it will use `nn.BCEWithLogitsLoss` by default.\\n\",\n    \"\\n\",\n    \"One change compared to the last chapter is the metric we use: because this is a multilabel problem, we can't use the accuracy function. Why is that? Well, accuracy was comparing our outputs to our targets like so:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"def accuracy(inp, targ, axis=-1):\\n\",\n    \"    \\\"Compute accuracy with `targ` when `pred` is bs * n_classes\\\"\\n\",\n    \"    pred = inp.argmax(dim=axis)\\n\",\n    \"    return (pred == targ).float().mean()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The class predicted was the one with the highest activation (this is what `argmax` does). Here it doesn't work because we could have more than one prediction on a single image. After applying the sigmoid to our activations (to make them between 0 and 1), we need to decide which ones are 0s and which ones are 1s by picking a *threshold*. Each value above the threshold will be considered as a 1, and each value lower than the threshold will be considered a 0:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"def accuracy_multi(inp, targ, thresh=0.5, sigmoid=True):\\n\",\n    \"    \\\"Compute accuracy when `inp` and `targ` are the same size.\\\"\\n\",\n    \"    if sigmoid: inp = inp.sigmoid()\\n\",\n    \"    return ((inp>thresh)==targ.bool()).float().mean()\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we pass `accuracy_multi` directly as a metric, it will use the default value for `threshold`, which is 0.5. We might want to adjust that default and create a new version of `accuracy_multi` that has a different default. To help with this, there is a function in Python called `partial`. It allows us to *bind* a function with some arguments or keyword arguments, making a new version of that function that, whenever it is called, always includes those arguments. For instance, here is a simple function taking two arguments:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('Hello Jeremy.', 'Ahoy! Jeremy.')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def say_hello(name, say_what=\\\"Hello\\\"): return f\\\"{say_what} {name}.\\\"\\n\",\n    \"say_hello('Jeremy'),say_hello('Jeremy', 'Ahoy!')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can switch to a French version of that function by using `partial`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('Bonjour Jeremy.', 'Bonjour Sylvain.')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"f = partial(say_hello, say_what=\\\"Bonjour\\\")\\n\",\n    \"f(\\\"Jeremy\\\"),f(\\\"Sylvain\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now train our model. Let's try setting the accuracy threshold to 0.2 for our metric:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Downloading: \\\"https://download.pytorch.org/models/resnet50-0676ba61.pth\\\" to /home/jhoward/.cache/torch/hub/checkpoints/resnet50-0676ba61.pth\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"application/vnd.jupyter.widget-view+json\": {\n       \"model_id\": \"c484136db37545eaa1d12a678f33a5d0\",\n       \"version_major\": 2,\n       \"version_minor\": 0\n      },\n      \"text/plain\": [\n       \"  0%|          | 0.00/97.8M [00:00<?, ?B/s]\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<style>\\n\",\n       \"    /* Turns off some styling */\\n\",\n       \"    progress {\\n\",\n       \"        /* gets rid of default border in Firefox and Opera. */\\n\",\n       \"        border: none;\\n\",\n       \"        /* Needs to be in here for Safari polyfill so background images work as expected. */\\n\",\n       \"        background-size: auto;\\n\",\n       \"    }\\n\",\n       \"    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\\n\",\n       \"        background: #F44336;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy_multi</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.942999</td>\\n\",\n       \"      <td>0.698309</td>\\n\",\n       \"      <td>0.230896</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.822529</td>\\n\",\n       \"      <td>0.567567</td>\\n\",\n       \"      <td>0.287151</td>\\n\",\n       \"      <td>00:04</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.604535</td>\\n\",\n       \"      <td>0.200134</td>\\n\",\n       \"      <td>0.818327</td>\\n\",\n       \"      <td>00:04</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.359754</td>\\n\",\n       \"      <td>0.123086</td>\\n\",\n       \"      <td>0.945558</td>\\n\",\n       \"      <td>00:04</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<style>\\n\",\n       \"    /* Turns off some styling */\\n\",\n       \"    progress {\\n\",\n       \"        /* gets rid of default border in Firefox and Opera. */\\n\",\n       \"        border: none;\\n\",\n       \"        /* Needs to be in here for Safari polyfill so background images work as expected. */\\n\",\n       \"        background-size: auto;\\n\",\n       \"    }\\n\",\n       \"    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\\n\",\n       \"        background: #F44336;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy_multi</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.133748</td>\\n\",\n       \"      <td>0.116784</td>\\n\",\n       \"      <td>0.943725</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.117125</td>\\n\",\n       \"      <td>0.107055</td>\\n\",\n       \"      <td>0.950837</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.098062</td>\\n\",\n       \"      <td>0.103551</td>\\n\",\n       \"      <td>0.950877</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet50, metrics=partial(accuracy_multi, thresh=0.2))\\n\",\n    \"learn.fine_tune(3, base_lr=3e-3, freeze_epochs=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Picking a threshold is important. If you pick a threshold that's too low, you'll often be failing to select correctly labeled objects. We can see this by changing our metric, and then calling `validate`, which returns the validation loss and metrics:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [0.10477833449840546,0.9314740300178528]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.metrics = partial(accuracy_multi, thresh=0.1)\\n\",\n    \"learn.validate()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you pick a threshold that's too high, you'll only be selecting the objects for which your model is very confident:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [0.10477833449840546,0.9429482221603394]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.metrics = partial(accuracy_multi, thresh=0.99)\\n\",\n    \"learn.validate()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can find the best threshold by trying a few levels and seeing what works best. This is much faster if we just grab the predictions once:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"preds,targs = learn.get_preds()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can call the metric directly. Note that by default `get_preds` applies the output activation function (sigmoid, in this case) for us, so we'll need to tell `accuracy_multi` to not apply it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorImage(0.9567)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"accuracy_multi(preds, targs, thresh=0.9, sigmoid=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now use this approach to find the best threshold level:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"xs = torch.linspace(0.05,0.95,29)\\n\",\n    \"accs = [accuracy_multi(preds, targs, thresh=i, sigmoid=False) for i in xs]\\n\",\n    \"plt.plot(xs,accs);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this case, we're using the validation set to pick a hyperparameter (the threshold), which is the purpose of the validation set. Sometimes students have expressed their concern that we might be *overfitting* to the validation set, since we're trying lots of values to see which is the best. However, as you see in the plot, changing the threshold in this case results in a smooth curve, so we're clearly not picking some inappropriate outlier. This is a good example of where you have to be careful of the difference between theory (don't try lots of hyperparameter values or you might overfit the validation set) versus practice (if the relationship is smooth, then it's fine to do this).\\n\",\n    \"\\n\",\n    \"This concludes the part of this chapter dedicated to multi-label classification. Next, we'll take a look at a regression problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's easy to think of deep learning models as being classified into domains, like *computer vision*, *NLP*, and so forth. And indeed, that's how fastai classifies its applications—largely because that's how most people are used to thinking of things.\\n\",\n    \"\\n\",\n    \"But really, that's hiding a more interesting and deeper perspective. A model is defined by its independent and dependent variables, along with its loss function. That means that there's really a far wider array of models than just the simple domain-based split. Perhaps we have an independent variable that's an image, and a dependent that's text (e.g., generating a caption from an image); or perhaps we have an independent variable that's text and dependent that's an image (e.g., generating an image from a caption—which is actually possible for deep learning to do!); or perhaps we've got images, texts, and tabular data as independent variables, and we're trying to predict product purchases... the possibilities really are endless.\\n\",\n    \"\\n\",\n    \"To be able to move beyond fixed applications, to crafting your own novel solutions to novel problems, it helps to really understand the data block API (and maybe also the mid-tier API, which we'll see later in the book). As an example, let's consider the problem of *image regression*. This refers to learning from a dataset where the independent variable is an image, and the dependent variable is one or more floats. Often we see people treat image regression as a whole separate application—but as you'll see here, we can treat it as just another CNN on top of the data block API.\\n\",\n    \"\\n\",\n    \"We're going to jump straight to a somewhat tricky variant of image regression, because we know you're ready for it! We're going to do a key point model. A *key point* refers to a specific location represented in an image—in this case, we'll use images of people and we'll be looking for the center of the person's face in each image. That means we'll actually be predicting *two* values for each image: the row and column of the face center. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Assemble the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We will use the [Biwi Kinect Head Pose dataset](https://icu.ee.ethz.ch/research/datsets.html) for this section. We'll begin by downloading the dataset as usual:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.BIWI_HEAD_POSE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see what we've got!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#50) [Path('01'),Path('01.obj'),Path('02'),Path('02.obj'),Path('03'),Path('03.obj'),Path('04'),Path('04.obj'),Path('05'),Path('05.obj')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path.ls().sorted()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are 24 directories numbered from 01 to 24 (they correspond to the different people photographed), and a corresponding *.obj* file for each (we won't need them here). Let's take a look inside one of these directories:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#1000) [Path('01/depth.cal'),Path('01/frame_00003_pose.txt'),Path('01/frame_00003_rgb.jpg'),Path('01/frame_00004_pose.txt'),Path('01/frame_00004_rgb.jpg'),Path('01/frame_00005_pose.txt'),Path('01/frame_00005_rgb.jpg'),Path('01/frame_00006_pose.txt'),Path('01/frame_00006_rgb.jpg'),Path('01/frame_00007_pose.txt')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(path/'01').ls().sorted()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Inside the subdirectories, we have different frames, each of them come with an image (*\\\\_rgb.jpg*) and a pose file (*\\\\_pose.txt*). We can easily get all the image files recursively with `get_image_files`, then write a function that converts an image filename to its associated pose file:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Path('13/frame_00349_pose.txt')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"img_files = get_image_files(path)\\n\",\n    \"def img2pose(x): return Path(f'{str(x)[:-7]}pose.txt')\\n\",\n    \"img2pose(img_files[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at our first image:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(480, 640)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im = PILImage.create(img_files[0])\\n\",\n    \"im.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAIAAAD6wG44AABe9UlEQVR4nM39aaxl2XUmiH1r7X3OvfdNMeYUOWcymcwkk6Q4SKJUsqzS2C6pqlpuw3C7baAHN+A//tNA223YBRsFN2DDcBvucrddqEYZ1XbJrRooUUOVVJIocSZFMpOZJHOeIjIjMmN48eIN995z9l7r84+9z7n3RUQmSamq2geBiBv3nmGfvfaavjVs+Tt/5//+8Y9/nCQAFwJQQgCHYDhWnwCAa99z/C9lPFfEV1dQiJsOAhDc+v2tRzmHEIBlGFIfKxCSJB0wM6fnnNzcPbibWWdGd3d3M6fT3Zzm7kY4Sc9Og4EA3Qk6xWkEQYcTQJ0TIyAgOfwLkKSwniOQ9e9JA+gE6YJ6DgkCZALgJoQDYHlUhjOZ5Vnb7JzcdC93EsLK7cpAyDqe8kw6SQF8OAdexgzSHXASgJ4/fyH+2Cc+/lOf+akfPNf/bR8EHHDCjTRYtmxm2VL2vk8555QTmXO2nLIzWxYzz5bdDOZkds9mZurZMplJwtWNpJs5XACS5p7pBEHSzFI6DDGCNHdhY+6guzs9DxQlYfTxM0m6F0p3QP0NFCCSdEM2AHRPZtnEYOjMTp254yNPPdb3ybKXhezOYZkVApdlQVJAIYW0gboOEITTh6sEEFJiWU0jh5RP5T8ysOcaP4JeliWcMObxtRKUdApBJ6RwNMmYDYS7uxOidLhDIDQxJ0kz9jR3p9MGhjM6zLN15ubOnLN55+65nJFp5maWU7Ls7uaFSszmvZsTQiZzKywsZqQT7jRHItw9Ox0mJJwEPdIAkg7x7EXIwN1p68sslylxUlg/ExABK4UB1pkkCWiZM5DuBmhhcTdxN2N2T+YJCYvOZie2CqncnRRAK2nLdA6cSvpAXSkPLc9yL+Qv/xb5AoHGN14/PHvm3a7LZm5Myc3K+nMj6x1inwUghKSb5Cr+6Jnu7ubm5sxkdiS3npqHNwRZ3x4kEMgq9IbVRwLueXw39+S0YTEaCALuJjKIOhI0rljGyqJjFWW9u4OxTispoiiLHS5CKQzmJgIpIg6kU9kCEGHKfdf3sYkxNnSnUUREim4olIOTIlAJlQfEKyOQFAepKiKKgT0IUVFhJEihqAtUfeLSaFgGELB2GoEgDCqhTHXlL2G5/yCiV0cZVfm+fAZUle6VuiIav/H1L1+79o57gjA4ASur2K1cQJLwOnt1aVTNSEGRZUIQCIXoAIP0JJ1F1Ii7ZzM61QNAIkEc1HFwFigiObtAGzik6KpAiYUfBFImVoSgDwzjgEIFCjoBF9EilwRJCAFERRSqIztBpYUSwVQBgQi0nIQgAg1ilmbTuFgsQzsTBIEIEEIAEJBFVCQItQxKRSCCJgMiiICUp0gluYKiKhABlTAgE+amdKeTxgSDJ/O8c/Ys3LUoa4iNclMqLVWVdFKreBWwSE3AARQCi8MpUqSIExavXX5t1vaq0vddEyey4ieoSBHnWtZv/VtFVABVFU0iQaRRBJVUlq0IIBQiqpTXh6q2ASMfyBQQgapqua2Lxja65+VysdFOIBQIoMTaVWoiI0niSjNrEIFIIXAodyYhamW0w3SrSBCoKEWAQTENs1+eI0UexMCuT7GZaWhk+AmAM6gSMIC6prhUfZCK4gPbCTwn0r1pGlE1B2kQc5pl0IliQzhgKZm1zZbWB61z5E2MW36vBqqIQBWkuANlDAIoxKVYuyJxZ/PkHafumkymi8WinVBFNMS6PBWqQUQCJARFfdOoKgBURYQiUthE2K+GJSLlFjIcZbJDFSkCoaxEX59T27TzxSKEMGlUECEi4pWDKyXIeoVwWGhOEgqwrKrlso8hNs0UIGHjtXVFU0kh+mrqQwb7AygaT7hYHIlAhRFNbKaxmWhREiAAkwAUgenKNQJD6C4DI1Wh5wgBGqKoEBAFWNSqQhwwoxjhZrnrl31uN0RER2KO4rdMI+swIIBXVSEcXBgRkAZoWcdgz5FaO2cmJ87OptON2bLZmjZBQwgNoCKF2KqiqlJEhKCQG6qqoiJRlaJ2Y383xFNnzp6tukeDig5klSqkBFEaVYpS1FVFVFTV3V94/pmNjenZ02cvX979wGMPbm+fBgjJkLi2flUg7kKHax6MEZqjeAvm6dLFdzc2Nra2dsyKV8SVn0QjM0GypddFz2pYgXRxh5AQDUHAEBhiKxoFKwclSFkcSoZ1Di40YzHBpKwbhUJoZZGD5XsQAQQkQwlxJ9x78y6bcfBMpazWgXLlc1VTGKRDIf+ayzqYxJVxx/vERx96YGMSP/zkh15/48177j93//33QyRoDBpFNMYoqkGziIZQaCJlQYtAEEUMyNd2r8Rw4tTp0ytndW1AP/Bw950zp7rDyel7u0cfvifEeLuz6OZOmlk25mwpJZK5GNbZsuWtHTt16iSAnK0cxVwsDk/xiulWDS11upLVy3amQIYQtIkKMeQQY1At0r36vjLDwFZr/4JwgMIAAZEDBQxOepEUIYAIVCl+jhBiDnFVDao5KCLgoupQhxCEQgr5WARNU59TbHQpbi7BIigJSLGgpFJdQQABaOJDDz3+kY88dfbs2XPnHjx59mTTToZ76Q+mTLW28p13PgSEkdsGI+yHoy55x50Pbp7c3OPy1LnTIUbeYi6WQ1TFXVWVEoIUl1NEzVREIRJj0zTFGDZVUzVWtMNDCO5uZqBx+BZUFl+IDBAlVWIIjULMEENUDTIAMnUp1I9c/QMoQIpoJQqEpJIuEqRacJUFy+8qg36SYboEEoIUAVseSUH1k24zE1UTjjK8LIvx1EJ3UYHE2EzvuvschCdPn2radm1yVzdmNWNvD0ARkSyo1l/4iEaRoIM39Z5HmRVVIUOMxcGvh7urxhDKYldAB7jA3M2s2Fygl2VRVku5qvCxBneVELQRIChDaKSIV9anFMdnQB44EAjFDJUKXDVF64s4EFRVNRSlPJ5eXqQskGpWFWACQaDEwKiig7O0mpOV8YXqS0ldCWVabloTjBpUo7ibhML4txOsUh2rmw4KKqP/ZYgLUAqyoJTw/mcW+hazeSB2QQ8YQrEXQmGtECjSuFe6lqtJocDNVcUpChaTrfjp5ZwYI81FVDUAonXVce0+dSQrZiiojrPyqUDEzaiqg+EDiIkOdpgUHlZZHSpSMOIiOEfciWuA062zUWjKm08oRq4IgCjF05NQnJbb34i3V6cymJd/mUMAChowCCKcEt7/lqripGqZdC/+1sCUGoIWCayqpJUv3alagCmnA0HdrfpiBZkTFyeVDKIqQngIIQRzoTgoFc7gIBkxuOOFxsU7MIdAq4hTkUhmVagKnRQDHUKgkBYqFAkm4ioQBC1GX1kCuqYBKGoFngSEUA641sD9PvizVUi4K8uyEsSVxSW3p+K/+kOa5rZW1XtfIBgpV9bvyAhF1xaSlyXrXtixak2oirtIUDiFpLh78XQAhtiIKMRVJZuF0ErBF91XtF0Tg9WZKaPSanoN54hI5eCiIkWErA7rLe9EESk+uqxuM96/eFoVR1uJ6fHi0fqpiGb5Xaoz+yNN7r/0QwRt0xQlxNWy/UEXiQAIQUII1Y0TGZGT8Zvx+3K+qpbPWkGYY2eJBNWYkgmQc54fHakq1lyO8SjCcV3mrYY9OocixSstuDGKVoFiUNgVJijMVT7SCS9+9rE7UyFKCr1ch5ueO46kjhMqCIIAqILwYoD8xWn0lzwkpdR3nYh4CQr8wAtWi3I1m+s0vunLW7+RgcgDbVU1AkJn6lKZfg2hQDrD5Vi/2y0jud04a9Cl/FEUmFMCbjZVy4rRwZ6q0cXjN5eCLWPtdW73zNGur79GkG4eBtTph3Vu/mUehINQh9EixdFqMdffcyjig/UhsjZXIqIaSJj5SI91DV0CNZWboU4C1PLWQqUUKNihDq34JQIqfFjt1io2JaCKRAddBpur4ABVwKoQHjR6DRhK9YgkYAgKCYKIClS14rIcvFvSi0FOUZJUBwFb0wrQ6h2xqgGSWmP5Thgkx+I/1LHevGr+NR3FxXR3g1NLiO1HkyhF9ha7A1VMKmByTGDefBRbpv6hiTClXlhBnBGpqWDhcWN17YZ6zNLkcXxpODgYdUVFF7BdRKAZcEEIOgUCSvBkyCAY1e549x9iMlhoDQooa9aNCN0l/OsmcOEyWlYVao1rvP+blAWuIrYWEB2h6tGlkRpiHHhucH8BHZf1MAYAAiKEqAUJFAkaAAjCQBdCbBwzORg0t7zO6JmWw2uWBjAs5bLe6ruOryQilBJkG5d3NdYKOkABKAo6Zc1JG/zven6Jr0KKUgi6vro1/BDo1b+ao2BSP+zJNWvCj315y2SPFLhJH8uaFXbsApECx45rZVDVxZe9zfCG2IqOiNUwwjHb471War0SjEARq2nQ1uuae/VHpMZqZe0pJUJ6821H9qBozux6IyRnt2z/+kU0iYOjLllPQz/ve5q8rwJmySpxjODcSMVygogA4hBCIMpBcQ7UDauoy4CcFFefIp2RoSHY9125ikrqaNkKxzw0uWlaqyXlCA4dWFKOj6oo9cF3qodXIApxZEVXmJqrQYzMTqvUlAANlOCMRAtGutIDGAglFKIsT2cUBBHX63vXL126KCqHR0f7B/v/con3wxwkLl+5AsCczvwDYxQlPWSUuusieg0cqJL//Z37dRKUTynnpm0AzGaznZ2d4W7DeWOU9fYafU1OiPhg2R1DkAY4etD9fut9hh/X+Xj1iKLAsTK0bsYyAQABKKa66KnTJ++7/153397ZXHulf52H33PPndsnToA4eXJ7Opu8zxhGcOc95J+si+410t0skNfF9fBZAEwnk9lsg2TbTmKMFVQ4tuiGC2+R/GujOca44xIEUC1zYckfHAPSay7ZuEAVogON1w8TuIgTBphoAfXWAtuihXdFCITYNHEyac0svDdU+a/0INA0QVeuyA9xyXvrth9JxaybKuMxhL3f7+bF0B6NqfcZTHnE+goY6FzYt36jcpzRgYGux3VqPUqCyiAMhCVwcvzaKh5iWe9mVobyPoj0v7JDyBJwsx9I4BGKG3NIfUy+G+ZxjQx1HRSVTQGCuhlVylXHjNjxowgQVRoRFVgJpVGGOGsdoY95HrzZCPDxv45iTlQ/rFhIrHCVQEKRpa7iTkC85hMNT/NqUKmouwMlTbHEYyoSUpMpb/YrpaToQvr4vpbev5aDq7TeH3zuIJmLKB6IPRCyRHmHM28ys3+YY2S19bXCISngtuM5dtralz+aJ6+yjpq9/1FiqreIn3U6GgAwgE1NbazpL2Z/sXn5yy0RutWc3ve/z/jrumc5TjxLKusQPVz3RImbpv5mE2ykkNPl+DHeZN2zWlexN6nzkeTHnrVufqkc/xUggoaCwY2q+jh2sgKgqnYYlvrw/cokGP5bbGmtHLwuqNfVxv//HEPuDf145MR9ZXHdVqf+UMfNq+Uvfqxor3J8Dt8XvSnn3vL7DyNfWbGzNbeCLUioQ7KSYkYSXjLNa+6SH+eSH/CAvwDTrx++jkbdTrIVQjrhNVkOY2nG+hQYWJLyHD4UGryfdCmeSPFwS+hfCQcNRiGk5O1WF7NWbFXLaE08cJV14STQSFXVBsHtbBoBwhAYjsUd1xpYvM1QB5YTIABxnf2qkccAxMG3LgGJRKTiOo8cTHfm7MVhIP14wO2/TW52X6WarHPtaF5hTf+UvDr/4fm4mEEF/HQnebNPJQO0e4zNV+K3frXK7mABD394WVKsaBG59YJbHLBbTrh9Ed9qhHEowTOSoLgXW7qqtJHAIYR1Mt/0yJLV9kO+zy0vQHcjSknezS9WBIk7Ofi4o2G1PhiStQwF1dfkAHINNtlqNawuOaaVy2Nr2lWd7lJIIYR6iWOua9n1y2tiFyA1d0BUwzGweQwxDdNa1G8ZnQwW1k1a5vggj83/racdn9j6Ia5Nopt5LU0oRrvcbFnclpv/8iK63mdNQFWh7asKpDVvaKDjQLyiTnzId/rLjGG0gNbuU/Pm+aOFUo/ZYj/wUFEVsR984o98RLdSqefuzOZQF4GQpQyFJIQqNftQSjLmzYS+FW350Q6z4vfIEAoZqVpyY6vSHQS1j4uSQwmbg44RpqbZzdVa60tjnY9Xf6+MVQ6+a/HLtQ5FApXuDg0YvLLCqnBb3VxT5cqCDAugBb+mSCAykAABg8AAAxQCxQwCK68zcPogZwsGW7KJExlrWtagl1hlTSVBLRRmSWLR6A7LtMxqnBhr1kBZsuICuBQApJRb+RpD39aI+AsQ2IlBc62J0+P/Gelx7AxfRzpW9dAr4t0qvm57DFSsMORNXungnBw/pArZ2/4i8kOn/t/Gqb35fnXNVeTymAXw/i8YSRb2NfOcraxICMPApyo6VMxBRGyIousQz1w3ZY/x9Xvo7HXDZLiwUscHmq39euuHFVHXYY2iIzmU9nLtueOl6yNZH/PqS7+NHB5dx5umshqyQI3UHneCy3FM1I8hv2MCsAomGWomb5oxEmCpw/IBxsL6U273OlgZWaTUoursORPiYWDxUpFE5SAoS8pXNbBLiW35pRjhpI9pbzjunq8f67zF8U2IYhwDcPOS0lBEdCXfcSW8IjOGZVH6JgjGb1YcLcem4JZjteBE0TQxNjE2jWrIZjelZ+AHccx45l/A+zg+whWyAWIErn+YO4yZOQRjNsvZslk2y7kXaUpahXuJdjGQItWSKhQHgmpZiah1b3QSo6U1VMfeFKNdhaEB+EA8d2bLzuDIRlqu9ctrltSoVyqli7r1sraqjTXQs05I/R1DwvA4BqcVc6xUatfK7SCqYlGXNnnt1cPvv/La9qm7T5069fD9Z5tmyWSCJEiOMFrCZFnfRbsSQ2asuxReNFpEg8FlEUQXI0EEB3M1GgzIIET7ssDIcZwJHIL5kssrONNAeB1FGgCn10CkwL0wBlXp9FjKOoqzlHNed31LZigDVUDWlFM4HF6yRorIAcRtZYoDACrgV0wzDKu+9mappJOaikZalQA+hhBWlwznrJbnwPf1ibyFtd93oYuIUAokSYVCgoQb1w+fe+bi8y8899bb5y+/e2W+uNF50862f/GXfu6xxx+6586zJ7cnwvxe0VtgpRV+GK5dr9ApsnEtVvgjWOo/zBFrs4ucco6FxoNrRLLiuioSh1wtVZgVEw+qqMvVMSpOYIx235SoJsXeq/R1WSNhdXYLmuYDCxO6TrGVbObIzaXjSJEfo4m1Nn83u5IYspSDCCD9tctH3/rqC//8dz7/9juvS1hSOtKTd5N2I/vsdz/7DxDO3HPPvb/4Sz/31EcfOzlLUrjwuAU3EnVlExyzg8hisB53hTkCUhAt/reQsMHLH2uCVxHlqhMBVB22esraa3JAPkEw0j3nnHMFKUcvULUYDjQziGZKoDCArEXlInQvdQJeKnHHEQ+ZLRARG+U24OsZNtBhTF7I7HQ61iHG2iCl9n2pWODQVmNk1zXWrWC1j5/LvQbBweFnhBB2d68fHS2+9pUvfO4f/+N+sdja3lwsj7plBzQ5SuiXmvrFssty5Wj/7f351d2jX/y1n/u4Vp4T4ftiyz/iUZK0SSNXdQ8CeS9Irrz46vN7S61o2a1PzMGiFSu6pKSNK14FHliABIJgcZILdoOiRN0KVkzUKhKgrNNa9wxyTBYehlhVY6mCplGd6mYlnbeM20eJzfJc+mBtAaDTvZhjo7Ws7qVAtN69sjPW5DgYNP75N57+/d/9Q3B6cPi8hnTq5ImD5eHh/IiuQA/vl865MyXLkGa+eOX6jctX907fcfYzH3002NyJyGAiEFdm53FTY5j8koldxPdoqnNYGQUjpWgQY2xrYbA2xcKQ+pqKApCDQ2eWQAy4tY1ZXFzvmQUp3Q0CiGiSO9fsnXhMKQMi4qUehGQIKP1GVGEl/uyig0xQ1YLru3s2JwsQNpKZdSEWgt68CIcy5kFQ+3HGOxbZLRQb5AQGHTwY2KNbhUHMr9to63dl2zRPf/Nbf/c//78sj+YSFeLzRXsj7S2W+32fp9NJ27bLJYCQUnbTGCG+FJ9ffuvwP/s//2cv/81f/xu//DN3zbwrbXsgYDNAIjcv3yLS3F3WVuFqya74z9czMutnyYMBbQOU9H4Cg2vBtDIVhc3i9dcPDs/o9Kz02VPOKqKh5uyrFli1WkkhBDPDUNc1LE/UGJQFkqKFuuuR1vcSMvVaVnNpCGE53Y08ptTdSx3A8aP0qBMfYp3u5qjKWG7VlCRVpJsf/PPf+20gzzZbejqc99euLaZbq2KInJNZdpflsmubSdtM4iSin08DwsEbn/uNv3/hzTf/B//9X3/k3h31uXh2xipxBnla6HeTBwGutA8w5His2ShDLvBYQusQYOhUNL7IgD2sK59jU3rTf+M3fvvpw9dOfuZvfuDkAyfc59lM3EKIQQMCBWI0Ol0dpchpWJWqWgIMQ7iCJEsrkzVBLet4wPDCwyysGcY+OPnlVnLshCr0bibwcOXafbw0TrsJElsh7zH+0e/9wYsvvbQ0GsJMdxyXmmZ5cvt0P8X+jSORGEPjTZovliEwNgJpErDsIeBsK5xsl68984X/z/zw1//NX/vY4/eK91lzgVh9zeAiR/toJXLeg/cAiIYVclb5Dyv5t37tuiQ4Tk66c3XO0FsyvrN3oXn6K3vvvP2xn/v0uac2405jeiQW1M3d4UE0MFoYqgHGlPBCkiIWSkOMUSjhGJxZhrhOYAEwgK4kUSO4o7HmRU/JmmG8IqKPqDOdoDkFg5NFgFK7S2IllsXVNMUYvvfMs7//u/98cdRdub534swZzmKXLMQQ45Qx74g2urWc9+6qEmMr0+nEez9aHpplCkJvgr7JR28//+w/35zd/8j/9E7Mek0oa6gUQQ19KMu7jrJEoFKLtQfVIyg9QjIiA+lqrizNc9yBWKSRKCA+5sqCgCSSYHGyR3EWit1a5mdoKSTxytHViU33jw4v37j48IsPP/SxRx/52B25SQyNANE9itHUqxkMGYTzCFoV87tkgxRpKbpKNL91oZUPNqyGQqcSwi2I6TEAck3AYkzWGaW1k156s2AEXAe5N64MlEaUy/nin/6jf3K0OAit7uycmE02uu6gT4vJtIE4rY0x5tQtlvuL5bxt2xhjSokeYtAiJiwvjpIFnTShf/Hbz37j29/7+c98su3203tqR679eU+ek8FgKd5TnUOIF2BgaMlVzlclqKWWfDAtSn+CIUxynL/j/tG1dxO2m/0Oezkt/vy5b/77d/z1h+870+XGJ5tZNVg2hFrgaqZrE81BXI//rbEHFqt3FTJbJ3Yl2LpfW7rBHkeYR4qOQm94l7Fx4QrlGN7fx6Kj4xFME8HB7v61d67qpBXzja2Y0sJybps2xrhcLpMx933fLcxS08bZbBJjnM8XvZWYj8PhoGhs2yalo35+5XO/+dn7H7j/qTt3xBY+PHGMQ0NQ2tcO39xk9x3z1Ac3aVAoFRz04nBWF6S2/zRQh3a0I8NUv3kQigRLRxGJTN0S+56XCzs8SHvX88HFVx+8W+615gR37mm3z2SoihcbzlULmQEUmVyGNXJwpSXJoeeI3GpurQ0KQAlWDmCa3ZQttKJ3eYcCOK+r40JO1kwaH1zJtQkEaW2IL7/00vVre3nD+2xmC9KDTDZmOxCk3rvuxnK+dPcgIail1C0WR9k8thubs53F/GhxtNQwaZoNEaEudXq099Ybv/+5f/aB/+B/GNYk03HPdZ19V8v0Vm6WOmAfs24BSGnWUFqfsuadFJ4uSv94VIVrTxxXkscsXfYt0evZFtf2b5w9i3ffeuHre2+c2Llj545zdz78EZ4813gWGggN5FBPXoTzui09giSlX3SJaujQvE1kDRdeW7zuvuaoVrxlPGH87KNPOxgaRe86C1HLT+UcH3vdVu6XYIv+q1/+aq83uo6pz6TG0Ja1l9J8sTiKhqYRQdxq2zbCk+/nxOASOmPbticgk2m7oUG6/kjJxY05VS+8+PKN+fz0TGHDtJblXXpaD5VMBAkjSCkFDSJQZQxsks/p2nrwakSU+aoAIau7U810gKh9PAR1kuV2WS5GQCQAFg9tIZhP2XpCO+3vf+DM1WsX965utZPrZ65cm8+7Bz7YN2fvyQolA1ZpKOtSt7DdqHeHDyJS0atqiw1SfZz9URoPfcvWAIlhBQyccayrweg0D/NCGzifaxxezlfVw4Nrr77yojZtdMvMIiLwZMtu2ZOIYTNubLS+3Ig4d/Z0E5v54eHs4PAg5T51lvtlZwD71KuhbZu22Tk8PFwc3bh2+dLh4fLMxtYtVUa8+X8V35DBmBn/SKlnXIuVyE3XVlv0lnuuhzbXVdWgDgSQ+As/98mrb79z8Y3Lov3dd9+d0uLdd9Mk6NZ2FPdu2e/vH3z40z83PX0SwjZXSGYk5KgpC1vXDhiiDq/tvsgh2Lmag3WtCWA0wsewx/o5K8fjFudqmBZyFSQep6k8yAmNguvXLl679g6n2woNGlPqsy/7fpETY5y4IefFLCzO3XH2Jz/+lGU72L9+/u13rtzobiyXewfX6ctsJWuCyyWbJrZtm7r50Y1rN/aOcOc2xuFJWfErGwPVqFYW1pVAWAGnBiiDOgRxC31JYqWnjgm9YeJuY7atMYyg9gWW+NM//yv33LFx4+r+UXf+O9/48xeeuyK2sXPSILMALpO/e30x2bn3iZ/4pOWaaVIS8IZmT1IotN4cg0PvrJqjMdTLr8vndR5dp1DRw8edQmLg4FuvwrFVvIoRl1ke8hulXx723ZHHjY0QLFvu+z53feeA5NzBlyemcsf25JNPPvZjT30kz/cP93e22/itZ187NAZBOwnIkrq+vIMZJ61MW+k8XbmyK4/fA6la5hYthHUdPHinaxzMAW08duH7haSO0Xs1DyuJXXi3RNPjotew9ciWdm89c7j7btycyeZG2tnaguS9w11I0zQnJxubad5LDHmizLXySbVCP4WquRJABKKl9KY469W7KvbAbeJt6ybVyiCXQZmuAT3j+4yW3XF5zhqAcVlTwxDA0JupMHvqMpuUcp+cri6JWdS40cq9p2Y/+alPfvpTn9nZ2KJOWm3vvzdfvvL27o1rExeXiQRZ6gJmTZDZRGPA3CIUb7z5mv/0k+DYDcJLwss6B1emW9EjOOgwBwVGBQMFXlo20FxquyyAxbe2wo4kwAare1ZpVSUEWdSjewIACRCPuZtffO3Fb37pz669fQHgqdOnZ9NgWbrlEjE++NijH/nYj584c+bwaDGZTRGCRCkhxSG1VIamVGN8EAaTsdHfIGFFbo+m+lq2fZE9Xqq7a5rdgK+uQXS3CujxpyHhvTYcL6JDEfd2F7ToGYs071Of+76uCXdlvufOu37xZz/1+KMfai3kwywSYjvbOXnigQfO7V7rwuVrc/PDvpNoEmXSNqdO7kzEL1zqlot+7/pe6Y5/kwX7Pjw4GIr1v1K6dZREuJWpUWI363Vx49XrXsix78scoHI5QcY//8oXGk9czGeNZFo23DhMXZdO3nHmEz/+M/c9/ATiZJFyo0FSDjHqaqJVBaKorueakVV8pJWeHrT1EFk6plIKXXPO64K6imUnOPrBay7mmiM+SDYWe3PFM8P9C7GXh50nJPQ5H+WcUW1+F9rJ7clPffojjz/yaCCO9g8Clto2CCbSbG+deuDu+UbbJMHu3o13rh4tul4Zo03uujPc2JtfPfRHH30sRLWcCtgwDu/9OgeiBmtX0nVwNjimZHNMHYasSWDSObhSY8CeZBF/A2mqUiAQL1+8cHZrBuOiy+QhJJ44dcdHP/zxhz7y1Obm3X2eRQSLEkinW2krIKIhkLSadVkWnKkGdw0hqFaOVBnRjlH33LTqVjbUetUMhrddmUvDjAxfjy/GwU+zkadXcDdJQaC1rYLsu7mxp7sCBfLanLZPPfGBh+67a7E0BT0tSAlRIWJwxezs2TPTzWlmvvOOE3efXtw4ONLY7pw4ee997buXD+Pu8o6zp2uPwrWVdRzIu8UAPjYDZT+HYkCMdkZlXtwqCMQH0+zWO92Gs+Nif36lWzQqOzsn777/yfsefvSOex+abp4gYsoMIbHsKQR3eEZWb+FUuIz1eQJS2KlEfONbLyTs/5Uf/3gbo5AuVnKMbrectVTZmifzTJR+3BXrGMa8LqI5sucadY/b1e5CKKTvsscwCSQsS6P07bO+FIolaZxJnUv3QMStjZ177jon7ovUicG6JOYonbGhQpnMNsOkNUtm6dQmF2bNpJk1DUJ3dHT0yEceePLJO4r4WZ9r0ugOaaFAUDCYdfS1JMKVtakCAaxsBCMyBvlj8aUHQ6JeN5jegQSRhsoV0oMgsBoBXlUlGLdPn3jiyQ899Mijp8+cSwwxlhYkDAEh3mb1OQlzErVTvYiILBbzV14675af+eazh0fXHrn3zvvuPSd0VUJretgQXDp2s4Iq32RnmXnJURo1yk0Lc00Br/+3MrYlf+abT8ts4+Mfe1IDnEtniDz52J3x+oFcneuS6pJUVFwnUaet0nPqEhwBMLqlrBpLxJqaVEgE1RhbYU6AiLTZ1DD5pV/+5ZPbW3nR47j7SrpDXAjnq6+8vb+fP/TkQ00jZA/m1ZkCwqFBpLYzfJ8+f+UV5Vgf76ElTJmH42ZXESHxZ37hlx546EFIa9Ysl11DxiCqLK6WDJ38y/B9ECOoe4+hCJcQ9NHHz3aLxeuv708mnLRtSilWitaKktsReEhcGEQrR8Xjx8g5EnhcBxyQ+pGDC+/v7l65dP6NV156OunmqdPb991/jm4ZOHPy7GfOPfLi22+nfs+SeJwKMAl86N6zp7Y21JugQlBU4qQNQAiRFHeWoFZnyQkNYUq6QETmi+6Oe+/95Kd/3PuSo4njAgYAiXTxjZee+eo3F2l2cHT59KkTjzx8fwhYzwF2GCUghGN217EXX5sugNUCLeQNNy10VD1d5KoCGhPbLkkAhR59oRrBwFqRuFooddxlPziASrUaGCTobortttn6sU/9FfHt2LTZsoYgJAclPSR7YBiElYA2a8v9mne3Ln7XIY5bCXzL+wscW1uTe+8/+e4704XPmmnb9T5BQ5HUX29vbP/kEx9Jr39n/uZRalSIT3zk4U997IntdhrRTCeTtm1KMFlEY9MGDSoBlvt+uWzndHcEdWa3JbOk9Ku//tdOnDzpy47Hx4ZqZAlySkeX9y4/a3H74iV74MHPkEavIq1wnMMLGJTz+9V3jcsBNRO4pm5xJM+xY+ymJhE0VjQ7G0WhrFsRDSOmCA0UusCHBkGuFCkb2pSUFG2YrfvC558Wzn713/qV6axxuDgIlVXm7MjNtRUWh8xIr4K/uMJjFdYtMagipo63ruGQAti4OBXTU488+Ve6pUUKU2dtnDIYZifP7Vzb358ezu451b19dNi0G48/dv/OdEMyp5uTzc1tjTFZzma5TzlRYa0koXtmEza00cwuOwRtQ5u1zT2PfqhNcMlEBClio8VXFnQmjvo7fvJn/0bnyxt7mE6mfU6txtEHJBWIUXS53126eOPOu6ekkTr0WMTx15eanCV1m5kBGinp0z7GowZ+UNBjzXRSFwk+RC5Id5pSzUwkwVSllqwoEWIoGJbrkExLabJ46unzw4NrXbc0m5aAYUF9B5NyXfCuN9Oowypxw3XK3XYhY4zNrQGZDk8xTdsJF/hnn/39k3fe+0u//AuqSlgPCRtbG9vbL7/+2vbEP/Xk3Zc+f3Vja7KzsUOX3tl1efdo/+DwcPf6rtFVNLSzNsQGHoC2bSbTRhW9z43oTLKFjTN3T2ZK7rPsZzaYvuOYRUTVXeKVXTtY4rGHH4oxDv4pZDSOCJGQLfX9nGyH31eCam2tv7d+LvJ9dXKZUCdZ6oNZWtmOYIXTAXMXEXWX0p1eatdhEqV/vjaZpXe5g8mTBPnZn/sZy2wnTbfs2jZAFUKlDi1fV/TgwM1V9tQaZSf1eCj3GAevf771byggUYCNaWnFn4nGHRAL080w3dg5cfJEuPOeh09MvvAnDz+wc2pz01PaPdg/f2lvd29//2D/aD5PllNOjubE9vbZE9unT57Y2tqMUeeL+e7u/Mbh7o35suubD338J37s57bgMG+AVFKobhIzIbDrDp5++ukbc3n0g0+0kwksOYXIpK2657m4m8TO3UGKRPCm4ApuQ93Rtjquwkb9Vs461mq9jqxAyO7UVbuCEu+FQA0MKtqYYwFPXeq7ZYxNE4Pl1GycbFwODw+nTePWNjHE2DCE2tyEdUGUkPb6Q1dhJbcxlnwrB69fsvbyKCZkZOOZs83pX/+3/o2eMTTZHYoIMDaTrTNnP/TxD19+52pabjxwz8kn7//wpGlE80yJ5dL6g7bx5uTMzA+Xi929/cPDbnNifZK+5+FBOn/+4sGRh6nNNuIdd5/6+f/ep5s2oEvQBRiGYNGxw8gY7GMffvDq9SSxBSTULdDGMo5isWm3nG9sRICqcT5fppQ3NzdkxOIwNvK8vZ7mMUqvzRIYK4AAiAoll/IbhQfEMm4S7gkSYColXCjy5a99+6tf+16e23x+lK2btNPZxsl2io3ZyV/8lU/tbBG5dWc7iS0YEZSqoqIiLioYQw9jOJPIZHKfihiHsNp70Lccsm5yFeludCHdw3TrrpBytj6lXqQXbaYhN/ef2Hv6XSKp6md+/FNnJieRYtOcPHtK7YHDzd3F+Yu7V3bz4RJH+VDB7elks212NrbuOLXxxuvnD/euz3Ncptkdof3QfQ+du+8BmJm4FhukJsYKoGQarN2wtXXnXefuv36YJiFBzNEiLCWDHug9mGmZbZ4fXF16c+LkqaPLR3/+7WcXwT761EdOn5wyd95b7123iNPJ9tbWxGsih7O6TLLWP6vYOl7VnwClqUfpWz2Ea8ccRBbBbu4oAQomUZkv+Ce/8/nP//EfO+buPUSa2MamZbCc0v5eaiZ7v/qrv5zc1JImVU0ASwpmaaFLKR2v6+E1T9aGuD3G0PKxVmXHeZo3Sydirdm1D63PSLq5ih5Fbt937sb332ymp5JpszGzKF3uRaaT2fbdd98XZ1uQTcjlyVF3WnY2pxs7s63t2eYD9971gYfv6xfzw6PlInluth68+/Rdp7bdHHWriWNG7GgWlO+3tzf3blzd3LozixNUAUoNB+EGN7oBbLY2Ty1vLBri6uU3L7zxzObZ7UvnJ5cvuHWLvd3dzMVi2Tzy2FOPP/lE2aytPsvHWvVxEnCTIImOXKq/hmKWUXg6kUmB0yyQDtKD/vZv/8Ef/eGfbk0Fsi9NE5tJUBGhpU7ZbMzyF//0qx/+2MefePwB0OjIKZOMMaLsxzU0CBgx7RpjqIkKqxJYDgDs7UytmxSw49Z6xrpzDRSqQO+hPXEqnjt945nLoQlhGmhpCXeXibeCjY2J3HFamma67JYUb7Rtw3Rnc+eBu+8+tXni3N33Lno3Ik62zm7PZpsbwyo73gykmFkr7YOt7em1a4vzr76+fdc9Z++YwkyplISSLOl0z0CYNJOmoRvP3X/Hh564/+DoYLOVzc2TKifvvusujRLb7dnmyZxzuMklqz4xx236BgKvdDAhpTTUSDpZLGM6XVzEBaJUd4jw8PDwu08/G8NhKTbbmW01bcy5N5unDqoMcX502P/u7/zBAw/8TzbaaMyU4YWLrVksLhHXIecDJIw+7OHsa87PGrMePwTrlV4sXOtDdkclcJRYJLkwNhRIOvcTHz37wXNvvP7KpTcvCIPkvlvaXBrPOeUlPGxPd7ZnO9QMSBOb0yd3IuLyMLe6cWLndCJEG7iIbmiI5G1CRqMLV2Y6BOR++cU//crP/LW/aTwRfNidtKBIotAEmFFDEIM2m1uf/sm/cnRwdLjoUlIAFKPONExAqtsqyXvFBhis9+J9cdBfxS4p6YwuIpFUwAhxj3VTT6cGd/YNg0hz1PWL5RWVnJwhBCAGnWYyp5zzMsRFkNBEvvz9p7/6pSf/6s//d3JegjGCIqJsQENg2cdAiiVVcvmpnsWzwMSPORuZFUSTscnNMHX176GUqUarnJk1xlZEZZGipRRYdXpy676T27vXLqaXMuk5M3fwBg6Ytc1kc2MzNuysu3F9HownNrY2ZjvBLSpDDLM463PfL+zUHaebNlhOBNarrob6QS1hWaJNcT6J+tSTD06nno1TiqElXcRVVaVRiQpapMQAIbHN5Lpxarvt+2Vfmx+plP2gyNLKXWTcH3zAzFYA1kBwEVAYayZURbmd1FqeWUW2kwL3LJjE6bPfefbGjevT6cRgEOm6Jcmcu5QSaUOzrqyy+Bd//Pvt5uZTH/nozlZIlgVJGxEGmlAIc0rdaKgm3Y1cO+gIESlbTMvarojry3aQRxxm9phZftytKmUgIGkqk8nUjR6kvHoUjW0zbTaaOGsngeyvX9m/duXqk088sbm1vbO1jX5xYmPz0u61EDUw2ubkngfOcW0jjuNjGxLDSBFXCdvbp+6+xy9fOHjwkbupvfimDBuKll1UVNTcczJhY1x+/Wtflum5H/v447PNKZlL1hGGpiqONWX0Xm7G2qFDpB1jympJZxsqdYuOhKlc29/70he/qOqAkYXj2XUL90yYM7uRLiGIsr1+9cY/+Pv/8L/4v/79b/7591LfZA9LW+acS96k1RtXZNJs9blUj426GcUoWQM0jhPSb9LTKxG9dhRuL/8YTZsG2qQMiVFjgDrUHJ6Zl/1y/3B/f/d6DHLi5Knk7SInF0ym0xBClzsz7jxw7+bJrVKrs77mBhNVx/lXWpBGddJMZi89c2lx2AIBWBStMmouSGkiCfe5+/7hwdtHRxeTZdEgIUqIw3ZPx9pjjFMx/j0Wd6xmiaid7uhWdH5pJO3kuIGauwMUbb745S9duHBhaxbNDBKC1t2SiWKXlzJwhqBxpibJ8vVXn//Cy688/9M//VN/89d/5a67N7JliIZS1zjU0xFcOfWl6BhVua2rm5uYcrh2hdfdxLhcQ7OHo5qRsWlCbJcLm01Eg8LdYclKKbN1/fLM6e3DRfflr3yD3Dx7z+zs1lSEy5zM+ka37nrkoarKVvJwPRt6ZcyrQKHmsnNq+76Hdvv8rvGMMA2jqQ6uipQ0H7gotz/zE381TzREUigoW2SnW1nzFgtgNZ71I3oGneaEOpFYAxSJbMb5csH8+sG3vvatJkZhQ3ZN1EA4c9l/cSibN/eg2oRWJ3FiqRfL+0eXPv+nv/XmxZf/3f/Zf/jBh05l+hTaeHZpCppXVjNhKwduNXO1MB4lM2C0TktgigBrI+xx6+y1dV0gTwBjt7/aUUpnYTYJRwfLpDGUDSMVJhBZiltsJmHaSNC8f/3aO+cvXQkbmzt33XvP2TtPcHkY79w5e/Yscm1WUE1acG2XicIVRkQTVeYOTbO98Uu/9kvuAmZIAPriu5MOqAsUbIgMSuDWXfc5zUxqGQdYAr11yZbZKiEfHg8dggMSEsYlrmspUcZjxyqQJ6qvvvLq1WtXQxRngkiIDTimiK5Fc0tUiApo0GY225zEPA3pjZee+3v/5X/+4hu7yEDXZV91ua3id40fbl2GGHTbGo8e8xZu4u330U1CCaobszYGLFPf5ZTpveVFfzhfHh0tu3ev7D1/4fwip9NnTt19x6ntNuxsTpOlyzduJLR33/dwCBN4qCmFtxknVzFsISCpV9XNyWRn0m6GEERlqN8e9qpEOHPm7Pb2VsFqzZw1C+A9j9vKs9sesToXZTjkYGGh1DmRTggyv/Pscyn1TRMzcqPTECcVikCt7i0iwkk3z8kEEgVN207aJh8tZs3s0hsv/7/+3n/1P/8P//2H77+LZlGgQ/UpOZglw+yM+VwY3KH1bwYelXUzx483fLlpOoYPCCI0C4oQeND30TUqSnat53Tj+v71qwdO7d898sPOlkkn7QHnkry7zgceffDsPeccZV/fIajFmto3MhlWKTsUou8TIF47NReDNQDG4qXARMLW1k5epDzvAWHFgTgkslWX6ravdiu9S0r2+JO6u7kN8fJyoo9FXe4UyP7+4YXzF2JQCCHeTKaUYIMaH/OZi4Z3t5Ty3vW9a9euX9/dK8k42T0GvvPKM//Pv/8PXnjrqrNfrzYrceGanbI24tvrXVYod/01ykTI7de9lKB06cRId08pBp20MZnNu27edUeLxWKR9g+Plv1i68TkzJ1NO03tLGDaotHNnXD2bJzNujseuHvz9I6zF+RB4PC9RA5QK9bcF8QcpZKl2vxjQLBAUWqZZYGWTYtvq02P0/JYCtitczVyjLpnt+w5MxuohdIggVRjG0G++9z3rl95dxLgbo1OBJ7ZWyhr1oBM5qEQ24EMX6Ruv+sO54uDbmkhtDSHS1C8+d1n/vCznz1Y0Ohgac7oQsBKgpcNPSlZoYvjJB/ySUokOYNZhn4CQlfJUvpWEOIQp9IDbNIgLeXtK7tRIYeXpsvchI3ZZDKVWKob+twfpWvL1EloNCKGWTOb9tHmkrxtJIbFspttnsmTM29c6LTZ9ECBE71L9hruFjAAKnXfIqhQAAsWUu+klv2R3AVjG99SBRJEXRV162FSUXaxEMWwPctAs7EpNBAgSpjT3DnuYFsCzKuiGGgs7sp62E5EnCKMpBPMKb/wwvMUiGoQaZtp0b0CSIk2WiaVLnXbQQZhVlWzCouHEN3FLNHsycc/8JOf/HA/37fJVu0DsoqL3SYgcxMHH7eKAYDSgSoS6FFyCBoFiTAGVY0k5/P588+9/cd/8O2P/+zHfubf++hrX3m+QZpNm9g0O7Owf9B3CbGZMEe6xUabttmebc5OxlMn0nxpk9mGaH9jfnjfQw+88b2L/83/+1v/5r/zKx/9xL2nJlBTyYCr0g0wEbIRKTNbXkZL4q9qWA+g1dkTKVVJpb9vlek81rL/PWXDbVh73FLv2FVxLLhwctx7ZbA+TSRe3z249Pb52AYXmcZJaGYEnAavHZ14PG/E3XVoMKNaWgF5CJpzfupjH/vpn/7J02c2aH3xsbEGTJbblNgMavBgvTXJCqNZZ2sIUQIsMInUGIWx6/Pu9e7Cm5df+P7b599499q1C1euzD/2V3+h3b4jSxRZTjfiZNJsbc3OLrcuXN5dJG+D5tyHJkw2T2ydPLERdX44t6ZvWoQw226ns63tFz7/5UtvL//u/+O//uDjj3/6qQ899oEHzp3b2dggGOlz0IRNSVVjxQsFVJVQyg5Ebg6RlReRVcrpsQW8ZmHUE9+TuCQQBivaRUpWkLM0qS0EHq3Ueg16QkUmF958d354FGcNEGJsveavQgiXRHFgKJEuBKYLCpCJpm2cOWcLIiLqoW23tiYbs2bSoqwpJYcUnOHpozXBQWPd1r6Q4QQVlRA0ZN87susX9l97+Z3XXrl44a13Dw73zHsRiiybzcU/+uzv/ezPfuL0uceuvPGcxjBrJ4vJZHtz+8xWd/Hq1R6iDY72+kUXFp1PlFoaJO3nbmln7r7/lVcuvvLK5TgJMR+8/uzB+Zdfaqeb5+699wOPP/zkEw+fu3u6s9W0Gt3TmskJAKWO+r1oU95k7Cd+6yJe++p97rE2ITVDewg2KCAOCKXs0DdMNSjOYI7XX3/F1SChiQ01QgQwkJAGyHBXCh1gVkQozN2gEmKMTdM0GqTv+77rEPC97774s3/15yebJ2JTaqbLys1AKFgBXbCyX4ovK0BpNj9yrQchvAEkNr4kdq/2b77x7isvv/jWhaO9vetHR3tEdrhZci8NjjyS19558e/83d/4X/wHf2N65tCWR41e21Cxdnpi+2Rv/Y39G8t5dot7+9d337mBpmknEtF715y688xkZ+urv/fVjpxpoEmMKepRmh++/vy7F179/hc+f/rsmZMPPnTuscce/uAjp0+cjBqEDCLeXX392e9/6+NnzpzZ3iklvUKSGRRlqH65xqFrwzEkbpXe5QARUPVZgSbIocdwKT6gwUUQCCWzEmUb++h0h4F0BqyEP92gyv2DvTfeeCXEKILYNCrqSEQPFZKCgFXVQiHLihJSyzFkNtsQQdclIfuuK7rZnW6u5T7rUBTIofPu2urFSrUQTtNAkekrr1798teee+XlC/N5Z7ZUkZS77EeEpWQ55xDKLhYWaCem+OYX/9lv3nXHL/zMh07e+cEN84P5qyHKxnR2enZaPM7jsk8puWXvSQmcTOLO9K720SeeePr5775+8e12MjN31ejIue+L3gySyAu7u7tXL7/7ra9/78yZrUceffDDH7n/g4+H6xcvzK9fOji8dnh0g9wBeLMJUbOhRW7vVP/AY4X9jJOzpi8FkGjixiwaXazUzBdhTkJUXn/j1et7V8KkCUHpbuIUI0q3/yAQgWarGpSsJV+VIO7JPSVMp9PJZMN9mbN3fZf6nFsGtaKmCReqjdAuV4tlIO+xdyA9NvHgMP3pn33x20+/sL+/P/jxTlqfFjn3qkg5u7uGgpYBkNhwU5e//Vv/1ebmv/fjH33i1LmdB3fOXnzzlXzp4tSxI9shxN468+y+Ackuhkl+6ImPvXXx8E+/9C3RlpLJQKplN2QAsQnmPbtATTEeaNAb+3vf+ta15559/t4Hzn7yY+eefPQjj3xw2SJYtlKPOXiGA1JLYi0bctS7N5kmtz+oIxqPuhkbQYjo0DZbIyrHcPQwtUSFIWb+4ovPk6ZhUuYPnguHFf6MgSUgcquGHIkiIjmZwNumFUnLbtH1fd+nEBjUGFa2JTmW6+P4BrNc/7tt23fevfKP/9EXX339MuKC7FM21UYQlt1B3y1FxB05JwDuGoJGRXI1MCO3y+U/+Yf/+JEH/6MTD212/vgDTz14+p5Xzr/8fH71AqSZscnOfpkWKc1O3nnvBz9y4crF3/r9PyWnk6hQJZUejAp4CFIaCyiCm+VsIQaVCN3r0+Ebrx9evn7trXfSI/efi5CcUzs5lgFXjhpGEH0/Lf1+x22u81pKIoBEOoUCF1qF2ZxZSMjs8MbR229eEp0UB1wgRAYi2JjnnDudaKPRCCBDWjIqRSm1MbKXHRSt77JA23YybTdS51231zcawpZKJ9qogiETsUS0ityjsMASBKWahSKSJ83kzTcu/cPf/JMrV3fJvp8v6Ck5Z7PAZItumXMKqhCxLABVXdUoEUKhqUuIcb576b/8v/2d/+h//795/O7Th7uXN+588qFTH7jj7mcvvvDcwe6+ha143w5OnJqeuuv5517+vd/+XN+lSTOBCNhoDekUWDe4F8jCRdQyVUKGuVNDjmExv9r90Ze//ZlPP/WJRzVxe+oTRTFPGy/dDxlBeDCx4HBBRk1NH2rZRAjaClMX9zwiIQLq2HWrMq8V0IgCiDs8Fq5RHA+IAIC8+OKLe3t7GxsbpXqFpBnIRJLMonDLjpBzHpgVqspcUuKr6xVEY4BKKNj63vX9nJmzWbYcPZiTCALWnJvRL6jCfhiMg4jN5vMvnP///sbv3Jh3IlguD82s7LvptNQvU+oHQVcLbknmnMuOPyU+iWxb03b37bf+j3/rb/8v/1f/25/5zFO2uHp0Y76/sXH23seuX73MOE0Sl/RvfuNb/+L3fqfvc9O0EmIxb1SHyR2apBc+LJEW77u6HQ9iYlblhvTf+cbX96499m9/4HHGRFvSpusqE5CbKvNWSVM/ojc8ivf1pDDFUFcPDhFgEmDO+aWXXhKR2ESVqBpLo0K4wZPCoyqAim/WFAEpSewl34CgM5MSYxOiirDr5q+/9ub8sE/Jci5bWFVUqjQzWw/urjlOABhjfP21t//hb/zu9f0OYNcvum6Zcw8I6H1aLJaHltLQ+9ZKDDXGGEKoud4YelPDZxPdu3jhb//v/g9/9Cff2jr1UDM91cusOX3/6Ueeak7f3WycfPqbz332N39rMe/ayWaIEyJAmhDasrWY1I3K1F1Kkz6z2ni7RFvMreDO6Jew/PJrF7741e8ZZo5YureOGkfWcuFqwvJxtft+Svh4SHQ1X1V1V+gLgmMOdtHbh4cH165dnc1mMcYYo4agqqUfn6qEELVssVOySVDSVGBDE5AShQBo2S0bAA0SG333nSvn37yY+pzzkF9gNb4v1Rn3m9ZsAdf2dm/85m/+1vUb+66erE85pdxnS4C4++Hh/mJxWMpHafS8yj0ct/QiIVAGMSXFt6aaDt78W//r//Rv/e2/t9vFRx+4Z3M6nTbTzWbjq//iT//Jf/3fpIWh2TSKuThUtGR4KaklXKYaVEOJgq9N8PBaKTPjKDdd9piu/8mffOHr33hD5LTosda0dIroADetqdRjqNd4+/cqCbgZwBqPAl3G9WhOWRSXL1+eLw7aiYSgTSNBKeIaKAqVRtCQosqmZRNLNkky78gs4kILpBjVhNonlkbUsybOguYXvv/CwXKZrDcazeAOV1QQG6BL2T+QLhTxoJJA+af/9IvnL1xBgEnqrU+5s2w5WZ/NUu9dD6uruZLTPYbYxomiUcwCWoUERaOhDUEFTo+KRq999jf/3v/pP/0v3r0xeeADD546kX7/Nz/3j37js6A3bdAgQYLU1vaEpNpwhCVjjSJ1lziSogKhKCB0GsWzZHhn/ZIJPNj/7O/+4Ze+87LrTDQTRg+CBELYKPJNrErCrQSaRRiVInSh1W0UucoLH5zLgj8X8Fpr5XgFnGtrOHE3MrqTtLffvtg0bdO0MTaEuidVIUumStkjO6pKCCHVPvPirgLVEEvbq/KAEjXI7OkeGhVtLl9+9+23L506seNm1XJ3Hbr9O4+JHQe0iZvPfPuNr33jm+1s4m6qaqnPOZklLe033VhCMRILKqIiIYamKbAMUurcjChAbInBKgTqaJCbKb/2hd/5T/7jy//uv/M//v3P/YMv/cnn2+lUob2biorX3sgqxcYsVweg9q4IobT9rBoKKzABIWgI7s5slkOW/b3f/9wfnb77337i7BR26B6saL33C/0KMJB67UyRW2Q340pIr90vlsI+KXt0wQrb9P3ynXfebZpWJQhCKt2+3UkTiLEnJKAZHNdiCslqo8SymmTALUriv9AyJOQ+9a++8voHHnlwOmmmTSMSKgfckhBKUiTnFD7/x1+ZL+cM3srUzSz3cBN3CZJSSn0y94hYoyAiqhqbKCEM8chMrQitBDErbSjULNERgm9v4sXvffs/+Y9fAG80sxkB90YlhCjg2BmbZkZhCCpDSxKyeIyrTpMcGnYWPMfMRELJhYrS3bh25XO/+8f3/I/+2k7Tae6xauc5NKocrZAxBjyki4gIXYZeh8f0mA/bPQ2X1AkscYEqwWvzPUIkLLvu6GgeNGqITpAWAkQyJIkasQQ6s67rOrMisihikCxiZPLSRbPu9FS6Z2R6cppZl3P35hvnd3d3U0oFjsBateBNCzgEvnP54vef/65EON0tkTn3nVsWoZA59dkyWezapOohIIRSAjm0OmYugWDVIBpEgxMSYpg0iG02uCPovGmvazNPVFOFxhjbqCGGRqBBoyCEMGviRpBGJYYQm6bYcKEYdOXDwGFjtLjGBWMfEnoJi/Pf++6XvvOKtRNoVs0QqChXZtdqha++qcEpwbHy/jU2F0IykYCEKmbqoaCCwS3QW7CkGOru3rLv9zUwufXsQyyAeCuYOABpknuyZd93i6PsWYlEr51ySoKHSgQDPQjons2yO5GDuDWwg2vXXnzlfEoHOXnvmTDAyVwSqQZKCwiNePpb5/ePFmCAhpSzdX3Kfdf3mcIQAl1NAoNC2hCFalQ2kxAamrklyz0SYALAaUVCF7cvSGybRkMENIrQoDaNDrgrsooHKD0RzHRXZVAWBYhQm4UFrRVcDs+lKbTX/FRzZ3ZPZW/VLBlUeBDa88+9tHQRBmcAQnCxUAxooZcOl0oZRWBpaWaOVPc6PJZ+hYFlvUYkKIpOmMSpDDevCAHM7LvPfS8bnJJz9pxyztWVKrhXSeoRbZpJiGqWMLYhFfUKWw4+oqDIK7eaWmvm7v3LL714eJhSSutNj7HWC83dJfDK5YMvfPErqtHdSsPwvu/dio5n0FC1b8kqFRHVpmmihpxS3/dmNpaThxAKJ4ShV31ZSkE1xqhh2kwmsWlEVUOheq2DK/tHhRAqQi5aovGklmbOdQDDrp1lokUEFNVA0jwRFFF3F5WL58+/8upVNA0kcWiLVPH2Wmt0K0OP4133HsdvBWiHSjMbgsKEuNapHNRfCOHVV189f+GCxolTLFnuupxSznnoA1vUUlSNMba1mMDLy60JqGEEPjR8zmbuaeiMmi+/c/HNC7uJmblm72BNRBd9D4mf/5Nnrly9Ss0pd8VqNetznzzlKMpsKeeKtCio0k7aNjbM1i1LGnbdXgIg3QEopfbuDcqhUbOIiLZAJESCaIwSmiLMTWBkQKl6FHcINMRWgwJREHXIExKRYbea0jU9lFp9EZaiSnfP2QS0/uBLX3lp6U3BpqryZWmOZ6zJeGNvxNrhZKTR8cQ0VjepRqrKDulh5HIdjIJ69eHR0dNPP02yVABbygUTMzPLuRYtigo0hkY11FKRWikiTivwQpm49WXobs48LMOcuuX3vvvyMi0t56FN+7AxOwkgxPD229e+/OXntBGTpQjMcp86p+WULOegIaW+UFdEmthMphNAlovFcj7vUxp6nJYd+UrLp2KtgyKOoYG4FEtfzEGVujknxCFQjU1TZ5OEaNCAml8HzwRCGGC+MvklPgaMpreSni2hALEgmBVHL7x0/vw711UmKBk80Br+kzWnVla0HP3YNU6+aZcPI0kP8JJeX+pyTUMIbdsAPpmEtm1efumV3evXQnAw0TNUqbFfJEsdmIRG9Bq8bdummYqIZa8ykCWm6xIaqkpQGaSmiBSRaFYZVaCtyquvPPvu21cAdyZnLvZ8qX4XeBPCn3/1O/uLdzIcCNm873o372nZ+/Ju5r0ECW0TmlZCa1m6ru/TIltHG2IXIhLqbsigJWQXVy2mfrGEnUxgJ0ilAY6Zla0JAQZqKGlQIioUUY0RAaoaImoSGay8KSCCGEoLJh8dG6HXveAUoLn3kg7ffe6Vyx6io6S9JNLBCMahfYewbChFY4mRc6y7FDKCoWzYboS70MQz6UYmYzaWnxhTSsvlUlXNPBvvuGt27r4Tb7110AYAHkK0nGWo5outqotqAOhuJaXIcwkgJstsJlsqjduC9NFpqsJflZ7pmRoJCP3Mic02qJkJIn1QYIwQhKZ5/c23v/r1PxdR0JHhnjLYtk0Bc0JQJwFp2jaEqEFSTmbmngGGoFo83SB0WHk63R2iOjRpKhVdPlYSl3Gal+1VQykxLh6JikI0MxXJZGawVZZuCAEQy4PpMMDg5VeRQObqUtIJdaeyf/P1C4tP3ifCksUOycMu0MfVKwblJevbYNUt2OiYTmeT6Qy+LBuMEm7eFAOoaWPZP9hEJOfkjvvuu+/ylWuvvfoM1YIKgwPSTlpzmplKEGGMsU+de4phYm7ZXUovIEaVUMv9BotpFFkAmuJA0iBcLO2Be+8+sTXtug7YBgSIguBEiGH3xvI3fvMP9ucLjZEpKwHPnumqtaY+ytDDOIgEs5xSci+dMaJIJCyEiAoslV75DohQ3GoCjHnXNm3hOUo1JAUQiGcrOU4SZOxwr6IqtYXIkGQjIejgm1YFuf5ZVIoCKs50LQMjJ+rvvvXOW+8u7j0ZRIvNgVGjjU4ja2qHDcnSGKzREvUFgWR5ZzY9deK+knQNoTvNXUVuHBzpAFPA6UTul+3bF26oegji7ovFYrmcHx4e9H3fxIZ0EW2byebmZtsEd099XySzZUzaDRH06TClVA2XOjVVO53c2p7E1lJOyVR0azYR5sVicTjfc8/LRd67vlRJhP3e7/3x+fN7GtqUMoioTRC45dQnOlWlaZqCo8UQSfZ9yjkBHoKGEAczp0zKsOEB1B1l8yygpq4Ww1EQ6hSX3m8i4oPRglUfxqZpgpYK7GpaF0tjZNZBXxa4Q4Ym6TU7ZSSbg0pbHi2e+/4bLo2gAZrjdShrqnbVEosswcbB0i7D6/vunStX3r50qctJYoQG1VkIGzFuhrARISUhl+bOaIsb+7vvvhPVQQdMxLIlcaakOeUmNpPJVEyAaJ2lNHfvBCaId997z6OPfvC733120SVmV7SqIYTiVXYAgrSb29OJzezacmv79BMffvADH3g0Z2+CZUtuSdElS7E59Wdf+s7Xv/bsNE6OlktPyUlXFw20ZJaKoxeiggDc8jylBKAZLDtRaCybi6pKUIhbRu2ep3TToEPWghDuMFppFVVdPYASJLuBQGIsPfvExSKdAcHdER2AGwDxUrHjUA2qGOwDlxCEFDCqFGeyWKMQcQkt8ve/9/yHn7r3MRXPAcj0kqdXTGjHADgL4rCASNfBcHaKU8KbL78om/c8cP902V84c+bsyZ0z0CjMCJDSgaasKkIUbebVZEfiDQRlY/ARG0tpmfo+pc4ym7bJufcyBd7+2Cd+8lf++q9+/Wtf6xZ9C+QQivkaYlNLsckYfXM7nDx95rEnNje3Tpw+eUc7DSFCxdxAZkjXTsNbF67/4R9+McZpdnM3VZh5tizSiDrZQxhlCo/udGe2ftCCCBop6mSUEBvNqfRWK5UTLsPmTEOCz6D2ix5GpksMjWh05qAqQrMstbRczMyGbcEoLOpAQ9G3Bcsr60B1QNDorkMeVt8vY2xINVMJgRD3dLi3993nr/z0pz4+7a8FlyRy2z46JRzrHK22EYsElEcHN777zGs3nvrEEx98xPoraZ5O33l300RRiIbotJS6tm3dKSbzLmWKpT65QarHLeJly2mIZ+sODveatomxPmR7Z3symf72b3/u/OuvF+UUEApCmVNSDVEipZ9OdGN2atqe2NjYms222raZTCYxhhCiiBIOEcXsD//wj2/szyezTeuySKkmzmZJEFRRQPEmTN1pnt16d1eNY0PtGGJoJhqC5YSiOSBgdrfiCGpQDZL6JLUt89DzResWt+JZRJ2uEiQIh3UAINO09O4uPSggEJolM2NJ3617doZSY8Aa7i3vkEW19DOB09RVpDW+9PyFdw/l4YllKelwAxjAQUKz9qZDLe9HyQohnWVheQ5ILz3/nf3dyx//+EcpfrA4uvOuu0+dPKUSI+lmiYg5JXJ58e3r8zl3NihZu74v9ysqYKj7cYiVxopuUYSQ7tnnvt71fYwtlJmDywB1t9wvJU4Usr0129ramEwmbTubTrZns+0mzoJOYmxCCIA2ceu559565jsvhDZkXxh780wWAmfVFErjWpfQKsRyXohabKZBQ4gxhNCElhpF1MxpRjpcAQSl01W1lLOPnWlKh0YAOWdxhhCciW6qG3SSOQQtW3LK2B9OKKW7PTTn4toVX0wHi1tKjRRVsqcRqQgqpBFKmiAYXc0nxLVLF57+zpsPf+ZM0j31mzOzWPuDu0jdX3fw5KudBZCeA6yNy6vvnv/TL1z7yMefeuDc/W+88fryrqUbNWqYTqZwtrHNXfPKC8/fdcf2L/0bP//f/eVPbW63JJUKRlRwBKVDZZV5gEq7XFhKWUXdM53C6gVK6ZoUmC07wmR6YrKxOd2YzTam29uz6cZGnDTtZBI0iGtowrJPf/aFb0BikMiezATDuFGsefYKElUsMIZJE7dDnEEa0VZ1Qm3cg2XL6chyH4AggJsbhEoXuAojsigUDmFQqpYqdomsUHBwS6SpljBJWakQaKOqyOKZGc5EWM6e+toQqWykXkxvUgWNECKNIGpUwZAWrUHEAghoQgg2//bXvrm7DI1rYAYy6PAyJgPckYEKuIqEgmyWFEqHE72l5eHe/tEyxyipu/ytr3/jue+8nPp89fKldy5eiBgs+xD04PByyke/9iu/durUiYP53iQ+f8QkYQ0lG3CyMa5eUTotaw21JabX/4pAtSUDCRGdTGbT6cZstjGZTJo2Nm3btIHmEkxD+81vfP/8mxdnW1P3THezgtmPngNS6lQ1xolI48YYJiUuq0FpTDk5urKdsog3MjECkiHuXtE+d0rtEkj3TKaSfCNS06dJhBjW22iKBC1uDFCcCNFIRwk2lIYIWENkzTvU/uCiiqHQQcGa/1JGMvSFkzaG86++9NIbP/bwqdbSEuOcvu/BYQ8M0s3y3vW9/cvXH3j4ka2tSTB/4cVnr15/+xM/9rFl6sfSFYhoO2k+81Of2treSL33Rzl3FiSMW4mOBK7yV3VA5ryUPg5PrcboyhZAPnFy57777myaSYxt0KgSRIKqiLJtQpxOjg7si3/2jaJuq68MH1QRS4Q35XlEIKcYGsNLacFgYpbJsvJdIJN2A7GAvF5a7EC0sFZVYVX3ePE+Sr3eGO0o23hW9JSmomVrCiIHaQTK2kY3IEJJN46Iqbu5Z9JUFV4271ZBUFUpQY6CtJCooArSYu/Zl84//JOPC5asGf9DH+0R5RiwphWNvWyPWEMJRwc3Xj3/1k//9BPdlXcQZ9cuX/rKl+bT2TQOKwIkd7ZPnTp10iyRnvpDejfu1yRStzwbCUyy4rsobzVS10taRa0lRxLFbEPbKVSClB0KZL0K1ps4ffnFt9955xpUs4kAOSd3Y401UwSKEIMW+qU0TzmDqqIZhgHElhBVKRJVxNmLCKiiDSQ5Tcpas+TuQ0vFAECUkAwPWjI0CXMLIYyF585cDTFUMHtI8aeqmuXyofAePQDmxY2hizgQwBBDNHrOuaR1GUXgFDU3dX/1zUv9px6PwJBdw2GFSckGrV0chsD+8LNIiTIKQug95g9/7IOL8/78ixfJ7e6ou/T22zqEKQQMCniGMAB+5JagkKhQQQMGMIo0hTYiJUKY3R1UlenQqaOMakgDgojGKO3mrNUwFdFhV/GsEELJRjkV5be//VLvNLW+TyQEIaeyTYeRBpiKCxUm9Jz65DmbddmW2ZY593RXidCgcRYnmyZKEaq40mBGcWp2cQollZCmZdBZg68WShepoQTehqhJQy/Rs5JzOClwMglnHtH+2MS2jSFChEGDSFSJbqDXTW+LVEvZcu4t9yRKTY1ClCqcXXrhte++dZ1tBBIoLj1LKMgxdMIsTZmtNIuuWpgOZ1d6MjE0sdW49dgHf+ITn3xgNp2DC1WNOfclEce9r4APQUXuS+ed4npxTTUUzqv5wNWMF4cYpPpqo0gXhUgAdGNjUzTUAgopkjER0RFEsLu7//rrbwBMyUTR16DV6KG7uym0NMIzM/O+Gh2qJd2iaWaQoBqaapML6epw0s1sGE7xWzSE7FlVVj5ScXOtCAPRoO6uoQptERGIuakMoru8BstmDjEGJeAJYIYwlowRUbqaLwmHJPPOmVQaSAWxix0qkBCXqUtf/dJzj577qQ3tkYyl9rtEREaWXUVTB0eAJRW+5CxrG6eKkD2cu/snp5vff/aZ7x1czTEtM3MJesli6YvFsojE61dvKCKCZUta7ecC/Q2h8tKdBoDQmQQr8H1MBys9H5o42dzYUo1QpUrpLjSWOauEq5d3l8suxpAJgua54IdYy/W0Yk+LZMvuUI0lyA6JIbQxTlVjiI2qFvmhrCAwREgPoRh6cIq5oxRVDpQfty8vNrA7VSMAsywSY4xA9WBKYftoahQ9NTRs0ximjk5EFA0dpEp2iJeKALEic0OBQUAJQSQo4G1oXn/51edeeuTHnzwlqS8jHV8fjLWik1o6rQ72TSjShhQEaaSNbF1Sb7a99dinP3mX9V+OF16/tH/9SAO2tzdiLMXaMcb2+tU9N0cAa+U+hpsWwpSVPXSLQWEYERRVPeyARQEkNHH/xqE2GyE0IYTYhCbFJkxjBIOgjdd3D6xSVFYZmSBdUdIZx90eABpV2rZpYwwAqEG10dAKlLFFFDI7gewMZVt6FjSqIP3F8C7WF8xLfd9oA4uoBi3yyb2sYDHzWolUJrVkSg6GZIUysoOlPKAjXCVqKDh8JAQeTecAwQZsnFA6IE4HXXwCl6TXv/HMix997MdnNXen8Gz9B1ILjkopKKvl1bgZK8E5aWZBGkdPhN4szE6ce/iJuLd7fnE9A+4IDoUSjOT0YOlER3etvbhGX8kL2US0pvrBIBAJpKtQSddGREQccGFONn/zDd+9tHjyE01kWOaM7tCmy36+s5hMeTaZ3UjWNdPWuj6ljoSqFtFcJH+xtJyUoNpOosQmtjE2Ws4TISiB0FxewM2RKeKKUnRceumTnummoqAKlEgAzQszxeIyefZat0CSJsLaaYIS4yplpUjZYuELGpEMzYAFaa3sSgBTTGJD0t1cKZqoyqBOZC9RjNKZWxNUWo/vvnrxnWuLh09vwhes22aUWgevjbvr7tAj+3Ruh8gGmEA5EYUhk8gidA9mElvFRhtUokMpKuJBmNP8oLhkZfsVyRggNBlbQawfpFY3xAhaYpkuEYDB3V2XXd+9eTGc2Dm5OdvYmE2ms25zM882TklspyG3sgwMojHxyAl4A6iI+dBemezdc9Tp5nS7bVpA6aVvSHbS6SLKQY/SvGovEiLmTh9i8gXVpUHcaXAVCVAvaUIhlFgSBJItAxiSt0oqmZS+yGtOIADknEIIEKG7iMYgzhriLTyvKqWWGiy4ZomE1eBIaSMJSl7sv/b6Ow+eeRSksweVDHStuYiVrlVuF8Fs2XLKNQ4Wag7+oDJI9zidYNpSYA51mJuaixVXtnZzKWbU4CYMxlb1egsgS9BzENTSOHUtDZvpIsGRQcspX3llb1eholGboB5io2GmOonToJwsu8M2bsc46fveaWQGSj4QSQpdYZ5TSt1k0sQQ3QIphEOhEknCcgneSbEvSbcCIrq76+D8om4dU/I6AghnykbVIMKSyO7OwaRwKx24pBjDHLOgR8FeShmCRNZ2kAP0gSrYgJz7zkrLZVVtJqVc1HJWBcRIxADR/q2Lu8aHMbQOA+tDhwlfEbi4SV72MPWad8CyTlFJRjJub7UnZjmoJJcl8/Ub3DtCRsOigcQhSWoThQJRHkucB4aUMFKAqBpKX2IVDUKXPvegacSkCZMQY8xNQBOlbUJsGVpT1aP+pB/1i7TIbJqwqW3T5SPLS4CqsfYCcKUj27xPKeWjne3TQWf0ULZ1VA3mFoKydN9yN0sQZW3j5ao1R4m16sRFCAleUqq17gmbcgq66hihKtViFoZQ4WAO7lSVz1KhQDMTDSoFEilxvwgoxLq033X7oIjMVKITzFb8nRAEkrXKTt/fT8lyS8CbUhVCDB3JhpaeA5eSGtzcs5sTghhqVJFr7nQMsZ20Yh52b4RLV4+I1mXplBgEnrOboMQuFAilRdtIXyKBjQgIc40CEQ1BxU2DFiw3SLZaatgGOi0FJVTYw5BnLueO4h2HKffYE0bLHXMMIUwnmx0kpaUbxaFetFEAO3B5eNiFMJlMIsUjSjAK4lICpOZiBkhE7fhrRHaPpFF6eizVxqoBrkQWVZQqjcottcNq0FDaPAZtROHoco4lo0NENIwWt5BNSWgUJcpucGWXQgZBtjw/2r9uKcd2htBImAYlCqALEckiCFFF3SxGC4lsqeIFMhq31RWWnOyBtWvjjZxzyi7qgqhBHLmgXS4QFYYYWg/TeHCtm8STJ05x9/ocSkUUdYUyMZuBAQKBUUwoY6PYW48qyWMpriLIafQmhBgxaQJCDopJE6aTEMSJnV5Pue6EyWKykbVpu26R+v0uSYwxxqlgklNnvii2utc+rQIypz6ETkMge4oUJZWSDSKU5rnMNUG6OE1qO5DSf0JJA8PgDplqbd1cMs5KoaQ7VFvR4O5EBOg0EKoKC+YeNJScpFJiSYOIxBAzs7AAEnmxPMqpxi5VM0JuQltaEoiohmq9qgqdB4d7y6VOGgJpqCUsEwmUzpHUsm12sb8se596p9WQAnJ1mCklSSdeuMjDE372zNbh9RsH815Cw1Az5oKGpmmKwAPqxiLVqBvpCan6vgKZcHfTHgjijOpta20jTZRpm9vgTcB0wiaax53ry1NXbiRtbhiz0OnZcufsRdWdOUMlNm0jyDmboy/bEgBoYoiKnOZqSmwUu4igsS/KspgP2YyZ5ZuyEwpWaZSsEggAJMQh3QlwL7i1u/kQ4e2cFNEQMG7BV3Y4MXdIgPeOIBpAUAuLMwQ4+76bmyVVoZGWMudmfepjiG0TZiFMNIQSCyEJtd3rly+9c3jy4ZNwG3folBLpKEa7qlKcpVcE3D3nVGYmBFf1odyxuKwSL+3N9zreWLqa9n10D2a9excKIh8khGDsSYhHQInMUUhTKBlwCt0dRN+5CnJAhCgCVFIuBY8KUVMxUbMCCG288c7h7v68waFV8MSdZjVKkwRLAioSpDg7uSSFl6SMnHpjL8KoaTR8nTXJxUmBFPhCQwDNsYQQjMJGVS0XNKZ4tyIi9EBSSmChtg+k1A4NyZ2CSYWQCBExeDFUU09VDxpLwz3UJEMCYpZSWqLawMW37uk9hdLHXhcxTkMfNaiqCiiKBP+zP/s6+4cnVmriCcJKDAwOOhFYk2pFFEfXL167tttnI3l0eOPV115BtmoWo3n33cv/P5kiucTM13uqAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<PIL.Image.Image image mode=RGB size=160x120 at 0x7F2DF0A49690>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im.to_thumb(160)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Biwi dataset website used to explain the format of the pose text file associated with each image, which shows the location of the center of the head. The details of this aren't important for our purposes, so we'll just show the function we use to extract the head center point:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cal = np.genfromtxt(path/'01'/'rgb.cal', skip_footer=6)\\n\",\n    \"def get_ctr(f):\\n\",\n    \"    ctr = np.genfromtxt(img2pose(f), skip_header=3)\\n\",\n    \"    c1 = ctr[0] * cal[0][0]/ctr[2] + cal[0][2]\\n\",\n    \"    c2 = ctr[1] * cal[1][1]/ctr[2] + cal[1][2]\\n\",\n    \"    return tensor([c1,c2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This function returns the coordinates as a tensor of two items:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([384.6370, 259.4787])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"get_ctr(img_files[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can pass this function to `DataBlock` as `get_y`, since it is responsible for labeling each item. We'll resize the images to half their input size, just to speed up training a bit.\\n\",\n    \"\\n\",\n    \"One important point to note is that we should not just use a random splitter. The reason for this is that the same people appear in multiple images in this dataset, but we want to ensure that our model can generalize to people that it hasn't seen yet. Each folder in the dataset contains the images for one person. Therefore, we can create a splitter function that returns true for just one person, resulting in a validation set containing just that person's images.\\n\",\n    \"\\n\",\n    \"The only other difference from the previous data block examples is that the second block is a `PointBlock`. This is necessary so that fastai knows that the labels represent coordinates; that way, it knows that when doing data augmentation, it should do the same augmentation to these coordinates as it does to the images:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"biwi = DataBlock(\\n\",\n    \"    blocks=(ImageBlock, PointBlock),\\n\",\n    \"    get_items=get_image_files,\\n\",\n    \"    get_y=get_ctr,\\n\",\n    \"    splitter=FuncSplitter(lambda o: o.parent.name=='13'),\\n\",\n    \"    batch_tfms=aug_transforms(size=(240,320)), \\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: Points and Data Augmentation: We're not aware of other libraries (except for fastai) that automatically and correctly apply data augmentation to coordinates. So, if you're working with another library, you may need to disable data augmentation for these kinds of problems.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before doing any modeling, we should look at our data to confirm it seems okay:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAckAAAFUCAYAAABPx8fsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9V7AlSZrfif1cRMQRV2Xe1JVZuqpFTevRMxjRmCHkEiBhAIYAbbkG7i7JJcGHfaQZjEYjH/iyRpotaUY+0IhdcjmwxXJBAAR2MArTg0HPTI/q7unualVdMrW48pwTwt0/Prh7RJyborq7qitnaelpN8+958QJ4f75J/6fUiLCk/FkPBlPxpPxZDwZ9w/9uG/gyXgynown48l4Mv6sjidC8sl4Mp6MJ+PJeDIeMp4IySfjyXgynown48l4yHgiJJ+MJ+PJeDKejCfjIeOJkHwynown48l4Mp6Mh4wnQvLJeDKejCfjyXgyHjLsoz48OjoWCZoQBO893/72twB48cWX0FqhtY6vRrFarZjNZnjv0cpQlBZjNEo9+Nz3J54IMnpXiwICwTe889brvP36W2zvnOHw6JDDg3ssF0fUdU3XtXSdp20dTd2yWtUcLxa03QoIWDvFlhPKyQRtC6ydMJud5vz5S1y4cIGz586ztbPJbFZRTRTWEJ8JjeBxXUvXeL7+9a9z594d6rrlwvmL+NBx8eIFUIG68RwvliyOl+zt73Pv3h0O7+2xONynWe3RtktcFwBPURZszLfY2NxiOptRTQq0NQQXsEYjAkUxRRuLAlScDFQ/S8Q5FYWIAhUgKFBCoCP4gDEGROE9iAjBd7iupWlr6uUxtfc8e+U5RMALSIjHiaj4GoQgwn/wH/39h6zeD3a89u1viy0sRVlSliVFUWCtxjnHcrVitaxZLVfUdU1dL6nrBXXT0DYNTdPRNC3OOQpbUVYTqqqgrErKScVkMmEymTCfTJlOpsxmM2azKQDL1YrlYslqVbNarVitaurViqZp4k/b0LYNnXNYW1CVFWVlKYqCsppSFiVFWWC0wZiCophgClBacB20raPrOpxzdF2L61qc83Suw3UO7z3OeUJwtK5DJO47nCMETxDBB4MED8ETQkcIgRCE4AOd63o6CV5wzhFCQKQleEfwQhBPEIeIJ4SAl4AESevv4u8BRDwSXKSfdJz3If7uA77z6LLiJ378M2ilcE4STcY9LCIEht972hJBxEMQRHQ6zvefEYT/7f/+P/nA6e6X/4v/XIy2GFPQtQ3WahRxv0kACSHOjwjegxcHAkoE8ULnPCFA1wV8CATicwoBkUCQgFIaFCjifChlEAFtFEobtIr8VAHKGLQ2KKUxRtCmQGuLVhowEDRKKYy2KG0wVqOtQilNURRxzxQWYw3GGIqiQBuDURatDMbEexEVEAJag8agtSKEAAhKgVYqPgOBxeKQN15/nTfeeJOdnW1efPFFTp3a5s033uSbr72G1vD80y9x7vw5Vsslt2/foalbNrc2mU0rvOto2462aXC+xbuGrmvwweF9G2nc+UhfzuG9wzmHdx3ee7xbIcFz+YUP86lPfpq2bREh0lZQCB5E4n5IPC0I8ZgQooSRQPCBo6MFEmBra442mr/+N37poTT3SCEZbyARL0JdN2gdjU+lVPqJxF4WE7Q2SBCMMaiHScc01pi+xHfU6ENRoNBoM+PS5Ze48vRLKF0QCDjX0q5qjo8OONzfY3/vNnv37rJcHFM3HXViRk3bUi866tWS+uiAzrcgnn1tuPF2yavVnHKyQTXZYmPzFDunznB6d5fd3dNsbk2ZziaUlaawmpc/+mFecI6u8xwfHXP9+lW+/vVXEfGsljWXr1xhWhl2Ll/i4tmzHC2XHB8vONrf5/DgNkeH96gXxzTNgr29Pfb39rDFhGpasbExYT6bUU503AxKE4JDaY1CQxC0UqAUSsV1QXScMQEhQM+AQmI+Ic5j/75EoRhCnFelccEjooHhcxF5gALzwQ5jDEYbtDIodLrfgtl0ymy6CafjJo5DoqKQ/lSi+k+UkkRoiaB4ME16FZ95a1aytbuTThtZpE6nFhGcgPM+CrMOnDOD8lE7urajaRuaxtEuOur6iKauaboVXdfRtQ3O1zjncK7Ddy0uMwLf4n2XhFBkEBIcPnRI5/u1DSKE4CB4RKLwjMIJgndp3w0CSwCC6xk2gIREN6IQJDLwPF8CiUf2SmsUxMOPl4B4QY8IRecpI3/34SMuiQLR8TgR4qpJf48f9Dh7bpOuFU6fOs/du3ucP38GrXV6ZoZ5F0UICo8jeI94jwrxWUJI+1AJEBDxON8lxh1QKgmgpHBIIJ07KkgheDzxO851eN8gXtM5F4/zcS2sNtR1jSnUaI9rEBV5hlIoFa8XeYghWytKCVprBBX3ltZoDcootEr8RukooJOQ1joaDsqAVfDyC8+htGF50FAf3WZip3zsox9HKTCqZHG0pG0jnYsI2iiqScFy2XL95g1u377DxYsXuHLlabRW3Lh+nes3bjCbzTh3cZfJxLJYrFgsjnGuQ6s4f6tVTdfsYWyVlC6V+F0AdL8Pop4WKTA+tQw8Ms3/bDJJAtRHY+MR49FCMkAIkrQooSgs8/nGcFPp8gSh6xxt1zKpbLo/C8q8K3Gq/r/xLzL8rwRdGFCJCJShKCeU5YT51g7nn3oGxONcS71acLS/x/7eXQ7273F4cMDR8ZKmaaK12TjqZsVqtcJ3Hft7d1gcHSByHWU0tigoyinlpKKsNphvbLK1vcPO6R22N7fZ3NxgMplQFAWXLj3NxUuXCKHl8PCY5fGC69ev07Y1GxsbIHB2d4fTOxV1e4rloub4aMHx0QFHh3dZHh/SNg2r5ZLjoyOMUpRVYDbbZmNrk+l0SlVNMNailSIom7RPicIyCQdFgMRi0h5NDJBkRUjP8CNBCBA3Ui9mZG0RHvu48vQlQCNq8AYoUT3nDQwCINKn7p+3CVGQRKYTBYDzDnGe4CJzci5A6/Hp785B2wltm628Dtd5OudYJS3WOYdvWrqmoXMdXVfj/Arn2ijgQof3kXH6kCw/Hy08xBOkIwTfr0EIAXoLPik3Sdul37wdIh4zstBCpgEJONcR0FhbxI0uiTECOjFLAKWiwqF1Zp7pPa0TU41MkMw6tY1MVaUJT/cYQrpPBDxQ2HjODG+kV1EKgqDwvcUUvxCVlSgSszCJ1+xrmqjH4wH6kR/+GZxzTKczFosVm9tbWGt7AyHyPAZLmWEdg/O9NR9CiIpU8ATfslwec3i45PSpMyilonXvGyT4xF+jJe99tKCCJEs0hHiO0CJBEYLHeUfnAkprVssFVVklpWqg5bxG3kd69CFEFCFE5U4EfJe+430U9IRIUyHzgLg+USnXgI/GUFqrKHAVWmfkwhKwaA1GmfSZTt+33LlxwN2bYIxmY2rZfOYplFLcu3MDrRRGC+fP7VIUtkfTmqblzp19bGG5dOkC29vb3Lm7z5uveV5//Tqbs23Onz+H84579+6xWtZsbGyytbXZKyPZIs7rNqylQwgsFzWbWxPkXfSydxGSqtdeRWBvb5/Ll6+kzxKRx7nEe4+x8eZE6eGG0jR+byw4bnQRicxcotWa8Y9spKq4O0EZimJKUUzZ3N7l0jMvICFCpavlgqOjAw727nGwt8f1G1c5ODpClGLn3GkInrZtWS1a6rqhWe6xOoyMWBeawhqsLSjKkmKyxWy2xXzjNJubm8zmE+azgqK0FJM5z77wIkbAuZYbN65z+9Ytjg6PUUqxdWqbU6dn7J6d0zTnWC5XLI6POdq/x+L4MFocqwXNcp+9O3cxRcVsNmNja87GbMpkMsPYCJmAQlRIsxp6os1EEUIYCcBsgXSExLx1USbGl2loXTl5tB3wgx9f/toN2q6jdQ1t29K1HaEVnAt0XYd3jq5zyTrzeBehxc61BBc/d84TfBehRlqca1CoxChCFFgZgknKRJAIiQffke2ogRFGK80nphYFsEqaqaAlwvNCFxlqEuJxehWobPm7uG9UgRGVIK0Es+nIlJRSiClRahqZCEmTVxptdDxOC8ZEKCwiLgW6R3cURmnU6O9oVaTXvN6KdL1ENxKtm6Iok0aeBIFID+26NLfiAl7rxETD2gZXEhmpJKE9tix7UfxnRycDYHPrVPxFYDKdP5BhRX6U/xofEPdS/CzxJBQQFR0fFNZUvYDtL9S/JgYuEpWrEAjeJ4EpSFD44Fgu7vL2G6+xfeoCt+7scXZ3l8mkSkLSJwQiCeokFKMQzspkEt4h9NfxzgMJLfDxut57gvh4vB++E19d/12RFh+E4BV4T9e2BGWQtMeUVohEd13UCEOkNSVIMKA8qBAVPKVQ2oLoXsDOKgDHretvcuu6IgjMZyvObuxy+cpT6V7z3kg2o4BzHe+8c5WrV6+xvb3Jlaefoqoq7tzZ48b1mxitOLN7hqtXb/LRj75A57pH0sYjhWSQrJlERnHt+nU+/elPIxJvWIlEeEuEpm6YzisQwXmHkeHU72U/ZEHZn6s3PTMxnrxIJFClNUVZYKs5m6fOc+lKIATHN//0y1y//g62sly7dpXdUxepmxXL1TFN09A2bRRYjaNuGprVknZ5xOrIE+QmSpuI9RcVtphRTWbMphOms00msymTjSmTakI132FuhVNndmnrGuc9169fx1qDc56qmnD27FnO7p6lrRuWyyWLwwVHR3ssVwe09YqDo3329+9RmIrJZMpsPmNjY850NqUsS7TREWXI2nlclOgnyT8hJB9UslRCoDQ6wVonYFZZ//txjf/HP/zPkBBQdEhw0RLz0tMjJCGXfFjRp+bj+5ItE5283NkaCukYyIxJZSGRmZoCnfwwQGT0WlEVBV3nKKsSWxS9whZ9QlloDQJOp58smFD0MBjBo4wBZeIxsHY+lV5lLNDUABXnzzvXopXgncOaksKWEVlQ0QrQMrbIZIDp8zvpj6iEJsVBfG91RhqI80kIoIkWEwEXXGTKGdUQ1RudIBm4WLtmz8SyrivS7+I83s1F84Mc0ZrSj2RW999ftlIGBt2vE4CKcKU1D/r++rnyR/qh4Juwvb3Bzs4u1m6ye+6AUzs7WGt7S18ShNQrdsH3Pz5kX5+n6yKc3zQtt27dZHt7BxC6zvd+7KhEpj2X+EfI+61368SfznVoAl3bYowFsZHvBD+CkkOynn1StkIStMmqDR3ehYT2gE9KmQ/Zf9/RdSu8W9J2Aa3jfZRVwblzZ5O1Hd8zxvDcc8/y7LPP9NcIIXDq1Clm0xkSPMYY3JtXOT5ecvvO3UeRxrsIyWS6Z2d9URT95pGEzWutE+4cN1eQBMSqiOPrdTz1fRwPJtiTf/YbUWmULtnYPs9PvPRRbt++zQsvf5zTu7vJ4jzmYP+Avb27HB7sc7w4ZtW0tPWSrq5jQEjdUK9qlvWKplmwON4HJDJKYylsSWEnlNWMajZjWs2YzqdMpiVFWbJ79izWKsCwf2+Puq65ef0WmxsbGGs5c/Ys5y+eZ7Vacnx0yHJ1yPL4mKZuWDbHHC/2uH1bU1UVs9kGG5uz5DedYayNDvYRhpqFR5Do0/CJcLU2CSYPRN+JSXDSSYvy8Yw7179F5xymKNAQfV9qEBBaa4zWkeZ0tK60MSgV18Kk91ExqExrPRJcCYo0qj+X1tE6z/48paLg00rRdS1lUXG8rJnNJhRFFoTZUtPJExBQyvb+H6UTU0w+UqOj1X90eMRsvoOyuofFx5CrUiRFINqy0cIYAlsieCJ45ymsQasCYyzaFCgVeuGj0PSITFKIsqEz4DtpYhNUGwPANOjIeFUwKJL2T0jPlCzdZHmrZCWjZLBQ0z2SLUo0Kvm+Uek5lB7UXFGg3Aka/KDH93rdwRLsEa37Pvt+zvuwodCqYj6bEIDTp3djYGRS7u6/ijzopacj7z11XYMuOXXqFK6LSEznHME7XIJinXcjCzJam727IJ1rsTiksJqiDBhTYKwmZGhWMqqYYd1otWZFSUJEHoI4gnOEIDEmQxzOO4IPuLah7VY0bYtrW8TqFGBEsuATtKsDSvL+UekzQ3QvBcpCRQg9+fyff/5ZdnZmnM5xCA8ZjxSSCAQfHfVt27Czvd1PkEqQaowkitpKfI+ojqMH7fL7oJPv3ZJRD/2zZ/0iiFbYoqKYzDl39jRKa8pyRjXZZL59jnNPPYvrGurVktXiOPkQDzhaLFguFrRNQ9e0NG1L09SsVjXNqma1WtI2NavlAtjHJDjMWIWxFWUxp5pOmUynVLOKajLBYHn6yhW89yilEjww5969e2xvbbO5vQEK6lXL8dERy+ND6uURbVtzb+8O9+7FSNbpbIuNzSnTWUlZTqiqedLiJUVERvhFUiSkKWy0Oul1YaKw1AyRiI8ngALgqUuX6VxLWcboPasKtA694FIpsCALuOhbA60EowzWKIJ42s6xvXOaoigwxmC1QRuDNRZVxN+NNVhtsUWBNQZtNba0ES1Qii/+0Rc4d/Yi71y/x6XLl3j++WeiAE4IUsi+wpDn2uOD4IOkgJzsb+pwruXWrVtsb59OGnjW2kMfuJH/FtJr/sk+lSCAw9gaa0tEovZeWJsB4rR3FBkGNMqsm5G9MpUtIU0f+JEUAJAYVR0iKhNCgUIijAsoPIgGNCoLCjX4TuOeK6PwVTlALCsmg1KQObySHOPw+OjuexvqxOsHdE0lyQh5t3gP9aCX3prNxk1VTZhMpnSmwziLdTGQzIbBj9n/hOTDlBzE5VFBaHSMpHU4bFnFPRlixJvSWZgaenozye+uUjSqKDSGYAxK4r0FCVhJ1qybULkZVbfCNQGPT0hMVLpCSMqbkCBcSbScFc0E56JRIqAsSik2t7bTxDx6Lh8pJGsfcE5RN8K9vRW1szhRKBH0CM47Pj7m3r17bMw3cL6jrjvKyvZa5/czBoz5/bNqeu1XE0O8lRqi8nLEl9IobVFmQjHZZLp5mtNnW7q2oalXrFZLlqsly8WCerXk4Gg/Eo/zuKajaZYRpq1rmnpF29a09YJF2EepgNYFxhbYsoopDkXJZDpjNtlkZ/MUZWF56uKUw6MjggjvXL3G6d1ddFlx4fIzEDz1asXieMFquU9dH7FYHHJ0eIDWmrIqmc1mzGcTqsmEorRpbwW0AmUMVusIsUFidCfn+PEyqmeeucT+3j7PPH2F7a1tqmqKniiKqqCwBVU1i1Z7UVAUlsLGoABtNFZZjIZmdcydvQOuPPMcRVkkWrTkiD9U9qc9HOYLQdCm5NnLV3jjjXs8/eJT2MImiCj6SDPz8C70kaquy7BWl3x4Lc53aGeZTOdM51Nc59DW4N0gGCMsFmGpIMP7A8QV0QFEYY3BWosPDmttRBIkBWohwBAXkIN8RdIv6Gg8SmYmAVHxWtk/iiT5piKUOrbiVY60PsmB0x8x4j0qytGCtdGC6AX46GiVAmJQICZZZf9tHz8owRnXLxrq2VL//s9mTEwPsTaKgbH/2ojGe4cxZk1QBjMocyIGFUJKMSkJIaKNWpsYdZ3uuXffJHmhk79aUkyFkuQyEheDaIyO7gJvCCqAUeAhyJKua2l9m5S8tH919LsqIjoRAx0z1h99oCSrVqkAWqMCHB0dsLm5gbGPnsRHCsl/9q/+iMO9Bffu3OX173ydulliitN87IeeY3sWJ0AJTMspFy9ejDCOUrRdm0xef9/kf6/jpE/yvYwQfB+xln1Gg4oVY+40cVKUVmgbcxWdNiht0brEFjOm85qtrZa2bbC3y8SgoK1rujqGLbetjxBGGwVn0y6p6xX1qqFrW+rjJUtZRAsoQX+FLSnKCmtLZvMZMz/l0vnzoC2TUnH37l1msyl39w/Z3T3DbHMLrYXV8pDF4oB6uaBra+7ePebuLTC2oCoLJrOKclJiTcrpK0qG8OlMxIz+Ft5H3eR7Hj/72b/A3t4+L770DPP5PMKJNgIUfUg7I6tlhPJlljtxjlOXNFbb9E4WHuOgkUfTlVIw3zjFZDZlc3vKbF4RQg6QitaY0grtVYIlo+BQ4nsBEoWyoD1AhKMKWwGJptTgA/LeoYOP15AhQi/4aE1CQkYTzGmMxWiNtTHvbVjTyDBChmiBnN4B6fsJVhbRUftOH+bgHknCLhrNAR00ohSevJcZ/KVCEoxjP2Tc/9E/rBA18hCP/JSSHZjp2qz5Uj+48Tj9od/16Al9gHrfi5SMiqNBGzCik7UX58L7uM7eubXj8/tap9xPH/17xtpoiVpL3mPjnNksJDPaoLUdeA0BURCCQ1sV009C2jcEnIDRDqMtWtcEF78TU1mypagTjYXe2Mk6RMwA0KADhKi4aa25dv0Gz1XPUlXVI+fpkULy//p/+E9woUPrQNcd0vnA/+k/PeaHf+zP8ed/8cd54YUdNirN1JZMbEUrntl8SlHmCYgbPedWDpP93S3s+x88otjY2Bjd04jIssBUErmxABKFplZRkOlCRejKTYjLp5lMtpjPpzEpvGrw8znOdTHysnMp0nKF72J6QOdaXOdo25amWbGql3R1y2pxSN2sqBcGIbB3LyYIF3ZKYUvKasJ0OgXvuHThPHXtUAZu3rnN7ulT2E64uPsUbVPTrI5ZLfdo6hXHy2P29vejBqeFcrbN7u5T0R0pGsGlR9UnhOPjk5Jnzp3n9JkzzDaiAmKsjR42lfKg4D5Bl+9bK0HQiCqiQFmzTPT3xFKUAtExEEW0iZqvov/RWkfhpRRaD1HYqi+0kYptEH2+KitbJka2IgplVQ+3o0D55McLUfBqAjEiNj2nEkRiArm2BtVF2FhpkwK2VB/Snik8Cic9KAp6OAaTo3hT8FE/tykAh/R+siqjC1OluVDJD5tPNpprFa0d6a2fnAmZPx6vRIQRB5j4yfhBj3GQWPTT5/iS4RiRrLPoaIWRINQk6FTwgEYbi9WGzliULdASBV7vR88wfO9XH9ZZKSGEuC+1jgI2xkwAuRxFGPn/0/0GCRhl0ll0z79V2muiFGgVhS0+Wa6kfdShlGFjtoVWJe9Gc49OAemugyxpGqGuwRaGO9e/zK/887f4g9//PD/38z/PT//Up3nlw1eiU5Yc6BO1YaUMufJBn5CqvjvrcKyFvF9anneBg/1DjLHJ4bxkY2MOxE07EM0oMjHj3UQMPCu7xliUchTFlLKcoXWD1gpnTGSCtsOWKWnc2T6HrnSpSorvCLIdq0m0LS6sqOsO1waauqZetbHKy3LJKhyD8jFgxcSqIOVkSllO2J5PUSJsbm6wXK4oioLjlefc2WdZLhcY7Vksjjg6OqBeHHN4tEipOz7ls5GIN/upUmJ6eHxC0qiAtRqDjv8kK1brqQN94jyJsaeNqJKtuS7nvz8a0jnvS6X8Q5WsJiUpsjj+HpVZhTExoE0MqBCS60iDMShj0TnIJpACDUJK64l+G9Gx2lTQMT+NRHOkqi0ABIPWETrWJlVtUVkIQp/lL8msy9+THMwwKA8n0xoyraMkVmORbCGOLGN08gGNEaLsA1q37EnRSbK2biZjhvT2//8/oKw/6JHMcKVUjOJ+H9hi9D8nq82Y3riJfn/N2FDJAZoxOCYkv6LCWBuLEiiNdwFtbf/ddWsyZHLo7RMRAzpaq0rMkE004sVRgKefFKy0rk+lNKQeKRpcSJLRHZXg/1w8BeHSpUtYa3g33vBIIbm/aPDO49qGum4oywqhYTZbsX/9gH/2j1/ni3/8O/yP/8O/x6c/8SGmdhSZlyKohqTmWAUmC0p4d4uy11jeJyHpfEfTxtJtAM6NfDh5MkfX7itWhGieex8DRYJk7Vhi2ScLghk0FW1QTkVtXxu8toQUUeVN9CNJKJAgdKoF0ZSqZFIJWhfJHxXzPF3b0qw6VsuGuomVLNqmpl4dI+LRJpWespairCjKKae2Z7iuxdiCo6MVW1tnaLzi9JmL1HWHsdHZHcQzmGbxuWNu7Psy3d/3ULqIfjGdLTfFwzmCOvFrYur9W+8Nvqsmc0Qlmy4INkfLyqDADQwBRGtMktDeR59N9pEM/tD0HZ02bcot1noo0qElbeVkqQop1UKDEKNvXcrdXC6X7OxUiXllhhHvIc+C9Ax2EIxZ+A1VlnIVk/St8fSPTOgsKHOBjz6dQ6mkKD9gImW0t/LJMwI8KhTxZDx6SE4feB9Yosrui8SfVYIhBxg0pwINdE6AkFwLWidIUynqukEphWtayqoEP9zgIGgz3QzpKoqhMlimrciLw8CD083GvWNQRCVBNAlxSUhIT9NAMtiyGh0/y3xEg3IUZVQK3m0uHy0kD+5hvMfiKcUTmpYFM1woqMoOOb7Gt79+xD/8hwH+3v+MH//0h1J5reiLjKH1od+IxhhCyPlpag2GPSkIc9WE9wtyzT43rXUSjiHm9PQH9P9Fpgb9Amlt8F4GSI2BuVhrUy6cRumQksoFJRbFIHiDGqIyTbAxcTsl7wYbAxtMUFhTEog+r7KcouYedkj5Qx7XdbRtG6HZekG9cjG/c9VRL2uEPZQKWGNSgNCU1TIwmRR0nacoJ3zntTc4t7tL2zl2tjdjZcYUfYi4FBTwvkz79zVivcrvP+grnuP9UaxEaRbLGsGwf3DI7qmt/ElvuWVtNyqGI8sqw66ADrpPGzFaR3rQMTVCAVoEsq+V6D4RHWtPoqOGna8BHgS6rsWYBAMn5qO0pLJzSfnr4a3hnh8oKMNA132Uerb2RAgp+ifXy0ECmpgHmKHUNGG9cchofkzOrUaNrMp0f2m+MqLxOMbe3h6bm5tYa+m6Lu7r/zb4Kd/zGCDR+HNC8dM6wqGpnB1AEAuJR6m0psH7iK6RxK3K0ay5xmEG/rPCFT8TNUC4KtOxwGAdpv2lDJoCrSyx5m30p5KqT42XKiNi8csZpRhMIEk02LiOg/0DLlw898gZehe4tUEJnNmds70x4fC45ubekiMfODRHlOIpuhV//AdfoHMTLv2D/5hnL21H7VKpPA1kWRgty0FAji3NsTDs87BCWPvsvRKtSKAsq94SLAqT3h8K4p6ECCJbGK6fNR2d7qsobRL6uodotWiC1kMEcBKcRimUT8Iyhca3SlOUZay7aSzGFpgU9h8kIERoSheCLgNFVTEV2JKcqBur0DTNIsKzq47VMqWlHNU4dxxrbaoYubh95ile+ciLNKuW1i25cf022lpWdcPu7hmU+H5eHtfw3qGUxRg1yq7+bv1V2eJ5P/xbMU9SnEdUgWtcUngiI8hCJSpzgxariJi8EpPuxqN0yr9Ukn6iUhL3b9KeVW4IEI/RKhWL8DHXq2c6KkNX6TwCOSUrfzdad9Jr7Sr7hhjSVvKlY3pGsljXgkJGNJ/ZX66nq0wS8Ln8WGZOw4nHs5+zKCUrYJL8Fr00vj/y9YMcxgw0P/al/dkaMc1IrQmB93ZGvVYG8P75VyopZ0TEg0TfKn6Qcq3Tsak4evRe5hsb8mMzkhH5eqLLhDDG72vEh35vZNqTaPLGh03FP0KIdBR3+oBOjq3WfH2ViHNcBlEpQ9cFbt26y4ULFx45R48UkkppSiNszitsqdnYmHDr3gLfNTHiDoUXj/PCl37/d/jP/7PL/Af/4b/LmVNTVEgSPgUSjPOjYp3I4aGyoBwTZWY+7x+hCsvFAqNtXEAh4dF5cz94k/Zh9yMCikzC4jvNdBbNf61cLMenJOaXSQzqUErF4sFoAgEtFqV8oq3IGI1WOIHCltFpnQgjdyIZIlBVXwpQJJb+xgimqCgnE+bBodGxc0nb0tQrlstFrBl7fMxqtSSnD0hVcqq0sD3HB2FVp+Lth3s41zGbzd+nef8+hihc59FGY2xEI777rm5JW+yZ7/cv8JUCJOcwanwKAo0w6CgtI0GMssZkTtJtitpTrFfhkcx8huMjkqEGPpgDydJ5RAZNP9LxqLqVegDzHAEDinXmv2ZF9DheYmrJKlQJJlO9T8f0x8atI8M107TnX/PH47/HsG58X3pr4nGNzc3N/vplWT62+3jUEBEODw7Y3N4mCATfMZlU702gP+BrY/8zvYWZ6DUQg8lU5GcoRZmU/B6JS0GRGQkcu82Gex0su0zLa9kGjI2SQRHLKKSSuC+iUM2FzeXEc+SoWjV6VEHwaNFMiglnd8/2OboPG48UkvPKcHZm2a4q9hYNpYGq0DQOdAgx4i8EuuYI5QO/8k//KX/1L/4Cu9vPxhZMOvpRotOVGMxDGDaIGqzGcUHm3qxPOTjvx5Ag3Lh2jYuXnsa1DZ1r2T21NbIa03ESIa5c+X9gtqNFSAvpfMDaIvqeVC7pFVcyKIkCTyQW4E6CM2pUOioMISV7mxLvFbYoI0NT9KH+wsgBLinqKyiUuAizhQRhKImVZ5Si0Bpjyyg4NzfYOd1Sr2pWTcPm1ln6BPD8v/ZMpiVVBRuzcwkuf3wMKxdBcE4oSxvzFbX6LhhB3tyM1vW9WQRlWdKuXJRhKlk+2afCyDKKf/QKDVlwjjfuGHFgeJ5egKX90supBNniB+UoPl+KAAyjEzMwG/Kt5s81g6Inkf5idZ6k0WfaJ1nI2SpUOR42U0p8T6WQ/XyPETXSKXLQpQVQQC4WcNJPmYNOsm9K97DZ44L5/+xZjQ8YSrG9vY1K3Zaqqkxvf3/33ltqktOERoFY6TW7nmIuUFJmwqCySlLovCgMmkATj82Kj1ZI8CcEZbb+RuhH+vcAW3ZNaOffY+BQbmeWeXSyK/O+klgxKhFujwxmHKgqS86dPdcL64eNRwrJrQLObFVszkpa59icWPaPS7plh3TgReiCYE0UElYbpPMQXEzmzKYuWRCqPjF5PYhH8D6shSFHMzxHKqUFeQ+waxBhd/ccp3e3uX17n/PnzvRMJbfDGRK2swU53PtYmKr+NQbueC+JAeb7ytBZhMO0MqlTUyDk3ktBpSox0UeVC1hnAyKobI1GuDekxVYiiDKp3F9mcoKI731e0R2UyEdCPN5orLVMpxMyRi8qJOd38gOkpNs4L49RSPbwG33ngnhf60jDg76ZPo1/vR/wnShC8kf3LancWABGqyhk5UoirTkJhCRMerrNdIEGUkRfqmCTUyDG6RVxvRVeRYUzWrAKxOBcjHBFupTSZBlq06aZSNHZkabSnIZcjD2ef6ysKiQ14Yi/h565ZGhZRrqTgM6wGckSHisp5AuP4EF5ABMcj3VL4slYHwpQRvdK8fvRMSWx3zWgpg/EysdoHft0kegktRAbCtkLZRUt2s3NWTouVsEaoyQRHYTUPiIqaf2CR40uyEgY+sHXOBbeACGnTTHcq+rpFZAE5ZIfcPQjun9w51wsuPKI8chZroymtJYuBMqqoDAwsXB2Znlmu+LyRkGRep9hFNV8ybff/AaNi3X4vJNUlktGFUqE1DMW74h/pxp8Oa8yhFRKrfM9hn1/OPH35sMIHpQpiQE2mskkdjoIIbcAkkFgylCfsC/2K/m4fP1UYLvviTdCne6DDHRvOShNgtsU6KGVUy5NNmhNo++q2E9RqQKlbPJvRRgi1yPNASFaDTl6RiVIFoX3gabpIsSsInNT5H6NhuhrMqBKRJXJ8f54RqQRwbtIK1FYhiQw323NhV4yjLTQ73fcvblP2zjEORYHC4IXxEcFMdJKbuwqiQYk+oCJWvZAN1lQ5q4IZEnWW5cDR1jX6vs6sbmYugIhUE1KlFKcOnVqzWWx5rrouWA+MdEUyMyCgYGh6FNdGLGvKP+G+8uBF7FazpBs3p9nPKS3udcFpOo/7i0U6DPjnowHjKRbR+Xm/aqKpfLU379PJK/7+OCxlZlozhjDdDpFK01hZ2uGDSfo8UE02r+m/8Y9i/vrJrh/HCSXheS6gZJ9l8N96/4nugpQSeFU8Pqbb6756B80HilCSxvhvdbHBsCti1F1m5OKqYa9ZRsNZQHlPU+de5pL5y/FwrikkHZN6pSgexgsoitponNz25SYrXRIln3qvRaKNb9Jnrw8kd+toHQutmVxqTXMuoAktQPKATNDRfncJiz7nsYCNFu7cXU1So26TPQElu85Q6yJeWsV2w15hy00wXu0teRowoFo4+/Z+RyJNB2TClLHwBAG31XfWsyglEMRrWOdokbzPffWOqlHYGaifUmxxzPapqVpHFo7yuo04gStpS8CkZt6n/Rjnxzv1ZIUEaqJ4vTpHfb3j7jw1NkY06dibdaQUIeQ+gCGVNMya0tDagVEy1j694ZPpBeww1BZxA8Ck8wYYv6iNoqqKujacZT4WP8/cT6VLTlFzksUEiarhuPQyZLtaVAGJGt02MAs82dJMZGcUpLz1tIXlErFBeiRmLU7Tr/o98E6+n6GDyEhFSOG/Wdt5IlT6j3Tdn9KlS3H+MSDSynORVDSu82ypZbfi71So5ItolLueLIi1RBPIirnJqZC+9lrMbpmNgiyQghJYUq0lqsDZV94iIEuZPg28t/xnn/wCvaBoMlgOTg84N1Swh8pJC+eO0uQjlXr0NrjlaIqKjAVt2vHrYN9gggTozk1tVx5aofdU6cQL3jdETvsxOLKKm3wXIx2gFbzRKUgl6ASJBknIlsPJzWQHNRzUhsZQ7Jja7Np25j+0XnMGswaddfeWk3nGBoWZzOdbO6S+73pjK+PCHbA3MnGDNnxnSGoaFkKXnyfLtP7ZfFkGEV6rCpwkruo9Fm2YnWyKsOaQpGtQY8iJgIX1hK8DDcXHQc9HIcMmP7jGtrA9vYmQdqU0zpEG44jD/tuH6xbMHlNsgL0vTzOeC2jkDTMZhMO9g8pK0NAcEHwUbOKVmSCMcUnoZnpbiQse7QCuW/7rtlYY/PthMxTSiGYyIASjK6U6SE40Km3sUThl20EFWmpR2LIEdsZClNkizCj7NL7McdAlerpLmplqRl6smr0+EnyvlH07fTUSFDe97xy4vUDHm/f2OfSxdNYRdoLfwbFpIzZwHtXAPPr8DPipQ84fy9ghjeIiEI2R5PBo2Lw4VggxU9jIOLa8/RCOVXNGVnI0Z+ZDIqof6W2dCnNbqzc5WhpxnSf7iETlVI9Tcc/Nc8/9/y78rt3aZXlEGVw4imIGvzZ3Rn7i5Y337qFE7Ba89LLH+Fv/e2/zad+9JOcPj2PjTy1RulUxT2lQ0R+FmGa2IwzjFJAsragYo5Y0ky9T9uzFzY5tH2dMZ4UlmEUmiwiNG2NMZaua1FGR0sghJ6BZQsx/h2F9npt0yEgI55fsEXE1bNlcAI5yss3Yh0qWW9pgbP2hcaYIr2n6QkPUla5Gj2P6o9hFOmqlEl1TUOMLO6vGWsyBugrvuRItEjXwlq9TCVrmv7jGEECpvD4BlwIqTRgrjUa0vPG9dA6zuUgLKFXAPr1+t4Y3piBwITgHRI0TgSdmtcqkVhgwI9gdwEJEW2REAZh+bDrcP/nOeZvZGc+4Ju5AlC25mLwTAxI1UnRyfOVr5HnjUGTzvQmgvT+m/W5epC1rjIkm/fgSJ6vKalxEu/77v2ukodZwB/c+Af/6/+E/+Xf//f55CvPYpXv3Q2PW2G8bwSJPCFIb1W+59HzrDHdn1iRHr4/cb2xMFz/4IG0s0aDZHrIvNvzsAL3Pb3p6E8Mwd+PbozOGRXrtUckp4rEa2skCLu7uyPHwoPHI4Vk27Z0olmsOjbnkwhVWkVpYXcDDo4DoiqefuFlPvsX/iLaJD+jC4iJifVBxY4h0fIbStPFv03KmyRBqFFohsQMg8SAHhEZ+d50Pwm5ZF/WjfNmjYuxPtmtc8ynE9qmoZjMUveG7CxOkGvIWj+DlSkx+CUkwZM3eNt2GJOFSxgxAxnRU4bLdEanGHr+CU2zRBsQUjUfYt3WAXIdoih1qreZtfnI+nMLpJxDp+LvITuzG2I/w3iftijRomKqClnGDlauSt+XFBD0uIZz4Dw4L+BSzqCOgjL6W+N8hJCF5JDoHF9VWsN391uf3OBjFEEk+sZz38QwQhIkjJSpkFvGhURHg4DMba56cSdjS/PEzTxQeJw4hMH4W7NJRdZ9K2vWQKSNAbEffy/bf2P/ZGZm47lJm+s+xXSEnGRrIkfFymA3S4+wJM1eZaHai9f+Th/H+OqX/5j/zf/u/8g/+F/9L/j4R5+hNOvFTv6sjbER8F5GXyFJFH2cBZC07/u/kBUs4vqHFN8QMt/KP/n8awjPEN26xqwZCEjWgsNG38+0l+hXwknEy68p+CdvfW1X5XtQ0LZNKnrz8PHoPEkPq3rFwWKFUYIuNKXVbGxUPP/cZV57/S7PvvAKv/S3/iZFAU3rU05kZAkh5Pp/OfhE9ZsvCgy/XoFHKbRJDCm937U+CogkYHIxAslrMbIolRo227Br499N07I1n7HoOsqZPiEEU5mj3j85tiqHDtpZmAI452KX6zFjyy95IRO01FfdyshWOjQEz2Q6wXfCxsYUrWModUbKBkgh3uPYIu0vlE7WN/klaZp+pBWme5ysVbtPFiumv04YMbXv1fp6P4f3MXjHB1BOQIXYtFipaPhoQUzanEElH7ak78am0rlbR2YmY6ThJDwOSTiO5qoXln1bIInQr5LUsT33UY3HZWSi7+je+7fzuaIFKiPF5+S4XxfP/8vae5EkhhqU8X2FzqhTYjqZ+iULs3ymkSWeOydEJuNB25GsG4XNq1xrRzFAY6q/dr7PaPf7VIid/jtDAf1EYyqlgikFfYuvB6UAfDDD1/e4+tY3+U//z/+Qf//v/Xt84pVn2JxHN4bSOen98bsiHtQw4r2MwbIf3lv7+0GwK+tIRy+0TPwkGwQDAjdW/nLQTxb0snbOMTw7vrZOKXakNLv4kQVaetrOeqEQ10tl5Uwl1azfEWTF8d69/Xedz0cKyeuLmk55FtIx8S3TYgpaY0rFTqU5ewZu37vHQWtpnNB1HRBLnEVhJr11qLWJpbjC2CKMrzkHzqPQQfVC0lqFc76P1lTEFIr83SyMstB9qB4qgu86lNK0nUMrlRLEs4VIbxUMka7599FCB4+I74WmNrovOn0/hERerSTEIr4ezWmF8gqhoCxnNL5mOivwPtBr/GoQV/m0Sg3pASoJ9ZwH1FdegZ5I+4snJl2U5YipjqwS1qPF7rM2PuDhfMA7wXWxT5zWEgWjHpCmCN9nhWpMBynMXGIUqfdjH8UQFDCGeyDWo5SsKI0Qg6CiRRsEOh8otI4CWMCFGPCRBWWQQCD6K4egryytAoInJYbEAKAxnP+QuYjLk2H6cRHnBAf2rpxssYVYCzYTA/kro8TJNSuT/jg1LvIxIqZcuWcNtcm8LAnLnnGqnLKTcx+HMz54SP+Msm5EfKDj+PCYqg187Y/+gH917il2T//3ePGZ0xhl0Tb1Yv0zAL16ASsZVfre56tfhRED6OF4HmLTP8g060+Tio6HsRK/vh/jKe5XAQcelZW//M8Q05my0FXEAhYRjo2oTq7Mc/J5krIlCW3LBV7GiqEMPPJkEfcHjUcKydu3V7SqpsPhW+FQtxR3l5jCYpUndAFr4dqrN3j52RcIugXTYXyJCQqlHDkSNQrLcehwjn4aospyeK9SmhA8WtkevsoFr7WMvrsmILMlOSzS2LfkvUeIqRCKIfUEMiwX+tfI0wZLcw0+6wVozPHJkx6yFi8jMnugJjWy8HJIv4kakoxg1p55jyCK+N4oYVypyG6TGpXbKa1jC4N2VpbVIBlFGCeSrw/10E3xQYzON3ShiCXhJHYU0AZEfGr4rdAhQ/C6T4nRKYJaa0FSyoj362wk05qcmGdROVp18FPntffe99C/STQUchS0j5BsRg1iSkjoz5ODdbKWnC37QcAArAf6pLfWmU76WUtfTUwmw/q9RajDOP5hOLxnWPnv9P3IftYQkD4YQ8GQJxmiBTgSwCNwZLjxDPuvRbiuj3XyGmyTx0V1bdfiXItvWl7/9qu0zV+lqTsKq9AS4usjak1/UKPvvvEeJ0oy6pQETqzsFXuQxlrO0tM03C/khoAbekGrje7j5AOSuuOsK6Pr5xpQK0lVfIZG6DkENvN4A8r3++Z+3/dYwYMhXuOkKjF2IwinTp96V6J7pJDc1Ju0oaQNDZYCJZagC4wtwVTMdEEVJvzWP/5vuPrqLX7iF36UZz6yC3YVC+Nqk3JaQg+LgcJok7TWIe8FVPIzaYwRnPMYo1BJYwiiIKhkPWTrc9BYRgb7eCkBkkUxdHpfh1HlgT9DDtxgYQx5kwHnHKiR/wkeCKQNVm+2H4b7zItljBk08iyfVNKxJReJhz7gp2fynhgtJglXH18/EX4gFUeAwtoH0MOg7Y8Z5MMgwQ9i+BCVmM7FACOtDTrE9lFaZ/9k6JUvlYt/B4kFvkUIPgoz44ZQdKVCrxitjR6+SfEQOTUICD7SYsiCUQ0wrheFDyO6CiFZln6NxiLUGnooCJJiNpp74AQNydr78T7phV/WhHvek4SapN8frgBFsSgZbs90BaN5iqhEZHhDgEQOrst9OhWKoBIV9g+X234NzzbQfQ7SAzCDEpuf8zFW3HFdjSjwaF5/6w2+89p3eOr8JhI0JvEAm6Kp368qYN/XyHP6XgvBj4XMWIlXrEU1ZxQqK3lAzyN6gU1UDjXZ15cU0fTzcBB9BHVkDfABKUCqJ3aJHZaURnzcDIHoiup9WtmalICMhKOocZDlsM/Kshjylh8yHikkC0qCiTcy1TNMsBg0NlgsEypVYI2nXR7xzpe/wm/cuMmn//yP8KGfepnJhmC8T8Ix+yOjdikiqKAhWYQ6RIsqiEKpgE/+JONUbxIribmWUZAIOUqqF5JqiAtcDzaQGG1LzLvM1l0UmtIf/1BBSRKUpI6ZMlSFOIndZ58WcuIeRmCCJLjASRgKAmuTzhO/E5WFJCkVI6gtny8JTQXic8rHSLvMVkCqEBOFh8GaMvqMM4NOWr/k1zWu+vigpeCFrgt45yNr1blsYYLvlcIaCFqSzwiinqH7XncS4noblws5xEcalI08t/E5U/e0wfLry7gFvCe2L3OBjmg9BklBPaOf3noMJ2kp9KUOIacbpe/hyLZm9qmE/Hf+XdY1e0laOsrTK0YiiSlphkTzdUbYDzXkXZKuE+dozKB6/CqfJWnrg+0oCdYKmfYZzre+B4YxIC2DYqvIRsOjGOoPdmgx+FCiVMe5HYW0C1Z1IISOSlROoqJQgu4jrO+P3hyPIVDl/fNlep+tvnQN3n2nnpzRTFtZ6R4LwUEQMtAx95uuwzOptb+jjEwITxJcg5vg/nES3YgCM/UmTvvzpD9Tad23O4zfDcN8jIS9Yv227zdg4nu379x96NzBuwjJqqgIeFCKSlcYZUFFJq6VR8QgXYG2nmV7l+5mze/+Ssfdq0d85i9+iK1z017I6VSmjR5SDX2wSVAh+SpH/sngsWIgxOhYLdJ3Xl+PFn14rmR+r21j6a62bXsNaGxF5qjAXttHRtZCgmDzscRqK9ra5H8aVQMamQonGUQWYkmME4LH2Nib0trE2LLkI1sIgxAeP1tsT+RjTVhRMU8uMf8BucoMzyO42HfSFIh3o02VoY2TLckG+OtxDOcanC/pfCCkohTRF5GtR433Cm0iOqFNtOBi02PTB/K44LHBD8xf8rMl1q8Gh34/dWOaiJyCtk1C0QXQ5n7hKKN0ohQ1nYXgOJUIsg51EoJfxwDGCs/IIBsdy0gI5YNPaOBK9c9z/xivr4yuJ2sfZSbYq3iZCTIUOV/v1zm4PpKcfOToSyqevKXHMLwDwWEr4S/9lV/kxZdfYFk3yUoxWHyE+Yn3mVu5PUoAZl7z/kGz+Tx+5JP8bsRkHD1GkRU2ISqTIVCiUv/1EVSeUCulFCTF/f61Sgig5H22zv+GOIpcyF8SGjIYTFmw5vNlo3L9mTOfj+bKgFyMnisdnpGzQYXIfDRZo4Mtgwi88cYbj5y3R1fcMQVdsJRFQUWF0TZpsBqrLEZbrLZYpbHKoEzH3b2rfPF3F1x78xqf/Ts/w+7zU2wIGGwvFEWlGpGaXijmWqdZCAYJsdwdoERjxKTWUylXsheQg6CM2uiIKNLfnYvpGl3XoVSsvpOLFAjgR8E3ZCbW+yHDmq9KROhS8M+4+s4YOsrwa/57sDgHphNr1Rq8d7En4Jhhyvg7WT/PtKJ6qzITTW4tk6lLRBHweKS3RKytYufw0foOtH6CQ/WJuY9neOehafGdi308zXrJNaMVQRtMip7WXhLTIlVtiudxLuBcTmdJlqMaZUWtmd/DWmXtNwvLruv6yFX8EPQ1Xvs133U4WdpwSBsBRrQA42Cx4Vz5/u67xfw2AmvVSdY5S+QUmfkM1tsAr+aTDLcythAZsZ0xI0rgWSK1vPdIoUgKvZYbev+9C4OfMke7pr2nsqX9eCSl0oHZxPMLv/iX+egrP07nBGkdSrURydE2Rt/3Cnn83ncTafp+WpJDMnxCO8x3c94xP5JY8CLlWQ6K3iDYxr5IyKQ19uUN/GJsAWodY0keeAcyYFcZMRmKWoxUtl7xS0qGSF9IoJ/0FJEdxk81omtZu7eBrgdyHp5Oa8329s4jZ+/RlqSZsAwrKlMxYdLnPQalE/4cLSIpJPolFscURYmXPfavdfzhr1f87N/8OSabLQGPTgnvWsdoKKUVIRX5VsnXKAlyFQk4Fx/OmEF4hd4vORS87oVkev6RQYYSRdPUGGNi9K1ShJCFZNqcI0hhEGoysgYGyyJ2p+gGTD7Pfs8cRppUb132pBKZL4IPnsJaui4uVPCeddIcWY/DVRKxZWg5nivnkA5Qg+q/kQtul0URNTAiVNcrdCev9W41mj6A4ZzQ6jaulw4RjlfRea9Tw2JMQCT6J4wZgk5CGHJxnYv1X7NVni2dfrOvRV/GISdowHsIKtbW7ZyjMKP0oeSDzHTR00rSXEMSgLlk3YhNMKAT/ZXvM6bGfr21eyQQVOoQgyWkykrx0FxoAkZtQvrrAvR5bDokmk+wfEJ6pIf6A2PfV7wdSefNlZDicw2qh4wC0AZfryAnnmddAGeG9riob2NW8eylD/Hf/5t/DynjvlTG40yHMwXWCcEIrg849OQOZbkF2oPGgy359zbG9PkwK/IEJ1njbeulNhloNAz+ybWfte/JibOPlXsZ8cTv/tkf/RSx+lrmhLHOdDSUMnGNhbpI9oK++7XzEc88/cwjj3ukkPQu1mBFLDpYlDFMTDbLE3GrwMItqZcNO9MpSllaV2NC4Oo33uDGN65z+ePboGK0ai5Hp5SJgTmavq2U1pregtGpqkJvLgsiORBIJxM/w0DA6JWRkARoupbZdErdtVTlhM77CJPmcpNkIZgn+mRwz+g9if7MojAE8b0gfBBxjYXkWPBGuFXQxoLqGEfqRretnMDi41jXRrM6NvKL5BJha4Qcr1sUVU8YeXP1DCzfV+4VmPuwPabhnFAbR+MatCrQPhUB174v4B68wpiYhmND9OnqRDORacXaks4NVnd2qfUwolrfTHHaMvwaLUKX2vw4hM47tDeDJZktxpAiAhnWPkhIhc5DD8/CujCF7LN6dMBKBpmGm4ywUfz1pPWXH2b0fTWs9fB3YpSjL8RjUhsthns6yXD6a6kRvJr3Qc5Zve+GGOb7oc/6+Gjuf/r3/13OXXiZU2fPcXi8j7IB6z3OaZyNULs3IdU/TnEFTjAm8gZjBoV9PN5PKxKiT15ERzeYBL6bGsuS1JjoY4yw6djXHUJWjkcWZRagDMZCJqJsVEiy4FQqLxqPH+XT9us5tuYyvLBOIElHGnIb13cmkKL3FcTcbr+G2MFYcRg9c3+V4Z7zUOlZ3i0Q65FCUlvBBjBK8HSsXEPhYDLZoNQFzjta6ThYHTGtKlBQr2pEWcSCbo64/vabXPjwJxHt0SrCYjlBV4JCmwxXR/gxQo+xfmcnuZJKLmYOseFshl0HqCn7TLIzVkaE2blUoL3tqMpJjEiUsWAcNKtBIMuaFdkniCM472IXkTz1Iw60vlD3MxiUQgl9xw/d3+foyGwVR2MRZOw3GhY4w3GZjapMSD2xR+J3EijKatACFT2hDuccNAuRfPePZ7RthzaWrnMoVG8ZKh3nyxiDNwYrghaTStTmQhM50CcG7hSFSVZm2nzqfka2NpLytwanEhlhPF8xQPUyqskqkhLoI7risxAd+SVDiAUJsoDKgWP9GC3yQ3UUNUBR9LR3Ei5f185PKjzxr7R/kgKYrYvYCSbCWSe+MLqFYd8lvWK4Dxm/2b8M+6yn8yF9alADHh/NnT314wQxOBcQFwPrfBEDD71XOEcP6ceUI0MOSJFRN5XMcH9QKSLrUPaJhV4/cs26yoVSJAm4Pu1tZAyEUZWqTPPjeIzxT7YYc8RokORC8w/heyPf4pqjZwTh5u/EwMgYJT1U70kPqqXfJz1+kf8WGZ0r8zLpnzkqltEyHY4V3nr7rUfO+SOFpGAQov9RmwKrPK6tubvYZ2ZnlNbSdh2d76AVjIN5MUfhaVxH0czwS0/rlyhRGGWIVqCJBZoldQHpLcmRwNEGlU33vCdVJMisneUAnrxZ15JXsyBQCu9i8WbnHErnPLccITYICkm7ehCMIyGZGZ1IPJ9S8fMxvPAg9RnVJ5lHzcaAuLiQkSsho3tYm3958O/xWoogGpRNhQpGm6b/jvRzUFUludy9IpVYW2Ou43qwP5gN/t2Opl2i9BTXBaDt8x+VJlXTCZi0NpZYSA/RozquJCHpo6DNSmwqjvyw0dOeDIyiD+AKAaU6gi/v80NmRWlNmQpjJELWLM9YanFchGIoVScjusubOzOPAYnwaf0FQo4IzR6eId0iPk8AYjefoBwQUicanarjBPokbgUkr/VAI8MYrMa833RvSWBSDdiooY72FHmFGBLWpT9hb7XI2icf+Pi1/8uvsDXb5tqH3uSpj73AqeemaCsYGwhWE0yMH9BaUC4W8bDW9MoKJNrKyu+oS5H0yn4c348APamIr72uH9kretmaizSYLckhra1HN3xINDhYkjK69/uul5XtERo1xIUMC3/yu8PvD3zC0f+KVGF/JP+HVL/8XpDwAHqJtH3yvCfncHxPN25cf9AN9eORQrIJDW23wtkJxges1hgMrWo4bvbRzuBUx3G3oPIFRaEpiwlGQRccbdtw/cZVPtS8gLWaoEO0JCXEGqJi0H2NyCHUXEhaSSbANCsRaiNpbpAtJpTqO7ev50zGJNXsTPap1Zf3bsSEGGnvw+ugKWUii9BqH8CRmOJ6kYH7NfZe8+v9LZEoI7OXPv0jKtTqPgp6GOyZyTQ36ZWRspCVtbwhYm6XjcoFo0tkxBailpVgucxyH9domwatLG0ToWht9Ej4BYLR63MeDKJjtGv0T0YLwLkO50ea/RAdcj+jkoFBj8891PgVXILpvYz7i8qIFgbh2Kd4hOi/E4k+Z60i/WUlKTbVJtJ/1toZC8whvaKHSMUkBVZi1GEUgfcpW0NgRNKsJVXBOQG/Zgg6C+E0HWsH9BHkkPy69Nus55nQa+xx665fR0aEN94bPWN+wB76oMa8NJwqKuTaHrdXr6HVM+gPC4XxOF3QpcIoeajMWyTSnBaFSpWftAYlDq0MPgw5he9HObm4P+N6hkBCnUbVuTihdAtIUGvuAD9S3GIqU4pdCNIr2z3NEeHZtuk4XtZszOeo4BEV3+9cw2LVcHf/CDFFpMpR1bKcwzhY3fcbEjFAJ0cKk64bUjUzlRCgDJ5GbTmQS6COU/FMPwNIth7TpKF6qTCQWKTry5cvP3LO31VIijia0IGLG1FpjxFF51uWvqHWHV6g0iVOAq3vKFUkIO9bnO+QoEYNc016KN2/xmjWCJ2JSbpnznsjJjaLEYIiJfZG6E2lCWbUhHOAI+KU5FZUQzUdGd1LhqwYLeCISE5q9khvOWY4TULoiW9Yn5wL2ouyNT0ph4Wv4+HZtzQm9/z26L10r9nPFOswRH9Br2Ex5NqFEFL6h8G1bRKs6ZyjIJ0x4axBbY9htK2AWdE2gkGhrEuwfPRDWrGjoCaJCIwx/Rzn4BwfAi4MUZ5RPkg2gx56/RzZnLXw4D3aaFzn8MmqzOlC0h8na4JxzdKUUTRsgl1j3dmwpoyNBWOmvazdjxlLCAHvAq4TmqajLOcoo3FtHWmLwNHxMdVkSlGm1KvcOSbTz+iMA1OEIXAHTkJj+fOeHvu3x4xvFCn+AH/ZAMv2bwwvcuJaH+AIHuq2jW6gwyP23niH7WdeoDUKa7oU2ZqbnKfgQrKAz63/Et15wdiY2uaScSF6ULzfLb/yUaNfmd5vN1L2WbfYWKuXOyBiQWKqUvYz9k3fQ67mM1ZYBOdabty4yre//SblbIvK6t41tljc49Y7VzleLSiqip2dC7zw8gtsbE6prEneAVm/+ZPPNOKd8e+h9GiQ9a/l/OZsxeZ0L+mtg3ypvAezotiffLhmotVLl84/cs4fKSQX7QovUIcGmyR719UgHk+gEceybZjpgoI4GW1wlGoKEgiqo5OWrvWYIhAb5ya/pDYYkxZChehbSjevNJiQ9E3JPSdTR2oMGkmVeFTP/HJYej+RaWTfXyRQ1WtPWf2VNHEn4YzBjxT6ep65RFkWlkO1nXweBwKdgAsecSE2CEZAurSwOhXhjoqDLYueceTnRPkRqDAKkxaF5LJgQrISx87pgU4kUZdIbHrdE1OPXcsa/xseP/k/H6Oc/OPf+BrPvHKZycYEOwlYFKWvwKgIFUosvyZWMBh8Yq46pb9k2NU7j3PJgtOjnplKDbrHwHXI1uSY0USh6NfWP+TI6D49aGAoQyPvsaDMrx6fyuXlnqY93DjSsof1HBSBrIAvjxe89eZrvPP2VRaLFcvVgqqaMJnO0Ao0nqoytG2DLac8+8JLnD6zi1lDBjLNJu1epWjZPm9xsFpjCH4MuA9j2QYoHffuUEwABn9Pthfz36qfM6SgV/JHGMvjHMXE0rkWmhbBUywt9bJFWzCmwagUla+zGZ1oIPn6YkeguEhKKfDR8gk+gePe95bkuF7oSWF5X+GHE2NNmZJ1Wl3/PKm7WXlj9L3ez54+80PKkqQ0nP78BNp2yd2713jzO1/mzr096sURZTmjSK41Y1KnHGO4e+tNbt54jUtXXmTn1Bm2t7fY2JhS2bEIGzbe+vOsC+c1pIH8vPH+EBISNz7OjYyfB83boNSiciMCeZS+DLybJelrULDyDotGlE7ZKR4vHoePfh5bpbZVjhA6vCzRtkLpwLmLGyCO4BSoEP36FowVslUZUz/iA2gdW2w5F1sjZX9GJKbBQU56T2m1ptxG63JIanU+Vo+P6R8x+jH3AMxpI5lRZetsYHChtyqyBeC8iw2tfCwq4BGC89TLJcvFksODA25cvcHR8TFt1zKdb3H23AUuXznHxkaJiMN1HcZA4xwTNUmMab0qxUiED5rSqOJJZqRK23RkXJeAkDONM4MuJmUiukhxOafoPnh47Cd7jK2y/vBX/jXf+sIGVz70Mp/42U8gG7FikAq6F5J9NG4QuhxhaCN9RHRC4b2L0Dp5jXMx+AQdjqz0AekeGH4UEj5GzCZ4KQflZMUqhPVNvRbII2O/5Pg1VsqJ10hQ7KiiUmZisY4mtJ3j+tUbvPWdb/HVL/0J+/f20CYGKHVdizbRNz2dbLAxr5jNKyYTS1PX7J45F+tTqnWB24viBItmzTwdtPZLps+xAtFjG2MaOkEy91s3wsByBgYeBUu6xmNKQdo8tYVynmZ1SO1hojzLtsbUYIzFJBiVrEj0DNsQBWaODlcYo3tlLeZDK7wf7efRRK0BRSQomzR3w3/93Hufi/arPo0t+JGyP3odKzuRlumVuJD+jtGufi1gJ9N2/BK0dUuz2qc+2uf1r32bg7077OzucursKUo7AW2YbWxQ6ilWw/7dm1y7+jreGSbz05w5e4UXX36Rp6+cY1rF+ts9LY2Uw76t09giHGn/kgIzNSbytyARSjsB7Y+Vhwz5ygil6JXOpPSF8Ggp+ejAnbibUErhQhu1BWUj/i4xqEKJp0WxVJo6aDRzFl2DZcpcTdCnZrTSYL0hpOTnaAtGbcoYEwMyUAxRmfE60fUY0HKCkrIOqjSpLm4SlNlCkJ7AnIu+hLbteggu95HMkFnmE2qsyfTO7VGem8TzeS/cu7PPtXfe4Z1rb3Dn9i0O9/Zp6yUhrPB+GYmr62g7h6iC0+df4FM/9lN85CPPxijJskKNSiuNGdOaBhUl4YmFUf1xqnezZUYd5yy+E/B0TMvN+CyMN8FATCc1u/u43Qc8nBzTHhXc/OY7/OlS8czHnmPnBU1ZxApMMT1Bo8SiQkDhINFUrP0bkpD0qcZuRhJyYE+eT1lTqCBvXAa4tRdihuBj0E1IEL7IUGJu2KCDFTkE7fiBEYUU+JWS7NY055R1EXqlSbE8PObz/+Z3+OoXv0jTHNG2C1arJdZWUel0UQH1zrEo77HcmDPf2mA2n1JVGqGlrhvm0wnJ3dMLyEjnUamIboRxk+ZMe2TSWiOLXvFIWv2gtT1oRUfSVxKcv6akpbk+Ge37AY7re19gop9HU1BRowtoVseURrDGYpPPO5bSHFuAMb/QSGxurpPrJ8YahF6wBSUYkv8tpRUNxUAyg5f+/fsV2GF/eh8tc+fCUBjgxDFAVpmTtbuObPiMbpDXcrAkM94UVKxatVotqesl0LExFdrjmr0bb7M8XFBOSigKRCm0LvC+oW1rmuWCpm04e+YCbxVf44tf+B1efuUVfvrnf5bd7TmFsYAlImzrq54NmP6DMf8f8ckgjiGKlbXX4WSqF8b0xwxzgeSmBw8fj04Bic2r0EGh9QRPh0vpE4oIgwmKy+fmfOTF8wQHdaNouhWNX1Fo2Nye4l0glhSLuZBeBPGjCdERWzapzJjSNkUAglI+wrFBJw1A4yVbjzEyT/dNhPPyDpvPO4fWOmrcKWm/9wMx0oQlf5+07wcfkmQhGQL1asFb3/5TvvQnr3Lz5i26+hjBU1j6DRKC0LYtdb2iaVpa57m3f5t33voOV3/8s3zqUy9RzStyROFA5ANVnIRQgF6LJXc9UkLsAxjWiGcN5guKspz2zatTDgRjshyu9fh8QuOxbBa4LrDqjjk+OuDmtet85Ic/yZVPPYXZWFH4aep34foNJD2TiilDSiVY2/ukPKmezrxPW0spFD7STm9dJ00zKRx9eLwOOD8qdN6v2brPcPhssCRFhnQPIQZOaBmOX1OM0nHOwVtvvMHv/9vf4vXXvkG7WqKtQlvNZFJSlVOcW1CVhrmdYoDgG46aPY5vH3N0r2K+tcNbb76NLTeYXXqK3Aw50ndizCONu2+WnJAdlB/5rTM4mqwdGTR6LcTek0gKNAqjb6RSZCIgBkUOmsuISBc/CusWxAc9funvvMi//GffYG//PGpjSqca2qahsQplY063MWboPJMj68kIF+S0NKNBTOJVCbWKbhFFRmtzx6IB1RiE4+AOWh/ryESkpQf5tftjle6VvjWodaTI9Q3DR6lJ/XcUON9y89pb3L56nZkN/OyPvExYnefenQOuXb/Ntbt7HBwGVh2xCrGCwhqMil2HjBFCOGT/5lt87uZ3uHe4x2f//C9w5eJ5SpMVNiIdjhT1tWcZT0KKGlMEvGtRRTkSfvd/X3q/eMy5P2kUxL33HoSkUmDRsSC2iwEgla2IjWgdHoNVnq35jDOnNpiX82jC+pq6bmCyw6ntOeIdvo9C0igxYAfGpEbltARS8fMIm4YQa5oOwiQRl079E7N3l3WYNc+Dc8lH03WUZTlK7F4XkoqxNpLhpVG4tAht03D3+nXu3bnB3r23OTi4i/eezY0NnAjKB8RHmK9zsfVO3SxjrpV46vot/s1v/X+p65/nMz/6SbbnBVMykJWtQwUnhFVOOI/a0FDAup+NEZMWiZ0MAm2CUBRlMTlRLEFOUF667po69/jK0nUhphUtvFA1hyybI5a/fcCd/Q/z0o/8EKfPgiscQ5SzIiITqToTIdV3dZhQ9LSkA/hYgWJkCYwS4kMWj0Q6FlJBAp/qwzqC+EHhIG/IQVDe51/pIcVRDlqvxQ6v4wLhR0crvvD5L/C53/hXWONR2iM6W7FC6wOhWTLRljM7m3zomYuc3dxgYi37hze4eusOb9+5y2GjuXP9JleuPMf64sa1Vuj0tJ6+gk6/zzRrlUuSGRqVh5BAsTRJo3sfQ4mZicfvx32aBXNOTUHUqGbyWGH7YMfO5lP82M85/sm//BqKZzlfBrq2oS00qqsp2xJrbXLv5BQPIbNQIUa4Rn9jSP1O9YBaSXIpaZ0slyGmIo6hgtia8p5HUt6y/zdH1buktI105HQ9+rrSsC44xj1zI82O4NYRLyGACYGju7dZ3LvLj3/yE7x8+SmOb99if/8WN2+9xTdfv8p33tnn+t2aRd2x8h0heGoMIXhud3eZzacoJSz2bvHGq3/Cr/uaz/7iX+XKhdMUVqHEoMQQ1AC/6qx4ZFt3VKEqKrUWwcd64rTpvsd0lCJrM5dcg2PXDRGRB5fSy+Nd8iQthZmkwrQBJx3BBQpj0NrQuaiFl0UBIUZ1xQivMkKg5SaeAlxA9JA8rCWXVYvCTvU3Gbde0IKoGEmrRPWdHWJh70AuyaZULDjsU7To+DyZ9pzrqCYVruuoyjJZkoOGkiFLyZRFEkijBZMQq6e0LnDrzl3+8A//kLu37mG0oayqxJwNIaQqlgJdG1KB5EBpCwI2Fuxe3eNLf/gbHB3t8bGPvcKLH5oz7/2z8d6l107Hfsp14Z/9ZL0wG22IgUiiD87aAt81cOKMsF7Zon/eXtN/PGPVLUAibS3VkmW3oukWHP3xIV9/41v89b/xc5y6sEPHJCkOClQm5VwiTCefZNcztsBQcIJRaFSe037TqDwXUWB0XrAiOFfj/Qa5FRYkQRoy/PoAhpSLCGQNPoyhngFqJSlLXXPM5379X/CNr75KWcS6vrH+bApsC55CaYwIWxszds/ssHP6FGdOnaJUiu2NTS6dvsxHmgVfv/YOV48ce7fvEJ59Fn0ydabXsjSkkpAyIrfeZ5TpIj9w+rwvU6ai0OsVzl4hHjH6XoPPI1WLET0oKT2T/uDHm1fv0NSBra0ZrRdMpQi+wzmL7Trarsa0CmVAWw1OIVriIyhL8KAlYMSgJDaP10al4BKF+IFGgui1GrA57SGkdJG89U7osYhSeIkQaCCWtgzERsz53P3ho/Xqg8sYaDJbjJE+XfJzxguNbS0xhs3tbZ69cpkXLr8AXrOxcYHCTinLTTY2znP+7G3evnWXm3ducf3ObW7tLzg66gjKAjGgbDotmU4mXHv7TRD4nFh++uc/y+VLZ6isSu62fO/rBQxG9uYwUszBOLWuv/+x/zHT8ciiBhmR8Um6vH88Ukh24glKURUTVHBoiVVwvGsRFdAWSixKCc4FOjzKRCi27hxbkzkuKCRBnn00a7ov8bGGaK6UEgWDxoUOpQtC6DjabzmzO8eq6HVSCWZUIVZf8WqUCsK4Nmd8hgx3xFQQ1TOrfgJhbUP3xJEst1ifU1geH/DF3/s8n/uNX6P1C6bTTawNmKKKkZTB0bWxvmdwnnrlQFm2N+fRp+taTOvpfAvdPt/84ud557Xv8LEf+yl+9qc/w7zK0b0D/DbADcIAI0cNMIgjF+4W6XX8kaCDEKI/TusYYIQaFJVstfd1O++DWh8TtwJW3SEqCX9tNEEcgQZ/eIenNjYpVs9hDxeEyQ5+soNQUGq/NmfG6NR02UGIkHy2IBXR2d+LyRGThpFNJIM1mfMls28xM7WTcOtJIbQGbWUrwHuwtq9yk9c7dB2f/9zn+OarX6XrOnyqMdx1HaIU1ujoPlCK2eaM6daEcjqjcSWdnzCfF1hpUaFgpie8fGXOGV1x4cMvY6xlvQfhWPjFqGEZiGPQ4MeKlGR6GSz4mMoUBldAL2iz5plz5YZ5jfOk1+5hQIkeD919441v4hcb1HsFu88VeIm044MnOI9zHT4UuOTnjoFTQ81oiyantRFUjChPa+5TmzeloygYWtXFoVL96jwkW5Rjqy6NXBZzsApDEnAjUTHib3B/Lve4oHmQwf00/k5SewhK86EPfxx/apOwarC6xBgLk0020UymczZOnWH33E3evDFHvWbouEMbDlm5aMys6iVKW7Z3TtHWN7hz4zpVIfyu9fzUz3yWSxcvUJihWMAw1v21cbJUj2A45xI9DhbmMK+DEhJG891HZggpA0D10PfDxiOFpMXRtStQgaIo0GpC6QSho5UWFxoKFEYFWglo7yk1mBJMMMy3N3ChSxsnJ3rm1Y4a01pthKS53r1zi+OjJcvlbW5cP+CjP/QKH/7wRwipF6NJjpGgBiJdK1GXJnKM4efUDR/GjIDhdcwgRXomISIsjhf83m/9a/7k938HCR3WWrRVlFVF2wXatkYATYE1FifCbGNOOSuY2AgndV2N98JyVYNYgluwOHiDL/7uEu1X/OzP/xxVESNVT4bED1rgSNvLlrWknoJjgR9SJJsErI2x16Ev6TqGGUbPfyKi7PGJSGikgQBaGayPjaI717Extzx3+TJvf+dbHN65znxnl9n55yh3zuNUkXJO853HyjwulSSMnWfWBaSkTahT15k81pn5UIwi01FmSoOAG17X4VdSqpAMaSISN21kdKFP6dEo3vj2a7z6la+xajrqVUfXNoj3aGtwgT4dCaNwXvCdwnXgXaRxpUuoFDY0FAgTX3D2zC7T+Tw+38iCXZNH2ZqVMZMJMZJdGCxMgWz9AX0EtCh1Xz7bWNGIY0RfWfiOFIjxPD6OcfPmPodXj9HVaUyl+rnqBVG/9vknp3LldnNDCluMuxiUrs67VFZZo3MxlfitePEAflRs/z5rOkcmS1Lak1WaabFf27UvZ/dN5g1jATmm1XzNaNmHjNRlv7JAaDrC4ZK662i1QWuLrix2UqELReNhOt/k9M55ZrOGsmqZzAS3WNG0qxgDYArmmxWmLHEO9g/2mN54my9/8Q/Q5kc5f+4cRZqPEBSiY/mDkGDq6BxIaq3Oz5hrVY+eONHQyeIYef5ybWsR09P1e2q6XOkpBSWuCyxDjbGGuZmhdYHyFvE2pnsYIfgOT0k1mTKdW6QM2KoC7/Eq5wXlbgWC+Oj477XOflsFtjY2KdBce+trfPOrX+fKM0/jXJdyKxU+MErqPRENpumDMiIsFuGEWI4rO7xHXr8MtY0mWXI6vgiu6/j93/k1Pv+7v4U4j+vAYujwHB2uCMFhrKYsLEE5RIOtSsqiQluFVSBBYcoq4uzqMEbQVZa2WaHlmO+8+kds72zzw5/5NFaF5A/LjGMQ3tGIHiwcEvyc4YXB15iIXARrC0RU3LRkyGFcuqxfEVS/iU74Jz/gIQqCaXnx5Rc4vb3Fa996jS60PP/0eULbcf3eHfaPj9nY3+P04ojdyy8zOXuFUFZIcOTqNSEEVIgRsLHYjEqBwiq72ABSR43R9Ud/xY3q0maKvvgh2Ib+VWSwxcMoUrQvUddbkqBCiMXxSXCXUjTLhs/969/i+vVr1G0NKILzWGtpnKepl2jAmoLSGkJpEefBe7bnUzY35uTIJGUKMFDZhvrggLBsUVMLoY9vXrd401z0GnZSVvN7/TGD+4wezieM0meGORtgZDKxrl23v05/XCqR9phSQJaHnu3TBcWZKdgUW8EQ3b6ucIc+0llrj1KxKL8IqfZ0DFTMqUi46KtsfODtt29yenfGmdPb/TNHfpUBx/XI1nEOn0AvIFVKSfLBjwRfvAfV87SxsDhhSUJidgrEAgHvHW9efY3zF15kXqRl855b77zF6s2rBOdYOYepTrFx+hSnd7YorCX4JVYs25M5W9MJVgnedbHiVdvigjAV4fhoiQsOUYrlSnN8eMStd97k7d2zGKU4e2Y3NSlwiFO8+uo3uXmv5eWPvsDpzSpmVPTyUfBRiIyC7sa0va4EpKlFJJdIHO3x+7SS9fFIIRlCSWnnTEro/JKVbzn2SywaYwzWTtBKURWWaWHZ3Njg9O4WphBqWrwX8B6TGFN/U8kSHORmZiiCNgF0h51Ynn3xFc6ce4annrpM23aUZRKKEPMz1fB37wQfacfexw3cV92RsL4JU3TsukUVv5vD8N/4zut88Qu/RxdamqZDeUPbeXJB4MmkxHvH0jmsLVFK0XWe4IWiMKycB28oypKytBSTOV3TURRTJtWcEBy6W/K1L/8x5y9e4tmnzqVw/BPWZFrl4fGSHwlJJfn0yDQM/bOWNm6ACLhKf57xiSPT8qkNWlwgeZfcoR/kEAfTzRk/9CM/yqmdHV5+5cNcv/pN7l6/ye179ygLw6QoKS6eYm//Bq3znBFheu5pggEbNFIkhuF8qtc6BJn02n/m/SM/ULyBQThEzd2lzh/r0YRj7V3IaSODxpo3apCcR5fmWQCxSAqcUcAb3/4mX/vKl0E7lIn1hQmBbtXQ+g5FwJqSymqm04rZpGJ7c8JLz17i/M4mMUo3Rn4vGsdx7ZhMJxSuY7l/m9nkStICR0Fg+XFHDDaP9XZD99uIMRUipSB5P2I0Y8HHmr8/B5zFLg5RwObjslavHhPZGRRHbkG1us1GYQhs4lWypnOEc0r/Cd7jvcH4gNcuPUNBTBWCXJouK1F1veT27bvUy4avfOkbzLcNf+nf+ctUZYFRCWpVQ9pD3yO8n4+xVTgIg9zybwyXjn8/OdbqUY8iYoM0HB0tuPrmLb7xzVe5c6Xj4x9/Ca3g7vV3+JV//s95bvcUsyLwtW+/xfX9FVunz/DcM89y4ewmZ7cmeAeF0Vw6u8XVmxvc2tsnBEfnOoIolssFXVMTQgygDMEjzrM6PODm228zm86YVBM2Nqf40NH6mte/9ltcvbVAs+ATn3iFwtrBEFAQpKNJvV5PCsNBCYtvZJJUufypksQA3mMxAScL6qCp1JTKblIon/wkHa1zOB0DbybVhDO7p5hvbTKdFtRNQ9O0WBdQPhep1f0D5PgarbNMj0wst8FC5mjV8Ud/+Eesmo6LTz8XHdTBJ41L+pqv/U+G0kYh696nHLm+6s4o2g6JWsgJLSIzOB8s3q34t7/2m9y+c0DjO5wPqOBQ0mKMpiym1E2D9x0mFXsvbGzO2jU1trAJCouXm85nFJOSznkQT2ENShmatmF19xZ/8Adf4ML5v8LECH6YsV7zGaCyE1qQ5Ny6+FEQl3ypPuZjhjBKHZX+zGtwyxojDDzOIueFtlx56mnmsx26RqOrc1x+cZezZ97mre/8KXev3+Kl556jmBQcr5bsH73Ftdv3+MiPTJjtnqIMqq9ZizPRh5KjB2UoVbgmJBnmYFwFJSS4NTMjH/xI0RpZRf3fmYbUyIJMpeky3EMqHi4aMTHP883XvwrEQB1Ph/cw14aXnt1ltVxw7c4RW6d3UMagdUlZlTx18QIXzuxSKougaLvA/v4+d+6+zTs37+JlxvmLZ5l5zeTULrqqUiGJ6CsakqwjtIWoFFnu6QLkUnYqP1u0ZQAf0wtSDMFaIQTJmn0WtEQBmQtAoOHEnsvjXRT6H+hodUu1tc2lF1/m9vX9oWtGpoykeOY86wy55hxt7wfHUa6ok3+UCkxnimZ1xLUbf8TT1cvUdY1WghiNSUpcr+gn94rKUT2jicnR/kan9JIkwMdo2snX8e9D+gi9EhhEobVlc7OEcIjIimW7ZGpLmtVNjo+vs9qxvPTiZV57+3Vcc4tlZzHTlsXyCNc2bM4NhdLsntriwtmzvH17j/2jBVa7VHIUlstVVFKNQeua48ND5tOKO7evsX36FFvbm1TVuZTVUHHm4ivsnDtmc2sLH8BmRUupmBHhAu+8fY/Tp6dpnlOEbFJO0pMnvW7wkfcSs0cwHj0eKSRRsHINDsEagwGMiota2FhgwNFRTWbRKuqEhTtg2bTUtWcm4KWDYEBycq2JJ+6tmbgpVVaftAYH4jpKOmq3wjuHDx06xMoBWlSElVTsfZd9kDlKDCxKBbxzKKXXEsr7HCQVHehhdCc9ISIgjr2bb/ONr/8Jq6amdR1BQaELrC4ojMF1HXXXxY4mQbDWYiV+d9W2NLXp4TfnPMtmSVlVkHxaKuX0aRWoV/scNp4Pf+wzfPT5CwQVckkMcvkz+g07Jv4R1DCygCItJLg1Q6h9xOxg5WTByuh3JZ7wGIWk1ZanLl6O1pZr8T5GFRabl3nxlU3uzL7GdFZy994xx8uGVdPg5YDLLx5QzudQaILEcnxog6ColzWT6YSy1P0myf5JZGw1wUARIaY7+ZBgViH4XJgg9PMNrP2eq8b0tTJ7TVeRunwTlGJ1dEQXarZObaL8ElMUOC8432FCyc9+/COcKjyWkqNnHDdWS67e3cMHoSwnTMsZlaow2tB5x+HxIddu3Ob27X0WruXu3du8c+0drjz7ApPTlzj11DkEDypVLJHx8yZoMUC9OuYrX/kmGzunuXjxHNOqIPcBXNPRsv8/43snRkhwXvyO7hlV7MOa5oJc/Po+efDBjlCizTZldYGiGtTTHmZNEOvQVioKSm1S8L/ya4Iq92SVlHI0n21T2Ak/8wv/HTY3n+oDcGIRHyFL295wTObSybkViYFfihjVn1tdnRwPEpD595NBikYUqIJqe5MLz3yUza3TEU42genmDrNqi5/8qZ+iPbjF1s4Zzh55ts49i2ks169+mzMXz7A5u4jVBtGW7a0ttje32T86ioFOXVTMuhQXUgZhUhiOF0dMDi26MNy+eYOt7W02NzeoqorSCvvHjjeuHfLzn93FxBSHPCuAwTtFCA0+WNTYlSepLX1KnesLpT9kfh5Eu+PxaJ+kKfHEhNIQwOgCExTBOzyBTgXKqaYoLa1zKOWo6xVHi4als5wmNibWqUpKEBMDFQK0jefweIUtJ1irqApFVVXM5halO5Q4PvPjP4KgsGWg6xoUVXLcRmYfUbNsew+QWWR5MTqtKid0XbT0eiHZE0jW//uZS7qFYIPn2pvfZLG4Rxc0bddhigJRlqqaYLTQugajBOeEylgK0WzOKpqmZSUr6rYFZeg6hxdBdY66aZNVF0PDu85TVAq37FCN58tf+iIvPf8XKEalz3qdSFJfh+GGh/zRpD31GmyI7ZSssbEyR7rmsKHWhaAk9EEHzdBG6/GMWTHl9JndmF8bBK1iVY7gYXHzLtNywv5ixf7eknq1Qix8/Ec+jZ5XLJc15WRCpcCbwPG9PToHX/7Tr1HNpvz0n/txrJIY/JUj6oYchDSNCf4iVcvpYaqYp+hDLCI++O0gm1DRrx0tARn5syBp8USBe3z3kDe+9RqNEz70Q69w4+ZR0oYjA5hVmzxz/grPnpny+3/8Fea7W1yqLKvVijtHLcF5tqZzVACtbawMExyuOcY7YW9vweHiiJ3JBm5xzNtvvMXW+XNok4TSSNL11lIIuNBy7a2v88a3vwjlNsfHL/Dyi89TlkVfpxgyLcbCDFkp6C3oNaacFeJMU0PU7FDQPNPa46O7698JPDMvENUiugW1ERltr4Tmlmm5pFtUJL1XfWqaMAhKk4qdR/mnQFsWy0N+81f/kGef3ef8+V1CML17Ywy3Jv9R8i1mhS4JyESLSg8+75P1R0/62B7kc1vz4emAMhBWwud/49/ysR/7KS5cOEcIAVue5u/8jb+Lahe0QfPSC89wansDZbZ54Y1v8Ylf+03e/Nt/maNzO0i9olkJ07JgY14wqxTNMtDiaJqOeVVSt4LWRVTsmpqDvbsUhaWc3Obw8ELsAKQNtijQYcHEdIhotImNz4c6yQEfWlAdQSrcsuHWvUPOXDhDoRUECD4pwTnALAfqjC1pyTT68PFoSzLE0GatAy50dEFAm9jINkXo2UqhraXzHmM1nYPjZUNrLB4FXuNVwKuAYFgetrz15rd49avf4OBgSex15yhKw2S6wfapXXZ3z3Dq1CbPPX+BrWmBPu4Q3xImCiqLtblVUNziORR7iFqMeZ0ZmnDeY4tiSP94kOabCYaEW0vgcHFMnbQVpaNygCljLca2YWoMhbUsxDErDFp7NmdzxENVlLRdS9N5mtalJHaJ/odUf1Rrjw/QdrGBsOuOuPHOd3BtG6NSRwJyuMUM4YwtyKzx5r8jnCc6RuH6xidW+CCNM76qXJKM7Ht7fNjX5uYG1XxCcB6vHE5pdNCs9m/im30aVhweH3O0XNEF+Ngnf5SNs8/RdB6lWjBxU2mvOF4esloecu2tL7Gxuclq+XEmpSVKST2yhMbKUnpVI3+UZEsrBYAlf8YAtdL7kk9a9WMhEgJ4H3DdMUcHVzk4Dlx+9gpHxyu8NAQfu9xrZSl0ydVrd6mqKcHBM0+dpQ2Oe0fXY9swiQ2qlbaURnNuZ5vq+Utc3bxOFzoUiqd2d9jd3eTe6iAmuIdYriwzZpEU1CYkBdYjyvL00xc5Wgq7p3diYFPykUarO+4fJTEq1FpJRRweUNaO9aCS+F7qPTmGxFDvyqx+kGNSzNFSRoGnTV+msodXUsWtHF3qfWzUkC3KPLK/O+RAHBEsBvGCwbN7akJZdjjvcC5GCpvUhH7wSaokJNPf45kKuUG29C6ArJDlkZWttUAeGK3Lun8zUrJhtrXFz/3iTzHfPUvuXFOFgF0uuXHtJuW85NKFHXZPz6hrxaf/b7/N7O3rvPhPfp1X/9xP0nYNWikKDZXVbM0mVDrGpLhlw71Fxz0fg8262hGCY7FssPsHlJNN9u7dYlk/jdGGYlJy+ZkP89zLFaYwKFUCXa8oKAmx61TdEoLi21/5Cm/evsWL7YewvmPv4JDVquPlD3+c7a2NwWUwWByjOXkPQnJWzTGuIHhPp1qCtDjx1J0jqFhiqdCxF5gLQug8LnhaX6OqeWzy6jyiY/+x/aNDfuWf/Sp37txCaQfaYZXBWEPbKupFyeHeTd54TdE4zyc/9Rk++9kfRrsVuiMyPh03l5GEbatU7kmrVFZOUMpD0vpFAt51iFS9FdVbkWMKShMXGYDDi6JpGlzrEa37Q0UCXeOYoNmaz5nNC4r9mkkZKGyJUZbC6hg67QNd5+laR0AhOMTHcH9EUNoTgkaUixGL3rFYLPFOEKMY323+CRJ9s0qlFmInCb4XmNEnZ63B1amgtgzMKId8D0x9qDP6uBnW1ukdxEJoU8l27Vjt7eGOb1Pqljv7R9zdP6LzHS//0KfYufAMwQnQ0ZkC7WP3D2MVG5vbTCYTPvOjP0FZVYmxmBhynxX3B3ru8ybKdVddhF6lSyUKWYPGxgpM/nrfbi2/IVmxVVTzTZ7/yKc4OKzBL1nW+ziJ/narS6opHNWHzD1sbc45OGo4t/sUd+oao25RKUNT1xwYxcw7qsJSKM2k2mR7q+EX2hv8pTff5vcunePe8y8gW9sEHE4ZdBB8qqGaq43k/aABUVM6tUM5McxmG73Azw82CDthVS+YTovk+hi7UfIcJva0Zs08uO/Hu3XA+EGO9qjj+PaC0CZhNd5LKUI+omE+RTsnZCrVYWWESIgIVlTs9RkkFQAQTFXx87/4WbQuaZoGFQJFERVt1XcZ0SkKe11IjkcfoZotyVQBCaXWFLKxsnIyyrU/V/7Px4C2Fz/0UTrv8F2H6hqaGzc4vnPIarXAB01RTZjPTlFZx/W//de5+I/+CW/9tb/E/t0DVqslR4cHLI+OMQJbsy2Yb8aYjJmmKG+zqO/QuJY2+Ohm00LbrFgtj1gtDlgsj5kYS3BTZvMJq6ZBwkbk+ejU81ZwPioi29unkRA4f3nG3nJFaI4xRcnu7jbVdIPZrGK0JenRNkY0+V4Cd468Y0ZJaWdMmCGqI3b58LS+pQmx2G7rHK7zaFGs6hVNV7O7sYMXARaIj9rZjWtvcf36N2P0ly0QLOUsRn061xLE07olIbSA8JUvf55XPvEiL1w5h0qdR7zPZZ3SQxpDwhwzSkEOTY+IZRQQMYrVD9Gs/cQMzDLDZkF7SMWzO9cgKvoOrda9JTGdT9jc3OD0qU0M+5QpmlJ0zO9DYuK3dy75MgR09Cc4H3P2dNJUgwhdKuTeOZ8isIbos6iND7CdF49RJgUzpT6KyvfRWiIeCS3WlAnyy5GtYyZ0UrAOXcBF4Ojo6NGU8wMcs40Z4uJzOt+xOLiBqRcgS67d2uPe3hIXFC9/5BUuP/1SFOjBx5q+ISaAuxCiL1wr0AV/+qffYmNji7MXX4ih4yGgMCPmnnlcVkpiCL+MIlMjs+zipidZVJIVmDSyQEkWSA+XZ8spBZlNTMWffPXr3Dxq+emf/DSVNlS2QMSg0LSu4+bhAZ9++gW2ZxWvfv1PuH3zGnXdodHMqinL1RKNx3WOwhRYZSOg6Qv+u9/6DhcOj5n80Vf4bz7zo+i643j/ELW9Ndwoo+fNe0JB29V859tvMN86y0erKVa7OGcy1sRTqL5IyhHUfcGOsdKxzqxPBlWcVPIeDA1+EGNebaBaTVe73lrJ+2IQSn6ghwS/R7jV9/7ZtvMcHKw4bjsO9g85OjxiUs0ojCUoYTqfc+6sZ9I2uElFWZVUZSx5Z41FS6xlrVIloizcMuKREY2IiIXhfsgI2IOLoz9USPYSJBKAQqNEI6qj7vb5yu//Kle/dY8Ll5/iyqktlNqjUtvgPdeff4HX/uP/OY3rqG/v0bQrlosj2rZlqi16c4utzZJ33rpO6zRb0xlVUOw3dTRqdMdkYhBp8d2KxcEe9WpBW01RotjZmfNHv/kFNnZf4szO8xQp0DNGDys636FUSdAFZy69xI+cforjRU3XuOgyM5Oo2Oocs5JS3gYtL87Hu8TuPFJI1vURTmogJsEaNUSruZD8Ra2LbagA7xzL5YK6E6rZZirnFn3SIQjX3noDH1yCElPLKbGgC/Im811st2WMoVks+b3P/zHP/q2/TI4lj5GGwyYca3E6+wCUjAgjDIiJhBH2cPJps30phFQKb2O2E4lfx+oOiMF0nmAdk0lFVVVszmZMjWZRr2idxrmG4CIT9q6jcwkiCINDOeDxQWGUiRAYEUYRLRRFidc+3V66pxFzykE8Sjx7t2/y6jeu8uKHXub01hRDiBZ9iM2By0kxwDMnfT8jYpEU/doHmAi89fZbj6acH+RIrYVCaFncuwbtESoErl67xe29A6rZJq985tNcuPwMQRXR520jih1IzxViHV1RGoJna6NAmYbONRRdiRgVc9z0wICikpXpYKi3Gnxev5ToLBEXiDJymNOTkFd+lWxppsmNMVSWM2d3YNJQVAUXzp3h5t19XFC0dYtVsKiP+M6NW/zQ8x/h+Rdf5vrRPiF0vPDsObbmM9puxTENITQUpkKLReuCSWn5g5/4FD/2+1/k8z/yaVbLmkpAHzb4RYO6uJsUv8HSyBAxSjEpJ3zqkx9m1RmU1mhlokUtEY4lVYXy0tG1K8K8JNQrvvGtNwnlBs8+e4EiNDgvtG3Ae8vG1jReTyJSk+k7zQ45gOexWZJdiw4lDo8Thw8OL1E5yD76vlWadzit0N6k92Mqz917B/zX/59/wTe/8SbdaoVzDcYqrIlwYc0SZWb8vf/R/4AXn7+IMt1QVTIJr1iZTKeeqCNXQOJnPgcP5YAwhjgDpR6eunVSQJ6EXgerNQogo0rs1ile/olP8vrX/xFf+9PrLC48w4sfeob55oRCWdq65XixpPYOQWibji7l9s7KkompmE8sO+VdvClYOqF1ga51KKsxFpSpQBdoFdOdjg7usbm1iTXgleHS6TnHvqaTEB1sKkLaRmu088lA8rRt4LVv3uDp559hOh3iLpQyA8vP1lHvbRtpfI8Y7xK4YyhSQe2gHBqNUSVGG7zS1DqgqOnaNjZ5DYqmdehyA2sniPdI6hTwxptv8JWvfrWHCfO9ubalU7GthXgXK7v3MeSB177xZV5742O8+OJzVJ1PvYJ9cnRLLyCV1gRyuHpuh5XC/WUsbIYJWYfZRpq1aBDPleee5uz2nGXdcth0sXVM1+GLOG2GqPFtb21irGVZe1Z1hzFdtIYl9AWxQaf+Z3GRgwSCj9G3JC1Pa8PGfIPCmt7y6Ik5M26RGP2rGq5952tcfe0d2mafT37qU8ymVe/YDwHKYkIu9bdmBcSHBwmxefXItM6FgS9dvPBIwvlBDqUE3BKWS6bdCifCO9fvcO+w5tLTL/L8hz7CfGcX0UUKmhjWXlRMUuiIoe1BPJ3r+MjHPwYK6maJSvV0jY29/5SOVXf6whTJkozzESFuCcTSbSELvlT0Iahh361p6Pk4BitytKaC4rmPfJSnugjlPvfyS/zJV16lbh1t0zFRGh9a7h3d4XN/9Hl2tqeoSUXtFGVpEYmNu+umwaPYmBgQRxE6NIavXTrPH/zCzxCCRV+9wztXb7Cqa7aeuciHz/wkqhz7u4cAGiGwuXmacjKjqJNfDp1mOFpWQ2m+AvE1eMXicJ933vwW5eYpfHuIpmW1qOl8izEbfPSVH6IobJqn3kPUw7iPSzjm4bWwd3iP48ND0IMFud5iKpz4iVCr84FXv/YO/+iX/1/cvXUbrfdRpojtsrwGVeBDQFTN6jjwT//rf8H/5D/696hmZWqdJnREQyNWjRqE4lhQ9tGaYYQqJb9kzhEPJ+dR7ncnrJehW3fPZCFUKA1sMD39PB9+5WOUWrN7eotT29u0zQpvKpz2eHEQHCF4NEJVFCgJ2FJzdLxgUs546uJl9g+OePWrb3GrcdTi0a1nYgoCOkbSqxjkef3ttzl95iIiGm0tZ85e5p0vHtA1iskMYq1fk9CL2AXI+xYlNXdufJsLVy6wsRHh2Rh0pUb7DyCX4aR/fbfx6LJ0epogHOmLjQcpYy1N1eII6CCETlF3ADWHy5rTFy/FUlXeI8pw585tPvfbv01Tt7ExrooautYRIeyaJsGgkfC0Un0vybbe43Of+7eU000uXTrNVBsIGuUrYgC1752yuQasIlbDUGica1FKCKFNE5VTUB42PbnwgGLn3GU+9rFX+OqfvorvHMerloABXxJczGnrXIfziqqoYoF1cVTVFK0OUEHAZ6YgEfoTwSjFRFusir5XjMUaFSv3lCVmLBizAJOkSKSV9d5iq6d46aMzJrNNjLGIp08W9hJQ2tJ2Lp1pcOQPm2PYRCEMG0aAzc3N74J8fjBDy4p2/zqToHASuHnzLq0p+eiP/ii7Zy5g7IQgGusF0SEyNRTOd7zz5h1Wy456dUTTNFTVJrYomVSWp589z8bMIdUMX80pywJbpCCfcXEKpRhSZVLwjnTkBsxCgu3DePOdGGtCchQJKzKk9lAkBclz4anLbM5n7B/dxXvHdFJgSs2kUjSrmut39rDzTbCKoowFuoqyQGlL1wUWoWFSlijd4hqhWTWId0DH1etvcefwgK1LF7j8iQ8hlaFvzA2MnTKCYjYtOdi7y2Jlac8qJsYnFSTttJAsSixVNUdhmW9v8uLLT9O2wubOJtpq9JmovJbVHG1SGlh/pZE7Qdbv4XGMpl0x355SVQVt0w1BWiPYdVC0Q5/WJUFwdcs//uX/imvXv0Kh5jjfMKsqqnKCD7GoSd2uqJSl1Ctef+NP+ef/8tf4pV/6K6jCQGiJ0L7CWMFKSNZnrNQT7YCc2xwSouEif+2jPTO/GJ5pXMM6jwfBrdmVkCN56QWMYGTK9vwC1azAzANHyZfoVsc0q5qua2m7jiCCtTE9z0nHsq7ZPzrgwoXzbJoNXn3rBl966warEIuWiCfGa3SOqiyo2xj42RwvOT5eEsSgCZhim53dmyxWt9ic7qJUiiLWUXPVxuCdw5an+Mmf/RmCrSJULSCpu03PRxOqFKVjCioQRSwI/vDxSCF5yx9hdYlVCusdEhxBTPQVSUsngS1jKaoZdRNo6pq2M8w3TuESPNM0Nf/2936Xg4PbWIq0wIJWKbclhYiPC9lKWjyjo0X3xre/wi//32/zwz/20/zET3+GnS2FIVf8kAiZBRmq54vgnMea2HhXK5vqG0JO5o7HrcftJNJKJ1GgZ/zwT/0U33ntmxhd9q2KrAYkFp4mMT2NpjCWWTFhe7bJYnPB8eGCVevIpd4UGo0wryrOb53izMaMW4d7fP3WXRQFRamoKosnCvg4GyQrMP2EvLhL3n7nHfZqx5/76eeIUc9pIydosG1jDuG8sKCG/NT1jbJe2DrDSteuXXsk4fwgx8XTMywdrXiO62PmO7s8/dzz2HKCKE2QiCg4pdGpomNdd3zpi1/l1a9/neBbUA6tYuK9EGu//vSf+0k+9alPolWH0g0gBDHYIhWk1noUMCEMBSiSn5euhx1zjuVDLaDcX7Gf67x+WemJq6G1EIxisrHJlaef4q13rseUjsrE9CsJTGYTiollb9lQt4HSWWSqKLTBqGh5d65NfQxzilbXQ9CzU3Mq4/nYz/wUG7vnsV5w/X32/yWftkEby2p5wDe/cY2zT5+LvRFJiE1CbZRy0Zo1CjEeMROefeFFVqs21p31sbKQFhsVMB9LNuaiH5nmhpKl9zP0D3JU1jCZVtiywNdDk/UczBaCJW8TSXV08YIoxdFiwd3bb6PF42SFtRVFMcEWBb5Z4XyDdx2NBq1LCCu+8Lv/hg9/5Hk+/vEPM7EBS0FBQ0mBwibaSJWhtPSFL3KlL+9D3/Yv09n9gU+xSMEDfZCMBKYiCR+5T9B23R5/9PnfplvOsZsVG7sVF58+w7QoUK6LLrIEezrnaLuWo+MV9/aOOTpe8aUvfR2rPb/6h3/KUbcCpTC5kUUndHXAFx2Na1k1NUqX3Lt5m+NmyeliRrAVn/ixT1NoF9EeGWp1C4HJpELXAcFhqk20SJSDceYYI4TDc41Qw/daTKCWA8QbdHZek5MyFaIELZ7AFGvBqJZmuQRtMdUklm5Sge+8/jbXr74TvQ8J4kMptE5MO0kqgVFOWbRslNUU0wkmBJaL6/z6r/4TXnv9G/y1v/ZXePbyBWIRghjWnmIp+tzJrPmFEDCFTli9DFpDcozLCThC+p8IkV5+9iVefPkK1954m4ktOTpqoz9yOsXYCbaYMJmWGHTE2kXYnM65dPYc4gLuxi1U2wCa+XTC3Bo2qhkb1SZntrbYmZd8685tnKRkZWV7rXF8N/mfl5h+EMSwuVVQzguqyRSj6f0UuYddjMgzIwvxxGZJKWtj2CH2cIE6+ZkfxzBaWNXCweqILgS2rlxAxBBcQFkd1zCoVGvW4wU+9zu/x5uvvY5WDRiFsQWCwvs2RabCH/zeH/P0cy9w6cIc8R6nukQPGrEaix1FFiaotfdFOpCOIDFvK4oN1QvAOB7iD2I4Zqh5Gg83WqNUiTYb/Mxnf4ZvfP2bHC5WRB+PJ1hFUZVICLS+ZVW3CBNsYTCNoiws1gAS6LyAVAQ8R6tjDhZLgkzjJp9uY6otCDrt4+ST7APdYlS4KI8Yz8bmlGcvnaJtV7ipQYshoFGpcbrWJRaNM2ktTMH1t95CVzucOrUzgmRJ8FjqhJFmJBLdEB8wWGrvMzF9t6Oa0i6E9niFSIPIrLcYgwQ8Hi8Bk5sUh5AsosBXv/ZVFsubGJsi2KWkSW3yuq7DOUcIDaDQugJp6JbX+X//8v+Tb7/65/jMj/4Ezzx3hvmk65tZKzVKKyFZQcQ97r1gUteWXLBivZDBKLDxEZbkOGgnw61jtEkpYbZxhg99+BXuXb9N061YHO/x5uuH7J69wEYRfZjKeJwT6jbmyN87OGTVriimFT40vHHtFkd1F4MIVUrZS4GVuR+ma2pWyyWFLrl3+wa3b91iq3oa1wqF3aQy0e8ZpGO8z+bzOYUxLFYNuSb1elGKwSDqZUB6/7uN4H907Vbv48ZJDnaygzfDdCKc3p6zs6ER37IsA11VxWoxPrDsar721a8RnIu97NI9aaV6LWks4fsFlJiaq8WgKLBWUKrFuyO+840v8cv/xYK/+3d/iStXzqONYEIijDAIveADFNEnWeQWNj2zSpUpBxoZnLt925T4uS43+Ok//1f549/5De5cf4uq0Kw6GwmhFpQ1FJOCjUmBFmInlLJkS2/QnDvD3tLB6h7OGc6e2eXs5oTmqEWCZj7fRGqDxsTiDJ2jKOdocng+PSQW5yam22TmfOnyU7H0nImQOKFLQTsOgtDWgem8omkcTdcym1eJgNSajrUWYZiszctXrnxXBPSDGEeHSw7rY1bKcurCFTRTghfAo3RiDqOi5MeLFVfffAtY4YNQlTOKssS5FucaJKXMHC/u8rnf/jf81X/nr6EmGkvMCYwQfPQF6VTRSencyinCOyGkyMIMlyrIykumFTWCJIkfD3BsVs5U1Hq9pGpPojHJStvZvcizT5/la19/C/EdSjoUMXqxcSma0rXUTYSCfempylhxxyhonVBqRQg1t+/u41YNhQrc21uw9dLLVFUF4nvdWWS89pFpKAGjDZPJHGtb7l6tObu9hcJExgYjSDrl0waPuBV3br2FKmpOnXoJa8t0jVxtaFwKMe7BcdBIfG+o5fpBj7sHNymakhfVs2nv5XrHQ3RzrzSFmALUKU/T1Pzr3/xNgrhk5UTlO4ijaTwKjU8ul+ADYjymMAQnHN+7x+d+/Vf5rX/9O3zi05/ir/ylv8Czz+0iesVElWRun8wGYuhGhoFznMEg9B6UQpNWiSw8MqLRK229ohSPHr6f0JNSs5h5rtW3mZQzphtblDNN09yhOyooihJtPE0XOK4XHC6XHC1WaK3ZmE/xPgYSdt7FHr0SrWFt4v7ywdEGxTRY6tWCSTFB07F39y7u0mWEhhBqMIZcKzgqXLEnp3M+7tm0fzNTT/Zmz/I1ffmP3uxQovt5fNR4pJDsDayM3Q73gBIoleaFZy4zrQyuM1ijmZdzCNAhvPHtG+zdvY3SuRJpXChjbCwrx7j/Y87Ro4exQuhwTjDGYnSJtYpQr7h59XX+y//yv+Lv/g//Nk9d2o3BFxIweaEhhemn0mOkBFQyIztJOMNz9UEFadMGUeye/wg/+ee3ePvbn+MLv/mFGLzTNbQiXL8R62VubWzw4/f2+Gtf+zq/+emP8a1nnuor8lTljMpo5rM52zunuHt0i27Zsry3wJsmlaWKflDxQiBWKcpP08OhPW1rtIa2rlm2cOZc7gYSCdB3DmMsrtOo4Pnal77IUuCFj76A8R7fgS23mM+miQmngBRieT2XAqQe17h2e5/ZmS3OXHgG5zydd2gCOllwJqf9ENnq4eIA544Tw01QmCSG4mPRaWMUio63XvsWf/LFP+GTr3yM+QYU+CgkVREvbmIdVCW5GXf4/7H3p9G2Zdd9H/Zbzd77NLd7/XtVr+pV96pBoQoNSRBgEzYCqdaUSMqKSDOSbSa2k1hjOGN45EO+RBlJRmyPeEiOE3tkDNmWh6NIjGRKpEiQIgkSBEESAAECBRSqf1Wvb297+r33avJhrrXPudW8gi0B5Q93Arfee/eee87ea681m/+c8z+7iEKKd0Txq5gYntRqq87bxsHl78eMbGS0pDNTyyhKRXywPPHkBd66dIdKKapS9ue8aWh9wBiLUlLsNm09tW3RZo4xQpNYFgarawg1J4+fZFBoJuMaW5U89KGn0oSKt0URgFBDClFAagIAbRmu97i1cxnvPyaV7XElElz5IxBQseLik88TrE15tOxk5BO4jByjXEB6hpG3K/YPQtbXjxFKSxtschjydA0hJsm5vw4yDwGnPJ//whe4/OZb9Gyf4Ns0iGVFrwX5CiH3eHvpi6wKCqVpmzkH4zv88eev8a1vvMBf+umf4id+4pOooUzLsEoBheTeY957IeXdVPreYYRoWa2aULrOKGbH5HDhTn4Gh5+D/N1jePR7nuPmpdcoBgFt5+AGqKDwoSa2jno65WDqGc9q5n5BWRScPL5Ov1cyHjlUsNLFoFI+N32uIhB9S/SWGEqCNDQRooHQ4n1Lz0qbIUWOirWM6tIGnVo6BI3J96mW5jDm+0jfV6QZkhnmj92r7yf3Z9wB3jVXECMGePbiozz75CPgZrR1JFpLNRzSxMBkNuHll18SD0vJzUUi2lhiGp0VFSn3lqrIyA84eTEx0jYtcye/J30uLTosuHHlNf7ZP/sVfu7nf5ZTp46hlBRT6Ey/H1fx+JQTfEcCchVaWEI/+c+urzBGdHWMxz76k9y8vIe5fIPJpGZ3MmbRSunyYjLnz7/0Cg9Mp3z66y9y5fELVLaS3Jn3lLai3+9Lj2XR46FHNgku8vUr1/DRo7wBHbDW5dBxRbmklgMi0XuM1gQNu7dvs7uIPPrYI90BEvixpSwqgpJRMoOhYX4wY//GTagbZrMJG6cv0D//0Ns+R4zywf5e50x8EDKaLzi+doEQjbTUaI+JRqoFEzTUGUkFb156QyrclEZhicHT1AsypKwQPF5FRWxnfPH3P8vlV97g+Y99lCeffhyGCukzlcovnZh4tIKo8lik1Gsagyg+EhWYWl5LdzC7w7lEYKR2Kysjugghc8AqFTFVyfMf/1EiFa//6Qv0y1LoD1NrTmEL+v0+s9mMtmlY1C0+kgqTSnregIoUCkorFZX7oyl3Zi2Pba6nyvCkKHMUnK5LRHVeulI9TjzQ58z5LSwtYISjmDTvVCmiClS6hBjQKPqbx1J1dYog5S27z5DbzvsqdhEaKZKFtxvv757sNzvM5g3nDraohjZRz6n0Z5pZEhOtIB4XYX9/xh987vNYHDEaQkAMoI7EYCDruRhkhJuKOKdQqqQsC7QuKGhYG/TZ2x+xf/A6/+gf/tds7+7yMz/7FzizEVBlgQ2mm6UYyQGmPL9DA4XfZe2WBnNZ1ZonvKy+fpVAYQlRRgia3mCTjX6P9cFx1jYHuFAzmR4wntZMJwtGown7M0dUmt6wz/HNLTbWS4yGxbzCFpbCwDwkYnKlcB6MTlomeBZNzSBKnnM2OyBqmbxjjMG5lRYVqcxMe5SuYKjrEV+ZFyzfW6FkiVnHrXIYvVeSZCnfhpF8x6oDipOba3zqe57HKmGTIVqMMtRNg/aBK1eucDC6B4Qux2a0wqYWkM6nVLlRfjluZ4mVQ/QR7xq8a9FKepaCkh7LS6++xG/82kn++l/71yiHkUApW0DJPLclc9hheGd1YxzC71fwa/kzVzimJW01m8Um47UZmAmqkKijsIpez/Krz17kr77+Fp/73ueZNy116zBaMZnWVIMCrSr6haHa2qDoGd68uc0bd293EMLmxhonTqx1M0U7cCD/O3E06rSea+tDWKtkjmVyzJWW+9CmgCAMQI89/TQnD6Y0C4fDsGktvf5Q+iOVIpJZV2Tz9KpeN67ng5Abt3c4+YhjvWpkCrwWUnFjMuSlkmFS7I8PuHbtKhkzitoBKjUI53mZYmS0LhPH+4KbV1/m2rU3efnlp/mRH/sxHnzgNEoJr24oNEaZLm3XKfKQJ7pk4wLZC9epIjYbBtVBPclz75xCJawhuER7FsXDlrfC9Ld49hOfhPEYNZ9jlLBZWaNBWwpfYkuHd4G2aXGtY76YMZ9X9HslZc/QL3pMasdgYDlz7hRnh8c5feLYUlF0+yrdh8qGSoyVigXBawrTY9AbIjSHK2chGXqtFGfPnGF3bycVDSoOTXpfMX7ykWlk2crnL9XVB9cjCfDawVWK0rI/3ef08CQh6vQlg9q7XGQUdIlQ8I2vv8je7gFWG3xoUVphrRArLNs1EmOTwDwIv6tHtbpD06qyhzUT2lATmxGf/c1/yny+z1//+Z/h7PEN+mkmkFZqqYugc7ZgReVnRZDUWe4a6NY9f3/FYVrqYiAxceXn7H2NUn04scXLL12jqBTGOmbzOZN5y2y2wIdI0e+xvtZnfbhGryqxpqCwoK1lUGlODCw3R40M7IsxtX0oXFS0jWcwgBg1rlW0i5q9O9u4R72wpbmwcp0pD5pa/4ILUiGc0B9RA8se4HzfMcqc2aw3Yi7k/Db23H2NZMwnN+ZIK7+h5uGzW1jVSpRkCsqioKgj++MJqqq5fOkSITRpTJF4ylpptNLSrhBJU9nlMzIMddjzyUwxEk3lgh8fIsZqHjl3mqcePY9rJ/gwQOkibSKHSUl1rSxdnyQrESPv5bUuFVbOkcToUdozvnsHVTuG/XUKY1jvVSyaOUEZ1oY9rj/8IP/Fh5+kdYG2bmiDNE1754Rdx3kCBbWvOdje48Ur11AWSl0SvKHaOM7DDz6QNmzs9FhWxFlEAQd6a2tcenOPJ54uKdMII/HYpf2jbRwxKK5cusGxkw+ytuGpfUBj0VkxpntNYCAhQm8wQH+ARnLiGvbHY/rrfZxrUoO1QJkxJhowrYnK8OalSzT1DK0NIcqUFqkNjkjTuhMkEYWyyGR4XYFZ4OYjXnv5a2zv3OPP/aWf4snHHkCXLVqXKJ3heIUKMvkx5xxjqm7NnT1ZJ+X/ZmMUV+Gw7nnmvC/pN0IyFvJ+QStMNeDc+XNsv3U15w2wuoDghfZQWygKtAIVPdFJb2XTFNh5RTvURArG7YI9taCYRs7PFgzXBun6VvOmS+9a/i/nrXUNRSwhFigVpHp6hYsjawNrBfrK3kGOcpaiVvbxMrexdESXjukHibqG2BBCYH9/j9OnjyMFOJ4Yi0OvEwUPTTvna1/9Ir6doasSqOmVfYw1qQDGJ4XtU+tQ6FCuEAL1vOZgPkJFT1EkRK2tIDpU3OVPvvBZRuMJ/97/8m/y4Ol1lLJIv3PaM1hk0cNK0AF5vZfqujOp3fXzLussxT/JHCTCCOdqxuN99nauwXDIrfYWzW6kXgS0Nhjt8N7R6/cpqpJer8ewL200WheJz7dgbTjg4XNrjJsFk1ocBp8u3fuA85q68bQ1NEYzUJZ20RDigjs3LqG3HuP41hms0t3QeckyZrjVLvPBSXdK0djyRt9+y90M2fhuPz0s33YkuVQC4v2s9TS7O1OC1zxw0gpcFBU9W3D56k0O9kepglV+0xiLMSVKi6clIbPkQSTkE0qrFXyGbCyslc+UsTPCSPHs8x/j4x/7KA+cOYkyyZRmyNa3GArererrXSvA3mUp49v+rnDM726jy5KyjkQdMKX0NoaoKW1Js2hpY0vrA23wLFyDLQynjh/nxPGT9HsFSllMVTGf7aBMYKPfp9AldQMf/8RzPPzQg2lN8vXEQ48wJk9RRUdV9Xjs/Bo6uhQNijMhXqLB+wYfPKPRNhsnz1FUFSYs5//FFeeh+7QIO7vbnDx58tvdGv/KZRFqRuN9TrbHZCaoDP4kEtEhGS5T0LjAvbs7XaSjlEk7VKd7yb2AEgUSUq41MdMUpiG6mv271/iNf/bfE3/qp3j64kMMKNBlmn3Y5SVzC0CKurOyUclLjytOWG5n6h7cuwA6KxDnMugUasKIweglRBZRFErysFZbBr0+uqrwoWU8UUxmkRgXzNua2aJmtphzMB0ju6Bk40Qp1b4ruagO9IyKzA2qQGBnAsRWCnJUhvrlLGWHRS7PElXm1EzPadUBWIkUMy2kKPDlWZWoRSW0KY90++5LBGF58jmKaumc5LeRCOgYuH3nFrduXsZol8aygS16EE3XlqGVQLB4ldpucyQDMdY08xEAbaMpTIHRwjimYkWo59hmxuRgn3qzXMm7LZ2wVaq595L3CwpWjeYSwQv4tqGeT9m5c4e97TvMazh27iS9Rwq274zRsYRmTLNoKGzFoD9g0Fuj35OpToUt0VrGy1X9AadOHeNDMXJ7Z8TetGVaSyugaz2N1SyamqgCLi5o/ZyiF7l99wZN63GjPbw/JS1OaQFUcluXHkKelCLfywWK+emuhElvq36F95ud++3DrfnpAFZDCWzvjLl+4x695x+iZzX1pGFcO668dRMVHaRKRGOEISHnO5YeqzQkJ56uBJPmQ5Mp5pBG++SdtU4Gjd68tc0P//gJ+psDtKmQZlwxujEiUzuikKC/fZMsGX3euTirkWz2+YMPNLMx7WSccqMNTd1iCihthfORuq5Z1C0KQx6d56Lm2KmTbClNUVQobWjaQGE11hgGg5L14+u0c8+Fi6f41Kd+mNIaUH7F06bzF0Iy+gGPcwZbrfP46dNS8RrSPYWIwmAM9HoKdMEzz38MwU9Ngi6Xa7F8/yXctrOzy4kTJ77trfGvXGKgrqd476QnMuRILBKQfkatPPv7+0ynY0gtDdaIF78a8eWctEpevXORNiTGpjSBhthysHeT3/y1f4r6136Gpy8+TN8UWAqZyECGDVWKLlQXeXXROKsIbFz91yEbqZRCxWUVZ66yVnmvxYimpa2lz7CNsh4+SpV5VRZUZV/ar3ykspbGRw6mgbad0TaexaJhtphR9SrWNio+9omPUfVWJm/E7IouTdjS/VWQEB8Vzcp1Jjh/NWbpzjIrkO3he11dH9J7dK0hSM5PlmypwD4I0SFC9NTzGXhk+HTIBTv52cthCd7zlS99hfl0Rq8sCFFhy1IKTqJG4UAhnMkh870mhzftH6IocufEKXEqYE2Jj1I49D3f8zw/8qM/QGWF3jKEaonmxZx2WMLfWVYN59trMA4HCF0mU1zKKMib9462qQmuYTLeZz4f8eijT7GYtzy+8X1UVcX23T/CxJZev4fGEiiIUdM0MJt5en1Lv1ekDobAYFCh9DH65YDTp8aMpw0HY8/BdMz+dM7CGeaLwO7BGBjSd4Fef53jx04wjX3mMeJcoCh153AJdZ7ChyDpJxW74KLrRSYvlz6E9HS6lS6hdV/5No1kXP1MrILYeHZndxluWg4ODrg5HhFi4Pq+Y/9ghFI6VZRqIQ5YIZKOnQeevaEOrxJvOjfRIgZPyHA11liUdjRNjWuF8UalSscYhKUnRk0MMgrJe4+xNpUMiV+9vIuV1ZKdQxe5rSyiSsapmYwY7e0ymsyZz1tm0wWm8KxtVGhtUdHhvFsSEKOkr8xUaGOIBFrXom1F3yqMtmyuD9k8dox4yvLjP/EX2dw81n1m0r+dl9+hAgqi8sznEV2uoYzChiBTHTJcrTVrm+vo0ZiAwVqbDo4/dMvdo10xxKB4+OEL71Lk9N2USNMscF6UTEDQhqikoThEQwyKO3duJp7fFF3rbAgSWftKHk3SLUJ92DSt5Ha1UFyFENDAdHeXP/rd3+Pc6Z+mPLGBVjYV7+iUk8tw9lLJy+WmZ6RUmkQj90B61aq9XL1HEYGIogqgPDu3Drh16Q3W3DgZE1EIqDT4XEsVOV6q+gYMGQ4X3N0eUzu4+OyzPPb4Bc6dO0V/bUjRG1L11g9FjN0VdJuh2/CyDUKmMjy8B5bj6Jb/fkfby6H3Xb3t+I6fLZfvXX72XRbZHy3ezdAqpHay0J2Z5SxCz3w65bWXXkVrJXzLVtOrhkhUnPLPqG5qDMqRay8gwdbEBFVrSRUQcTFi08jACxefYu3YBr1BX/RHZwxjUvyK9yIzh3dHyg4/Fzn4eXJS9AG0BARGS0vaYlGjVZ9JHbl5d8xk5njxhc+zc22PZ57Y4tiZAToWzOqWuqkhzlFKY4tS2NBiRKmC9fUNymqBd2tsxk1OBSc9v82E67cO+MbLO8zbwKIeMdpfMJ4XnHms5cO9DXr9FuaBuo30ihQlpmk5hjzblWXAE3Php9ylUhGChc4xXer3dz2W7yLfnpFcGVqZ4atJ7Vhb3+TEg2dZbN+jjTDzc7YPZji85EuQHKL0nCUvvAuLxZMXixCkIsylGvscCXQPV7DrGCPWGkLUbGwN8G1NaAMUnqAF9tQxJk5Fu6IcRYl28xTf5mV1Hq9asRgxpikdUtE2PHYCtW4Y7xxw5do9tLKcP7uJ0QoXI0K/q3GkSfZKRuT4qClURQwNOhrKShLZg36Ps/0eH/nBH+LBBy/Q76eRRDFXAaaH3F2jLItGosb5fMba1qZEQ0qDatO9+jRfsMdcz6WabPVorPgHuUIu+5W53aEoLN8OE8V3TiLNvOkmLcQoikUrgbkV0LaB7bvbUjATMwn3EooRb8JDzK0IovSVEvrCXHWYRxTFqNja2uTDzz6Nb6QB3BjJzch1rJIyQMZsDjkTq1FTh1Z0x2fld5e/ohDu3NAG9rbv8fuf+TW2BobB2S3xiVJkYI1CG00bA3VTY6PMSXXeUTcNwTuGm8f40Md+kEcffYheoSFaIQcIbvl5nUOaif+XhThd5S2Bej7D9tYAs9QmqTBHVliBVp0DH8NKXpJlqwmZGqxbmKWXv4R/7w8JfjdEJpgEBgPJ2wbSeLTUJyvGUhOj5drVG4z27mJKRTRaqPlUiewzl0ak5fxhRNZaWkmIihBatAZTGAxW+leBZlETg2I+GvPii6/yie//fnqF5CJjCIRUaCjgRn6O74ze328N87l/N8dFuGg9o4M9rl29zte/9jq3797m+tU3mS2grQ9wTeD1m5rzD55mzUa0GjNrGlo/Y15rjFasbZS0IaIKy9rGgI2whls4XBBSgda13NiGyzevsVBB6lO0ZRE993Z2+J3P/DaXLt3jQ08+wpNPP8mml7XTEWT8g0mDM5aTZ5aV4+meYiYM8O+yBt/+3nh/Ixnp1KisYmThPS/fPuCTFy5CUaZmdcf+3DOpm3QRCqVNGiCa0L7cU8YSctE6VQYmwtqYIkzpnM3GNUCqNGtjwNqCkyc2id7TNg1t55FpfMKnl4c/EqOW6n780tocvsXud1B5gVmhzApUg2M8+yN/gcJ+lju3tyn6fRhUBGvwjTRoOwUupBmIQSDArjKTkl5RstYfUFaBjfV11qs1zpy/SH84QKciJbp+tFVjmT18mRKgpR4dow8bslxAYmyZ1lCtRFQKMOjsfXYN0qv3a6gXc7a3t3nooQfff/d8pyTK7NAYW1ZnHmZAEKUYH4yp59OUnzQYU6zA5+L1xyWW1z1MyRXpzpMGyR0VZY+nn32SEyfXKXJVawhE1Uj/ao52umuMiUFKlP6qrcwk6Z2T1v2mrHuXngqRejrj9uXL3L1xm8uX3sDqGRcfu0Az85RVSds4iBGjUx4wRcyhdcwXCw4mY3Z3p9hC4ZsZn/mlf8IDD1/k2Q8/y+mzJ1jfWqfsW9BRSBLSNUDoRsCpVLEZoyF4z8HObd54/UVOP/4cG5sPpPxjPodSxp/vsbum5Y5d/q+DGN/tIX+QSMU7JeJQGLSS1E0XecQIeGJsJHbxkVdeegVoMbbE2ErQLPIZsrKtlHBOEHSC+1KfOOKcyXQkjbWlvI9WlLZkNpsRg2MxX9DUTcqHSsRErsZXnqCFEFyiyYS8vYeBXM1fdpJTBXGpVwiaGBpm0xFf/OKX+fKXv8aly7dYzGe07Vxo8JwjKsfN3btc3z3Lk2dPMIiOoKGuW5pmSm3AsCn5yLLPYLhGZTQmWlo/Z97MuXZ7ly9+8zo7M00sIjYarC3SdJ5IcFNee+VLXH39RX7/D0/xfd//PfylP/vjQlwTAhFpsfHeCyIU03qnylyVW5DQXQ58KSkt1zFP3V++Tbg19R4mAxbQlOub9DbXCXi8h1ndcG/PUXsv8xS7qQq6I+mFJY6eMX7RM0v2CIXu2E4EosgFEVY8NC8GdTF3tK6lcXNKN8R6j7WpF5PUl9R59n7pwK7+ubJf0tXJbWbll6INxHbSqJLh2QuU5QuoqDgYzTAGyqIUWDlmBZQiGCUHxBjDsDdgUFT0qwplGvqDHq2f8Sv/8P/HIx/6Ib7vex+nLIQpp1O8GQpJHmPwAaNSOX6UlogV14mYoF5bFawOSVv2e8oGWRbuHHYmiDJurLAWFd9/83ynJBIZDPpEXBohlr1yEqRp2NsVeF9pveyhlZtKjlb23H16wLk0U5w3rRTGgPeRGKBpa+7c2ePZD69TJM8+f7aKXsrLQ0QFT2SZOoCEeazsp5g/LwZICENQHryjnc+YHIxZTEaMdw+4d/Muezt3cL5mPp9hTMnB1LLeUwmCNbR1QCtFr6yEMjDW7OxPube3z2Q2RRvPoOhRN46D0Q5vvj5h59brDKse65snOXXuAc488ADHTx5jsDHA9gssqcipg2sceM/t2/cgzDh+8hQqn9fuPOQlXDqa2dmVHO9yry6jlOy7qMOKKi4jSvnn8nc+CFEE1tcHPPHEI+kb4kBktaeC7Id5M+XqlcsoW0GQghtpl2rTvatkzFJvY6qt0Pmokqf+iOMaAzS1QylF1Svorw+Yjj3ee2aLBU3TYEqHTZzCWmfikCXJhcjh85oN43K2+NJJFJKD0OnXoALgcM7x6stv8Xuf/QNe/ObLTOpd2jAXfZN4tFFaRoPFli994wq2GHJhq88wGgwt3nm08uADOE+vN6BXrdMvNQUG9IDRrTv8wR+9zO3RHFSgUD2MEZg2OwJRRwyB4BdM9m/w+d++y63bO/zNX/hZTq6nEWHKyLNhqa9ziqAbk9jB1IdWR55TDhDeR/4H5yRlG0Q2NoZCERYUejjk3q1b7M0a4QVHNom1BmNsVxLdHaj0njotiELhg08HyqAwKyQE6fkqn8r35Zs3btxlf3fKxkafEFpCtIQQUV6q8ULyBIXdPh/ItIAsN0veUPmDFAmSSgc9hEDbBObzCXvjXb72ylVu7tUM1JRSR1S/oOz3sL0KExN1l3O0LUQsRWUoeiXGGIyRylyUVPuW1vDQ2j1+45f/G966+mn+4p//EY6vpVmSaURZF5GEdAfRMx7tcOnSLdZPnaBIcJ6OEZ9ClKoowKexYpG0Frm4P0XLYbkSS/GUheH0qROg3glRfLfEas3aWl9I69N15x4oosUH2DnYJqZ8jla5HD7fS3JQUmTdEUnE2DlvxggspLUQMzvvmE7nAs8oUiWjrHs3bDfIe2WQ+lC++PCnp6tRaB+Y7e9x98Yt9u7dZrK3zXwxp3ELvPNEH3G+pm0bNJ7paMqrr93h2Q89wKBviDQ4XxOCzOlzwVO3LdPFgtY7qn5JWVhG05a9/amkJdScxcKj/IS63uVg7wrXXq8oygH94Rpbx09y6uyDnH30IXrr/UR35pmNJzR1y4mzW9zdGVFGyVFFpZdn8ZAiiFJrQEAlEEwCFNMpLaVC8vtypLU8iznOzv/69soovkMSPefPn2F9fcBs3qRCQ7VktUGKby5depN7d7cxhcJamcKyrBKPxKASM9KShCXG2PlsymgZYJDgWNGJAa0CdR3QVtMbDAihYT6fMVsswPRQRCpVyoppVhxdg6QNlrUcq5Lcwm5iTbdXu2X2KGW4cX3Er//6b/H1F15gPjug9RPa1gmlXocKJCYhZFDyZHyPL3z5VaZPP8qTD6xR2QqvWrSWHL8xhrI/oN8fMqwKqsLw5vWb/OPPfIFr+0Jdp0wlo+q0RpnMohPJvfVBBQiBEBtefvHL/INf7vHv/PxfpE8DRLx35FmweXwdYXm97y7LSVA59Xc/eX8jqVh5I/nQsiw598BZQAsf3/oG9xaBFo/Cgs7G0VJYqXJyToY3k6oz8zDMHG0uPfNcfWlTLU1SRD4QosZo6Vuaz2a88fpbnHvgtDSXZwUWVGK8kAKW3FTeGUj1TvhBoCP5TFQiNE5Kc293xHi2YOFqrl++wtf+5GuUBAYD0NpgK0vT1jTeURQ9vPc0TS0RtJUpJ65umPvAwBTk4crWWqwqOH/mFM+dv8kr3/oCf3Jmk09974dY7xfp8S0974A4ALdv7LNoDmjcPgQHsSBXLOaKt1yoozoi7u60dgZ4qYzSuicqrtmspter3ndbfCelLC1Vr0zN20jynWTxgdmsZjKekSfA5CyFiKAR6UiTS7bkJ1lJQx6gq7WhKGQNfWiYL2a07RpFYTBaRsEJd2sykkGl/t7AknJtKfmp6eBo9ve4fvUqN996i9HBHvOmxgWpWg0pT2i0hSiQr7YGa2fcvH2N8XTK44+c5th6D2MNvnU0rUNbpJK6WaALQWnG4wW37u7J2LXEUkmCUFUMEDRtE4hhjm/3mO3f5u71S1x5/TjnHrvI+cefoL9uuHtrj61zJ6lMy1qvj4kB5wOlWeZXV7HTmFiuSFRpJOhPKNRl370b5deSHlktFw1SZfYHI5tbGzzyyAWkDzdHkak4JmgIFucc3/rWN4g0GNMTXRSV0KZFkrEUONAW2YEzqbdPajCUkoHzGimkU2kuqIuR0HiMU/R6FVYbZtM583pOUQxoCyEqkPkNkaBDbqHt9Fg3V3JFuoqD/PxWXg8wm9b87u98ld/57B+we3CTpp3RtjIf0jlHzMWIPpI7ELTWOC+V4aPJHn/yosfHx/iep2XCzGIeKcoKQqQ3HFKpPkT4ytdf4Z/85u9zdzLBadAx6/0M9SuUjLUhnyQfhBwErTB1zTe+/If8/sWL/JlPXMSqCY0XpENOYkKcFJ1OVKmPNBc5dffepfWAQ1DsO+V/OOMOsLW5zsb6miiOCLdv7zCfCcu90qSmbXmoRVkQghfvKj1Io2TBSYzw4j0YXBq/Q9cOrrqIUCOGMLiILSzawNWrb7G3/wxr60MCBcTcTiITvK01dGTUOYek6EiyYYnjS/gu3tzoYMrBZMJiUdPUjsYtuHvnHq++9CYRxanzD6LrEdE31C5QtwEXPKoWz4uosCaiXIOqPZU1bKyvo2PA+RarFUVhCS7SeMs89oGW6eiAVy9d5cnHH2atZ8nVvaLoPeODMW0xw4aKU8e2OhL3zpFIa2WLIlG3pTL2vEFI65Bg1069x6UxuXv3LmfPncUWH5yhPHv2JNboBCWtbu5IVJ7d3Tu0biZNxBikoMJ196NTK9HhXNnb/MqUp4xBpjtYY4jBUdcz6nqONakqW+fxPGKwUziZw3qW3rUcU6cCsZ1z69VXuHv1MuOxzLVsY5MO5irNHXhSekILSrI2rGiDYzK5y9e+ucewP+TU8SH9XsGJrSH9AeyPF4ynNXPXMp/OqWtpaSkKUdhaKaymI0DwaYYfPpGMK0dsJoz3WmZf3+f2pbe4+PxTBNdgqkhTG0IcUJQ+PYNMHt0tcbeGS0TGpDVWXZSdFZVsOKn8VJ2SWsJdq5RjqwOBv5vy9DNP0R/0lm0WSelGSNN1FKP9CW9dfgtjNcpaMClIiALrh6DxrhEURpVYXYKP0pyvHWgvUD8eHXPFecAHMNZSFLkATbO/N+fm9XucPrmF69U4Z/Depvxw6p+N6m3o3GEDmOPb5b8zcuYBw8svXeOf/vKv8fobr6BMS/A1vk2G0TuCk4HxMhpOVkVQwpzXr4i6ZrrY4YsvNOxMxnz8icfZqmRv96xmrV9xd3/M5/7wT/nyC99iEWfERE6xJL2XZ56hZJ3Mkg9SmGaQ8xFUC82EX/9nv8rxYz/Hsw/1ZW3JxABq5X5zzjHKXgtZR8Zu3TO6Ef/ljOQ7k+5KKU6fPI418oDqxnHz5g1JlCoF2qBNgTFGJpGrpSImJkw96fU8DSTPCVt9yCrvhnQNISphQQkNoW3RoWQW4fJblzl79gTe91JCF9BS1q9s8nIzx1q+l0BOlHSLGoiM5g13bu2xvztBa4GJGlczPjjg+uUbzOY1x06eYrB1nMW+Yj7eYz4fC/zuIs636eFHQkiwYa/HsBxSGYNNnLRaWyESjy2vXd3m+t2acm2Lslcwn8157fXLPHjuNCe21rAqinGNsL094/wTD7J78y793haxG3eUHQHZnGVhaBYOafjKkeQqNh9XvlY2E3Dy5CmK4jDLyHdbNjfXxRZ5T0xsLikDRgiB3Z0DNGkGpBJvMawUIcUYpPAHWIVVOsWc7z1KSb9SSiaxhMhsNmVej7FpD2stzDbB55xvgrny9lxp0UJp4nzKtZdfYPvyVSbzKS6KA+V9rrwTxzCicU6MUONblLEUhaWwlq2tdSazGfW8YT4d8frBPiF6SnsNU3iaOgjJfgSLoSwBJXuKQmOMwhgxlrpDbBIMHBROeXRU+LjAtjWxaXjhS3ucPfcot64GfN3wwPmHqJsEt6XagXeXZRtI7nvM51sWKr0m5mfxTkVOXHr7304hxXdCTp46Lg6R7oNupMc7NY9F5Yk4XnvtVeazBcN+gbFWerGTIid4YpCqXq0SIb6KKRXUJGgaiQJDoOvcS46Xc40Ma9dCWrFY1Lz4zdd47NEHGfTWKXtisIzO1a0xRfCprSsFX3lSBqwYxXyTUfoWFYE7t7f5r/7rv8fu7gEhLghOjI0xBu9dZ0wyybuoTJX0ssIWRSpOLPE+4uOYVy69xVtXbnF8bcgjj5znzNomo8llXrz0BqPFiBYxeAYrkCjLtJgMLVhuGh8crauJUaFVxLkGZZRQn+5f5b/7//wj/je/+LM8sDHEOZ+Cz8Bhg7WC83QoSI6s03pkerr7yPsayeWfUiVqdcmxjRLinBgtd+/tsD8aQfIfrS6EOsvaLhqI3YxDvfTmkyceQkClsv5Vxb16o2Jo2+Q5ydDOSIuLkatvXeW5D3+IYX+It4lGfcU7zQ9aYF2W752igRiFG3M6bxhNa+qmZV5PKK3kvqazKbdv3mEyGbO21ufEiWMMB0Os1fTOneXujevcunmX2WTBZDLFuRbnZBbj+qDk1IlNqoGlsJFeVRA1eALzWc2Vm3d54dJNGmV56sIFyqqHMSVtC69dusHZs6c4f3aLvrUQF2gDi1nDrK5Z2zpBUYg3Kr32kndQWIyxMnj4EJQa3wYrLDNn8hUgWgaDdYzJ3uYHI5JDEWPWRR5ItDKb1uzv76dJC8l0Zm7MlYhaJi+Erv2nK/1NOdxcOKFNiVISBU3GC3a2xxw/cQxfCcGyD2alOm4FusrFO1EAbWIktlPeeuGr7Fy/wmi6YJGoCVFKWpWyAks5GGuFstD7wGKxYDoFVKSqLNaW+EKMuPYO71vmcweLFrAoY7Aa+oWRvFhwaKQgSemVgeQsKx91aqr20aMppGgED6pGzRpuXn2T82sf4akPP4uxNXeuNLjKE6JKfMHLrkiFwoTk+wpE0f186XZ6icdSJeFybFYO5JehaUZBPiixphD4k+zoKlZulkWz4MVvfANrNDY1ysdIt8di8F2VqLFCmiLOmlTwBwxEI0gTNjlbS77aGKPwFBeWoigoFexs3+TlV99g49gxes4JIhC0GPCQmZ9Cd76V1odU5ztzbYlNCfjsZ3+X23euAVpIO7rZn4oiIVFah+V9ZtpQTJq3ajC2B0gPsXc13re0bsTdgynbL+6hEMrCyEJmcSaijxAi0YcUN8WuD1jGsQn+IXqb1BedjF+UdhgfA/O7V/jdL7zA//zPfSqhg11Cja44sQMyVvUc3X0Oh5tU/SXZzHvujfv98HAjKkCkrCz9wQYxGNo2cv3aLQnHjZSDWxUptE7wFXJI803iu6guBPFSQwg41abcUpqAgek8jcTntKKkhGXBpL63nXv32Nvb4/ixTWneTZMicjXtYYObIqeVk9r4yGheM5u3LBZSYdi6FpSibRbs3tthb3cPrRWbW+tUvQFlMcCaEqUC6yfOsTd2uDimdB4/C0RaYnDsTwLThWL3IKBUH9vr0zRzxrM5V29sc+dghjcVD164wLkHz1MYg3dCklAWBbs7B3hXc+b0BsPScvbMgN29O5w+d5LRyKW1SZBiyBGUTbBVCm/e5tGLZ5C/saqYZF1u3b7N+QfP3Sdy+M6L9x6VOH+XbSyy4/f39/C+pSgzo0c69gn6y/zAmbw+q+6O5QQ6eB0lnqzRQvYQQ8vVyzd44IFz9CtHVXo5zCbNAkSvwIFpPyoFKqCC4vql17h59U0WsznTeUPTtDgfZJKB98mwy96U4cVS9i5P0LEIDXXrmE6nOC99trGbXRmkty4ZdaOFWL9IEbO2ZQcVKnJWNoJKcG4i9QjRS4ZepUghRpyOFDEQmjHXXvsWDzx8nhOnBhS0lEWGxJaRMJFE85fP01I/JJUvX1F1zsvScX2PlhCV3+SDgVsVAaPEidd61dKIud/f32O0t0OvV6CtFi7dHDWHKBXYaXwTgLGGwhiUKlBNJUPoE8ohe0Ag9+y7xQDBeWo/x7tWHGDlefnlV3jmmWdYGw7wVSCYJWLS1VVEurPwdsN4OEcpz2U8mvGnX3sB7yTnFyM4V9O6BmsKyrLCWgsYjGnFWfQyp1a2Y0boMhqo0GWJDVYIVXxAxYYYWpyDmKgMs8OWA5RcravE7gO5JM4nTaXp6Auj2BeXeJStbnn9pVeZ/vj3ixHNKFFYafdYCQxS3LpchhBZtA3DrZNsbG7cd298GznJZSyvVOTcAyep+kNCVOzu7LC/uycLpqViUBuFTlBszhOFkDfHEkrpxrYolcirc9grlXEBlzzhVe8zT3MAH6QCarEYc+3qNc6fP4v3fWEjSb+TuVvz9a9W06ECi8ZzMKmZLDyL+Zy2XtDWLTGIop5OJ+zt7ooxXB/S7/ewtkArg4+B4LxwaQ76RO/olQV1XdO0DfPZlMVsQfCe8WzM1172vHTpLiFIBaUyJbo/4MIjF3n0scfSZwp7h9a5ijcyHs+ZzGpObG1w9uQmD28eo6lrbu7tcux4b8WLFyjXFlUyGHljyKFSKi59lRUUYvmYE3y+WKSN+sFJCBFlWfFvMs4QOBjtp31mMWmf6dSqkfsSIaJMaj9qU1Scb7zLIaVXhpaAxxppTt7f2+b2rXtsbm5JpWgQb1fOmuSeZJhAKuUnooKlHu9z6bUXGY1GhNbT1A11KxCZNYWMQzNLAEybiNYRqw02VYAboyldS1lpmraldQHnEzlFWIZtRkNlVUISlh76asytIqk1wS6jwCi5IBOXx172nbzWREec7XHppRfZ/KHvR9lIUVhRgmQ/S3Wfkr30brdlo5ErXZVO/Wq5EjP9Xsy/l64BIJE18AG1Hhkd0KrA6AqFWxYTKgXRcPnyDWLUlEWfwhQS6TuP1REseEfnmCG3SVFa2S8RcexXeqdVclIzEbc4LLJXone42BJUy91bt3nz0mWOHdugX/Ww1lIYTQgx8fvGTteh9DvO7SFjqgRp+uIffY0bt+/gg+tQrxiFrLxeSKV1WRZoVRATI1WmIAxOPkeriIu1pCP0Us9EpVFWo3TRGVIVDF0wpyKJxkqKN7WQhIDsG/E9ZY2MBh9S3z2g0sBpYyWSPti5weXrd/nQ04+n/m+f9tWyDiOTDeQ0TEiOXoyRa5cvsz9tOHOihY+/9974tgp3YlyeDaMVQUH0Dbfu3Ma7BmVs8m7LruKrbZvk3QhuL02f+f18B3+uHpzM7C4bzS/LqHM0QU5Y52rVgPctly+/yUe/56O0ztErpSRb62XBR/aydDLAUUWch/19z2hWs2ga6sWctqkT8wa0rmF/b4TSUvlmjHj9JpEjhABt62idZzhc76adgBQtQWQ2mbJ75y7z2ZzWOYJ2lP0BvV6fza0tzj30GFvHTgh0ZU2qBJb+NR8ihTEUlVT5zmcNN263HDs2ZM1GNtZ6ohxjnqAi+S1TFdJakA9Hl7BO7kHMDkT+Sols5HmcP39+xZJ+MBJ9joJIHqfsCecd08lc8jIGgZeClz/9YXhYJQ9XJedB9vAKj2/yThUSFbkYUcajoxSEPfzIeQYDqVY2yQCDcKvC0mNXRHTQXH/jFSa728wmi/T8hOTepwKqqDwmasmtq5i88wAmpNyqTjRlQppfFBqXejhlRmOq9IsyeaPUWnhcVtqoskObDaTKa9exsobOUQzJkEkHQsArTRMCNnruXb/C3vbTeISLVMfM9JKauMnFSmnCD3ROl0DQuX0psGTkyOmPfJ2HGz5W7+ADEVWAKpGNlZR7yucHH7h54xb9fo+iFAOZ95VMSJHnkOcf6pW+3pCa2vOYKyDpNd99jvfCRx0zAb+2YAIuNiinePEbL/LUU0+wMejhSksoUhQbUuVt7g9jebZVgovfXgy1s7PLb/6L38Sl4Qcy/USepdEWrz11M0PbnjhGMevcKJF24YUJA2k96aBaDSDVvDrtuajS0IUuVMyGyifIdklKkZ9+vn5r5Ty4RUtuCQlOjKRXQSg/Q8u3XrnGT/7YJ1FIXvhtym0ZMGT2rpCZ3wI3rlxi5/U3+fjzH7vv1ngfI5mjsMx/aZkeLLBFyXQxZXvUSLO1EuhIGcmPyOQGOYDetRLoxsSjpwClMMhEDIlwHK1L876SwTTGCjIonFfk45Mb5o3JRyqwvb3NvZ09Tm1tEINDpoDbblN2EESIKB3wwN5Bze5oynw+E8i3dbSNcL2WFUwnY4L3rK+vdzRmJt2fRL9KprCbIf3BOqI4sjcv1xtD4MSJ0+zt7tI2DVGVrG2uM1gfsDZYl9E6XT9pou/Tsu46ebFCtCHfrx3cvjdiaAO9YQ+rLEq1xGAIOEKAnu2Tq7w6LD4uFdUSclDLn6U1ci4sf+cDlBB9cow6TQ9APa9xTuBL3eV1OPycFV0eM7PzdKFzjCxzsRnGX3EGgsYFz717O+zs7LI26NMrC6wuCCZ50/nQZQOLYT67y7U3X6edSTN1GyTf4rNyUsKzCqvNSKI8QohS9KFJEZ9UOBotBVueXOGtKAuD1hGCkD3EKOQSpL47k/rEotJI32LsDKTO65D0WUDQkKjkeiWv6QkxUM9mvPXKq1x45HHquqFfVhALUE1aqBQ5CM59KP+fjUP+9/LZdFst3/3y7/n3Vl7/3RajU19k1xMayY3G0+mUg4MRvV6BNRqFwfkFdA6YOKXeJ0fVytoW1iRjtuQSVmpVl+vlVowBHxtZAyPUk0o7YMHN61e4dOlNjm8OKKsSX0Iwec0DSxIHkVXDs3o2FJrf/9znuXPnTpfu8j7inESlIcSUAxTD7UJDDLlvUXRnYYTMXIyNkrOKFF4ao7vJTyE2ScdIKkOuJUOfpB75nC6SNqhMCBKjEBtok+oBUiTrwwJIjqoCQ8mrr73JdO4YdtBz7P7Mfw/d9xSa1IKFp1COg3t3+cMvHPC/+1u/+J5749so3MmFM7Iorm2ZTifM6xZX1wl6WgInQpWUemnatlNcOSKQ8FGlkNqkkN+l6kHp7zLWLkl+tLQxrJY6d/hyig7axnP7xm2efORhab9f2RirWH1IxmveBHb3R8wXM+q2JRuPEAMmwQt127C2vo7RSox+JEF8Bb1eX1pb4kCUeb6nFPUSl1WTw7UthpvHqBc1Nlpa73CtZ7Q/ZWrmVFVJVfUpikJm0Rkrm02RyAdsB79qrSm0YaEtZWpKtilyIDkPRVkkYobDpc7Z2cjnPxdKZIUPgf2DAwBO9bYOG4/vsuRpJwIfLVGEuqnlmRqT1hxWTE6KDpVA4XWDsbo7HMKSsxwmKyK/m2f9yVTzgKtnXL50lTOnNxk2a4RC5gpmMn5F7ArxFJ6bb15lOpowbxb4KKXrjZPnL6TkGaryHYEB0OWvQgiSsyKkgcwSjQWlMEr6xPpbJ2inM2E7ScbKhJwGSYw+UUuTugrJychN04n1JVW6+hCkcnjFcWq9R6Nkzl903Ln+FsdPnGU4WMPjyc30sCwKghX/6z6RYOz+u9xT74r4f4AO2jKyocuTiQMAu3v7eB8oK4UyaXCDJOTS+Zf+RZ34Xl3TSD2GCx2qJA6K79IegVxLkGst5POcE6dXm5iaahyxnfHNb36DZ565yGDQpnFeqYAnjxhcieTf3geefzibTvnyl75MGxw+tHinaNsU1UZJDTVti9YK7yLBt8TUy6g1KUpMhWJaYEDxkxKcn3iRXdpbWoHQ/WUnNRXLEUFJO4zoIpfWXaX9meOigFWBOjiCKghBJUdVp15lx/6967x6bZuPPzJ49/20ioqFZcqNqCkszMfz990b30bhzhIWVcjYKu8di1r6aTI02jhP61qU0lijk2IQ6Mj5kDwMaNs2jTZxNM1C8O50iIWYHJQuDz3c1YdvkjcvzUWi2E6e3OLhh85IhV/6nKV3m6pqlZKSbBR7+1Om0xmzxUxym4kXMyRD2baOiKK/tia5qi7XoCiLil6vl/rcEnyQmt6z0lExoNEEH7BFxbETpwRayfyNSkEQtgjv8tRx3VV6aZ2G2arEbauFvcJYnYoGLOORDGtdr+juMyKzN71bElp3JfXJkJL7g7pvJfMSoSqrVM0WDkGT323xIaZxY0lpqpaoLNNZjVKREC34touSUEbAw6hS/iQpYRdXFLhaUfLLZwXLUneV+neDj9y4cYXdvUdYG2zRcz1iucxzwzJ6ddMZVy69RtPUNE5AzKYVVhwpftC07ZyyrKTNSYnhCjFQlAVKRWbzGV3zeueURgwKpyzHzp3jez/2HF/47d+idgG0pur3qEeTZAMjnj5PP/MYr730AjpalnWoyygj15CLxxpShaSFqGlDg825Te9oZiNeffklzmM4sXUWxSL9bo4iUwi0OhuyQ1Lj4a9DBjIb12WeMrdZoGPXz/bdljzGL1Nimhgpouycne1t6e1WltZ7opJahNiFhApwEhmFFlSkLCuKoqBNSBrpPrXW4qQQkx6UzRiRCmKfIEylIyEI0hZ8w5Url7l85RrHN9fwzhJ87KrQY8zUn4cNZNdgr6QQ5ut/+k1uXr/NomkTYUAQyF8hY7Kc6KOy30stS1ITglJC/6hs0gsS4ChUQjQEVo0k6DhFre9G76mR+pW4UitCt3c0ihJrHEG3gKcoitSKJET91pquMjhQouo5n/vcn/Dcv/mjZIYyYVlb9r93aSVyW0+AILUzN67cQq0P77s33idLng2NJsNUPhqgZTpbpP1sBOrROsGSjrpZMF/Mqes5dS0kA8Zk+iSF0hItlZX8GWOLDw6lLNb2BLpw7h3Qi1IKozT9okyRkyj8kye3GA4Mvq273Klc93KB8sNazDzTaU0k0rYO5326Rjpl2bYOrQxlWdHrC5VXbzBkMBzS6/UE7jPZGOuOVsmY5HGl6l5tVMoXRoy2lLaiV/boVz36gwHDtXU2t7bY2tpgY3ONjY01husDBsM+ZVlgCzGMxgokq5UmOGiaBQu3YDJZ4EI27hJxlIXFOb/UTfkvalkr3PnrXcQtTkq/36PXK1kqtA9GQvb+usvQLBaBnXsjpG1Iigy8bzvkQhHJ02SUVhhruwgm58a6c5mh8Xx4ur2UIFg89XzE1at3aPwc79JEiOjJEwXy79166wrT/V3qWs5D6wIuSIFA7RyNc7Stx/kWH1s8UiUYVcEv/Du/yCd+7Ieom4B3QgRgKo22UFR9nnryCR57+hP8R/+P/xKjT/L9P/q9KBSPP/sp/tf//n9AMJL78Vr880//1X+bJ598MtF4QaKhEpSE0LXK+JjOoDaitGIrjFZeUrs+COlFfXCX6cE1dnZ2O8hKFK9wM8tu8h08ebiqMMeWq7JEN5LVQKFYX9/ixKmzHD91luMnz3yHdtX9RRSoWiIoURGiYjyecfnKmyjtcL7BuQVtPaOp60RnmCPsRIKidOqxFd0WUuHV26O7oii6yLVD2owQFLgoeT4xUYoQHb6Z8s2vfo2mbvABQlCdfls6Hss/OwOR8pTT6YLP/MZv41JBZfQ+nZ9WSNRjqvQ2grYEnwZka5JuF4dPAg5QKZKT4CGRuAdSkWaK+DLKEZW0wChDMIqghZmJmKP37OxGlJbRYpKnLyDNIZa9KzouBI8KJRpLpOalr3+NW7tTOgcu77Pl0ogoeY8cvRdlgdWRW/du3ndv3NdIZnx+9WEaY9HKMxvPExPDamFA8jxSIYn3MvtxsVgwm86oFw1t29L6hojGmgqjCwIwHG7wxMWnOHZ8S5h1fJRKKgCj0SaVVpewsTlgOFxna+MEzz33YT70zNNYbfHBs6hnhOCZTqa4FFHlyjEXIwfjGYtmkZSssJ9MxyOapulyCjGCtYVUslqbZlaKp9kl5kkEwpl4OKW/dIINsqEUW6pwbaRN1Y4C2QnnqNbyftoYtJbkuUlOhNEFWpUQNc4FmkZyXs576iYwnTsmc9I4pIDSAu2FpOyzUsoKLBJWDo8oS58ahUNU7OztJLuq35VO7LsloWt7ACGJh7t3b7Fo5CCElAeCmA6PJOIzZGPM0qteQnhy/6tk+xkyfOdrIyE6rl6+xGQ8xrk2VcnJPvJ4iB5fz7l+6RWaxYK6bXG+FaYSHyR94CO+TV5w9Cnq8vjY0gTHv/itr/PCl17B6AhGoXuWZ7/vw6yvDfiBH/1r/B/+7/85T33fj7Jxcp1xmHHi1DNY2+ej3/ODjG/cRTctgwpUC/11y9/7T/8Ttm+ZtGfImBWr0Zvzcp3OCW1dyJBrkD497wPeRVrvcX7GdGeb0f4B03lL6kLujGB2ALMBXTodHFrP+A5tRfe9GBWLeYu2AzaPn+XE6fPfqW11X+mQJ1JQoxRtNHzzWy8zmU4IStpZ2rqFFGU55/FOirNyy5UxFWUxpCh6yWDEDsWKKtJ4hy0KTOaG1Uq0sBFjorWMJgsBgvdExJAZ4JGHHyC4OhkoUfTGFMBy/x7OA3fwFt/61su89dZl2lATlXQO6IwCREf0LfhGSP/TiDCU75x+nSpOl/3meThFWFlDvQwQkkKMMRJ1BBOJJhK1Jeb5wtn8KBBQM+dSC7JpqlvXOfTCriUpNm00MXhav2Cyd51vvnotRayxex+Srut6PBObm+i4gLYWWwbCKvD2LvJtVLcuIRutYDgopfy3kXxMjF6w8Ujiw3ynco1eFHsX5jU1jZpTFtLrVhU9nvvo4wyHG3zlS3dARWFMCRHvWrTVRCXFB4O+4eSZLS4MTzJc22Tr2CYb6+syiUOrHHCzTBbHrqBmVjvG0ymtawgh4lupsiIGZrPpkmtR5cg3SptH4sg0WvhYs5eSpyMoZdJDjKlgQxq7lTYYIFNfgsDNbeu60V7G5M2X4QmVaPMyCYM8bDGmch9t21K3jsJqJvOCYRmIsUGZNHcuihIPIXnIYUWRkYPqSFARW1Rsbq4TouP2vRscO7WONprZZPGO5/jdEq00VlkM4kAsmoadnV2x+9oSQ43SMveOGFl2FknErnWZuFbzAVapos6wbG4RBa5WIssMC4kXHGkWYxbTBe6EE085Rasx5f3uXL/K/v4OddvQOIfzwnUaUguR0tLrZnQkYBOkFaAs+Zl/469x5Vvf5MrBNlvnHuJ7P/FDmGqd3TvbXHzmGD/91/8C5y6c4tM/9n1sFj1+/Ic+zosvv87Hf/j7GU/v8vRHnuXpjz3PRz/143zuM/9f+usX2b38IvfGd7EaTCpQILKEqHJwHkPKnaZoThtQLc75lEfyaG+IOrB/Z4+T5xbMj80Z9otDsWGH9Bwyknlts3OKwHnp5yEZRsm9SkSzfWfEwnvW5zNOHv9gIkkF5BY1rRVRaW7f2+Xy1aupx8/gGskXyhSiWUKzUhFftGDAFhZTVOKQhBrva2JoiUrjWkdRVlhjpV4jF56FkNZdrsQohVEJHQkKsLR1y+bmENcuGI/2UyW0YTbdZ3NrjWX9xQrcqtJ6N/DFL/whrZ+wSDBrTBEgwXUGJQRFqUuiUliVyAnIQVJ+32UOdcUG01VSJ+MXkv7SqkCp5CCGjERkuk3IRaEhJvg4LNvfnHPM59OUu5cUUIgtRhWCJoWAtgqc4+VXrvKDHzpHIlhOpzvvyVx/kQ2oWAljTJrpef/U0v2N5Ns8QGs1g0FBcIHZdAGIImq9QHakCQrq8ElKUNjqe0kPTGmNkOga+NaLr+PaNDUeycOhVeeNK2solebY5hrr6+sM19ZZW19jfWNIr18KIbXRqXGahKXHrigDYDyeUzctbetTqO7xLlKUJdPplP5gDUo6A6a7Jti8UXQia3eHyqqXRQjytxDEazQ6t3WHriVFfh46qDhvQmstublWlk2iI+mhy3M5BXqpm5bgI95FaV0ZluAU2ppkHGpBf2KmmtapyTZtmPxnUCzcjKLa5PTJB/j4R49R9Xvc29mmrvfvuzW+o6KkeR+bIBgV6fdLFotRKkyBGA1Cu0fyLnUH7cTUKpE9fCm/TwQXKYeklGHJKiTPQbOi6COc2DrOsN/DtbW8NmpUTOUUruHqq6+yaOe0vqX14tD4GPBR4UJAKQepMi8iBR8ahWWdfv9h7tz4Fn/lb/y7/NzP/QyVrfhP/uO/y2MffZ4f+ZHv59HzDzLZVzxw7hy6tJy+8H0817tAb2ub/sYGW+dP872f+rOsn/oeNrY+zwtf/yyF7qOUpjfoMbRr7IxuQVCcOfUA97bv0sZGUB8NOkTQMVUKigIMPqCMkfw6Gh8U0c3YvXWHx555QkbBrZjJCN1sUwEuEqAfVac8Dz/XVRhQ+JqDX/D6qy9Sbp/ksUceYzGZfqd21X3FFqUYPC1V684rXv7GS/jGoXVAaSnIsqagcQ7vm9TqYCTNFKSwL3btbwJrOl/jQ4uiJMaIVYaubRdJz6ySQCgi1mhOnegxHs+ZzSNGax6/+AibG0NC8NR1S+taMbaNJ/gWnfc2uZgrGSKleOvKVb7+4is4bXF+niDi0PGfCamB3HtR6ETkobqewo7ZKpKqpLPRsuRCrmyUlTJSvUtGH136lFRQJu9ErnxbZsKkKwGUkKmnNinn2gS9LgugQkSGomuJolumXL30JpP6kwyL1H8f6YziUj8DGQlBC1+ute+bXLqvkZSiVrG6KspEj8GGZncP5vUBpdZ4Is6l/ITKfVgr76FWL3H5d2sNbYJ+YlDUizb1di1nOqqUMFZBoKuiKNg6dpz1jWMMBpusr28wGA7oVZLD09p0UYDWGeiX6KBpPdPJHOccTd1iDBSFYXQwpd/v49MA536/38F1uaAoRqFHy1WJOeeXo5ClQljmSUNIlFwJpw4hbyKVjOQytxVCoGkalFJpw2oKazFWfs+amA6BeEiLejkepm4dTWuxwWNtnxBSpXDI+YjcG6Q6+KeDwwJcfvMSm6daQgisD9e4fvMmb156gxMbH1zhjk6RPzEQg6WqBqytrbO9vcOSECJgC0PMEBWpuEArnKuFsSmE7hQaXSGFPalHN0I+7Pkze2WRGvjlPYfDAd41zOeRuumj9TqL2Yy1jR47N2+yv31PnC4f0tqSpiVIdIBKeRptEvIp+dLoD/gH/8X/jfXjF7j41PO8/splfu+z32LcnuPNl15ntrvGh58d84dfepm4qPn5/9Wf4Xd+8y0mu1/h6oHnR37qU7zxyh9z5epLXP2dN7h25wZ9+rRaY0NkMWlpwgxjhAZxf3/SPf/k8UmBVhorFxHHMDP8aJVQocQMM5tO0rlKTdqsKJ3OI1ZpLR250WUJt8bu9ctckUSUIQZ8qLl14yrTgwMee/zx79i+uq+s0O4ZU9H6OSdOWfb2G6EDTBGaUkLrV5RVSp2AtuLMl2Uv9U/P8R5c6/AOiT6BqqowWtPUC1rfyPSZmPl1DS44UJFSaTbWSzY3j7NYGB6+cIEnn3qcqlfKcyN2kGge1hBXjNmq860JfPMbX2MyHoEBYzMNnceFzNSVnqhR+BgplMXoEulpdClKTQMX8nIlZitxLbOzqTrdLbnLjMykgrREcQcGpaTSV46oBoTlLIbcBhIhyjCM4BxoLfUGyqb3TGmSEAjKcfvam7zyxl0+8swpVGxlfyWkpNN3hJTLFT2gtcaogvcJJO9vJEOayKqjwqjIsfU1FH2uXr/GQw+f5PjmOvPa89al20xnB2K31RLff8c+TEYFEOo3JKKRSijHkjU6eS7JC9faSu+bBlv16A/WGAwH9Ps9qmpAUQykMsw5dJTo1rlIUaWIEsV4XMvk7HpOcDXT+Yx+v5IcX+1QUZrVE0ApqjhmQmvT4fFN03S5Tqn0ShtMpabbbsNIJKNsigyDJ6ISFVkU4ugQ8DFXW3qc87StTKJvjaXX62MLRfAOEOq+GBXOeaqqlFYPH2gaD9FRFXI/HQIg6GBnMMlQV5SDHmNk+/YdLl3fZrFoqBcLJvMpN958g//ZJz9y/53zHRRjOn6XbpOPRqMuhxGCw0eP9yoVSpRoYzBK+icJC3xoO+h0Y3OLrWPHuXXrOsE5FKkaMMEekYiJikHfYmwPH0pOnznLQw+fQWkPsUfrAqWTvRR8y7XXXqVpFiknlYqiMlEDUnyk0rQPWyy9VZUy+E2En/mb/wt+8ic+zhd+9bOM711h0DvByWeeoxlf4vq1OXOzT1vv8OU//iq3b77BZrWgV+/z4md/n+Obpzn31NPsb3+Bv/CJH+E3/9Evs6Dh5LmHGdgp16/uUBjAG2aLCTknupSUk005JQUpPx0oM7F38sRn0ylN0zC0Mrezy/tEcUTkdY7MdCIbLxnIEDqlt0RbYBn1pMkgPjAZHfDNb3z9O7Gl3lfquqawPcnLRktZlnzo2ae5fPkyzbiGaJJjO08FOX0imqqqyKCSNQVFZZnhWdQNdV3LHoyaja0tPvzch3nrrTfY3b1HiC1102KNzJqV9jgNKlJY2NhY5+TJhxisHWe4ts5wOKSqhC7OpP5BSGPxMnDZcVQvUwo79/b5wz/4I+p6QRsV2hisrVCqIDiPC44QnLR9RJjPa1wLRREoStshWyIh+VhCMiFGOp2jrrxFzpTYgTxrk0R6knSrTihaahmJId+BE3QjpStk7F9J7RbdXkOnGtUVHaEoCH7Kb/3O57n42E8zKEKnN0IQBGiZElgWPGlTSB3I+4SS928B6fJ6QgJx8tQp9nY9VdnjwQceQAdDVLMlZLPSW/duhvLdvyeLT4qMpDLq8FXk6SHnHjjB1uZxrBVcXxuV8ogSjpe9vkS9SvKHKgjY6IPiYLSgbTzWlEzaKYvZmMJolFHMFhNZTE/n+WT8Xa1wudV1TdO0h2jj5OGJYQwhSjFQiN2/IQ2dBsErDCniFbJ2nWi4nJM8ZVmWtE1D8IH5bIYtCnQa1myMok1FJNJFIgQCzgWsjhS26Ho6s/eUVHYaHrtUbioihMRNS7NY8M2vf11yUiZSqMAH2AGCzoU3SdnG6KjrOXkv5BsU5RtoQkQ7RSg8NhRSPBMEij1x8hTf+8kf5NLrrxBDi1GhqxiUaFygF208/X7JxtYG/f4Gw/U1er2KouhhjE1RvPCvTrcP2Ll9m7Zt8DGPk0qVfQjnqlQLejrmGSAXFLhUyPPVP/0qn771lxicO8nHf/wHKIqKz332W3zyBx7jW9/8Gn/+x/4yL3/163z42Ue5+updDvQ+W0+c43SlefmlP2X/Gy0/+/N/ld/4b/8pf/nf/bd46fd/l40P/SU+8kjDZ3/7NS48qvjtX/4XSH93TnnQKYwsmQQ+AjE4lKnSEkd8dMR6wc0bt9m4+DCKNmVO9ApF/jJSzM9oma/K0YN8burPRwoqAALBLdjdHrGxeZyyaL8TW+p95ZBTrD0xluxvt4wOpgk2F4o97xvahScizE9ukaa3FD1i2eDxNIsFs/mIEKRq/oEHHuFf/7l/g1u3bvKtb76EjSXRyl7wvhF2LSu5dIgMhiXDwRZVNaSqegyHfQaDAUVRLo2kzgiWUCcGFVPRj7Q56OjwwGf+xR9y4+4eUSvcoiY0nmUBzvIrhIDyUlgW2hbnalyoKIsqpYKyLsloYJraEVW3r2J6rivso+Qee9AYk+tF3LLoRyG6JlhCirhjdEQkV1rYPqonwUnu+VZaEYOSS0jXbzRs37zGeDKnt5m4v0NyzmJDngsqY89SL7YOKN1gTcP95L5G0oAsgo701yo2NnuUZY8zD5Zo5QgNQuLsEsSiDhtJpd5pNHNiP/cdKsUyykmvO9zwHSFoitJw/OQm1kpFbM4Z5ocmZf8mvbf0ahICUWkm04a6qZnNx1S9ksGwYr6YsL9/QNkvmU72cD5SqgofHIWtyM3qbe0IoSWEmRS6WJvKt013+LNBFRhVvudc2xkqa21noCR3Fskl0rk6rCzLtD5yYJqmpqkT6XBivw9RPF6tDUYb2qZFWZt68hTWFLhm1m0wSVxnTz/n47pVpWkW7O4dsDtvOXHsGMTI9u4BJwdl1+LyQYjShqBizqZKyiuIVxhCZg1a9aQE/m5bj3N1B4tn6P2P//ALzKfjBPlI43cIKbpXoLTFFppeb52qHNLvD+j3+1TVQKgITUwN5gK7X3/rLVxdC+FzngKRzUUqEgjInEClxGgSFUF5qrKkaRqMsrzxtS/wH/3t/5g/8xc/hrU9+nbI/muf496ZH2A6UUyYUs9r2raEYY9HNtd54cobrJ99kJ2bV9i7e5P/1//5yzRzw6lnniHqj/GDf+aHON5e49bN32S2b1LqINIqS9UrqKfjBLnqNGFNzo8PUYpEtEo9ZrKyIQSsbrn+xiUeufAglQlJ0QjN3op1fHeJb/t73n9xqTBDaJhOxoznDU9cfOBfdvv8j5J8aZ5IUAGD486ta8RWevPQEnX5IP16IGTbzsFioVB6ymQ6ot/vI3y6jhg8RTnk7AMP8Tuf/Rw3r1+laVtQadi2krFVPniaZi490EozXFtjsLZF1RM2r7XhFr3egKKqKMsePniIUiHatDW92CO31qigMBGiNtT1gpe+9U20kX51YzS4luhyywfETLARpO1DehgjLnhik5E81RUNKhRBBbR2wvYUjTg8HSlCBvCXuhykJ1Tp5EiGVBDU4ZxiKbWZp755iQ5zGqVXVqDG1PVMeqeVks4DrVA6zbYMnvlixGjmObVeoFK7kzg+2Vj6lQctP7Mmje66j9y/TzI1uyoiJ45viuIoCyrTQ4c+EcN8URPxqDy3TufG1txTs/y7/NsgnI82LZIkv4kphD906PJiW3r9HmUp09uVNnKYAY0DGiQaNckbES8nqIAPmtFoRuMdbfDs7u/TRsXGsePgW9zCMV/MmE6FXcL5QNAKjIbU5yg9bhlizV+abhI5MREKLOnzspGRPqnlTUkUqLv8qdYGY4r0ZcmTIcqyoihLrE1RVarGdY3DFhVaR9pWKsjaVtj5jVE4v6RaE2jBEKOhawrpyqEDTbNgMp6xtz+iv1FQbfa4d+suJpEZfGCiBG5BycBgaR9qqXoVRWnelhvJdIcSMcco/YwxkQOM9veZjHYJITktZANKqmwWqK+wFb2B9MP2+wMGfYG3hOC7QEcp4FpMDti9fQMXa1waXZTIQejIDUJIKS5FN6YsOB7+8PP8e//hz1MWlspqwmzCZt+xf/MWX/29l/jDz/4mz/34c7y58zpnzxf80T/+HNWw4df/+99mGPbwzRme3fowN1+9zff98I/z53/qz2Jmc4yp+fKv/RI3F2/wz//+P+B3P/N7NHcvs7e3DabAKqiGm3z6J/4y3pHakSJ161k0LU3raZuA96qDo5YoiSIqR72zzc7OQTqzYk6AFJVmVqeYvrXSjpCj/hWnd1kVC3J+JCr1wXHh4iPf4c317hJTpC3pDwvasfA7oFuCC9T1nEU9l8r4jnc1txGluoemYTQesVgsiM4QfYnWFW9cusybr79GvZhK3UaCIgkGRUGhKrSuiImr19g+1XDIYH2DtbUNer0evaqirISgoN/rdeQBVVUtoe3U5hBSuV6oR0z2tmlqT/AKrUtJXSlDxBDIbDsCuwcCujDYKs3LVDLKLfcQL6vkQdwJh0w8yuO0DvcQw0qwlGdsRsRBU0rmA8urJEeJ9EZqXUgPb0LcJCcqUbJWydgr+RznHPPFgrquqespX/nqi/ggejt/xbh07GJwUm1M5g93XTHee8l9jWSO+gCqqiQqR+NnLJopi3bGop0zm4+JOGQa9zKhKguU32nV619RaLlvLy4X8529PqCUZziskvdgUkldft+c+4gE7yQHmaE4pZgtFoxns2UztNLs7uzStg1rGxvMp3P61YDZdMRiPsG1rpthbLSmrEr6gz5ra2sMBn3KskxTS+iuPXSRxIqCyOz+5HFBcjOrvZj5/nK1bIZqfWrulYbvUg5WbKnrBUQpD9/f26ZpGiDSOp/ya75jvMjXEFc2S1jdLDFQL+Ys6gVVr8+J4ydZ3zwJ0VOUpovGPggpMqSEEOrv7e6xtXWM5z7yIZ548qGO5u2wqO4rpiIpYp4CsHQMDilpIPcCGy35pV7Vp6p6HWNKURTYIkH7UbN/5x7TyYQQVBr15lfeG3EAQyF5EFJvFxBVyUc/+leYz9ZRYY3CRAiWH/7JT7M1PA32Gptbm8zvgBmeZLED7uwJnnz249y++i1e/eYbxJMbTNuWS6+9wdzNufLWLX7or/5lPvbJC5x74mmeffYsL//xP+M3fuMzHDv/AE8+/yGKQtNQUtDyW5/5VcnlKHFAXPC0zrGoa9o2E1Corkc2pw2iioR2wY03r+LzdAWJlYkrxW2wjBCX/Wh566d+tdyktXIGgi5Tf7HB2vV/5fvp25GlUke4dCPs7s+kZ7SZ0bQLQpDxdKob67X8UgSUChA9MQ3ZVlh8G2hmE0Js8NGtKOrU3oU4JsKsFbDWsL6+QVUOKYs0dShX2ycPXZCsJUqVjWOMvjvjKjouv/EWo/EOTTvHZwdRJ+MIyZFLTkwQdM8WBWU5oFetU5YDtDZJZ8QOiRJdXRBD0TlVasUhzC10qbIEUOQaunw+xS7rZGhdCjByUJV70eWBeC8sRKm7A+8DbbPAubkUn0UJvKzWvPi1r7MzmZELE4XgQBO81DJIIVKgaRzzqadZZJKQ95b7R5IxGylom4bZaMR8fMDkYI/Z6IDJeMx4PEfybgW5TGjVAGRtpsjJ3HjIA3vnJl3i5Pl3tQmUlQZsyiPlXrbDxldFL7yAqdHcx8h4OqMNXkLytKms1ozGI6JSFMaAj1jtWczGkg90TooJYuzyhGVZpsiiQGmdlONhY756L4eqzd7GPRvCctPlr2VVbPJ8grSN6ERGEILCuZaihHs3bzObtF1lm095hhjb7n26aCAppbdH6DFGptMZzjf0hkPOnD6Fc2BtoKpsF3F9ENIpBPITdjz8yDmZwlD0V3cUS+O4snf0sjBnWSDybjnxhEZoxbHj64cqpFdnUsozV4Q6sH3jNt7JnDzSfMklrLMsjlHJMPuIKAXt+LVf+s/5+3/3vyIywkeDNfDFL/0xb127x6c++SPM5pbhAw9xVgX2Rm9wniFf+P1/zoMXhqydXOP1L99jf2/M8eOneO4TH2Vr6yRPPv/n2Dr+MT72Y3+eT33sY1gChXHUvmDWnOTcQxfR1Wl+7K/9FJopVVFgjOFj3/N9bGys0S8r+n1NjC4ZPSFn6EihkZJ7rx0Ht68xm9ZpR6mu5/GdO2UZQcI7z0Y+95FURZteoJVMHPkgZD6fd47qYjFmdDDn9o0Z1vZ48pkLnDi7KdOOkP7dHAxkcgohFFFdq4LSEWMjqBZ0LToryqoZFYm03XBsUn1CCDBcqzh9ZjPNqxU0J6q4PMMpJ6fRqJB6z/P3kT+jCty6dZf/7h/9KkEVRCLONaDS1BKbhp1IFU73NLSGquhR2B5F0aMsepRV2VGMduxiUSVWJ2FKC7hUva07h2m1RS4eUj7y/EMyXhlBlFFpwiREGg6OptuPokM13kW8E0g2hkwnKciX0ZrZaIe7Owc4LymVxaLh1u1bjMcHHBxM+eY3XuH2rW0W85Z723vSy/k+uu59CndEQojcuXWPg1u7iUkBUJqgDfN5Iw8zIp7UuyYpZNq0iprc2/aOz8qhOpmIOREUpMO6d3OXE4OT9MwM3QaML/He07g5javYXNvC6oqohQAg4HExMJ/K5AhtCqqqYjabs7a+xs69uzS0VGt9RuMDrKmoFwuaxZx2MMAWxTt4W6NPPY4xRXqpRH65CQRwEwLpTNEVJKjQhg62jxGVqdSi3HvnqeXCGlIcquR9ZdM5tu+M6fd7mKLCWsNiPsX0KmLRE9LqZLzDocR1UmpBJc9K8gbT8YLGR05uHmfYG7CY3UAry6C/RvyA5vrBYWOmtObChQuJ3EERhIMttScdRizebgTFiUiQ6nucg0gq+ioLlhWGQl5BKl03gDWGe9evMdrZxocW5xvaxLZCIj2XWZOpAs9HWhfxsaWspJze+AMZshwsbYhEt+BbX/xTPvZjz/LapRIb9piP1vjEpz/N6Vfe4PJrY37+F3+RycFdtvcDw03LS994g1/43/4c62sDvvybX+Yz/+RX+Fv/wU/zL37tJX75s3+AGlb0W8ugX/PWl36HZ37kJxnu/Cm//g9+g+AVlTWU2vLayy9DGyjLIQ+ce5SXXvkGvvXYCDHmyQ+JFSVEYmhZzPbYvbPN6YeOy74NqaI7c3ceglWTJkj/OYQQpWgksx3kClit1PsqrO+U9MpeKioKaF3w1muvYWPND/3oD/Pgo6e5c/cWv/Erv0e7aFB4mXh0qOZiyRm9LOwT7uUQWiJtuj+DVgU+NELSHTWERHavDP1+IYUy2ggcqVIvsFq2M3WVnpBgUjquUil48/zJV7/B1Rt35feUkigqhERSXhCVF8OdimgCUToFyirdQ0L2UGn4BEuDrDhkBDtniJSRzOiaFjg3r1JYgfHJ9SjBEPFJD+aCveXUlOh9Sq+kNjyidDB46eeUuZPinLi2JTjHtRu3qHfucPLEcbaObSW2IMNw2OO5555JyJ/m4vACN6+9xq17k/vujfsnnhQC72mV+rq9NGtHiDhalzxBVBpPlJXR0nvn8PJ1b0te85gjzPTdZAy0NoTklUmFqme6mKPGB/RdQ+Og5zYIrUF7S2MdkQlDvYYLislozsItqH2EEJjWE8pScpVORfrDdQ62dxmuD+mtDdjf22U2O2B2bMxgfY0q9CFR0MUY06xJISYIIQjbg1YdHNHBxYhhMsZ0UR0xezxyr5mAV8elgs8EA/nzdCoLjzGP8Zpz784eVW+Aspp+r2SxmNCr+kSlMLbAtSvRaGI/6vqDcnVX7ucLgclkjguejc017ty9w3QyQRtNWZR8kFNAJD8kRR3SfpNK5GPEhYjHomghSjENrEL7kCGsrqEZ3qHAs/OBUkLIb1TnXksbT563KNXLfl5z69qbNO2Utk2k1SrlgELOA+uuJSKzMYFHU0ouuSqp09SbamOdh557hp/+2b/BK1/5XYZPn+aBxzf50y9tc/XalMfOfIivfe11hqcf4MyJU5yKoBegwnFOn7/AC//8t/jQ809w+/bv8cqL9/j6F36Hj//op/jRv/IJfuWXfh3DJoTrfP2PP8vmwPLAAwVXXm8ZbJ1hdHCPGBoav6CuWy69eY3pvCFkDs4VcugOqg5iLG9dv8HxBzaTss657wxnZz2eHVwQpejFwSH/GzkTUUmxSGZz0XqlmOO7K7YoQKW+Zh/Z273Oh55/iEefeJS2jYSF9GvrVI/AuxQmrhYrxmjEKGpNCA5FGkCf0AcZypNQLyVOmIqG4aCXqlfjMq+d1yRFaTGNVhMeB8/bhxGYCKO9Pdpmhout6GnvU86wTn76Mv8cYkQZTdXr02nnrM/C4RSFBC8uIYx6uU+iTCMJIRvANOItplxlBhZUTq/lPaPT+zs5zyqhGWmmrFZL6sTsmYU0JFwrK7oNYT2yheQyq6rH8889geiBQO/smbQvBWpVykjEqjVrGxtY+y8RSeZLK7ViUClU8EKuGxW+U8J0OQ5WoK3DEpEm4/x3tfLuJA8ITILKlI7SSxgi0ctQU+c9t958HWtJQ3cLotFUpaIqS4piiLEDylJyl8OtE1z82PcRlEmzyyLz2ZyyNDS1ZzAc0izm7O9t0xsMKSvD/qhmd+8eG1vH8ANPMFJdJRy0wnDRtm2ilFoZl6MFg7fJqC4JA0LaLJHofYIR07y1II3Akoi2h/KxPoQu7yn1K4rR/j7aKNY3N1lbq/CNw+hU7eZbyqLCNcING1KSPUeUPkWsufo2xtiNPIsRqtIyny9omwVGCetGbmv5IMS1EWuU5M9Sw3m+H9fUy8Id1f0HeLuhFDkM9eS9lmDC1HNVlmUHqZJzZqt5nhCY7t1jsncHF1q6MUepx7UrziFCOhs+KYrSapQKNHWT8lBpJFtvyMc++cNs9ta5d3fB7s5XuX3+GG0x4nO/9BU+v77F8x//FJe+9XmYnePg4C3u3fH0T2xx9tHzfORHvp9YFLz19a/w3/yn/0e8VrzwrQcp9WnuvnkdpW8RdZ9YT9muW7Z3wMfIzVvXAalsPJhMWLSeJogjalSm6Y54PIoolF1BDFgksL9zm9Hug/R7Vlh7orRHZEMY0ziizOuaI0XBTSR6jCkKFbhVis+6SOX9Zi58h0QnONEYjYqO555/lmOnThJ9wIZAM1vIeiQ2GuE/TY5Y5q6WhKbsg5SvFRKRRHEZXIe2xcQFnD8bBDUZDAcJ6o9koosY1BLWX23+jxKcuLbGqYAKBhM9ewdzXnjhBYheoqvcphGWZykjVllPFUXZPQ/pXdRSmhVVbqXtdBMxdNFdiBmulRRYjmhR2TFd7gPJRwrSlatlBaa1gCdEGXqvlUUDbSv0k6rjWwZIUa5OhT/J7AgNpEarHlVRSrtJQiKXHptQCtKlCDRra4NO176XvO/QZY1i2LNsDQ34QIgaHzSNCzSLAF3lZmo1WGqvDjLtKsDI3H1v+5QUYVmt0chDslrjvCd4jzWK0mhKHbGFKNDCOqz1lKWmLFoKO0cbK42qQXPs+A+DEUUWvccoTe0cbduidMl0Omewvk7b1owPRlRlCVFx79YOJ09NGKwdSxGVEBlrrXFeyKpBo0zKr2rB6RU5AkrMEnl8VqrS7Ibedg6FRqU8gKiGxKSRGuBjGvtUNw2Les50OuOhhx9Ba4OrW5raMdzcoHUerWTAa2jr5DGFJbyaNsgq404IMhZnNp2BMmys9Tl9/BgvvvI6VmmKslzCOR+AzKb7WDMQom4CrlnmbOfjkRAzJyow2T+rv/12BwyyslkS9Xc1rgmK0owOGpSeYlTEoGl0i9GTlHkL3LjyRkITogyq9W7JxJZYR0JmpFnJMddtREXH0Fha16A19HoFpTZ8+Z//Ll9sf5U6NJw8ts7tbctjFx+ht36cwfAEH//+p/nE9z+DjZEvfGafX/r8r/Hv/+//Fjtv7VOeK2hngYfOP4RTAT1Y50R/n9/7tT/GKA+FJrQLXJRChxzBHaJEjIrWB9oQkcbulMOOeX/qdH6TgvQeN59w5eUrPPbsBar+qsJe5r3zXM6E99PFpFEgs67gLQpVX84r5UjpgxWFMnDq9ENo0wfv8MyZtfNUDe1koAAQ05ACpUyHpGUkKO9J0RcBYZhRSJWnF2YjnSFb2TMy/xRGByOMLbDagINYt8SFpSkWzMo+68fW6a8PUD1hb9q5ewcVFYXpEULBr/za77G7u48tC0qdW6OcRMoUkpJKU23ylBCikqLFNAqLjLyonFvPuntVx/sVR1GGK0OGfCOrjGVCO5fPISwWLULHWeJbBzpINGiLBMVD2atkrVhG6EEpUAajFSjhVEYZIYJRirLf5/zZM2hlpFo3E2MkIpaImCwFGNVjMNigsPcflfU+3K0eY2DQ76FQ1F4zbyONhyYYFu0KzCq/kL5ye8Qyp9YtfN6IOfKMUvpLyllqg3gIXoP3FBGKGLEq+e9eCMNNCNCKJxeVEwL0aLFWo8t1Nk+cQ+s+3i9QyqKisNSMRjO01QSvmE8n9HtD5pMZk4N9gou0i0g9XVDPFlTWEkOkdS7RnUkbgTYV1gg0pxD3OxPy6WJJEECCkrUS3F8lxWSURSlLQHhvCyOsDz6RcmsNvm1oXUu9mLO/v0fRG7C/e8DW5gY+Bvq9Af2qx2IxpyqFFalxCfIKedhwVoyKmK5RWlo84+mM8XSOMhGjYTafMp2MISpqF5jOPziC8zu37rF9VzzswpaydlqjdcH+eEzwTjgFOi5I1X0t4a7lgcxKSKVcR0yFF/l183rBnVt7KCxlUaLDAqOCTEZoNKPxDvPJBB8kt04qcgnepX4zQ4yJ1JnYefweaJxEaMGCwtPr9amqirqZcuPGN9CqIHjF7vY2pvCM7t5j/2BEWyue/aEP8exHPsSaiXz9619lMGz4/Gf/gPHOLSYHu5w5c47P/uo/gmCgrnnjzSs89uzHeenrf8K//gt/jT/4nV/lypvb+OA7gycFE7IvqqJiXLeJCSVHw0EMZBQHOQSB/eQ1onCmu7e4d2OdBx4bdumFzkB2mGtuLUjuc/eauKI4ZQpPh0gRxYn8IESb1IMncJxkjVq88jg887pOuSxR1CoIb6g4vZIWWBYT5uBA3rqr4NeyB7WKAu3nmYsK0IoQGq69eYN79h4fev5D9IoKg6FW4NUC4yK68RzMZtBOMDi0M+zvTKinCxb1HXZnkRcvXcXHgLF9rCoJYSZ6K+9LL6xTSknKR4xbSwiF/Dz6jgksG8LM4yoLk6P9pM2jvE4piEp1gyOMKXCtkEMYu4oQKMpudq3C9ITJSeDWBMWuTCMJPjsUiME0SvBWRUp3ecDgo2Pr7DnOnNoE7dAh11jTRdKQaS/la21tgC3uj17c10gWaNZ7lkFVMW9qRhOYLSIeTdSGSJuMgE4Nrimo7jz7d1ZVHi6uiAk1kE4prTIzTSCGhlIHjFUUBspSUxhPWSiqAgorUFbVE1iuKCJGO6xVlIMNbHUMfEBHhUvXYI3MZZzPpgwG67jWMxnX6YFBwFFWBSq2LKZjCG3KD2TqpVR5SStesjeJ7zLlAo0mekuMkTb17kjpckgz5YS5yNoyzZxL47esSaz+mrKwXYtD3bbMJyMm+3s457GbW+zs36KeO/qDHjdvNSzmcwZVgXJjiJ5Sa2x6v6KwWFsglFqRqIQRqHWO0WTMbN6Agp2dewQfmIxH9NHsHYyIHyDlTnBCzRdiILQtKJmSQNQ0TUjshe+eR1jut+T1JtHJKZP/+RUifDF63o+5c3PGzt2bFKXBWoU2FZvDLR483qNJTkNUKS6NGVbMe1yiUh9jSkkAMTAoC9b6FfgWoy0xaGazhhBbdNQUZYXD8FM//ws8dMbx9/7Of4tdl77hf/j//M947Stv8eyzJ7h06VuM7m3zlbvXuHv9LZrGcObcGWazMbrUOOeZ37vLy5MFznn+8Pe/ws6NaeeY+bAcGbQc62RliLpb0lfmXG5M96KVIhor3JnJIWy1Y+fOddZOnaXNxjcGVHpfMRK6q1pNmBqKZWN3NqAxVZTGzrh8QAiGSg3vICPkCOAavHc43zLaG3W5vxBl+HuuslBolr2KStZAreTAFUgvuDgOWqU+caOFUF4lxClGom9o45zXX3uRNy9Zcbh9QOHR2mMNlFbRMy1GeQrdw/Q0ygZs1XBz5xizRUsbfOoZl5ymGOMIscYohdYW7z0+OY7eOYz18qzSIwgZDVCxcxBiyBNE6FJOhbaSG9WgbYlJukwpTdnrJWc9E6JDLjCSNo8ECXXcuTkHK4w4Gpv2jUcbBTZg7HKkoEqOjcyeDPQLKznGpCN0QtAUhmgcIebhFhCjZjgcUhT3Ry/uz7hjYG04YNpGJjNH2a/AL4hBpkbnYZk5vF4l0M4Gctkzufx+x8TQHSLSphKOxBgVVglbiE2kvKYw2NJgrCJqaKLGR0PTJO9u6lOVYskg9hnfuEFV7WIKK4leIrYwlGXJYrZgMh5RFJr9vQOIjslkxGw2prB99nbvMD6YYooiGZsSYwvKopRBnaWiKHoURYXVZuV+l/e12uYiiEpeh6SYcz5D5XmcmSyYFJ1E0BpbVpiioOwNqYo+W1unqBeOrWNbmMIym83YWit49qkHGe/t4V2b8gDLHGcI8hxkDr1G64peYbDa0CuGPHjuQVofMC98kxNb6zx18XEGg7X7bpzvrISU6hXPG5WLQoSD5+2yhLcOG8ZDP08zPlXM0GLes9mRV1gdMdRYFymiRocptDOa2SmiE1iwdRI1ZJJkqRROUXoyjgKbSwQ2rApC2+Ccp0YxXQiqYE2kKnroKO9R2E3mc0+xtsHZB85w/Y3rzPev88KX/zFXLh3j9pVLBJeeo5MijBtX92QMloemERh12u6hrebNV74J0OW3QmjFYUvQmvwwsjnoM6+nuLRnQkSmOBiWa0auxoaYxmqpMGW0N+pyPjFHGhnmTuseEnoUEwLLyt8jWsr6g5wVrVKo+wGIb2t00RPftw3S/x0DBC1Gcn+E0VaebxpFl9MmpNFpXXTQTcXoQP0UuQFR9rYLDUSNjlIkZwCtZKJHxOMPFtjCYEtNWSl6RUNZacpen7LqYauA1QodGwhg/RCn15lMFYt2RlM34sjlsWSxJcQ6nSl7KEWR0wOuEfQsJH7okAg5SNxXSme0RubfKpuKlQCrCimkSTR0Wqn0+uRIKJt+F/IZzYw6InnYQJDNR0QFYU3TSqNtIUMxogyxlgy5GHClIlHJhJbQeIF6dcwtoEgSL6SnYFOXgXyuLQqqXnnfvaE++BzAkRzJkRzJkRzJ/zTlg2uGO5IjOZIjOZIj+Z+4HBnJIzmSIzmSIzmS95AjI3kkR3IkR3IkR/IecmQkj+RIjuRIjuRI3kOOjOSRHMmRHMmRHMl7yJGRPJIjOZIjOZIjeQ85MpJHciRHciRHciTvIUdG8kiO5EiO5EiO5D3kyEgeyZEcyZEcyZG8hxwZySM5kiM5kiM5kveQIyN5JEdyJEdyJEfyHnJkJI/kSI7kSI7kSN5DjozkkRzJkRzJkRzJe8iRkTySIzmSIzmSI3kPOTKSR3IkR3IkR3Ik7yFHRvJIjuRIjuRIjuQ95MhIHsmRHMmRHMmRvIccGckjOZIjOZIjOZL3EHu/H/79//L/HUERAaXg5Vde4aknn0IpBQqIEYioqHA+MpmMGQ571HVNVVVobVFoZtMxZdXDWpt+R0ShiWgINc1sl9dee4mNjZMMB5sYq9DKUlZ9eutraGvRWCASYyQSQUVikPeLREhvHWOEGFHkf9P9nvcO7xuC9937LC8pEn3o3i+g8ESCrxkd7HJve8RwbY3ZbM6xrXWUguFggEahQs29u1e5fWeKL/ocP7bFsfV1ooospjN6lWV3b4fx1KGKHmsbG5w/e5phWaBQKNUtC5F0bfk+AQKg8oXKi5VS3ZdWClAoHdPzUSjM8nWo7j0hEmJAXmZQQCAQMRAVIUZ8CPyHf/tvr1zVd0/+zv/l/xpDjOzvHxAJHD92TH6Qrutg/4DhcI22bdAaelUP17Z47wkusDZcAwwxyp3JxtCAQkcHKhJwzOZjXn/1NYaDAevDAaU2KNWjWlujt76JMRZzaAUiIYTlMyHvNflZjHJOZI0DpPV2zuF8g/ceYj42sfu5AtLDADQhtNT1hBAU93Z3iDFSNw0b60NiCKwNB7SLCdeuXWNvEil6G5w+sQahZevYMaazCdbPubd7wLQOmGrAseOnOH/2OJW1sl9YPR+RfD6IsHJ7LL+hDu23iEZr2W8ohdIahepeR3eLck6Dj2il0EYRCd3zCQS8D0QUxhSgFP+nv/N3v+v77hd/4d+MW8e28AGMttiihzaKsuhRVkOqfsH62oD+oMdgsM5guMXa2jHW1jbpD3oMN0q2NvtUPYPV+cytLuPKnkn7SCvNdDbj+vXrPHT+IW7fus0bl97gUz/4A7z66qvMZjM++clPUhYFIUaInhAUzgXqtmU+bxmP5uzvH7C/v8tofMBkNOLg4IDZaEy9OMD7mhgcwdVEPChQSlP1evQHA3q9PoP+GmVZYAuDUQqlImgFRIqij1Zl0j3yPUXSMaK5lveoYnqF3G/Wyc57lFIYYyBCCL7TuzF4vG9p24ambWjqOfVsSh0MF598Gg14J2sX8n7KyxnVip4UOxVjsgkh7+m04jESo2KxaDjYP+D0mdMoFVEaFIZf+MW/8Z577r5GUqHllpXc+KJekM4Bb3/HerGgMAXBK2KUDa/yTRAx2kA0LE9gRCVFHXRJNTjGU089y1uX3yAEx/rGFuhA3UTCRDFY20DpiNagVCTESAiq24AK1Skv1f038nbR2gCF/Jp3hLD8WYwKtErKQjaAAYwu2FjbYNgbgNLEYxvMFwuc99y6cxdbKPbu3mMyWRCrdc6fPkuhHaODHU6cPE5vQ3Pt6l2mLVBWrK2vc/7saQalTQpbYdL1xpiMdN4MWZmtLriKnWHNW5VVQ9v9ZfX+Za1Rcn9aaWIMoqTTwYkxGVcFRn2AIEO67KZtktVZGvqmbelVPRTgnGNtfQjAYjbDGkuv6pE0QXIMYLkXIqKOFUoVDPobPHXxCS69dYmoYH24RkVLPZsQVWSwtok2tlP6ssZaHsXK84lqaSDfLp1ywIqCiAHCyqEGYnJ+5Hk6rDZgS9p6xpljW4CYehcck+mM/dGIy5evMJq2DIYbnDgxwFhF8AYVWvo2cPP2PaatQffWOHHyNOfOnKA0yTFCgQppnbUYbkK355a3ka9Q8/YTL8YxsvwFOedZeaIUWhliRAyCFqcg+CgGVanutBpjCEGep9YfzL57/MMfodcfcGzrBBvrJ1hbW2d9fZ214YDhekV/YOiVFf1eQVHY5Cxkw7EUpbL+EG00m83w3tHvD/jGN7/JcDDgwQfP80d/9Ec8efFiUtZykB974jEefexRlIbv/Z6PEyP4EJkvHLN5w3i8YG9vj53dbfb39tjf3WM8ntDM9qnrCU2zwPsFMUQUGmM0Va+i11unrE7Q7/Xp9XqYwlAUBcYUaG3RRnSqVtAsFknfa7TWWFslByi7Sqv6dVXLLh14lfVYcpDE5ipEpci1EeTvUSl5jQ4o7dBayR7wAed9cuoi4Z2qPH2kWur+tF1FX5pOt4lO9QAURcG1G9c5febU29/oPeX+RlJxSMmcOHmqU1bLJZPXuLal1+/jvacsKoiK1nlc22KtXSqXld8RdRXQKKIqKPvHePTxR7l6+U0mo4rh+hBLxNUL5igGKULQWosXkN5n5ULJa6VWblx+vDQcWhtiCAQVUCrIq3NUnByDkCIQOf+KwpRE74lRrnet6oFSbA7XxAloG+bzlplzjPZ2sDpy/PQptnf3qGdjJrVHlWusb2zy4LkTDAvbeWES76xstRgPb7zVZ5gdFMWKsVx6LYci0mQMVbdz5DComNffAAof/eHn/m5e0HdZlFKUZUmv1+sMZYwR17YURYHznsJYCix1XROjQmuDMZbu4LzNT5JbEkdNRYVSJf3hMZ544kneeO0SkzhFra1RBo2bTJlHzXBjE23Myp5naQhW9pxKhiJ0CEba50S01sRo0Vocs5gdFhAHL+/NGIkaolbYoofzDXjfOWtaG06sbxAIFBdqXnnzNmVVcrC/x8bxLVofCAd73Lm9TdCGojfk2OmTnD11nL5R6KhlTRCvOhIgpv3/bntt5T6UUqCX+0irmG1hEo9Smg55InaRizY54hYH2oeAMR6UTgpOlKhEnOHtF/BdkX/7F/8tBv2KwlqslSgZVs4avOvahBBQSrFYLLh27RoPPvggOzs7vPzyy/zgD/4gt2/fZjQa8dzzz/HkxYtorRkMBvzZn/yJzql48sknJbqMkbb1TKcNB6MF2zsH7O/ssrt7l93dPWazXZrZiKauadsGQgsqoI2iKEo214b0esfpVRVVr6KsKoqywFiDKcQgKqVRenljnUuSAo3gszaKaF1QFFVyhpK+j3T7VfZMcrZUckiVPGeUhhg6faNUTDpbNk3QQAio9LnZcZLrE7sQfEAXCg8rDolK6IsiKptOZUDFpK9VjigPP6elUwanTp7COU9Rmm9Lzd3XSK6GjN57qqqSw5IXSgFR4YOjqAq0UjTO06sqYozMplOKwlImI9m9Wb6DrGyyElcFVXWSxx7rc/XyW+yPPFvrGxQ20NaBKYHhcAOFJiY4oPPcVq53iQwsI4jlYdZiPLRBxbCEhFbvOkchOcxUCqUsuqhom5oUkKEgmVTNqZObTMZ76IXhxKlTGFqIAe8d2zsTFtEzMJZT/TMYFM57rC3SJhFl1SmXdNk52uhOZ44c04fnDSc/StFB3rjdxshKJ8ebed3FeIYYQOkOIszPSalvZ/t8Z8QqjVeRe9vbPPnEE91Gds6hlHi47WLBsD+AGJnPZlhbYGyRkIIIeLlfjShn6CLSTgIoVdGvNnjq4kXeeON1JiGyPtxEWU89PUCryGB9A7RB6RTvp0OaRd4z0n1XQYyWZSQW0BqMSc5JbLs9p7UmwxkCFSmCiiilKao+YTHrUgqkg66i5tjmJqe3Drh7sOD8+QcIoWZ9OGAxHeM8TOqWrTWDjoCrWQRFVVZ0ZixBq5ElfBx10nFheZ7ECYugM+KwjKoBgsqvYiWaluvPZ1POG8QgCg9t8CtKLe9jpUAb8y+3ef5Hyr3b13n6mWeWrk1YKlyiRIRt2zIYDHj55Zex1nLhwgW++MUv8sgjj/Dggw92a/Pwww9z/vx5tNZcvHixe9Z2rSACrYem9dSLmv39Mfv7++zvjdje2WE0OmA22WM2nrCo93FNJEaPAazWFEXB+rCk6q3R7/cpq4Kq6lEUJSiLMpbh+gCtFUZblNadkYtADFnnpRtLOjDdNtr79HkRra2gIOnhHkppEVM0aJIB4zCyELO2SW5QBKJJijNptpxiSHtAK5PSPwaUx3mPweJVwOeosTMhUfRd7PCYQ89TpYO4ahsUct5mszl1Lc622Pf767r3gVuXHrnzntlsCpxaKtt0ad57ClvgfcAYg1aapm0xOmI1FLbo/PBDgE5c/aTsmRYUxQYXHnmSq9cuc3Cwz9bmJoWFUE+ZAf3hZlrQ5c3lCGz57suQK8OK5AMPKG0IJCOX8pNyKGKy2apTSslFwpqCYALBt6gYk2OliCqizBpnT59heuUGO7vbDKuCYb/i3OnjKD9nf6LRvQHD4YCDvX2qfsXe7h4nT53Cty1ra0PJBxBkfbvItotnxe/rcgEsc0Sdt6/JeYGl8eTQn6v+gFKSegghJuOYc5V6Gd18AKIRT1RpjVUaHcETWdQ1RmuB5RKMmXOR1lrZZyobyfTVnVt9aA1iinRUNGh69Hrw5MWnuHTpDUaTfdY31ilUYD4bAQL3RyWweIrNxSh2y7QatqqkJOTv2VHRWiCwGDXeh6wvQGtRXvniknFRusDairZpcuJDrl+BMkMePHuK/dFVdnb32FzroULg1MkTNIsJxWhBZQo2NjaI0bN7MMXYAu89/X6PXmGo0rnUqM5oduuWz0I67CnekztKHv/bA6vsLOTd9nb4tttvMXQGNAQvkYPSkq98R7T23ZEvfenLPPDAAzRNy82b1zl79iyTyYSXXnqJH/iBH2B/f5/d3V0+8pGP8Pjjj6OUYjgc8ulPf7p7j4sXL5JRLUEPoGk8s/mCyaRmd2fK7u424/0R+3u7jEZ7zOcj6nqEa2q8a/GuoSz7lOWA9X6f/rEeZa9Hr1fRr3rYXil1GlWPMkG/VdlDa8t83hDR9PoVIXjJnwc50zE6Qkg59ZzHixCjT38GVEqThaAwSp6RwN/ZWfcoJShEhlJFVAdtAofsVUSnqJIuwlTKQwoG5DME2VNotDKYVCfhgk8QrRIDm64hfWRCQZYfuAooLl+T/5FOUITNzc0UBIH6Nnyy+xpJnQ+CROC4xolxSgcpRHkAzjvKoiT4QFmWRGCxWGC0ScU7AuuprPSz/coefr6jCFEFUApb9nj44Ue4cf0aO3t7bB3folCWUM9REfprGygj0GtUqisCyIvVPaSYD/cSMlAq5U+0Qq94VeJBqw4GSSGB4OZRFG1RFDTBC5SQHpAYFM3a+klObOxxezTl+LGH0SZSN5GqHGKY451nPpvx4JmT6KA4vrFJ6zzj1jGZztnf32dtfYh3jo2NdbSKFMaI4VQKnTYuyYh0m7eDMd528+8pKWrMz1lLPjI7ChlC+qBEK0vjHVtbx2S/xYhWkeFgSAie2WxGVfVQCikS6/UxWndQa1bN4nAslfYS3o4rHqS4SoqSoq957OJjvPXGJaYHU4YbAwo8i8kEjaW3NiQm6DWvd1f0kvZvFpUcKIGxsnMTUzQZk9JKhzwiyiNKVNc5bMpiyh4hBIJzy+g1ytOrhpucPrHO9Xtjto6vM6sbah/oVSWlmtHMZkymU46fOclab0BUikBkPJ3ROM/tu9tsbK5Tz2u2NjfRIDmgdN0JcVyJ9PJXJOolWrG6U5ZFOyt7SC3PnwaJKmN2HWS/oWKCOD+Yfffyyy/z1FNP8cgjF8h55AsXLvDoo49ijOHUqVPv+bvORxrnqReevYN9Dg5GjPYn7G/vMR3PGI/3mE52aZoJ/3/m/jRGtyS978R+EXHOefcll5uZd6u9emNv7GaTbO5qUqRamtFoLA00xnjgBcYIhj/5kwDbHwwLEAzPwPAYrZLG7AABAABJREFUGBgYazSLRoIxJCRR1EJxF5dmk72Q7KW62VVd+93z5vLuZ4kIf4jlxJt561ZRYtd1VOXNzDff95w4EU88+/N/NpsV2jhlQUlFUeQM+l060x79wQBtDOPxiF5vSK/fo9/r0+316ff7dHs9sixHqhxQWOMS2YxxVpdliRCCPM8wVmO0QRuDtQZjmig4w5ejQ+k9GM5tmqmM2monLLU7G1JIrDAYG2hcegPQegMkWYxETwzqfch/gG1BFhR9An15lyuepuqqTN6HVzwV1mp/7ShRkhu33wXSGTDRonTK33g05s7dOzz//HPeIn08bbxLTNJN1gjIspzd3T2kkNHEFVh03bg3eDeNC8Ib6rpGFTl5XrjJpq7P8DDJAYtmsfWxJKFQWY8bN25w59abnJ+dMplMERnU5Qqw9AYjRJ5HF6H0mm5ckHS//E/OUgxzMUihXKwF67Uqu23xhl3136RQ5FlBU1dbBOGsN8WVgyNOl29yfP8hO/2MzmDAeOcKm/o2Z6uK2fmM/fGIQZ4jDHSUopgMMdYyHfVdJqQxzBdLLJblcslwOCRTkuGgT55l3i0FWI1EeYbsBXyqvYvkGWjlZ+uBEN5iBUS8gheaT0ilB5CSutIsF2vEFe/OsYYsy6gqjfTMxRpLXTcURZdut0/I5oULGiVc9MYEW9z/5qw4aTM6xZjnX/ggr3znZebnSyaTEUptWC/PMELQG/RBqTbsEBdVXGIWwaK3trU9EaBUmyQTMxKc1HYU7P9mjNuLvMipvVWAn7UTO4rDo0NOz1/l+MGMg50RnazDYHJE2WgenpUszmZsdnYY5CCtQArJzmCAtZrJtS6NMdRFl8VqhbGWzbpkMhpijWHkvRtSOKZohWiZmgWkQGx5Lra5TRD2cfGlwdo2MSdYk8LTmzZmaw/fz/G3/tZ/xrVr18nzjKtXjy4lEAUju2ka1quGxaLk9GzJ6emc04cPmZ3dZzmfsyoXrFdzqvUCrAYkShm6nR6DXoe9nRGdbkGn6NHtdej1uvR6PRbzM4bTCetlyYe+76Ps7O+T5zmQxXtrbwka7b601gij0dqZ6Cpzfg6VK4SWIDToBmNBCKdA+hSwqAxHq1IIMBaVZWzKNblSVFWDlBZZBJ7vPQkEHuv9EJFNGmICWNCPQlwqGduCcjuzHymc8SIUdWOxImRN+5Q7K53Sidg60mnYTQiXod8K0kQWCJAqQ6nCPY/Q7usx4/ExSRH8uILNZs14NPaaJNH5opSi2+nQaE2RZSghqZuSonATUSoP8tALysQmF4k7LIl1OEvaazFZn6vXn0fdfoP56QnjnR2syqB0G9UbTVCqQAqcCyhkHSbaihUm6hvCpraF9EaZQnrLGGPinGyyv6lvW6nMuTG09msR4jqCvD/kaLfHW/dmNNOnGUiNadYMez2Wi3PK1ZrT8wXd/anX1CXOiWcQGIpMkltJdzrGYtmbjjAWlqs1Zd1w6/Y99nZ3WK1W7O/vITB0QhkJqUVpEzJqg9lC2He0NqV3sVkbYpNPZkgBUgkGg75P6MDPx1BVFUXhFKO63vgkLuGSw5JTIwFhE6Hpv0fBlbgPo0Sz1ilBRZcXPvAib7z+GrPZGdPxiIyKanGOwNKJwmN7HV3CgXcjxixl0jsjkQiZQeZ+NzZ19W8rjQINViJkB5lrdFW5OGrkQJKiM+DawS6vvnlCtTOkqFZsTI/RYMx8cZv1esnD03O6B2NCsF74fwWQC0meSXrjsaORMRjrrM3Zas1ytabb7dDJMvq9HnmmyJRzOYccDSsShrTl5vdembDWto1TOjK1SOmT5IQEI1vr+n0ezz33XMziNNZQ1Zr1pmE+W3N6esZsds7D+/eZnZ+xXC5ZLGZs1ivqeoPRIXNS0ekoxr0O3ek+nX6PotOn21UMel2GozG9Xp/haMhoPKY7GNDpdsmynNtv3mKyt09VNezsTwkMyyWJuoQmKVykXQfPF9LTscvklMplUCsl/d/d30JuTZvJruI6t25Xtw9KQlNX2Dzznj7hts60qtmjuEerEF1UlNzZ9eLTnxlFmy/h6MYpYv5LusSppmmwuNfw8iAINOGzssOhb+OlnvK8sRWL6IQFYcAour0uVV1hrPFVBY/ndY93t0qioDw7O+PqtWtRMwhCRykFSlFWJZ1ODhjqqiGXBXnmSi1cQok/njEzKrhx/CNeMlyC2JHIrMPRtZtk9+9wfHLMZHcPkNhqA4uM3kAhvIW17WpNLifCCyJ4voj1XliXlGENxoIRhpCGERlY/I6zcnPnMsOm2opFoNjZv8nJ6WucnjxkevOIPBf0en3KzZrTxYbT8zN2JkP6eebX0rnjTCBKv2bCGl+CYtkZ9QHB+OnraGvp97psypJNWUb3aL/fpZMX9LpdsMK5r6xFogmx5agAIsFeJmhHlJY24ef9H0IKZvMZe7s7MevRSkHTOPrpFM7V2ikKVssVRVHQUiRxP9poLZHO4i9BayAc0+T+5BSF4Jlnn+ON17/L6fycyWRMoS3l3CkZ/f4QlExihYGubYzluFhva+FH6xOFQoKERhist6QSe9Mf7OABEORZB6uNdzW1MxXk7O8fcHxyzPHJGaObN8jzgn6Rs1zNOTlrmJ3O2Z8M6XeUV3KNt3CFF+Y+A9GCsAYpBDvDAUjB7mhIY5xr9fTsnG63w/lixv7eDtZYhsO+z6AGiWn13hi3DEVMFqy8fM6F8AzPXUHKJ0N3t++dsFiseHg85/ThOefn58zPzlkuZqzXc+pyDXrj3HdS0Ot2GHd7dHcGdDoF3Y4rr7A0XDm8ynhnzGg0Zjga0R8MXMlF5hNpgkqb2Aud3oBOv4eQlVOk8Azel7sFI0NIb03516QMiVESpVRMOHK8ULS0CEhrnazxirKISWM2OpxsZTC6iefB8UD/c8JcozUp4sejxda+z2eSY9G42HNqYYpI334+8cspU6ap/d9T4ewUrhBCt+lR9p6x1hgznr8K/5ry97GU1coLWHWJD14c72pJgmNadV2CddoMClej6N1BWjsXmMoKTKOxWiNl5uqJCBZkKhS54P4SOH7ul/lCwB8EqD57B9eRSnB8fMJouofILbpcsrGG/miMyoptdvcIASy8rR9TYkTrMmjNcu+GtCZeQ0jRWpjWuV0zVdA0ld+c8GdJlnc4PJrwxtsPOT5fM+pm9ArFzmjEYnFMtVlzNlvQ2911Oox3WUl/7WCXBrZpjbPmvbxASUGmJJ2iz85wGIllvlxisLzx1tvsTKcsFgtnbQoo8gxFcI95HS7V/DyRBe1s25nxPg8pOJ+dMx1P3C75Z6/qmk7RIZeObCth6XR7FHkR57vtdmkvmdo37Ta35Qrhry4pQQAFeZ7x9DMf5K23XuN8Nmc8GtHBUs5c9l9vMACpgpoVL22s9tpxoqiJUJ8amB3OBWaN05itJrERo8gPbi1FTpFZKr1KXOre+sy6XLv2NMvv3ubh+RnVoGCkO+zv7LA8u8NmteR0tqJzZYrCIMN59M9qaVrlKTBLz9wkko5ycf+jgz0EgulkQFXXVLbh/oOH5FlG1WimkwlKCbpF5mvRna2D8BmVWxnuaeKPZ5jSJpm17+/47/7+f8tqtcDUNcIopDBgNf1Bj17RZXfUo9/bodvv0en2GA37TEZ9BqMB4+keveGETrdLsykZ7+0jsi0VzectbPkzHEP3RCoz5WkmvC/5bBB6UiCNwEoRY4kOfMJ5fpRUGGGQMsMajZXufsb4cy+DMkOrbCUxmCCgpCtGR0rntpRCYL2XLtptwiW+YEP9tW0NILu1s/GppZSJtdcK2GCIuX+V9+wpmlqjg2IgPT+mne8jKSU9QP6KwdzCBuXDcHR0yHw+90k8j6e59wAm4H7a2d2jyIPG7hdFujhgWZZkee4eLpMURQZopAqPHgRM0Ii2tRK3XqlFJhJXQtAdJKgOe1euIkTBg+MHDMc9bG6gbFih6Q13kVmBSlw+xrZL5YSZE9RpNmt4txTK1alZDdr4+bjsLxnnRrT+VJb7YLiO9wsIL5PplPHJOedn99l/7jlylZGhGA4WnCxqzs4X7IzH9HMVPynCxgY1KdYYBXeCc8pKI+PBQThmLICd4QiA4VM3MdbS7XYw1nB6OqPT7bCcr9jd3QFrGAz7QJtc4c5mW1v4eN3qezyEYDyZUOR5dOFYq6mrivFwhPLum7p0Wa1KBgu/tbxics2FA2CjEuD3PnXR0Eo1KywISV70eOrm87z9xnc5O5+zO5nQoWY1PwOgOxihZELP1vsm0hICgvvVM0TR6sVK5YCzkrWuIxMJfMcpdY55ZFmONRlVXSdC352XyXjI3jTnwdkpu+NnXSKTlIwnHe7N1pyczZlOBwwKhbU+zitC+ZG/jvHXjGfGZW57fTtaL8IK8rxDv9NhPHQejrrRaAPHJ+d0Ojl1UzLo9egUBd2i8Ke5TbSQsT6Z+AwIcSkW+H6NzdkDekVBbzokL7r0+12KPGdvf8p4PGUymTKZThmNx/QHffKicDHAi+mRY2CL7tKTJC681DJxKYOVvy1o0vPpjqjnqfG9ifUlJTQ+VBK8d4lVmY74u7cmg7tSyYwsyzHC0uDk0kAItGPa3noMTDw9M6nRQWDyW8/iGXn7WenPhwmWpHQlXL6W09Q1xjRkMYPM3Ut4Ib0tAlvZEW8WBWlYPJ9oBFRVQ11pl/39jlThxrsk7ih/ZlymUJ533BSsO1zSWx4urbzn/iYFQmVtwk6c5IUH2LoR7Tmx7mBKX8/YaiVuhYXssbt/gFRw595tJpM9ZCaw5QZrz+gNJ4g8dwlGWOeaEC2Sjac0v39t0oHbU+Uz7CTGNljTbJniQag6NAkAh0hR1+uE4RoMAiF7HF7dZ/7aLe7fP2dvd0yvsOzv77NY3WGzWXG6mNHd3YkaO4Fxe+Z0cYlaZ2woXpHe4hTxEAHOTSsEqsgRWIZHVzDWsj+dslyt0Qhu37lPp9OhqirG4xFZpsiyDBniGfbJMCv3AIL1ckVxVPizbqnWrq4pU1lUIozW9LvdhAFcEO0XY+CkinMSvyU5xF6TF8EMFIIs7/DUs8/x1tuvcno6Z2cyIaNmsZihkQz7Q4+qE6YvknPj5rWdVEYbGvAp7i4upJ0lZYM7NNTrgUVjhEAVPfKQtYgX5kaiZJfrVw85e/kNHh4fo/b36fW67B8eMFu9SbmecXo6ZnBl7ARW+tzJumwhMFjPa2WkSufeCrBrwmUdg6WbOy19eLSL4w6WxXJFrS133rrDzs4Oq/WK3Z0pQgg6mUR4UAUdpyLezfP1PRuf+cFPMhpPmIx3WC5KRpMB3V6H5z/wPEXRSzasHeGIpnHYrRKyrTc//v6doqCuGrQ2VGVD0cm9TGj3qIVAZIsvRreqEDRbexq8KkGYtlmprTCGaMl5l1RdNRT9ngM+GPhnp47WZirAHY83SRgHrww5pT7hnv7vrcHirpEIcukFvhQ+IbpB65pcddqnEkGxEonQjKebIGusV8JCyGzbuoXdnV1OT0+35v1O4/FC0k/aGMPp6RnXrl73kFq+7ktAVVY+/V65hfHuEhePbNFeUmUiEezJxBMtK31dXHgBAbLDZPcAJRW33rrFcGdCt1CIak25ADGcIvIsEkXMwElM9LZQWOAS6j2heG1WS4vGXMg+TK7hCUvJDJtl1HXp3UkuG8sg6Q0m7E3PeHh2jtmdsq4qOkoyHhScLDecni3YGY3pZMoLOYFAuUQjL3BThtXGMGwy51C7lqxdsAQFhLiAc39pxv0Cg2A07GEtVHUDwPHxCcPBiOPjYw6PDiir6nGk8T0dQkrKytVECgENhmpdMhqNEMJZQU1ZetiszCMItYe3LfZ/Z40+xHKcQiDi+gXL0ni0GOdxkCjV48aNZ7l1+03OFnMm4zFKl6wXJygB3d4wJhEFZhJGqn1H5hQ2Che3VFJgpHRJLFbGw2EJUT2vhguFzDs01cZdz4byEkW/N+Job4e3jhfU013Mckm/q9gbD7lztuT0fMnubp9hFkplLkZBw5c7E+67jC9ZPOiObWsoI6gIwmv3IKwlE8Jl0WKZPHWENtDt5qzWa7Q2rNZrRqMhWEt/0He1cT5s8STGj33uZ+l4fOn1qqLby13tbZ5FxakdIjlfFylLbL/wHkeja6cbWYdlC2zRc1Do7cXX/bSckIn6leMNYtvibIWliMIuempo45edbpdu0QENRSGhgRaiNNCIz4wVqdfvEUaQdclZIoFuTAVta+u1c5NCIaQD1aibxsFQCoejbROpZrfuF54jscAFtLZRKJdzby+Kgtt3bnN09ejf1ZIMkl1SlaV7EJ/pJK3LcKvLim635x9eUjcOhk5K1QrGqDj4hQr6dSjsjwva3jc8+EV0k4C0oETOeLKHlIq3b78BwxG9og/lGnDF3zLPvdCxLtPRIzRY0Wp725sbfhIomQMu48thxKbCMZoj/r0dtNRb2opzJxUc7B+ymL/BycNjrt84osCys7fHfHWbar3mbL7kYHfK9iEMha+eWYqknm5rwZJ1s23dGp4gWtey17pEQpLWPX23cCRw4/oBjYbR+CnKsrrknnk/R1VXXD266hJCJDRlTSfL6WYFWjpggaqu6XV63tvhhYVpD3BQVm1iGW25giJNJkIrIQURNGzh8VaRSNnn6tWb3Ln9Nufn54zHYwSwmD8ELJ3eGKVEzBIOwiTQc9zhQHvWaffggL8zHBh66r5PWYkNxdh5l8wYdF3GC1oAlXN0uMfJ+YKHZzOuXT1ASctotMf5bMFm85DzsyG9vaGDuUutI7uttMZ1iV4XIr2HHIPgQQ4MOSij1kPWpawrkyBlTjfP3ZrsjGiMZbZYsVyumc9WdAbdSxnD79fodvvOda8URceBo8iYZAP/VpLvzzA8iblM2Tx5PUkuS7Om4xBgjU3e127p1tsuCMw0uYygbAvrvATK17eLBoVwSTeBpwQFKnGlvpOLuD2LlpgsH+7vrTt3DowzDFyJAlJIX5onIzh6uJq7hic8G1TI9uC2PJ1kDukXUV84ODhEa+NRut55PNanlprxhweHWwstpXLZe1ZQqAxFRiYydO2wW0OGUvjuFvHSHd7hyz2cIGQHbn/EGXQKKzr0RzvcvPE0q9WCVbmhsQ1ltWK1WGBqh7Xa1ur4DYrCJLy0rQEF019KhfCdTJzDTKKE8tln7VyFcIDB6TkSnkl2un2u7I2pVnPOz9asVxWZLNgZDxHNirPzU5pGO6K5uDKBicVkEu+Wi6yn1TJTgoTto+3tgfDk/kh4QWk98LyRMWmgUxRMx+PHkcb3dJzP5jjB4eK1q9WKbr8PysVdtAcsLorcx3KC10D6J1Xe3Z5o1ReZXLpXIj3Yfu98xma01j2dNFpw4/pNppMp57NzdFNDU7Kan1Ov19jGtIwjIed07ds4k0JYB8MlkA4GTGZIoVzHjGCZJkoN3rLNi8Ktj6eRkKmtOl2uHe1QL09Zzhas1huyboe9nSmyrjg9nVE2PknIXliK1DyKdZ+epkK8Uri1T7OfW3eWn5+3NqMTxCpskukY/C2FEOyMh0zGQ25cP2I6HDIeDP6s5PLnMkIsNPALCzHR5b2Oi2699z48oVgLUkYgcHdNf+ZNyx9aBLGWp8Z7B2Wn1X22+cpFl/H25ntXp/Q0FSAq3dmSUm4rVuF6yVdr4Dir0wqfaCS8K92vrU0+hsd1bVOscfcTgkY37b22ljZ4YQChvEXrK57bhcKG4pOQxe2fVErJcrnwxt/jx3sSkpvNhvFk7DMs/eGVkqqpyXzNmpTSx1Mc8ICUPggbBIxQvhYmaDKPumH48tG39L0Js2kRdMCSk3XG3LzxNNVqQ7mpsFpTl0vWizNMU4LRrYAPTC8RF6Hjx1ZaMsLPOU+YVRBKohWUfmOlLMizztYeur8rdveuMCxgcf6QSsBq09DtDigUVOs1p/Olw2Nw/hbHDN+hTlF4hnmpfAMBKPc9KWzfOkzW/+BOnXsh8DYjwShCBpj4tzrsfz5DKpekglTUtUZYiex2QSmUkOh1Sbdb+EMbBIs/xP7LHbKA4MG2IeB/D/QQX5ItDaTCVSA886lRUqCyHteuXuNwZ8L83OFrmrpkMXvAZpNknwZ6ikJRbM8h/igISQvKY9BuCe1EiRNYZzHLjKzT23KlSSuw5Ozu7LMzyFjMzqgazcn5nLw7oJNnlJs5p+crTMjI9aUXIhZtX55fHBYXqw4COw0HsK0ERw+QlZ5mpVPGfL2kQWFCKMBaJIYiy+i8i1b/vRpBURJCOExlbATN/t4PS61LwNLUNmJGb8PH2UtC2PqzHGN0eB6Cy2lwGC/2PcV5o0IYaD9xiQaeDFFX9/xJXuJTUUUXF+gi4a3hncLXLoqIC4x7TeKtSuuUUA96HqUrQRkO7MvRcoIEGf+WPlf4ozv3MJ1M4/o+bryrkEQIzpcLyrqOQkv6Ys+6rim6HYjFny65IjApJ1CFL7KWCKGQOE05WEdRJG25Azw7ENIhLvgDnAo6978F62p6ev0pN556mqpcUm6WWFNRlwvWi3OaunJp0ikRXOCcKbOJ1xcSJTOUyvwzhffGtyYM2IEMKOnrNWOihkSqAVf2+zTlOZt1jZQdur0ho0Ef21ScnJ2zbkJqhCeolj1vP3dCBNvnt7UA0oSVy27T5JnD/eLF0kLhJyckdaPZme4gEGw2Jb1e30HOCYk1YCpDtxghZb7lrQh0Ga2whA4fzfW3x6V3eSYDbs+11i5xCIEQXa5ceYq9/SvMN3MaXWGbDav5CZvVwqOZXFYIUyWs9XAQX5PSpfIrGe7jPTJegLsD7ZQbqRQq92EEYb23UyJVl6tH++hqQVVbVD6g0+kzGfUcjvD5Oeumxrr+CvFrSzm4xNS8ryLWOobP2Tj78HyX42CxpLv1eEUtLqDh+uu/B4b+vRkyKpdNU7suQRddm48Z/64IVbPzOUoplBIUnSJe0yUKXv6KaDnuna0yHKE13euE74E9XJjnZedekFZ4VA9fXy28NZju94VzFYRPet5S3mW3ri+8EA/piN6j4rOFrT+/TVP7SwVtPvwYrYAt7eyiQhCi+eEdBqdjGgTD8Yjb9+76VgjvPB6fwugftmka6qaJL0nhCj2VEOSZ8jCigqpufLNluXVYnJbvmFer2QfmcckR5iaWMJOw2I+YIMZoD8eU0e2Pufn0s2hrWa5LtIG6rFgtVujGmdyttYAXtO28UhdsypiEVEjlM8O2rA3BNgOWTgsViUD1fxtOjxgPeyzOTthslmzKDZPpiK7S1OsFs/nCpeKkVmIUhu4egaBccu2jGX/6XK1bj7jW7XXaa4Q4L1isEa4TxZPjVtx/cJ+iKNC6oa5rut1ORLgpq4qsU5BlRQS5D0qJU6aUt8pE9HyE37ddqpfHowRDS52+Ua7McDV+ClSP3YNDprtTlqslddNgmorF/Jz1ek1jWygtmQq8Cx6LlN8IISIOrZSZt8B85rP3ALgYlGuSned9MqmQNuymACEZj/bYH3VYzE6oq5rVxjCZTulmltXGJfGEDOZLzC2VfUBbnC3i9VtFTCV0FuKVoR4yZU8XmFz6Gg70XVxgeO/ncO5Mt8dt4gy8F+Xqz2NMJrt0uoWPi7aZ/S1A+UVBGeSD8XFF/xzxD+FbqzQH1mK8wDMXWIj1jCIKs0T4XmS/22dlW1DGujUvF5DSfQmZCElPI6LN2Y/GQTgnQNNUhMS3Ldfy1mRSohJOENLaC8HYMv67jZjk8j1BcD5WSErPgIbDIaPhaEtrL8uKbrfrtXZBY7Tzp6uMcHDS92/9zPbvF0dUZC5sTusK8NsiAOtcom6xJVlnwrVrTyOtZr1ZUtuaul6wWZxgmtp1ICAY7IngJt34LfXeC/kMqbLt9yOQpDFKEFKhZH7hrEukGHDlYB9pNiytYlNrbKMYD3sIveH8fE6lLdIQ2/ZFAe5MmpQUk2t7p4JVnpkG4mOb0SWfdRaBgx8LB84YEZnh+8kcHjXG0ylSCDarNZ1Oh0z6dZeSTVXR6fXie0PM3LleZRQybRxFXPJspHt4sST5sqsUhPAuMBOUNwPCYIVGygH7+zfY3b/Ccr2kqkuMLlnMHlKt52Abfw3fWcVKJ/iScclLAtGilEpG3tIKfv85IxBk5Fk3icEGD0TB4dF1hF2x2WyoV6dsas1kMiFvNszOz9k0NirplsRFShs5bE0QN9MIpk+LoXm51KZl4u7vwUXrnqP1+jthb7RDggnhmicxjPFABjZYPdLzlH/bOOOfYYS1eoSlGASkuSQkE8FJaDZhMbZpwUhse21j23xqICpkXKC9LQUu8WL4FxLmu224hM9Z3zwiMuj43gSbKmrtrRKPF4rRQPHhEq01bX63T6QULiIeIuN2y+3fZrFuPe/FtYZYAhcS5d5pvKslaQVUVclwOIgPaIylaQxF0QXhEBKqqorF3+9kQYZDLmW05L1mepEhJ4ubbEA8h8IHbHHEEg668EkDWdHh6o2nyKSk3KzQpqSqFqwW59iq9LE/EZUAScucLgpK4bUeKVR0u7bL82irMlO50+5pFQ0hLMPeHnvjAcvzY4puB2Oh3x/REYZyOXPWpICkAMttkdxeIkfuIXh/MQMvfLkEFmultw6DVuoZUkgIiF9uX93ahGbUT2YIz0nrqqI/6COUE3J1VSOkS1oRAQhZtUkF0eWaJhpI1f6eKlmP3Lvtg5/OxxrrW3FBe/RcRq0kZ2fnkP2DQ5arBXW5xtYrlvNTys3KMbp4H2IWX7i2U76lB29Ozo53v0mJF0jOFeWmkIizPCPLMjJ8VrUwWAHdXp+jnQnrxSmq26PRlqI/oJPlVKsFp/OZy1uMSlErFN1xa3+3l/6NajrhBLn4Y8hD8MPTl7agjUNBM9ZDJBvpk3p81rkH8H4SIwiVRms2m4qyrCnLKonpv7ug/LcRpsEqisrqlqAMCqwXdMbGryAooVV4Q1cma42/Tjun7Zk9QgH2bKM1XlQr7NpDsyUkH21lCi4eoXC+zMX1Ea25YoXA+ASfoJgKITHa83gpIxbrlvsYG6/hhr7wtImr/xHzKqvq3z0mKSQ8OH6AylyGn5SSqqocwo5PNhAIdKMpOoXX+C8zoIvCU3mm5YTlthbdTuAd5uX/YIxu3WgR8sotmsx7HF69gZSwWm+otaEu16wWc6qmIYL9BoGcalY8ysJ1iTxKKpTvAhH/ExcIQwhUVoBMwBQAi2R/b5++LTmbzTA5qG6XyWiEbUpOT2fU3pUa3aVRAzDxS0QIKEdkNlHAU03UWOtieMZGoYj1NZiJJhr2Oia+CMWTBDifzWaUmw15ljnMS+laopVlSa/bdUJGSpCKVONqk3YUsYFrApgcAMgv0eQFQtv2Jrjv2mi379DSN0HoCoTImUwOuHLliNVq5fpc1qVLnik3ziUWaSy5j2jvIbzgEf7QO8UsR4bs3YQmhGcYbvsUWe4SmyIdSLAq58qVa/QyxfG8QlpLlhfsjkaIpub8bE7Z+BR9myqj3oKKilKrk0d3Hu2fWkXL05sGrQVGe8ZuccoaEu0BhB0jN1tCUYhHINi8X8MLGN00vv5Wbbk93VsuJ89sX+K9CdSL17HWoqNF6ASe6/hBIhDfKTZpowUaBULcrnfYs3QeuASf1hZraT9eRoj2uo8cqSJFtMYvrks7p/Dl/Xlbblj3FXiq1o3vvZpe71Fz8CAo8UlayzJ+s0TBH652eHDIYjF/pweLV37HETTestxEASmkYL1Z0enmDl1HKJpGO8GnPNMKTCY+rNxyeW0x5Avxy3eQi8mk2h+tb+0SPxcNKa/dqi6HV6/TzTuUqw21rimrNevlnKYJ3RfYFnjprYK2737xz+HKDtKM1/De6HJAOExPlW+pWVYIVLfH/pVd1vM5q2XNelPRm4zo5pJyueF8sUjcLIbGGBoD2vh2Y/HLx4XC4fCauPu6EMPwaxV+d+sf8GBlZEwuphSszCcnJJ+6cZPVasVg2BboG6Op65pOpxMFX6BP27oliO6hJB4ZrMiQzLO9d8nnUmEVLSt3yI02HtMysVwTixAvKKc7B1w5PGK1WVHXpROUpw+pNivf2y854e1Hk5/bQx0Uykz5mj1huXhWrPUWmcpQRQeRuP6tBVn0uXqwh16esGwE60XNaNhjmNVUiwUn53Ma0SaIBAatvbeh1faFV7CMU7BSF5+P4znFrMHaBl8z4i1GA1ojrUZionItvcLZruWjLfn3Y4QGxVmW0+t1UZnjqtq3pNJaRxeoW9tEWD5COL5Xy7NNwLHx3BsbLEYTretHftl2D0LWvfcxETTnlAckd740v9SiDb+7c2cib02tzCjQZBvrdEOAcCG3i1ZORD1L5uFTaZJseuGFZnvugzEUPp+uW/s8DvUntlpLrodlGxPYy3shnLdqsVg+dp/eQwkIHBweRmajG1dOkeeZQ1KQhqra0O22tZFBQDrzODCwREDGBIvwlRz8JIs0PGOi3LjUZj91o/GxmHDd1DIQIBRK9Tk4uEG312e9WaNNQ71ZspqfuSw2awk4tE5raucZ1iBo7g7OTvl6NtVaoOCSM6yrpQxxRKWyGCuCwG8Uk+mEfg6bdYXVEl0Zh4Gp55ycnVNqjTYNm7phuVxxfj5nvalwrvO2QXIbq6DVJoNZ6ZlZcN0G92So/2sXN/wk/syH/Hs1psMpQiryTtd1Z5GSzaak0+04ppp6JJJYZGsxesdCUpwspPJ7J+M1QzZspJkoN9v9d4xSJwIx1GO2rtv4UWH9/l7h8PA6m3VJVZc0esPs/JiqXHp3duAx7r5Rgxfuful8hFc+3XO3cUf3Tu9dQIO1jt5UQIjxQtZaJtMBo37GarWibhpWVc10OkWYNefn51RNgzaaqm5YlBvOFyuWZU1jABMEZKC74C5tmZQIWerWNQBu+wr6OUiBytp2SEEBEWQIX3aUJgc9idG6Ms2WmzNYcqlwarRhXRoWq4aqbtrEGvMIwXPJ8jOXrpcKw4sKrvYKiNb+Z2NojLM8tW+6bONeeEFpEuH7iDP9OGs41Bo7aE3hhVdA1YGAI/zIjh4Xtm5Lboo28aZ9g08WxDrAF7yCKiSILJ4D3aQKlBei2ytN8L+1r7Q3a42XsA5hbWBnd+ddKe5dYOkkuqrpdh2On0SyXC/pdHqEAu7Q+Lbf7TvBmCJ0+CFxws3JI5kw9PD30FLHLVQAXAsaVvqwDj7JRtNZRGR5HHMLMQ7h/45EZpb9K/ucnFiWqwW9To+msiwX0BtOULmKRbLWuwRMvN4Fzd86QpJKIa1rfupJjxC7ao0BSaaUa5gLvlOIRGV9rh7s8uqt+wyHAzYbQ6/boVucs14smC3WjDpwPlu4xqNYGq3JsjG59JpNIHhjfWGuBzqXSRG9J1ybWhfhK3Rh8BMLWuSfJQbzvRqr1YrhcOQFm9Nml+sV0+kUmSkw23iNUlq3T2abVozxGKwm4OF617RPk0dIrNWtF6LNi0sOtLtO5j0W4TUhWm0b/M9B5xQFo/EVpFTcufM2AkPHGhbnDxE7giLWN5KW/OL5EV4lDjwPEB4b1tBoG1ujtfEmC8YxtSwvsLaJcWchwOYdDq8e8errt2DQY75pmPQH9LoLFqszTmcTpsOM+WzJqtYYLEp1EGNnxYam5EGgC4QHpTYxhiQJComIzCwmaUf6ClmFrQswWjApR30CQ2vrLGXPY4KrGDTW1w4jLHfvzPjHP//rfO2bf0xZLxkOrvPjn/ssf/kv/QCjXhbdx9vuwXcSVHhhHOKMXsA1uGQm21qTFicQo4UZspxDWMVbUpB6RVv62Er0ecTRjvP1MIfGWnc+aJO7tq6dGmaPcuXGT0aiJjloBE9D7EQUFTv3ntb1XlFVNb1+7q/iKTCl/9g8oD2f7QHamqr/s0UIB+xfdAru3L1zeUGS8S79JCV10zCfLbh2dA0MlNWG8XTq25kI1tXGgQcolbResk7AeFMXG6R8q+20y5gsot/Mlr5MFIbx+fw/xtYoJbaIEX/V2H8strSQSCXZ27+KOLnDcjGHQmJYAYb+aIrICn9AIhsIjxEu7DO3nFYtRIbDtG4wWnuBY5NrhDXMUcrS6KZ9XUgGwzHTwSmn56fsjYYYrRgPJ6yP55yentI7GIPR5CpHSEm313XNVL07RkSm1GagyWSVw1pEqLDgggkuVaTXaHVkXPgnlyptY/T+D5UplzktQyb1hqIoyHIvqLY2hdZalx7txjMMKb3glEGQGYxPhPLSEkVrlbu1SiykMCFryS62YUuH992kTb9BMhhOOTzS3H9wFysEuZCcn50wmexRdLpt1mAYiYAMzcEj85DOkWSM8QqnjenroSRI4LGEVZfKVO5yEgSKwXDIzmTA+fmC0WhEVcNw3Gd5/4yz0xm9zgStKxQ5ubTkufCYwi7O45Qxl8ovBa3HJCaVtQAdQT1tlycoxKmAEC2j989uPWN+EqNutGvmHpi0t4Td1mqQ8Mqrd/m//53/B6//6VfRtUbmNU1j+d3f+sf88r/6Wf5P/8e/xYvPH0WvkxuBn3hYucDTrCW0uzLGKdvBWjTGoI2OiXbRYxRKf6xhO1ZptizH1ssUpiFIgeujEpMKb1rFxc01kKMNnDlRs7cux5ZwEokQFiQ/i3YeibAU8f1hTuG6ISvd0tR1e+79xLYV+lYIB2Us8IbQjCKlR+Kzuvj/zs7uY2njXYUkFuq6RklJWW5cJ4bMFzpbKMs13W4PK9WWUEmXXz7K1A7rlsCSBn3VehgwZxw4ZtYKSwlWu67SmYqbEeWPaPFerU9wceLY+dJ3d4/IpGR2NqPb7dNgWQtBfzhBqiLRqFrhLLYeyjFda119aAgXW90Km5icagFc8oWx2jfhFX6duhzsH7J87W3KXh+baXq9Ab18znq+ZD0ZMhwN6XQKJ/SlsxQxijS3YWu+0bpJGRNE1ONYY2edsKB1UbYLSdyFJzWmkx2UkjHRZrlcORBsnySGbLVXIcQ2Rm2Ie3irMliS1sdxpW/gYgJcoTQx7uIsmlAj6i0dHLORHsu3xcay8cyGeSQeL7feRjEc7yKynHv3b2OBDprVGbCzR9YpULFLu2WLu4hWlQzXR3gkosb61Hg8nZsoX0GQqY5z0Zk6TkiKnKO9febntzBaU9uG8WjAsFiyXMxYLPsMBwMKVaAyj/4jwYF1SKTKXIauD4fEjHDPRAkxbM8Ag4UJYUucRa59PBMhXM2pEKhQtJ6Q7Ps9/vSVW+xd2WF/b0AmBDTufEgjQFoenq75u3/nP+fb3/gtZNOwbix6YVEyp6PO+epv/4/8XXPO/+Xv/J+5eXWH0NjaLYCN34Iwci+5NnxGGxqtaRrtBaTv8hKTnoKQDMlOiXD0gOjh93dysb7bCKq9e7fBmib6VUJVtcFgApdOLtu6UhODx/O57eHPkjvAbCE2JQal2MongLpxLeQkwmeKhzMRSnecbuXW1iu9Acf5EXNwN5PeZpCcnJ4/dm0e33QZyPKcK1f2EUKwXC5dSyzhrJawaUXhGHk40GEa6bTSEXiItY4Ao98hfoV3SlznQNkyfWsBhdGK3INzi60tbk1x0XKaODNJl+nkACkVZ2dn9ASIcsUKQW+444AJvKUhQkG95VLrKsckQ/875wIMWmJq6QSXnFIZ1tatAEfQ6Q3Ynw65M19xsDOgaSSTyZjVwwWnZ2sGV/fIc4WwrquIC4mllqptFzsQqSfY2JlMEAnOPxhu2b3mFq6WKAX45IonNYq845ivhNp3u+h1epfeJ4SIWMutsPJ05ev5nKsfb+W5fbS+SW1gVm67vTKGxLXYc3E1oxunRIhUiF2YR4DMEsE74gEbhAQK+v0dDq8I7tx+E9FpkNYyP7MMd/aRRc+JmxifCeseVMYgQJ0LSkmwyu2UMT6+GQD4rVMihXCgFrpqiFikVlF0hxzsjbj7cM5oMmC9kUym+yzvPmA2mzEcHtDvdePaOGgxz0yCHeF9wtZL5baDimenNpCjW0sTrBMfj8xUFtfMuAsm3qAnp5j9vf/mHyGzPj/82R/ik5/8IDeORvQKVwOt0fziL/wzvv0nX6DIMkSW0zRrhxFdrRCDgk4GX/3Cr/Ff/pd7/O2//X9gb9IluqO2LLbL+QTBctTWxTsb46zKkMDTWoc6CoBYP7kVM7WXLErwGbDYeNbDTzFQZHV8rw1AKLYGBMY6ZOEgwS5iTLvPv9O+iQvv8ZZmrORs4/HC18gGb6QLeXohWVf+NYn18XdIDIRw/iOPDnw/nNtUMXHUKby1aQ3s7+w9ljYeH5O0ltVmxXRnijVOy+l0uwQ333K1osgLXMePlNiThRGXnVQXf08eDSFU1Igcw5MOHioISBMYmEaKIjF+EslgvXYTXw/RFLfAVuSMxvsgck4ePqDfA2NXWAuD4cRjZ2Zc7hrSCtv4LMIVr1slsToQnXTuGoI7wePASu3RPBzBWQp29g84m7/GbKMY5jW9/pD+YsFmNWdZTun1Cw8uILbuHOjSWREyavBuDVvEitiR2boDGjT6GOjfirO5JIuIPvyERmgaa4VlOV/S6/a8S1WCBywOkvFRpTpOgfGMHq9lBprwLlcRGJT1a+dpK6LQ+H6SxmryPI+WQcsP/H2CEGsNJwJjdJcVCBT9/pSjQ8NsdsKqaejZNcuzE8R01zcEEKR5dO2Vg4YXmIxEKddJw5raCeUkLupVNWSWkdmCutq0tCJz9vb2OT19g6aSwIrJsMe4m3G+mrNcT5gM+p63W0jcxy3dufkY4YEVpMZ6YIE2niRcY2yJVxdkVMLcMXbdJ6JSnfCJJ+XB+P3f/CdoJfni7/xLdnZu8hOf+xz/2f/2P2LYNzw8mfHz/+gfUK3PqWWBsRopDeNhl2atyYxGCkUmVvz6v/yf+MT3f4K/8R9+nkw2BJs7FZNBqGnb/tz4LFrj8xy00TGBKLqko2BNk39CRmz48sLVi8EQI21joF6wxtecAuYv3w5rER5721qfsR+NPi/sPE9JxV1yAf890FCI4zuzLwhHG5Vz27KjSEeOj+nG1TLK2OPViwMTuoEEdpDwZSscn7CJgN6al4nAQDevX38sbTxWSDZNw9npCaPBTdarNZ2i4wSiX6iyrBgOBq0mnc4hWew4cZGy+lYLCKUMLp6UmEY+O1PikRwMGO8vk2KLK23NIQSMxdadBJARmhMIcgaDKdYaFrOzaEksTUN/NEXlvdjyKAjIIGxbhgvgWjVJ5YS70WH2EiFCMN1p5ErmGNMkWXASVQzZ35/w1v0Fw70rVGXDeDxmfe+U0/MZk1GXIjxr1Ij8WgWgBumUFtLMVU9P1qNJBEg76bU062v+ECG7MyHcmDX5ZIbwVG+MpmkaJuOJd/0HJJiwHMHaSYjOtuUdFhOPMOEgIpHS46pa4x0ZvmWQBGk9AIM1GC2wtkYqj6XpbxyubhNNNc49Tdgg4IQAVpB1+uzudbh7920qswY05ycNk+kVl8yDinHVaJLRKkhhTwUSJQuswrtU23uHPpigyLIC48sXwoxU1uHoYJc33n7AYHeX5aphZ/cK53fucnY258pkTJGFpC43j8BQ4/PFEhxJ8FTgreEQzzIIQglkFLTCMUghkjiy0+q8lQLvhm/yvRqZKSkXFaaz4o2zt/jFf3Kb3njAf/zX/iJf/5OvcPrwDpgK3WzQtUFkko0W9ETBYACrpsHKDJolv/CP/lueffYZPvmJD5N5GoweBttagTpahW1csWm0syqjC5VL5157kktRs4Jw1EZ7AWuiMIXtzwdBnV4ff/6NNRghqcuKTemy7Hv9Pt2+QmGRRqABHZ0r7flKk2keOYS7vhIZW4dm6zcRZKQ/awJtHFJaLC+0LW8P9/Ur4vNQEs+jv5Y1oRMI7flK/v5Y2njcH+uypKlqpIX1as14PCWk0za1cx3mRSdOPGSjhkMdFy0VlPHfsDvpAguEiV5vr+A4oSgsGOGShRqryfMixvciASbWlKW1NGz0ASWZt17QdXsDVCY5eXCMLTzhCslgpBBZTtSAcFrQJcvF+nintC7z0jYu9ugWwMt6Dw8gFJmy1LaOYUIjBOPpFYZnM5arFYNeTp7l9Ls5q+UJ5/Mxu31nMUvliETF4lsbCSkyNZxwCDE5rRuEUuSZs1YCJq7deo4EtSf88wQtSVMb8m7OfD6nKByajJtYyGQO7nSL8O76qEkmmLPBTW89AcV2OcIh5bQuV+vjG44G22SIoMGqRGBcPlki0P+jrCCBd5e7hLS8yDm4coV7925hgALFbHbKcKooim60O2zyWacsp8LYA6ErhSUwRCd4guXhlEvpBWWFdS1r0UiGk11GJ+dsNgvo9ymkYNDLWa4WnM3W7Ey7YCVKtLHaEFoIFm+s0xQBScWXojQuTqSKzHlUAriDlAS8RRFr6ILwjGoHPGoN34fx1JU+syV8986CdbNhtf5T/rv/+r9g0lUofY+9jibrFlit6ORQ6Ya61uxPpghluXt2zlobtDW8/dpL/I///X/HR/7u/xWRy/RJvfciWJDbdaYuaUf7mlMdY5KQCjm8NyRF32lLSYC2rCTS9eWuIm6p21j4elPxnVfe4uWX3+Th3WPeeO0VytUa5Iq9g6u88JEP8wOf+SH2djso2SBMAegtwdgKyG0h7HhnYE8X3+vOXJvm7RRZISxCNiAl2tZo49C2LsZc/d1whyT8XfvXZILyk9BWjIuDNdvG1qPG44VkXbO3t+cYgLF0Oh2MEAglWC8c+omUiSme3K/NEEy04HBhn1DTCiyvIgcGRsv0IqMTrp2OMa4koMjTbFSidReWQ1gbM7DaerR2gwSOWIUo6HQUu/uWh8f3yTsGUUnEXNAbTT0UWZv16h+l3SjhNHssSGERyj2Hixd5cS1bWLgQmzE00XI2ssPewQ5vvXWCbly3i8Ggx2Y243w2YzI6opOJdi0DQw5apr9HkG9KpuhDxsUZgrVJVNL8/B0klFNygkVgn6iQzAuH3FSu10ynI+f6trSu5eRASYIbNOyHpwHbFt5vHSxv3bvMUuuK4YLtLwXGyCgwjbEURcdnkZp2vVOriqCEXbYoE4cpxrdr09bQ6w85unqTu3dvIewagWB1doqaTJGh9Zzwil4Q/pbknm4eTkiq9vmEa+HmwhMWK1xPTqkkjW9QYIULDewfTHn9zbcRUnD37JTpaERVnnJ8espwdI1+LpAqi+ckmLHWpnNqz4SzBJ2bXJuaQhU+2UkkCWVblBdDIqkgflJkd306ROoSa0qsadBNyeLh2yxn9/kP/tpPoB+8zO/9+r/hfLEhL4aMOpDnGkPOYrVm1ZSILEc2Bl3O+NNvfJk3b93i2ZvXkB6W0FoXh70UV9TBimwicIELy3jvmRcuQegEtyqJBRrjnJeyXFsbJRpQFp9MZTB1yVf/4I/5/d/7It966RusN2cIVWGaBlM3IDPmZ29x6/WXeP1Pv8mP//RP8eKLL5DLFUqFjO+WOwZacXzbRAFpCDH6VlmFy7xZBOXfK+rO3aqpmybyfAhnMDUVIYRjnBcsdOG5IFC3hHZAK3u8YvZY30ZVV0glqaqawXDokU0kwgiqTUWv13cWEq3LL21btAUSILaL/WNKr38N3+zTKtGipQSUHl8wniKlRGi4eL2tpYgWVioRIkAAeMvC+qwoyWAw5crhEXVdUtUrymrOan5KU28IWK+hGSnJM4X7heQY6Ts4tEX7XvAk95cePkxbTa01Wjd0e3uMRxnYgrzoIvMOvU7OcnHObLX0iITWuQ08SbpC84zMfymlyJSK8Hlbe0D4TnwGRGuBClos21jM/qRGBmW1RgJF3iU0ZBVxfsR5RjQY2vW/RHcR1zV5PfRGFS2ogJSurjUgQVkrXFcb1SLERJSoR6xPpK/UMrKANWhbOdpGgszo9kccXb9KZSrKek29WbI4P6apNy6qeGEPIi37KwufmBT2/uJzA97F5EpqQt2o0RqjBUV/yM54jN3UdIo+UuUMe102qzlnq8oBOkWma1rt3M9BSonKPGZslkUIwSwTLjM5QDsma3K5C0rLB1oB+WToblVZskwyLAomuUBZhyLW73Uw7HH03MeobI+11RwfnyEoGI2nFDls6oq6lpjGWZJFXqDXx/w3//Xf52sv32LZKCpbU5tWCDZBGDb+ZxOyW13mcnC5ap8cGTJedcRlDW5V/Y6IPKnQvJTQYw1NueZLv/eb/O5v/BNef+UP0foBQq3RusZoUJkkzwW2mUN5zJvf/iL/+uf/B7711S/y5u3b3Ds7IWAIW3yMFZIvnxcr2n1O8VvjvNDEGmXb8raWr1tMaL4c3MV4j4mxsXtMsL4xCkzuFdpWSWhpyxt2hHPyeCH5WEtSW8vdO/e4dnDEZG9MiEdUmw0SQZ4Vzoqhldfp7awQLv0+eW1LtgcNZ8vitU5IGie8HG8IGwtCm1iXiW0D11saftBMgrsKtpJvgvs0CDdwCA+93g4HVxT3799x4ClWshQwGE1RWX7pGVrN2ASxhRWZc71K0Lb2StE2s5A+A1GiEJmIcz68cp3vvvkqSh3RNJrxeMj6wZLT03Mm4yG5VFtlZClDbOO9iYbulhLHTtsY5IXl31IebPL7ExsKFrNzRsORE1ZYhHU9SLc0ztSdjt16fmfNJ56DKFBT28W9FOJo0fVq/K4a47KSQxqEL2Vw3oHG/55Qt91eu1RYurwjSYvNCr1iwtGR4c6dW06rRWPPBYPpvremaT0uccrJqfdeDKkkykoaH3u8qG2nykL79z4HR9c5f+V1iixnU9dMxzvMV2ecnZywMzlkoJQHp3AL4pQoRWyPJZKDK0gYnEnAAd4pueriS09WMTs+nlGMBMNegchhOVvSK7qo3LKpVhTTfdbWYCwc7RRkNCxXgrJqWG9qh1i01pRVQ9c4ZfoPv/jLfOe7b/HiR3+SH/nsZ/jIh69zZVogbeMtGKfEpEk6xliHqKP9PovW/R/clS2tXhaKFwViOtqMWouuNb/zG7/Ot77+B9TViiJXFLrAVpZCdcmLHCUNeQ5WBw+OgHLOS1/+HcY7VygG1/i+H/0sR3u75NaiQz1fcr9HJX5ddKtbrwR7Z0V8f6yiwNIYp7RIIdChvMOfCWttezTC9wuNJdO1aK3Q6J55LG08PrtVwMPjBzxz4yZ5nmOk68W12WwYDIbOPZVKR9F6nSyeJXloo+DixD98Gyd0H27T9h0jc+fZu6siT5AYi+vZKAVYVyIirPQaiTf3U0kcrEjr6ybDCyZoxdIn6ABW0OkOOTy4yoP7d6nsBmstS2Aw2tnGiU2eOdVUwnpLpbBGo62vKRLththkc6LrF4vqdNnfnfLwbMFg1Ke2BaPektlywXK1oTseuOdIXIkitZiJ0Uk/jxDoJr7vosIShXec/4WFewLD1payLtnZ20cIhcsUDsWhMRvEM9Z2bM/YIfG4txqMCQqTiMX4ITnJKXqyfR1L01RkmYv7GSOw0ifhWOGVMpfBHDRju6XpJRmn4KHafA5ogLezFisUvf6Ua9cF9+7eoyyNS3jhlNF0l6LICTH5Rz1lUAalkJBlWFyyXbx3UqhtCPc1vuxYIouCK1cmHD+c0R1OWDcwmOTM5jPm8z0Gu30X80X5TEDrhaSIitjWeuNCwkIQexOmBS2B3t2PYY6JnH2CytnVwxHnK4dJfevBEm3hh3/4+/noRz7KZr3iwb0ZqlewPpEMD3Z5cLygOZ1T5ILNumJTljSNcUk164ZVvSSvhsyW3+a1V7/LL/+z/4H9w2f5j//Tv8lf/Ys/RCEMoQmU1o1X+BuMaSKo92XG3v4cQAW2Xast3B2J4heW1VqLFhZp4Stf+CK/9S/+JfvTHl0jGQhFr9Mj64/pFoJRr0sG1I1hXS9ZlzUGRd7JWJ7N2JwvWDdv8faDO/zwT/40zz9zk0K1AivFaX20gApnz62ZY/cXT3Oo4XaIY9KHlFpBi0tTCAao8/YndBkEQSKsE0MqQnq+y3hXMIHxcES/P4hYl8ZYNpsN09HI3Sy1TLyAClp+mCa0jCG+22vJwc7ZSokQwisWNnliJ5HqpqbodqOGQYovaG0UyNEtGazGIEz89XSMp8i2Ds4zwaI34ODwiAf372GqCoRwgnI4Qeahd6Wfk4W0V1q6dpBjbe3dXoklaQV1uUHmynVDiW7knL29Q85nr2PI6BhL1hsz38x4+PCcybBPccGV2C5n0AbCGjrLRCC9+zpZAz93u8XsUmvyycWGAGbn5/T7Q7KscNajtVtKRixHhTDbSDMp4kdrZUoHXWcSzdyrcc5KtRhhwGqEwCt/JoKph5ik9UJRWREzrYUJrXnCfbe1ZHAtolzs0Ftj8R0GV7845uAq3L19C1NrrGgQ55bxZJc8L7wiFpLBrAdT8PBnzjfikrmyjBDjCpZfiP5sqholLJl3KyshQRYcHOxzPjtzxeOmodcbsljMOX54xs50xEBorO8aT7hjUKwuIQaFLGtBUBhFQleGwC9aumsVt5BA9WQI79aDM4a9gl5RsCpLrl8/5N/7D/8G1maUsxVvvPQNBt2C4/mKL33nDYzNGPc1N/pjqkaxaRqMlkhVsG5ACbBNjS43GGvIlOL0zin/1f/zVTrZ3+Yv/eQPuNL8KNg0ja7R0SX7aCETfg9ZpUGYpt1U3M+h7MY3/oYYxzRVw9e/8Ht86KkdPvj8mPnxGctZzngyotOZ0B0W9Arn6VrMV5zM7nP/5JTFSrNq4MFiQ60ttdHUL53x9q1b/PRf+Zv80Pc/R4aMFuVF+RP5vLWkPUgDulHCqN27I9YvLc524PuEn8PH/DVjPXPrYbKJLArVCcEc01zE4rk8Hu9u1YbRaEyv13VJAEKw2SwpCoXMVGuMXViKS8uz5YqJao2bcFgQ692mfqQxVyd0BcI6hqQyFS2qwPAcSnwiIKULcEdmGq7n5bfRbRmA8AXOYY+MyMg7I64cKu49uE1ZNYSam8Foisrz5JA7BtrqLO1DSylRKHRIZXVPihKCTCkHs5aGhYVFyS7XDg54/fZ9ym4fdI22hsViwfmy4mDc37IHt+KMBK0xmLMWaSQa+YjSRxG/0o94FM7Le/g+js1mxdWr19v622C9hUWWzioMuLqJnkqaEGYje/BPKsXWgbG0gjQACjhGbWkaGPR7SBncWj7ByTf3swiEdW4oYz2odyj8vvA8RhusFlS6ojPoJ8pKSHrL6XRGHF27yd3bb1NvlggjmVsYTXfJ0oSFMPtQ/GkDOpXzvijlvCpYXEzfI7cIAXmWo4QF77ZCSGzR4/q1Q1574x5FP6fCYKRltTzhZDahvzdxzZ0FhNhhnMIF17KN3prMNzGQyV5s28DtHrQ7JORlF+H7NWbrBabpMewUfOqjH+Kv/yf/CTu7T1GuNY1uqJtTZusZUDOvDP1xzdkCXnhuzPKtYySW0kCjaw/ML9hsNi75RUDWHyClpBCn/Oqv/So/9JmPMyzapC5tLY32X812x5FHsdTUMtqKNRKwfXEKJjjvAUQBVS6WfPRjz/P5n/4MLOac37mDyCtk1sXYIcV4TKYky9mMaj1nPr/P7du3OT2b8/KbJ7xdPeRsuWLTGHSlqR8+4Jd/8R+zd/C/5rkbV1C2ifRtknm6qbTGSTivQUC2HgVa48a64rS6rpy8kTaUr/tF8dCJ1lmnMYVIqK01aw23VggE8fhuFPcudZKuNZEKMHQI5vMZw8HIJT5cKKWLmrv1TxofxDMFj/QeDMTUgkG4GjWSRd3KTBRgtXWCRSovNC0Bsk6YUEtpXdJBuI9tkSXaYSPsU+g9GMsDAGEsFkle9Dg4vMrxndvU6w0hJtYf7UTA69CwtmXXXnh6qBcpFFZZtHWBZ4lAWxv7Nl4cVmT0JxNG5yeczlaY8B694uz0lIPxwN3hQkeI9ntYU4cE5GoebSvU/bYE12Ng2Cn+YdyQJzS63R553sEJfS/ErNxmoNH4b4P7j+zEE5QDK1qoukin/ssz/7Y+0qKw5LmKLhnlD7wQPlNZWIxxZ0Ia7zyK6FH+8FnrQDgahxii5Lagbu0si7U5RT7m2tFN7tx+i81mhcEpOJPpDkWeh8duFUgRCqYTBUw5xaJJeqZa60EIRSqUwjUkw8mY6fCUe6cLGlk57FsJD09POdwZ0ZFtM/V0/S+OrWQ8vJAOmnywoP284yMEovR7+KQsybrUZF2BzBqO72z45hdO2RmuGY8zVuuS6eQ6Sr5EN+9Q5Q256PPxT1zndL5g09QUeUGlNcY65UDXlXOjGgsKLJqmsahM8Mo3vsk3vvEyn/7Esw6py0DT6Da71WjnDfAjiJWUJ0IreLaTcvBu2DZzGG/VW2swwtLvS/7Cj/0QzWKDKQWD/Wvuekb67O6O83qoHt2eQqgMlXfpje7x+oMNZXmPxXLBpm4Q5Iis4eHdl/k3v/abXP2bf4NhIcC68qR0njEbHKeUuuMY2qqFdn2aVoUMvSZNW+sbiMjaJCv/EcpV6pLdfjld0S2v5zuNx8PSSUmn24laadM0NE1Dt9uLC//IEW4sAjOmnbBtNYXtOG+rLqXWX7AYDYamhCzrRExZpxhIJ6x9Np6VFmuELxcwrrjami1B6VxSGpDkmWr12tTa9CZLng04PLrO8YO7rKsVRjhtaDiZkuVFTDJqLx8YgiMGIQRKOkHpgNCtj5uqKCRDFqSwOBeMzDg6OKRa38JmiqLbYdAdMhqNPLMT0UpqrUg8QbXPIkwo9uYS87GP2LsQD94CKX4CYzrdcWfGtKU3Ucukdbe0P/u/ie3fwwj05IwvkTCb4E0ISodzwtS6pucbiBshXBs04XreWSMwwrQZcUH5MI7ajOf8rcXqD7TRDtScC+eBRMFBUvQGXL1xk7fvvMGmXCCsZWYN4+mur0lm61C7ZDH/fLg6YqXcM2rtEKZCQr4KrnXrQOOEtQgrsbLH0eE1zuavYDXOJVvkFFYjLTHhB29NpnO++HNwuca2ecGFGjPOvCugfYD4bTsF8P0dw0HBXFvefGtDUe/x+h+8hLkHn/zRj3Plw3vceOaIKy/vc294n7OZ5qm9MU8dXeFb33kdYQSr0ru2hXLOBlMTGptLFNbUGC2oNgIhZvzO732BD3zwOQayoQGP3epikbrR0TWaDmtbUPvwO+DxXYlWmQPG8JF227Jja0FaDasZ6wf3oWmwSqAyRSayiCEr6hIhDKapqKuKTdmwKaFuoDKWqtEOdFxbUJZGG1Sz5q3vfJvz2ZzB/iBardvz97zXGo+ZXFPVHQQdD2UQgDFsVLaQzrBoandWt9EyW1OrHSL52/b3VGzG9KH3wOseKyTH00lML0cKFps13aKDyhQG0XbZuGDWpi6t7elvHwKR4pDaFu5WpJ/2cGDKSta1odvtIkKA1mtHTuAmWWAENwYIH6gW1ibL5OoKm8Yh5cRbBe3cbh9XkffZO7jG8f3brDdLl4l2bhlMJuRFxwWUvVEbDXjbPoOQbv7WWvDQdS5TMNQtWu+mcq5FhUT1xjz/Yh+Z5b4xbY7yTEoEizwC/V5mYuF3gYzWbsqKiM/nXk9dlFGReUKj2+uxVV9My1pbgzecfC68of1MmuWZVuS1r4skliMI+KN1Y+l0Cw+mJHy2q8RZ5N7967Px8PEfI4RrVyUsxipCmyWNdXi7xuEgt0KhXeCYvCXAoFCdPteu3uTO27dYr5c03hsy2d2nyFRrOXtLsI3dOyEvBR4r2LYp915YBbqOy2SdGZz1hjzz3AsgFP1uj7yTI2WGlEmLsHcSku6FqHy0Sub2++z2B6J15KeXaM/v/3jreIOsYar26Ko+ZbXk9O4b/MmvL3lh9X3c/MHnOXjqBT49HPCl3/ldPvD0Nb7ytZc5ns2oDGwaB9QulEDrGqyzfIy1CG0c8pEosbYgkwt++7f+Jc888yKf/6lPYUSVZKnq2CMSwh5tK/jp9/DzJfer93akeR1GgKgblvdvw9kDpFJOQGY5lYePc9BvtQPBr0rKumSxXjJfzXlwNme52mCoI/Kabi0UTk/u8vD0Pteu3CTGRKMgD+Ue1jeQlzy4dYcvfeW7HF474urRiN3pgEzl7TPQklxTOwEa4+DJ2WbrLNEKP2z0HrUeSenDcEEWXPCQPGI8Vkhu1muODo9ASCSCzXLBzmgSL2oEPl4RNHPaw3jB3Up84CCE0gJ9x3CctypxJ3hrITYPlpqs8Ff0iyWs9DHbQBxBS3CaiPDXNCFmJJzfP9TMSSV9DDk6uqMbLzJoa5EqY3fvgPsP7rFcLXzdkmWys0seXGHpI4vWKsNa16jZ+oShYGWLuCo+9rW9VlleeItz20JsXa0tsYQM3UQUxLV/fGhabH3q/x+GVDK2AwvJV8Gtgg0WtJuzIRFytO6oFI/eJn8PSTihI0soMXFav8JiaZqaQd7HYlGxF6IXyhiv4ISrBiUjoJpkjiYxPnxpfYZsi9YULV57Yc5BxbIFuZxydCS4c+tN1qt5jHvu7l0hz7JEUCZMInFrKSlBZTQIqKt4JrezUoN7ziJExniyGz0fDreT1oVKS2/vxFRiSZTwbt6WDaXvaud7caQAI+/zGJY7dLI+wuZgnMA4Pn8LoyvEFy1WST724c/wxp/+PvmHP8x6VfHq7bssS41VyskEIVv4s2AxYdBGok2OMJmzvKyhU635Jz//D7j59DU+9PQkdv9wbbP0ViLO48ZFYRlAzp0wMd6QEAiPPiM3M0y5IC8ckH+n8H2BaWODWjdsVmvW6zWbuuJkOefh+Tn3Hp5xPp9jseSdAqUtVVM5v4A1WF1zfj6LVuv2HD0vMmDMBqM3vPLNP+bOG9/hzbcsH/v4D9D90AsM+mMiKACBTypso9mUS+aLczpFn5g9G5muv1f4Sl2wW+7YbZf+e/GYPVZI3r93j+vXryOURG9qTN1QdDuR8EOcMbX92nIEfJlFIvEvzEhsfTIxiH2sxb3dY3Y22ltUyrsrgxUrYjmHS1NXWA+OTRCYTql3rlgPDyalRCqdWFDRBoyHO2q8FqxVHvfyGvcf3GGxmju0fmOY7rosxAjuJvzzOjolmDhSZjEBK83yc4yoTdUO14gMKmrZbMWGgtYe5h1jQUDIHmtrOR/B3OyFX0Rw4D5ZYSmkb1FEq1Rtv4EoBGUCZA6tZyI69zwkYLswLv4qLybxCImwirrZUHTymDQUMmuFCF03gmVuUQqsdK21hHE1XcY6i1KGPb8AcBAfwdNvUKqCazJDoNFopVGdHoc3bvLWm6+zWM6omxrdWPavHDjFTATRb9szF61o6eaHY0xKZT6dXrm1kcK73K2/v4rrFNyr1lrfgT6ht635tyOqWRdou80kDlnK2/gl7xbnfL9GIbsIFI1paGxDU0MuBeerJfbeXe798gM+Zj/N1ac/TqeE7771CmUjsSr35TVhrVvc1ACCYayhaWqUyhytSElVVXB2i1/6F7/Elf/0b9BVOIBzE4DOWzU3/Q7Ecw5BGEBru+MtOEHTuHaCSggfHjDYqiIvCrImQ0lXBpQVmcMs1pq62lBWS9abJWW5YVOVrBZzju8fc/zwjOV67cralCITFilzGuNg46qywgEF5QgaF+qKhkLLq4wBYToMpx0+8qEPcLyYMZ7sIYRC6xopssg/AyiLMRVlueH0ZM7BQZeg4LljdJlwtmuF29HGbe3Wz48bjxWSVVWhhCITkrPlisFg6N04fiMQcX6BUaWM+yLRh6m0mjMEh/nl9O9gLzghVZmGPO+4OJ5I3m9xv3tBGTVr4TR+a3xyg7RYtM+QEmRZ5uxN4cLIwiZduBPHb9gDByclEapg78oV9L27zOen1JsN5WbD7pUDet0uKkHaSTfR+utKXwqQZblnnmGhtrXodi1SBp8s7YU40EUyaS/ry4CDmyIoHrSCpV235NPvRcX6Hg0XwhK02JIQoAu3am5FOH8+gcpaQoalDG4WuS1kA+MXnmmHmjKBdXGSqqLodJAycz0nvQvfzcuvSzxgoqW3sJrGu009/QkpKIoiovWEOfgnbYVcO0N3NQ9hmBddrt98ijfffIPZ/JxNWbOuKw6v3qCXK+fi8/RuzYVQgbcojbFkWYaUSSmHEDHjOSq9UUsT7VkOz/UIQRk3K1nb+FSRABPviL/eRcpKFdInpaBJoZEUFEKx0ivmzYyu7LBuNjSmZjfbYXZ7zrMfvEq5WbLcbJwIEE4Rc2QahCNsH2YnJIWQZOSQSayUaFPxtS/+Or9y4xo/8xM/iJIl1kKjm61liOvWSsb2j57JpO5WYy1VWfNHf/INbly7yY3rh0hRY5qSarmknq8ocMlCWmTUVmGR2HrDsFdQZO5gWaHJFIz7OeOu5E5Vsik3GOMEXZFDTpeslpR2TVlDf9Bxc/aVCAHEBVqAcSwoKZDyBqpfIvV9BqMRUilH9z6QGr0ewglJoxswGXXdoFTCFPHu5cgrbEtUQUC/w9K1oZh3Ho8VklevXiPLFBg4n884PDzCZVQEzTW4Q9185MV4ZBoTCq6tlMmF8Sgfi5UxE9Aql1rd7fSQKnOmfbA0hWMoRrbmNNJZkUiL0A6HUwpHPMK7vRxots+estGx6422oKK3rwsvxCwKKbvs7R+wKd/k7OEDsk6P+WrJzZtP0e/2yKQvuG4fJjLC0NfRlX+0zPLycngOFvlW+l6x/b74uUQQCpEQh79OtGoTV3BivYuUXJ6gVu8aJV9GTIxuSg9HRVRrthUuGYW8vfR5YywhDVbIYPG5nqUCSVNLeoPQMzWUV6RF8DZeuxWyfqsEMTYJAmNdnaqQEiXxdcYmmU8roNpkInwNsFfXREZW9Lh2dJVXvvsdFpsFy9WKpqp56sZ1ut1um1hD654OMduQQJPnhY8AtOsa8H5T5RVIIw3E5LBtW2ZrtDSz7dJ11wu9Kd06tg+eCs9WD3pShGeRaKPJsxzd1GzMCmMraluiTUNjNN037nHyRodNtWS2XEacLQjlGk4wGLvNS8ITad2QGY3VCms1VSMRueFXf/EfY8uav/r5nwIcVF1rkVtCQt6WgmIfkaJmXRJNs1rz9hvf5tt/9BucPPw4+/s/RbfIOb7zNl/77d9imAmuTvY4ObnHd99+mwdnGzrdDpNBQac/5PrVa+xOCjKP4TweTnnh2YzT+ZLbD+9D44ATiiynYxusqV34qjNhOp6CrZ1HJTGAQvik7b1q0HbGV7/yB1RkfOQj34fKMqQN5zN4OES0JhtdI7PMeX2wlKsNd+6dMppMmI57bv2Nqx2tGkNlJL3+gByPW5wqkD508l6o7bFCMssylFTOolSKbre3hb3nqas9lGyT+COtnvTv72ASe99Wq73itP8sd9N18bckMKyEW1yCduAAhV2gWCCkQwlWJjRp9p3XhUZJRWxsGik7PJq3GuLrARBXIVXG/t4e69mMs7P7qHLE9RvXsLbZsuy2xaBXEDLlhbN5hH7QauzRQ7GlxbcA8FH4PXKNvSKTuisTjnhBx2/X3T//k7Mj24Nhk4PSwgoKrGwFYBRerXvDvU+GOiCfTeWhOKRy3oX4edlmfFoPB6aybOvabaQgCOfwN+u79zgXbhCU4cvVcLkQgVXErGwTmeqjh/VxUBkUHSso8g5Xr+zxyhuvcLZYo2SGuXaA0QopfZeUwEhFmJ9Pt88UQvkEn4tsIaHVtIwoPK4U0mWKv4NCdvGKLTh+qlik6iJeeCd0GXiIvWhVv39Dig6N3VDWFoOksk5QGaxrhiwNgwc97r28ZCPWnM02aOOQclqmHrwSEDw4AIgchMFS84HnnuHtt45ZNxmZFAirWZze5l//i3/OM09f5yMfegrZhHhwOAtelfJ70C6no+O4YuFsS8HR1Wv88I/8EHQOKcuSTAq6Obz99jeYn2f8xR/9CFX1kAf373K6XNAbD6n1EH0658HxjKdvHHHjaMp40KUjOxSZ4qnrB7x++xazdU2pNV2T87Fnr3GlCydnNV+5p+nmfaDBIP05CzqpC3VFLwySwbDH933kA1T12pVJib7jVxqvBKTtmQV1VbFYrhkMcwpl+dYf/xF3750zeuYqR1d3yRvN4sGMxcOHzFYLahSf/bGfQfYKIu+NClpoYfbuvO6xQvLhyQkfeOFFzs7OGA1HsTgZglQW2yck+hfxzM0zNdokjK3axy23U+LSAvD1Xu6yAikyn9ruft+K/fn5WGzEfHWxR+lKL3xJCCLMwSfDZB4hRPpWtZ7YbXRHhpNro84hPHAYVoFQDKcjlps5i8XKuVpFKn5Sl3BgHKbVLh8jIONvWwfCWYEiaWGUvt8+4jPuUy7eFgXn1l8vzEC4Z36iQlI6iDhXWuMFhRd2ke6SzFenC4SYlxeU4dmMExWhgbC1IJQvffD74tpRGWpT0etLlHIJ6ZFOfWcQ56q1UTkLNOcsSqLADA4A03hhDb61G3FOsZURTgHYEhqtVwrpr22sANVlZ7rDW7fvYmicJaj8O4MnILRPEyLiRaeA7FF58wrU5cV3/1xyGXI5pr31W2A+seH3hWfyH7jQLMV/VER+8d7SVb43Q0jFslqx0Atq1mgU0HUJNY1gzSlGFaw3JQ/nK7S1EXLQBsW1PfqJe9R4T1rBj//MX+brX/4DvvxH36Y2GmkzhBKsFg/4+je/zgsv3CCTLQZvtKQSXuf2Zhv0I97WaqeAqxF/+t1Trt2ccu1IOTSl6SEf+OjT/No//xo3r19DrWv2hwvKjeTkzoZyvGIwsKhOiWRMLnfod3IKISk30Mm7FEUfWLHT7/PRZ55iqrqYpaGzOubj13bp5YpGAFa3Zy54X7xHwViXWLSzu48go9ctmFUVIbzGlnVOct4008nYw0QalNTMz+9g3twwFiW9rKAjM3oHh1ztXWU4ndApAg1uK7fWpmv2eLp4rJAsGw3WIUfsXd9HCOMwmn09TtA2w02j0IzWpRuSy64z4tvcyRG2jdfER/KHqqkastBZQxhs4jJqkytwzE76DFch2xIRDNa4FH7jKskAQRbaT3nEHGNdjZHF+MMswBfEEk11L+yMpWksxkgGgwmyo8ik8pVqXhjiebyv4YxW0UX30yM0/GBJhp/D+4RvAxN6+qUxa3mBiYX7XE7HSexb/4fw3nj/RwjQ92u0tWAiAlaElmmJI8sJl1BI7xU0EdxQMVWcoMoSCEpGSKzgYraApCo1naLvINv83QzWW67tHkZt2Do3bVi70I8yHHJj12SZqz/Ls8J7abXzbFD5MpH20G5RQxI3Bd8ZQjcImTGZTBkNh7FzCZHOXe9GaLYEUdM0rgWXk57JXR4xEqsuKHmP8gRtKXJbVxTxrFwUkuE8tM/VXiHe4h28Tt/rUeuaypY0tqJkjbYOjMFkBkONtTXjvQM0JZtNxfmqckATrsgHt4etc7otz8I/uKTX2eGppz7E80/f4Nbt/zdv336IzSyZGqCwfP2Pv8rnf+6n6aQdjoLS5S3KyDesIQ1aRZc1jnaUqVkcv81qZwo4PiVlzvd/7HMMywE73SOqnQ0f/T7D1Yc7PDyZ8ZEHd/hr33qT73z+J5l97CNIkWNpKFcbVvUKoSQYQTfLePbGNQYdhbUZz37gkFtfP2f/6IDhUAGZDwW21lrrDQuCytAfdLl/b8OgN6QuV1ibgWic5ewFgLWufMQai24askxSN6A7Hb7vk5/g2tOHrI1F2QxhJIYMg0JmoEWHumnIMs8b43Kptn2hDfz0ncdjheRTN59is96glCLvFK7LfbxeQL5rmX+6EAShGRlbezhibEkEViR8vVmy2+AmLyxNU9Ipus7CIFgWfhb+sIVOIPjNCeUe1sqoYYfAulLOqspUFq1PjQtlOjVftO61RNoLKVwBrXXX0rpyhb8a+sMeSoqIKU5gBFG4utiCtf5Rt3hUSuyJ+ysuZrs0jtE50G/H8x6tgMQL+OdGtAImrZRMMWXTcRkL6H0covUUbKnnYTuCopFkzEXPRGDwYX2N8Bqt8XpqQIEJzxzSzaHcbBgOB54+W2sIGzTPNn7rSjpSi9O/DwnS4JBDcEgsVD6z0T2AMRqPluAErYHoFsa6GkwCDQZsTlds3tQWbMZgMNjas2BVxGbatqVDjPCKYQqpcXnfH/Vz6maNwu0xgixNqLvsUg4SIxGg6aW2TLH3d5zrU0q9obYVFSVht2tTsjPqcrQ7YW+3hykt8/mSTVkhjHCx8yTDf9t6DIqwQAjN7n6PwXhIv3uFn/q5n+Qf/ve/gLVQVkuEtlSrOU2zoWly35JNRcGYCkk3ZHtOINKz8L90egX/3l/992myLhHtR4EqxvzIx3+Y9XJBp8g5OrzKtX1Hq5/7r/6YycmM3m98id/+yA9Si4bGrllslmyakk2l6Q26HOwOeOZgh/tv3mEF2LrHwf6LFDeeQuUOm1qEGmE3u8SYCbShUFnO3t6EL//+F3kws1y7eZMsExi0TyoTvu1fhlCuy82w16FZrhFkZMWEg8OCWQ12U9GUFY3VDkJVSp8c6e6/RbNeud0yFh4z3kVI3uT4zl12dnbapBvpER2EN5G26tRa7T0yKpG8TlSw4t/jkZDS8ziPBiJaqw0aikK5fpZWbp/RoLVGLFeiUAzNZ0XIfsUd3KIoaJoKlSnX/NTPOfjQwxaH+UW3XGRFLq5ktEY3JZu6YpJlXrNvYxLthz0iqnCfVNuN2du1eYTWHvX1qIOEonD5CEvzwvVs2J0gDPxhjrSRMq1kSQUx9vYkhvTxSCGI3SQiUoMNlJYAUYC35MLPXhkwNrQXIHQtF4A0Ks1fwVqHJpXluWdMRKEYgwVeoSO8HsMGAZ/SRpxXYaVv5+N6OSqT+f6nwWnvSkla3dB4KzTQMhAwYT1ctDENjdZUlaYuNd3uoO1tGREWLMYmVqQQIDQqD4ycLafFo4RiqMlNs80DPceknPTzWzFaQ+wz5oXrFl2ltMc70e2Tobu5PvclPhaFxPrwRC9T3NjvI1G8/PaC55+C+7Nz3zDZRJrYUtbaXwkCAiQf/OAHyKSkrmvK0qJkjrEZ1jZgG/YmI6Ch0TXKZvGyUoYErG3lJai87nfnvXICyKCR5INdbEDyMQYlYdxA1u1Rz85ZrCuapqLX7zEednntL/8cz/3yr/Odn/lpNpuSUteUzZxFtWLVbLjz4IxN1XDj6g7XdoeU97tkKBYnd9g7OGTygacRSPDeOPf0xC2VFleSZZ2yaoSiWyjscs54OGFjF3TIUHhIO4EXdq5fqbWGTEmq0jqlT2149aWXOa/GPPfCTQaFs/iNkGHl2DrocUdo5cF7oI3HCslOUbBaLjm6etXTfEga8TaJEM71mZjGYcPCRsYNjMTk/xbQ0a0LzqYGb/wcPlFGF0jZwQgTGVh8L8k9bNDqjYMzsmk2rbcyJKhMYIxLeIjZgKYtTDeE/oEGgfCbur3MDuPTucAq3VBkOVY6qDlBYBg2Wi0ALWDh47dm6yCINAdWtOD5SVzW/eOTBkSi7Vu3hm3wPxpbcb9awyNsnv/n8crV93TIYKE5qCSvlYgIvf6o9bPg6wDxZRuQWp2QGCoeIQkfS0JKqrKhN+gjMh+rtDYqcnGNouXqEwrCfSIjtFHYGSMcmpMUZFkX6YvznadDggmaEu4gS1+H6S1SIyQGQ6ktjYaqtmzqJZv6nMaC7HRAtBm4YU2ksGjrBRrCgesHxRF7aV8vlXaId3g9fiDR7y4Ziu6eQfeyQiGNTlqTPZ6ovP382Pd8r0ZuJVa6s2uspvaoVl0GaC1YmTPevDPj1sOC1WbhysLSvkwJbwsvRm+UEAiR8fyL34fRmtX6lC/93lcRIgOtwRg6nZwf+8kfRgnnVnR4r62SEVoHQqIEBqMgua8xxiOk4fdCeH1MY2zFydtvcHs+p1zW5DlsFhvuHz9gZ2/E2XM3eeV//79B64rN+pz5csNscc683rAsN9y7f0pTawrVQZeG7//0D5CLgup8xWY8pnvtsPW4BN4bvI0XhxeUqtPjmRee5/ZJzewEBgcZisrza+GtSZch7p4NNpsN1vaoG83i/JjXbr3KwY0DipFE2hxhc6yok3BWuj6JUnOJrz96PFZILs5nDPtD8k4BtXbp7cJ6nD0vIAPSTeJGTTzzcQTrINJQMn9hXeJOm8cUnklQliWdbo5V1j+UaF2MW+fOJkKSOCfACzv3u5QOUcT4bvNWGIewEdVfd0xV1LyTrKhk2ICMYQ3WaHrdAiW2mYrwhrbFeNAgRdoixus0EAUZ8XurhQtC1jThPcnfwhpaX+QelIFIrJ4YCN9s8rn0eZKXhLCXs5jfx9G6kE0r5Ly8jErSxUdILaR4HW+3eei1yN5FUBbc7xLBcrlkd3cXPCh37Oua1EM4WeRuJCPCk1NAAopPQE4SwpJlHQdHl6nYF89NSCLIcO5P5xWQpsHahtsPHvDyG6+zLkvWqw2z+ZKiEOQYTk5O2NRrhpNdaotTzYXDIA5KolOL8PPyGeBGOKUqKqvbAiv1YKQZ5xc9G+l7WmuVWKtqfMa5FMrH/rc/m1q4IrlH3EIhtpCS3s+hZEZtLVoYl5kZywYKusMd6tlDjD7lwdkZ1ioyFQD4VRKaMUnjgGgxAJJOp8PulR3W9Zp/89tf5Nb9uxFFCQw/8/mf5kMf+QBGG7QH+bbWIYIFpTYgm6X4re7OYgtSs42d4/IkfKmTMIJv3X6FV770DY4XNZNRwcHuiOefu8bp6V0enpwhCkFdZ1SbiuV6w6rcsLEly+WK89mMvCjQVmCz3DVtmFcc1xVPffwHQGZgeSTvsD6umPrjlBLYokdnMKBYzvnql/+In/3LP0KXDNfor4mCUkgwdYPFOgB4WyNQPP3BD7N7c81koCLfcCSVe7UwhEq0538y7pdpGeJjx2OF5MmDY46uXvVpe+7gO9xKQ6tShsNvw1b6ifrXtzQdPwKDt15sGpfck2ocwaWlm5p+v4NLQs3jAQ/xkWih+ksKvxDOEgiC0TM+rd01tSXLCqRyrgkrFHgrVeB7Z/jGuhiLFdohqyTaorMkG5el2DR0iw5S0Aq0QApBCRAurtRqL62V1AbofWKOn0gqDIPVaIWzCYIqH+jR0CaxIBrv2Q2uX+WeJVoS7d5c2hJ4L3TzPR2xPgyHsxieXST0dJHBthZjUKRaC1IiMdK7ohKlAYiuSimlQ7HxtbkqvM8rG+2a+DW3Jmyu21PjFCtjgsA05FmX9XpDd+AObHSXBWkfZLYAIyX37j3kl/75v+Tu+UPKcoNzzXextqFbSNal6+OXna+59q1XmXzyQ/QLtS1wbKj71FivHErfK9NNP8zDRubjF6JlYI8QmiKsMUGNDPTtz6OHhzQBd0q41nqB7FKtJv50gS9Ia/3n3/8RvEZudhJhc5RP4MMOGI9KiodnrBrTeqAAJyjDb0EZ9XQYeaBlMt6h6PZYna14/Y//iEwb1rrBGs0LL7zAp37ws2gjsFYjveKznVAioqfkYtKTS0j0ZXAXDARngEqEyBHC0tsfsn9tzIPv3oVixN7Vm4wm+/QGOaezBQ/OzjidKebrFbVukLnC6IrlcgFC0+0oGmPJB0OstNy3K579yR8l299BaJ9dHdfi8YzEnb2Gbm/I0VMFp4uvI6oNVZ7jEjTdM4Y6SfdsGpUZnzlu6U/2GEyEB43xYtFbqY5SLyaABE3brZ5J1uqdxmOFZF2WjMdjKuFSdoVHQHHFy46g2mLqbcYlwsEQYWrbf4txQ2O5rD566wrQjSbLCmzogZf6mIXwWY3tPVoiCa4Qr/ELA02GyjqUm4rBIMP1OHLi2Ycj2/QGG0AGvOssPJ+/j9HG4y065tPp9LFS+nVysSqL8NlAHgHG++plwtCDFeBGaiFLj/Rj/ZzAigZpAhNs3y9t7dypBpS1SFnQsMGQRYinthQFWn9YSyCi9eN6S+pJWpKtSSiNj09KYju0+BzJ9zbz9VF2slfCvJIX4p0AFkO5Lun3uzHpKjTRDsk4IUEoZtwKoisnYAL7E+etSkFdGQeSjiXPc4xpWk0k1h06/bPBYoXkWy9/m7vHb7NoarQX1JVx7qpS+1QiKzD1hi/94e8zHY/47Mc/6OrtRANWRIg0KRx2bIgRWqfiE7wRbp1bPbcVhq0VFH/2PSuD5u2zBghalRY6QpCFcy6tJmaG+5UOwjP8dtGija8/gdGXQ2pTUdGgQw2dEGzMknsPbtHJKopMUChJYyzGbGgFgVNcHS+QCf21onNnZweEwa5O+ImPHvCVb8/59mvnHNx4mv/of/E/p9PpohsDyvikMP2IUncZFRUpAh3G2xB3x+AgCW3yB2mxtmDv+oe5853b7O5qxtMxi6rkW2+8CVK7xhWZYFMtOJvPqOqKbr+H1Q1VXdPpuISi2WLJ1195mZ1BD3FwxPP7+z5BzuWDKwIlJPOzuHKoCNxuXcmcBKV6jPpjPvcXfgopcoJREMWbACUKJ9Ck5uq1KabxCFOBn4k0iSmg+6TrF7yVwX/03sdjheR0uuPwUnUgZn94RJvqvoWis6XZp5tnHZOy7ecF4RD6hqDe4gqWViWATQNWIrLc6Xf+RAdrR8QbeSZpWyYagc+jkIRK1+R5TlPXqFyhLQhvw4aNtFa4OjqjkDgMWKEd6Lb1wkMI4dyt/kvIjE6Rk3lB3mZOebL1TEgqCxK6vYzVqnKJPmngS9RuY4UAa5xmKCwIidIa2VikkmRSkheKfi5Zl6c0+ZiRqni43PCpH/lZdg8OUaLmN37pV1lUNSFz0tugkdmHvUhH+O38/PzPQEZ/vsMVsIc4VhCKInbl2BJcF8n9At/dFp7i8vuFYrPeMBgOQ2iwtQ6DCzOc1IQhBaVQIlyCo5G+GYLLRm10Q09J8izznWbcPlpc+ylH984FlAnLrbv3+MrX/4RFs3KJB9rRu6QBJEZ6kSMUoDlbPuQ3fue3mJ095APPv8jzT11BCYPymdkGH4dW0O3m1GWDRfhaTsectpVWt8buHJkYFRChz6pNekMq18zbSokwa/LKuBR8pVnK3IVlIiWloYHEEnqCStijRmVLRCbpiy6NqVmbDRrLxqyYLyrWylDWJRLls5NDlpg/rta5XkO7uYgI5hWo/av72M2C5f17jHo7fPDwgJ0rh3zsL/wsw8EA02iHACUCGH4oTfCajPGiQ+Jq1aP3SWwvZWIY+J+ip8ECvZ0xtapQZs389oZTY1mUJRtdM94Zsnc4wIoNZb2gLGvn5bCavJPRaMPp+QqV5YiiQy/v85GPfsoJtphjEuYRuA1xnZy7tbW2LWBlDqoLIifrZEgbSjO2k0KlcPnZWhgODvY5Oz6jbmwSmkllT5vEGQ6tm423LkOS53sUlY8VkkfXr8bDIn27n4sT2RacyXRbPtwyqS0rk+3XAgMTTtBlwrDWS3ojV/ohIqLJ5dTxKCADQxSOWQlvVRphkFZR1TXdQcdBhGX4WGSGCYzLevPctLqQJXFJWekxNV0af2MaGmOQSpFlikw50OA2LuAOivVg0tYB/yBzxYYGjEbKDpktkUK7zg1YiiyjyHLyQY/ReAeZF4x395hODsh7PYpuj05Ponoj3v7WL/HSH7/O4bVDHnz9m8jdq+w/fZN6tiBDoKzFeHd50HmdRXJZm0qJa/YEhWQ4bNH9lcrxIOBbw5eU2C7q3o6uWq0yFZrho+WmYnev5w0mEw0+8G44n5vmABlSDd1Z7w5q0jF+awRN01AUrl1Nt9f1zEwipatlDG4ka8Fmhs265J/+s3/G7fv3qa0gx7LTVez2uwx7fXp5DtqwaDS3Ts9Y1A0Zkvn5Cb/3h3/AG3eOOfjrf429LuDBM4QHWleZQHQLTjZLrCyQ0qAo/NMrpDII0yBQYDQC43pI4mI8mZIo2ZAVBd3+BNWB87O7TCa7NJtj8p0P8n0f/yyDyYDZvTf4lX/xK9Qy8xnqvkzMBqpLZOPFEIwf8iJRvk+jm/epjGajKxrrLHmERLOmbgy1tlRWURnHC01wPfkYlwOawCvaFqJRIJBZzuGVK2zu3Eatl9w/XbAqC37oc5+js3vdwdChEcI1bzDWeEHoYpzW91XVaFde4VsXuqRCL6V9qYO1DaF5eCxfEiB8tn6W9xlPD2jeWDiFqyvZ382wWcVaz2nqDU2jKTcNxkqqWiOkwjSWqm5YrSqE0Ex2BEV3xGTvqtdhw/lrE9/wRlAqPJ3zwNfEA9ZmWDKaWnjPl0Up66IZVoL0begEIDS60ghylFQ0svZXSTL3/XDwd21CnY38vR3v5mYN47FCcjAZU25KF4IXtFiqQUqLYA26CSResphiuxWYTyzJYOFF94+/oPExDkVGowWDQd8xmHQj0mt6K9UkWXzgrHrrwW2l8xU5S0QKh3ovRBJA9FlipA4SifYZblZkNEZQNg3Gahqg1t7VaqzTgKRC5RKVuXY50dpBeavbu2Bt5rR5vWbYzzg8OqI3ntDt9xiM9ygGA3qDMSJ3mZYq76GUBZvjHsCvsAWs4fqH/xKvfefvMa86PHV9n69/8de59vT/kgxLoyyNCslCYWdC3KmNZxKfuX3h4PDwcaTxPR8xCSxqy60GFjTAELONJRp+zYPmHDbUlR54N2CaDSpgs1nT7eXOexCRiYjnTSof347C2sZSEwChkm4hWDDWCcmuA0jPO52YtBO8LwGdB1wm9d17d3j1je/SGEMhFDfGPZ7bHTLsDRiPR+xMegx7I7CaV994jZdv3+fVh2tmVsBmxquvfIdXX32do48/Qwg5GCsQWmBsQ64UVS6oqyW9zILV9ApBoSDLO2T9AUU+YLozJRt06U8mdHp79EdTRru7ZLnraaqKDro54Xd+4b+gGB8xEgXfePuM3Q9/mGm/h1AWJXJqEZQxj3wVFjOGK1KTY3s8KQNzoysK2XHM12Zo61zIKypWGvIsZzidUJ2d+Ybtbi9jgpMEG+K+XkkPDFFKS1YukUvDer5kPl9y41OfoNg5QNY1Rjp0GpDYkNFv3TWMlQjrmnnLEMKxPgSUhL2slT7ZMLEiE2XOOrcACMXO4U1Oh/fQqibvKjqjAistTZ1z/2zF2fmas3WJRaBqQ0Aoa3TFfLFiNByhckFjahZlQ7ebt+E12nMa99sEa7Zd75CwpIxC5A1VWTjlLMbsiXFtJaQrrVOgawf+nmUZVdP4qxmC0pncgYs0FsyEIFBbw+7xRPdYIYmwSduibcKOVkc0ZbdHCDJvXS6NW1r/u88MDC4YFeNlkk1pmOYdQsJQMJujcKYlBBnUfb8Y4feYmm81We4YYFb0XDNZ61L5nZANj+xdTUjmszmvvvoa33rp2zw8PqOuNJ2eQhWW3qDHzqiHaRp6kylCCDrdDpmSCKs9kDogrWuC691bKi/odTIe3GkYjjIOP/IZrj37IlZYlMzAqiCi/fP5fkdC+1X23NULy6Iz5ft+6HP84a/8IqO9m6zffI1XXnmVDxxeQdZeUJiLxJLuRzjLgajcHt2+deuxpPG9HV7hCYeblnYIrvooOFu6dIcqUca8S1YJFct72piYu3K5LukNhk6rvmC1CrzXQ7Z0ZK33qtAmSrWF0vg4u6HodFmt1vTyzBdXS2+VNq6kyMtqieDhwwdoq8EaRp0uzxweMOkIUF2M6lLkY3qyR79b8MxnrvI5Kn77D7/IL33zNkvtkimOjob0BooM6RNJBEpkKAV5ruhIzcGNguc+/mk6vT26wx6qMyDvDMmyLsjMJ3dInxwmHynKMjvg03/xr/O7v/RP2Xn20+zIL/Kdr36Vz/zoj5EZRaZBKoEO2r2FqOmLbX3/UZr8OxiY3/MhUTS69nSgMLahNGsa2dDLexxcv866XFPXG5TsOIsNdyZzlVFrHRV9GRKzPJWNux12MkuzPOfB6UN2n3+eybUbaK2dy9pmhG5EIHxOmIkdjIxwHiGXS2ghAKR4mgtKoUlcfamgjOfbenjNTs798h6UNbnt0BU9Ot0OpyvL2w+WnC+WLMqSRptogeWZoi5rTA1X9wsKkVHPT/jdX/t9fu4/+ClGUoDNMLIEAttx3jwV4em8kBfteZJW0ikED0+XQI61PkcjKMfCWc5SekHd1C7MoTJacOvAu1Ty/I9WuFJDyHpD493GY4VkQCmR4cHCjYTvpkBi1UXKb5lYulkkn33UELEvoPt73WzodJ2xF1Dw3ftaAeluKxJrIWGQ6WZY4xIhlEIbQ5HnSRq1d6FpC9IJyPWi5Pd/74v84Re+wNnJXSwlWaZQWR+1dptXNoKdnR3Gw4LBwTUMlqLTIZcCYY37EuBadrl054AC0e8X9Ht9FssTXvr930bJLodPP4cwKWPKvKvba+I241KCk3CHaP/Gh7h281d54+277I8HfPsLv8XNv/o/Q6gMqspb7XKLQQVyedR2WGu5dv36I/fp/RjWOoss8thkON3gskch+fD2635B07T5oNhJm7OYV1y9tuMPJlF5i/fyk2gVikRAButViJiFa6VFN1D0ulg2ZMp10YmhAp9xik9gNKbipW99i9oIrFRMh13yIue1kzmL8oxBf4WQPYpdSV1lqOGI3emQn/sxwZtnv8qX3pjx7POHfOjFq4yKAUpapBIo6dpk5XlBf9BlUy6QouHszPKhFz+G6rhsSCsyEC771suxVukV6UkjWva713+IZz78MvffPmdv7xov/+Fv8MInPontVNRdEVtHEfYqKq/tdeL2JIk8hqixve9jkA3ceRKu24QVllKuyUTOeHcPkXc5fvsOIanLgTYYJJIi74BZc7Qz4Okrh1yZdFksl1hhOJ7N+MBzL7DXybj19jHFlUNGzzyD1QotHYOWibfEGuv73gYUMRfiMViEtDEm78DCZWI0BC0/eFfsltOpXWVBrzeEbofJqKBQOVnWpaxqTk/nnJ6uON8sKKsKo30CJF6WNJqd0Zjd6ZSiyMnVhj/+ym/ywqc+xkef2UNSO33cBelbnu3v3BqZITSmEWQUmaT22dwgk/f5d/twBbhOKtoaH5oKxpuzSoUXfMIL9mgzRhjVYNSlxt2709u7CEmfFh78u4ioKYdiZRuluI2SPQgut2cXJ9EK12DFhMLTcE0BLKuKwaDvLNKYuZSk0bMtgNN6tjQF2v0sMU1Jp+ixWi3Jenmch7N4vY/cCO7fe8j/9x/9Q1761teRaLq5pFA5rhPfhma9YVVBIyR31wvebgy3zzRXD5/n+vWCTNZOG/JlHwKBFAYpBZlS5HmHoijIcqjOllh9ztd/918h+DwHTz/vcUNNwiyS9Utg2NrntijZ5wM/+je4//P/HzZ6xPrsFV5+6SVMY10Cr/CUs8W7Eq3HrQSBVT3JpB1wWKNtmWo8KtvCK6GrSzWs8buNTCOivoWTYy3GVuSFc7/H7OstZQxCmUeq611OABL4QgysMdSlpd938WmllPOWeGSdgPUacnnOT2e88urrWCAXgkmv4N69u1S1pshgdfaAt1SP3f51msUxv/all5gc3uRzn7zOJ154gT+59SfceOZFkDl5plDK0bRSEiUVnU6HXid3cc3FjLe+/kWkVXzoh/8C5NIniHj3oQdxeLdhRY8PfPrf5/WX/29YdZVh/jZf+4Mv8LHnX6SzqakKGRkSMUcxatGP3Lfw6snJyXuYwZ//uG8eok1NjctSdTkNFd1ewWAwolzX1HXlDYTKJ0C5UIZpan7sw9/HM/tDrk+P2B278EudGea6ZDbb8Nbd+3z59fs8M7zKTlVQ5xolBCLPXNa28clqvs7WethDcA2YsdIlDQmZuF3bJMYAou5cFC7LGlK92no6LpnsjhiNhyxOT+h0MjJR8uDslLePjzlfLllVFU3TxFirFK6xxbjf4/DKlNGwj1DOuOix5P6t78IzXaztYUTuEYsa8Kg5bYzSTVVKSdP4unjhah83q3OM2Ef5ebbeL6+2CektSbANZEoilcGYHJdM4DqyOO+ObJ85GFCGuCbpleHRHo10PFZIbifceGZhEk09VRGs8DFLERnao27uBGPLxtxFFLEdjH9ttajYPzgi1nOJy5bPVuEzIjLONm7aZig2ZUN3OELYNTJTjgiDhubdymfHp/yDv/f3ee3Vb5HJikIqugam4yE7uz2ErZifW+6fV8xNg200pm54641X+JXf/B0++KHn2BtmtI16XRKI9BsspSLPFYXMyIVA6pq1sTB/yNd/71/xEft5rj3zvM/iDa6UC5b6xT0SLk45Gj/PRz/7c/zGP/0F8rzDy1/9bbAjjwMa9ohWuDyCLsJ2uR6FT0ajB2jq2pfL4IWUm4sULW0p2YJAE6y0xB3rHrV91tBpQwY9UsByvmA4HDkrE7YsdafcBE9Eq50Hb8WWohbrJbV3qUrKdUne7Xm8Ye2vKBCENlwu6UI3FWVZgxAM84xpv8vKGKyQzqKxDbaZc3N/h/OzU46GkmFnxu9/ZcVzT+3Q6yq+/IUv8v0f+iiHn3w6QiMqqRycV5GTF4qsI1gvlui64c2v/R5C5nzwh34UlWfxecOTv9sQwtIZXeFjP/jDfPnf/CrT4fO8/pVf5/rRlLoocFm7SX1aPNtB6Qnnvs1LCO998PD4z04wfw5j2ZxxMbZlPCCEEn1OT29FHmXDPlqLUoZPPvsUU9VBbnKWK81mI7CFpjvJWZUNb9w55puv3+I790549XjBcOeQp5+7QsfKFmNai6inGiwiAaYI4Qcb3o/19afa10e2LnZr9BYfdCNklRqEVeTdHkdXD/mVr34L1BCh4Hx2xsP5GctVRd1YQhxeCIHMBKNhj6tXrrA73aXIcqSAurEM8y5XJpq7t9/i9LxgcuUKe+MxVige3LuHyHJGozGDQpBZgxEKJRq0lhhrXTKbWXNy7yHL6jnGRYP0KG4iKLj+fEshPYALyCxzvwftN0VDiWGY+ELc15jPIETLX95FNXx8TNLaaEU6AW+j0HJ5MtsyWXjMPEF66NrRCs5Uu2w/20r2hkwaVEch067w0fQODx7eb6NJnd4nxkytpapLOraPUP5eAg8m6FwXZlPzr3/pF3njjW9DVkKjGXQyblzd4+rRPqNhj6Zac6vRzNcabQWNds/SrebcfvUl/uCPvs7nf+IzKBqPHiJ8/ElGwOIsUw42weAFNTSU6Nl9vvE7/wL057n23PNIFWIUj17L7W1yD37t2c/w/Id+k2Yzoi4rbp81IBTSCteH+h2t+3AN94bFcsH+3v5j7/m9HOVmjbE6FIfi2gK54L2rrRJoqdyaKhercMgkqQaVCDPhIApjqMifq9lszv4V95zCw37F0o5LsU+2S4xo4+shR0ggKcuS/qhAL9Z0h0OXoON7MoZmsS6LEbDQGE1pK7CC/emIUbfDZjZjvdqgNRRZh/FgQFcVvH5vzo1XXud/Zxp+/zOf4Dt2SJbnNAhG07Er13IJgUhvxTqQ55zCZsy0cZiy5UNe+9qvY/KMD3/qs6hc0Yqxdx5pHoBA8MxHfo43/vTLvPbt76AtfPl3fo1NKgPfhfm0OnTr9bl5/cZ7IZE/92GFx2tN43pCk+UFpS5ZL5fcvL7L7LzhbHmC9a3O+t0OfTHgtF5xMj/l7PZr3D1eY7OGXkfR7+Wsqoq37j7EyoynbhywO8oRdYOVOSa64m1csyA4jXHoZkJ5GjTGl/aIdonBKSQiGAqOztrm3hbXP9CgrKXfbSi6gh/73Md56aUv8I2vv816Y1htLOt642tAfaNuKShkRjfLmYyGdIuCbpZhRUNTNzRmDVnFcvmAa0fX2axPWL1ZM37ecPXmhN1hyf/0C7/O8WmXnYMpn/j0x3h6fx9TzrFWoXSH2VnJnde/zevfeYmbn/w4g6td792gdVAGYS0l1tYeni4nJu6FJKkIpJHKpQv1kjbhdVvoZ+88Hi8kERFaLYhEITyzFemhcdqr9UI0tMa6jIwSHkrEn1PNDR9kritNp5shqJEyj9fazm6NK+iTf/xsbLJA1glI0TSoTDhQ8zyL/QIjIo+V3Hrtdb77p98kU7BuNINOj2eefYorOyMGvZFzZQnBeDJguKxgs+bcSDJVkOUaaxf8yVf+iB//wU8z7eHdrQJhWmarpHKQeGgqo6mNb/slwDYl1fwOX/vdX0KLz3PjuQ+jfEbuu+1jiJPJbo+P/chf4Uu//E/o9g7Iz6ESLnZhw/rT7iU4OrHemrZeeG+qCp6gJVltVg6yy1gcVoNrAaWk9G4W5QDDpatBzJQDRVZeGQFHBmnrsFa5wsUCtUZKR2fOWG2B80NWnTccWve9aIUjEEs4PSI8wgrqqqQ77rNZGjpF7ksarG/u7LKeZYw1NRw/eEBZVSipONrfo1tIjnanTHsVVVWSdYfsjscgcz76sZv89B9/mZubku4ff4PZ3/wrKO2ybTMR3G0h29JBmmWZwmrn1bCAMNr9tD7nzS//a6SwvPipHyXPnGuvdVU9bv+9Vycb8umf+l9x9uD/xc70Cvdv30HaAQaBCgDXtq1lcyc2CMQkYcIGOoSzJ+Xq97kL8WcBSgiKImc+O8Xahg+++DGKYsCd+7f56h99BSMM61XJvc05u7ml3FS8OROMrz7Lg+PXuXd8TFHkHOztY6TiuQ9+iB/44c+QdyXWKIfz68MhEebQXo6SWeujddZbhBENDF8KAvjav4AEpfx+aynImgJ9NufBa2tW8zPWmyXINR97/hP87M9VvHXnNj//D7/BfJlTG01dN0gp6XU69Dsdiixj2O/S77l8CqRm09SUtSTbadjfN8zOXuP6NcUbr7zK7tii1yuUtXzwep9v/MHv8/WvjPi933mTn/yZH+PHfvwmijmb2zNuv3mbvevP8cKHH2BWM4wusEpunzPRxiUFUFUl9AqPk228IeT5aPCYEUSBN/Ji6Xqs02kX+F3i4I93t4ZYoDS+bsWp4rHdZxCWnsm06Dvbmnay3e7vCQRdC0zQxn0WszW97jTRFi4KyHSS4V6p+8vdKyRUGN1QFBnC1HR7fZQQeDhLhJWYsua1V/+U08UZQmh6MmfYHbA3HdPJc9568x5ZlrOzMyLPh+zvCnrzU9YnS0qpyJVECzi+/Ravvf4Gn/zIU04DtH5jA6SfdFqhqSusqVz2GA6UWiLQ2mAXD/jWb/8SAsv15z5MCE+/pyEydg4+zgc+/jqvv/K2u58J7azD+m9fLZKK1zuMsezu7r0r4Xwvx2a1RJvGo2qAEBlCKqRwOKhZ5koSZFaQZTlkBmszBzMilS/KFhdopdU0EZrNuqQ7GCAz6dLsvRAN8cbt/nPbdBdozPoSIW29UiQlJpd0spx15mLZ2jhQiJCJazGut58BZIGsDDuFYmMle+MxBQ15TzFUFedLwaKsODs948HxKdf3+3ztU5+k/63v8PqP/zjDTg9rNI2uEKL0z43zXHjN29XtamqhXQamH1pr7HrOG1/6ZazRfOjTP+Fcr9YgkFuu58sUGBRmyXD/A7z4iU9z/5W3ODoYcv+8wXiUp7Bu0aMarxX4QtBKHICBAKq6+rclm3+nEVssRAbrslYzqTg/PafIBaPJLoNuzisvb1Bq4EIydNh59kP85A3LS9/4Juu9D9MbjilsyRuLE4Ts8OD+Q4y1LBYLjMxoDGgjUMZZiyLEIn3Ck/SWjhUGh3Tu1spZkzqYBy4zllAHGYwF/x7puLSsGgaDCiXus3j7HoVuOHlwwvxMM2sKPvypv8CLH7nLS1+e8yffusvBsIupNggEKisoioJ+t8uwP2Q0HNLtFmzqCm00FZajZ5/lM595hj/6wkOu7AxZ7zR8+Q9fojS7TPfGdHeOePoDz3H80hlNx/Bbf/RtJk/v8Nnnr1Aff5cryiJrweHNHVgdU9U75MK5c7XUDlpTZAh0BBQwdY2UhkxkaDYIG7C3W4CHVEA6cRAQ2EIuTeqOfvx49xKQcFdxwTIUIVPPCYKYeBM08HCJRzHbxAoNlClwmWUSQV2v2NmfuNoYfy8ZnLgxzrTdGy+dW3S/eo1BG02n32e9XNHrdJyIlm5RpbFsVkvefOO7lFVD0YV+1qXfLciznN1Jj7PzU4QSZF1FP9+j2xsg96bcPvkatcopEJRWo/SS77z6Kp/40FPt+RetJhQYV1NVCDRWWwdmLGx0qWttMYtjvvlvfglpBdde+HDUbJ27Ly7hhRFqOgfc+MjPcuvO33f97iIGpL+HcPWA7ccsbWKKoKorTk9PGAyejNsLYF1uaKoaXVUeSc25VJWU5FlOlmVkeYbKLbawWG2ctZTnroktrtt7yPyLjynCd8FqtqI7noCQZAhMYmnKAJTs/xUJQYdEhhSxw1qL1RKjDQiXxp51uzgAAQ/n5grdAIeqAq7F1jSDF8dD3lhpMiEx2lkXVVOzqis2RtBXktlmzZ6Z8MW84M5f/et86KMfYXT6OiJT9Ishh7tHbCe3EWPtVVVjTY1pAKujB0ebGrue8dpXfo1cCp7/1I+7XqvB3cU7uKM8LYJzfb/4qb/I8Vv/OUo/hRDHzoNDaxm1m+D+2RaaQXVz2MZXrz6h+lzr50XIvLQUeYFuNHVVcvVwH2U08wdr3nzrVYRokDJnZ3LIeHoDuThm2ply9egpVN/Q711F1jPEeMLrr7wMwNnxA3StXZKONU6BN8bnchjffst5xZwXxGdkBz5sH3HqrVNZosfCun6kZQ7HZ6c0pmE83MEoSf3ikINPKaZzxf3v3uL0/hkH1wSq1+fTn32WL3/jFtoUjIf/P/b+LMjWLLvvw357+IYz5px5x6pbc1VXdXd1N1oNNAEQAAER4GBwMEVScohvivCDwxEOhyP85lDYsiQqwqLCpi2HSFkiCRIgiXkihm50o9FD9dw1V9268705T2f8hj34Ye/vnJO3uqoo092lh1wVWZn35MlzvrO/vdfwX2v9V4tEhjFvWqd0Ol267TadVhvwjIopHolIBa3lVaRKyPWQu7f3OSg0X3r7lK3HLvB8T/DY1gU+Y1Nk6zYi6wCawxvfY2/jx+hsPoIoahif8szVFzm1Y7zQOOFRwqNcQjDFnsA/KxEy9CE3+hSI+3GOUJ7Zt40DEddrTuDVBFXuA43lB7aA0ESTUcI0j4CNfL/oTja0E81FfT8j2XhrC9FkeCDwTWqtSZLQr9W8fzC+81aQ2XX5d7+Oj9iN9x6pNaWHJEuZTKYorRHGxF63sFlPT064deMWzlikkJSFQxSnXLv0KC1R8t3dVxiahOtin7/RzvjrN27y9U+/wLfShNopEAZTC/CWnQcPKEpDJ3v3OjTRjTNgTE1lTGDPWODyFEJgnGc82OfbX/hNjDNcfuqFUB3rwYr3YiURIEI3oMyWePKFn+T2O3+CcIo5ZVB43gxqXbwZUbSWbG1uvuvxH6ZURUVdVdhqEiKeaMCVTEiShCRNSZMUnYJzljRJF+CThSpVuWDwBOBthNkVrijpXshQIZSfRZFnct7RQw1Hbp4bj9mHiGAQ80ZhTqCUGWVl0WkauB+cRMay/sardQ688nFShqOrU1ZaYVJIWdbYumJSVRTGkamcfmuZVt5F6ASVJtzbOeCRZy2T0rGVtlh/9CorvdbMKM7g1mikbT1FS4N3BoddOEIBvWByyFtf+wOQiide/HMovaBWFkhCGnnY+UjaV/noT/51Xvujz+NIUd5QIVCNg9YQgM9etjGcsVAmOngnp6ehBuLDEL+o5UL1cZbnlHUohHny8jWsUOxsD3j+yecwaUmSpci6yyPcZCm9y9GVPtJPcBNBr3+ZRx7znNhpOJNakaQK6yx15UiUQcYKZIjbt6mjcDFKbNIkLhTqNM5NMIZuIW3lcUIgwxRcRtZQmZpv3n6dXr/FZj6mrmF8sM/b2w6lNFn3IqtbayRLAi2WePqjT/Hs06/x1s2avNOlk4NSOuS0dYrSGYlKqaoC6aHd6SNbGZ2VFYRO+fSPXwNX8vrLA377999h6+oWBxN46a134HTIJz/1DCvLG/i6wnhH5hVlLcgurrOuTmj3h2z2HuV0aKhLj61ji9IMtYjBkoC6qsO5UxJRx/VY2K9nco0LBnDRWC7KB+24D2wB8S4A4otMO8ETXjCS4R+zx84UsD0UMzZ/4L2fRYezDygU01GFVqG5uzkwgnk0Ni+/D0aoycfNL5rQtBohMYXE1JJWK0WKLECtUgZ40zusmXD31nXu7D6gl2c8c2kVVSiuXr3EC489xe7O2/TbCfVYkGQd/vKbr7ExGPKj33yFf3Z1jaPjKkQMBFJdMx5Q1pZuCk3F2ewzCxeKiJzBO6iNRUiLFMFzDcrNE0AFAyc7fPsLv0PtHE888zG8AOXE972rAvC+AcIlvbVHyVJFVTgiUSeLRQnNffFi7j3jYWdnh431DRKfvN/W+IGKqSrqsqCuS2wsRQcQoqaqFbrSJElGlruYu2z4RS2QxdyFnLHayFkOO1QCV6VBdzQ+jY6XdGfy6DMbIARNPWxQWE26gHko5AmwmQRbWdqtFsPjEf31HrNijMZWxIhVShlgWJewduUqeaa52O+ghGRaW6w3OGER0pMlipbUdHWKMmOcNGRLkmlxwu3b9/nzz3ycxz/yNN00rhFzZ0xKGVLLFmxdYeoqKtugWAUhj2mswE2OeOPLvwsy4YmP/QhSxzzPuzbb2RBQYPEIVi7+OGtPvIV6+y2mMo81As2auXjm4xXOHGk/u2YI46Q+RN8MaBxuT5alpGnGycmIlf4S0idkSc5jl7t4vYFaWeed67fI/CkXVzV745zK9xkfj3lu6wInxZT2+gZ7997GWINIJXm7RTmdMJZpqELWEu101KsO7xUucjZ75/EqlO4FVy1qy6bOQgToPgKQCO8ZOtiupsi8xk3HFNMJm2sbiFFFtzjgmcuCV+5PuH+4zt7xNrrwfOo5jdIFB8ee1avL6J0d6kogew7VFMc18H1M7W1trJP3OjxIJCtrayRO0+70cFXC1lLFijpm99VtyuKQk1NPt9XjMPNcbadstHrY0QAxOqXT9qx0x6hxhs5zTkb3ePzKNQ6PLV996T5Xr66jY67fi7nTV5sK5+O81jP2o9FlRF0XjJBohlXMUgBN6pDv6wQ+LO9rJI0xMyMJLBjJeeQmhZwVeUixMNGigVSbytgmRxQjP7Hw4ZoxWUpIiumQpU6PSB0dFZ6aJW0bj3+xamkGrcb3JbaheOERDRG5tegkiYYoGljnqYsxb77yCsOy4s99/DkutiX4Fs889jgdJdhYWeOFjzzL0fGYVqvFrctr9L/2Ta7/5Kdp3X2bunLkuUJIhxIe4SoqU+JEBzW7ZSGKIFa0WgeT6ZRpUaJ0Q5ggZkZSxsjSCFCn27zyhd9AVJZHP/rxsHEXEKyF0LrxMXHSIwxQNqooHv2ZsZmv1Zy+IKzhysoKSZrwgTvnByjOGIypsLbCNlMDmuIxb+OXD/fZE8rl8eBTEmTIX0oViqJg9lmkS3BJxXBnQt5dQsXKbdF47aKhNiTAO9GJO7vvgizS5EmCYzgenbC8uYGtDEmaIn0dct94fGhYnZ0PJSU4wdrVK1x57BJ3d04wlcEJgXEgZEav3yLPcjprGd21jNXVPqW15Bvr1ArWVjRX5QbdlYtBWQozu76GStJ7Ec+xpKwsKMLnJpBchFYfgQXs6JDXv/ib+Nrw5Kd+FKVMiAJ9EqPH72fBNBKHkzkXnvwZcn2bwiqadNq7Je63Wc9acHgblqtOp/0/cbf8/1OCQddK0Gq1AIE1lqcfe5JKK9zJmEu9Te5PLHk1wlclzz2yQm/tGtO1TzG5/w6fuNKD0z3Gx45Lzz3B5PWXwuzDSuEqmAwG5HmGsa3ZJKFGR85MtA8MYbHmLppIf2b/NY33nhrv4KQuOKg9k2LIipCMjgcsqyXSicIOxpwUht2pZFJ3GRw7ilMojg4x/pRyotnZN3z8E8/jfcnt12tk0kILFQqLmloTD912h/VLa0zVFOklj1y+gq5PSHWL2uSsrGc8fa3LN1+5yVtvKS4+cY32E2scjRyDm/d57NIWj613cMMB1XTE2tUJn/v2TaqvpfSfFowP93nnzZv80VfH/MW/9pd5bK0FBARIxeI646qg/ZWMCxQNol8ISmZ6l0iY3kSaEUz3C3r5Azyz9zWS1bQA38zcitVxkY+0gXNC2XnoWQssCHJmIGfwwNxuziKXcOYaqEXMlJOxBaqzhNeW8dDhnWNtKcXLef9PMD0LMPD8zDXBOQ347JwjSRIm04IsbUWjHoyV8J7JySkvv/4qmc7ZWF6hPN7DOsn+zgl+coMsV+zvDsg7XdaW1/DPX+LWz/wMR4c72Ds3KF1BS3ZQwoEUSGGpKjMr7Z5VrRFyDc750HBejbF1gbcqtKVEb03IwPUoIwTovMAND3j5K7+B9RWPv/DvIdUCpCAWNwWxACJMprBK4k2IsBoGoDmsO7/PIW0UrvH09JROp/OBEMQPUowtcK6OsxkfAodjb6sTEidrTF1Sx+krQkiEskhj0fpsrsGhQFQIHMV4j96FRwGJqWFwOmJ5Yw0hK8KglqZSLshs1zX7bzH3jQ/IivIkaYxapUEqj7Ahh9JEkT4Ovw1DoAVCQZL1ufbC83zzld8lNQmtdiwhkRqLQugWabtNicfKlPUrlzBSoazm2saTFPqYpcf7EAmsQxHMgoLAY23JpBgzKWukii0iws+oEmWEacHhRnu8/eVfR0jL45/8MbSCmbZ+eFfM4D+F8J5MpqjKIKXCCRP+rrlvvkF/3i3NxIx79+/zzFNP/f+6bf6dxEcaSImg22rTzrtMpp61tXU6vTVOTk8ZTSZsS4lwms7olGfWDMvLFxhO1immFflqn8lr+6S1JnGWNIOjw5Mwz1YIxuMJuzvHLK1uBMaemV4IDp+fGcoFoxnTAXMd72fQLE6jswBfkuZ85pERg23P7W3NZv4IG2sTvKlQK2u8er/m9ZfexI4VeS7Zfuc+/ZZlb69CFEOeenaDjeUnWe7k/H75KrJosZRnaFHjjSBDo9OM/lYXk425/uZNvvHygN1XS/53//sX2cwSNAa9vsInX7zIH//B1xjWCZXNOZ302LwqWL24xo2dY07GGZdWc57dXCNPKqrJANVPeeGZq2jV55d/+T6jsePPvvIWqz/7MXqpRBBTU4QUgbEWqRYAHT/bacxPLLE/unm8KeJp7vrcTryfvK+RnE4mQSnFQydiQzxext4/EYiPZSi/R+m4IWT8QPLMsfLREjbjZGbhcfyEzkJZeu7d3qGlBTeuv8btvWM+8Zmf4pmnrqLlXMM3JnJWxTQDnH3k2hQoIShGBUmmmZ5OSJeW5pCtlAjrePXl73F3dw/d6lAWE+rSoLVg+/4DpHWoVDCtSoyQrLk1HJ6qKjgdHHMyKMPoLGIwLSTeOspJGSaMKBMLNmwgLvAOqMFZtHCkSmGcw1iPdA4fYeBw00U0lhJvoRju8MpXfxcpBI+/8CMoOWcNaiCisD8U0nukDcUaDR3d3MOa59wW90rjwTYH+sPEvWwcZh2MZHzQB3jQE3N6zuK8wdoa6xTWKoxNUNbgrcU5i3dqtrd0wKooa42Ulttv3qHf7XN6fJ8//sIX+LGf+It87GPPo7O5Im9g/oeZjhb3tEDglARfoRKJqaa0u2nARmLBWRj4LBAuDH+WXmKJbEi0WXviY9ytf5OLrqKru0DYV7WpUVXNyWQCSUbWW6aXS7wxfO+NG3z240+y/okXEEtreAyigTWj4nXe4fDUtaWupkyKEq0CRaKWAhvhWBF7K4W0eAuj4SGv/NmvY5zhmU/9OEo3TmlUQLMCkhk0Eb7pBJ+miNi2s1jc1NzDpnBq9rfx/Hjg0oWtDxPAQCDI84R+r4vSKV4YnvvYp9jZvoeeOg4TQWtzkwtas787wMoe96pHuNjrs7JxhN+RDE/G7I8s5YUuB7vbTAbD8MrC41zJvXu3uPrYVfpL3fj5F6/Az8kCRNC7s9mzsyk+ECCp0Nt6sHvKG29e5/LWJaaJ5bGNDSblCdOqjRMtXN7i9umAByeWNFnm1e98g3p6zNbFDS4/s8b+7m36PXh09WluvWP5R//tS5zUNR97+gKdtRU6aUlqSigUOsvY3tvj3sEDrr9xyPFoymD6EkfjF3kiySNq1+ITn/5R1ta/xcFeD6+6jPZHTI4n7Nzb5dGnH8NWPcbmhH4/Z3lseOSRjEeeuUZPLvNHX7/JrR3H3r0jbj/4Kle2Nvnsj1xBCxM+vdT42oU5wwnRyH1/fTUzmgKY8YPDe0Ac7ynvayTHo9HMGwVmRlKKJCSdlcIqGzhJlUZ7j1J65qEK/PwANRM3HgplGm9fKsFoeEQrc9y7f4PP/e4fMK4Krj12gW99/l+ye+ujfObP/Qy9pYzGYPsF4z07v8TBSLG5tqoKdDvHOYvSMtTrx43mqwlf/tIXKCtH2rJo6SnRnAxLLm0uM5wUMBgjRXgdYyuOj0+o84T79+9xcDTCmBqBRwmFFhLvZUgsx+79kIdsQv4AW1gcrXaLXr/NeDylMHVo//Bz2rIQqYS2moYEuRoc8upXfxuZKh5/5kWaghxByM0J0tm9E95GuJcIO4ZI9gwev+B7gaCqKpaXl/4nbaAfhFhrY8HOQh5hASaRkRoxNHS7+fMXvpxz86njcS94qTg5HCJ0zvHt7/Lrn/8aZVGyvNbma5/7LXbv3uOzP/sXWFvOg/JeSB0syjyKDIrVCrCFhTTF1CXtfgdBArFyWbpYJDbLmbiwP4XBSmj31/nYR55nOtiNv5fUdYF1luHEcvdByWha4qVkrdWh37HsFQeoR38K2W1hIowbSFhCFXPI1YboMhBbOBIV1s3g8VahZGipafLhOEEtAwrC4Ji3v/JbKJHwxCd/DK3j8OtFyi9gMTo0dYDHrRB4C141Cuqsczvz6hdQAlvX0PDafigSoLxuLyfLU8aV4ZHL18iMoj485Jlnn+FkWPD4lWc5vf4Gb21XPPbU41hbc/OVHZ5/Yod7N27iJgl+NWFgDad3blPV5WxsmNSSaTlme2eHzYtbgcCAsLfxgTlHxog96FxL0wIS/P9wb0N0aTg6GvBr/+r3kB3D8rLnnW+W5J9q8fzjNe/cEhzZNg8GY24fDnHes317iFctKjHk/t4+f+2jn+GTn/wEK6sZD+7WfO5zf8TdOwOq1POtl7/Os89fY3PtApvZEp1Ownfe+h5W1kxLgWp12GpvcTod8Su/9BLir3yMo/0pX/jTu9y4scPtQ4lub6BlH0mNsILR7gnXB29w6dkrfOyTfY4Hx/zu9SGXkpwXO0vcfu2EL3/7FifjPeqypPJDvvjFL/Hix/4OS1rghUSiwdeYytFKU6RXcThAA7cy0xvzXlwVCBZ8w00Zq/2jHnx3Z+rDO+N9ZDI6ZTwZMJmMmE4ms6+imFAUBVVZUlc1dV1jjAnf6xpjDdbaOSt9c0Zk9MibHBxNNaFEKk1RWlY3L/DJf+8z/MIv/AiPXVZce/QF/sbf/Zv44j5vfPMVFB4R4d2mRaSp5gtwopzTl0mBFw6VSHSmA79mfG8lHLt373Hj+nWErEI0mLXprSyztt6ju9Tl8mOPc+nyZaaDEUoKOp2cwWBIUVtu7xwxLWoSodFSzqJpRahcRcTF9fOb5gjweVVbRmODTDK6nZwsSRDeYmpDWRiKaU0xrSiKgrIsqMqCykyx1mDGI25+80/Yu/9WVDUWKBGzKSGBDM8pF0LzJufRyJmfF++2ZzIeURSLE9c/HJlHkm5hwy9sfhZ+jpCsi4jHbK29m/WdeQRGhYHVo5M9Vte3+PRP/CQ//uefopMfsNTv8x/8vb+D92/xO//6nzKZTELlXLOvpJzvs4WvBjWRAsqpIc96lIVDZ+0QnTV5+NlX088Vy9elQgrB3bde5f6dOyQiw1TljNbQ2QpbTqmLAlvWTAcTlDT0l1b4ib/0c+jlHlbGPlwa9LOB6yLziA0OVCtLWe1lZAqEtaG1wVgqExwMY2xw1GyNsx7raorTU177yq/wzne/jLMmrqUFDGDwgek0KCMBSZqglQMTGF4CJNgQVs+jzwZOXKx8N9YyGA5+qPvsYZFS0M1SZKLBajIruHfzOomEajrE6RaHJycUyqI7mvbKGjrLWGrXbJ/skexXbCx7VtqGPHHsHRxQR5Jway3WhH19/+4200nkZGUe+cd/LMhiTqQByuZO483r3+a1V1/n8LRg5EZce0Jx++4d8vYTPPHcMneP9nlze4eyduzfOOB49xQv+mSdHqYW/Mo/+Ra/9fvHXH+zzUufe4XXXvk2Tzx/mYuXl1hurVNOcw5Him+8dZ23Du+xXRZ0NnoIlbJ2ZZ3Lj2/w43/+Gj/2yRXK02123/kuN65/he9+7zUmXESkCiGmgMa6GulrzKRgcOt19m9f5+RkxO3bD9g1OXY65e7BAwpbU52MMWqM9Jbd+2/x2tv3kQKcVCFNICx1XUb9//301LwQcg5pMzuHD3N7f5C8byQ5Gg3n0KaQgeFAKXSSolWK1aEkX2sdaeEaeEzMinhEhBBnVEoLOUmPn01TwEmKiWX9Qh8h4OOf/ds8++KfZzL1tFYv8bO/+PdCxKg80je9XAGSjJ828rDO4SDlHSWS3FlUngWFFxKSeCf41rdf4XBcgIBpUTGuLWvdHFsa6mKKqAsuXNoi73yKSVnTaS8z5Zjt4wPevr/H2Ja0Wy2SRGGx6ETQUCqFQE3TJJ3n+eHQpnHnzh61kqz2JXmeUZuSYjLFRm5cJTXaS0QSsDChFDKR6FRAPWD3+vdYX38ElcxzwAiLpML7UG2LCpGzp2mknUf280M4X79Ot0ui9fz6PyQxzp7dvB6a6QAzA9nkDJuN//1eaMEhQwSihFaq6XRzHF3+3E//XT7ysRe5d3fI6tqj/C9+8X/F7nFJu9MO+14+vFY0F0DTD+xVYGMtJhVLG6sYe4xKMvA1s1z7YsHabMnF7L498dSz/OzPfYbbb17n9GiK8A4tQCpFK8m4uHWVra0N1laWubixwtLaFVpbV9ANNWRoEovX1yxSyDF6X2Mt4FPanS5SeoanE6a1x5g6Vnj7yPkqUcojlQ25cOVhAG9/9XdodXtcferjhGpWB8LNctnChyIp68JwYkTD3tOkAJqq9IY+LRRceG9nSJnWCZubWx/avhPC08oS2q0WVuWstLsU5QkHx0esbV0g37zE8GjAzeuv89yTV/nE5ctc2LjGjW99mwtLN9l3PTy7dE4fMMi6SLERi83mZyxAqRUnxwfs7e6yttqfrxHijNMw+5s5xnpGJI7ieJ+q2Gf3Ts7XvtLnkx9/kWxwwks37yKyKYX0COu4+9rbbN84CkWXyiP8Kq2WYufeTX75n/53vPPdJ3hk1fG3/85H6fav8MaNE25f38ElbYSz3LhboDd75JdzHn+mjxIp+coy6yspP/vjT7HVT3j7rQEFFZ/9EUWp9rl1P0XSw4saLypwgR0nz0es9AWjm/f4xisFZdJhaanmaOC49+AomDdJhEcN3kz53nde5pPP/jxaFFgVUlbWloRB1QsV+wEmm9kaYh1Gs4bBRrkzzw1r/P6G8n2N5HA8RvhAM9dUDCql0ElFkmQkSYa1NpRuA94n4COhtwyNxpJYPahkhMwaj3chryEErjBILJlUGBt638T6ZXKboYUHFTgvxUwhRBh3htmLyFQxf9xVNfiUauJIsna4Dhw4yXQ04Utf/Dy1rPFGMawn3D04ZeXyCkp5Vpba6DSMw9lcW2FcW4rphMKWfPvNmzw4GVJSsZJ2A+uLDVROzdzA+cK7eMPDZ/XeIeqKo/1jhjJhOvH0ex2E1Kg8C5B1E5Wq+KVV6O+UEmRC3u6zmtSU73wF3e1CK0NkGSJNQYkAu9oa4QPtnW94HRdNSVOI4V3YaEJw/+5dHn/88WjgPzwzGSr+3v34PL/VtMvI2OM4j+qCsyBm32kKU9BMxzU676NkjrcVaXuZzfzTrF92oDK02+LCZYfkbIvTojR7t+EvDVGRoJrW2MqiVIKSAmkDJRiOhVYmAS4U83gXe44lqGSdz3zqZ7n/yl2EDX2wiVKoRHHt6lWuPfIoy/0+rVafVpaStDugFFY4pF887CAIJNhIH+F6jzOWW3f3scrRa+V0ugn1YEA5rXBVbJ+JtH9Ke3QS6NhEJLmw5ZD73/1jlrp9+pceC2co5ojj3QiGTnky6cE4mgHE8yKUqJfCg2eUv0ewf3jI6soq7kPadt5Dr9siyXOqQlEWE07KU7ydUhVT7u8dsbGUc/WJdQ7u79PShkK12XrhRaajNkf3vkhrTVDuWY6njpErkK4Gb2coiJQS52rwI+7fvclTTz8Rb92c4Si0dYTKVRp/I0ogPQ+PO6AyHi8sp8d32DtY5sE0YcnV/O6/+QaXHr/Ict8zvnGbwc0ThGiB1khbYp1CZD26a5f4iZ94jMu9Lheeucinn7tAljgeu7rF9aef5GSq2Ns/4XvXd+lfWEfQ5ZEnP0o77ZKsZXz8muZid8Ldu3u8/vptpNog27jCT/8F+LMvf5vbdwosGu81UKOFYWMNem2DOaq5++o2I5WydaHHjTsJh6c1Do9uZ5hyihAGJWpuvv0q2yc/yaN9kCQgNKZyeBRC6DlqsmD0zhq+hn1tIX1Dsy0faiH8PvL+1a1VMStQC31nCqUl2qSY2mATQ5I/1HsnJCpWFjbVibNLEItcL7F6k6AsJtMh3Y0OxjqUSqhGu/Qf3WJ4Smj4FjIsiHCzKLLBoBdJqJvcAsBoaki1pBxPWN5aYVbuIzzf+eY3uXX3dgQWQ5HIzdv7PHtpi1wYWp0+yytrdHKNsQV1WbJ/cshbt+/x9s1bOGqMSFBZHnILQiNljkDOqLXmG74ZCwPOerSA0/GUsuVZcimj0YQsVaRZjl6gFJPSR8WlUUqRpSntdps8S/HW4aoBuqiwvoWwbTAZXgssGcYEhprGVXcLwUazccKNbVosHBcuXIgw+P88ZHFDz7c0M7iT5udI5q0ir6tUcm40lQoFUVoyORnS7nYpbU1blrR6K4hOwsneSYCrRRIQEN5tIMVDnqeUEu9A4SnrkiRToWinnYX917yOEoF/VrigJH1AEhpaRC8CaFkWUE5PCeOKI5ogMlaW1lju9uhlHaTKQk1A3o6IzGyl5gh583iMTgJxd8mt3QOqqWRrS7LcbZGkKWJaYF2FELFCV2qkDHtN6STwHKcpOk2Q1YDq8DZ+bSsUokkLPrYKiZpAQm2iIXTxGvzMs29g1oerlRdW+AOV1Q9SlBL0Om10mnG6OyRLU1rtVVY3INEtTvfuof1FPvvYZ9m4MKWdDPjyF/4ZfdthKT3mYs9Q3NrhtIbrI8Vpvcve7oOZYxAUdzMNxrPz4D7D0Sm9XhahweYshgg76Hw1i9ZhYcU8eFOz/WCXVppiizGTaodXX73NZ57ZArXHK994k5afklvHxppm57imdjmIBCkcTuU88+wjrPUvM02G7F6/w+eP9vjE8x/h2hOrtDdLvvFSxpe/+DLt1Q3660tI02FnMEakGesrGZsXlxgeVHz9W/coXEKrl1F3LpFXgr/280u8c/sWX/r6dzk8yhEClpYtvbbEFhXv3Npmah1LXYWbTrh59z55K6djLVdW+qjBCIBECcbDfd6+/g5XP/UkUpahRsSV4EPw5WPeu1nncC4cTelFSAdEPlhUsBvCxUxUKEp7P3lfI2ltxcy18yCcQHsVCkyaJGgVSw1EQ7smsEbilEJ69ZCiW1Ru4QIlwRAMBhVrV1eofI2lppxK8jJByADRyNiRHf4+slRE72FeWBT9g6gsqtGI7lKX45EhzdJQHCBhfHLC7/3W71DHwxw88pq7+zt8++2ca6t9hDXYuqDTTimrgu39Y+5tH7B3vI/VNcZ7ECGn5GY3ISx+UVdxqnj4TxBCfUngbJzWFRMhSHRU6tJhTBVyIbM8l4wVh8RhzZosz2llOYkOn986R20sUtU4ylD4oDVeWOraUxk3L2qKMypj0D1TZs1i1VXNcDCk0+mE+/19sf4fkriGTYRZTqHp5xQyGkM5/1IR5ZCRQD7wugZjKaSIs+8URTVgZaVPVVXkacab3/gWz/65H0EJEELhpZ9RXX0/I9moqgY+RUqk95TFlG4/oxiN6CytRlh17mw0MH9DQRaGazcwuOAbL32Nr//Z50mFwynwNnzeLM2wtUB4FXpwhSRVGqf7aGlDFMnCgIDGCPlYpIXDOIMzsL99TJ2kyH3LeJTQ7bRRWUJHJUjRTFQJxkIpRaIVWikEmkyndHpLyGIfc/PLqHYHkbchyUAHzlwvEgQGFQsr5qmX2aXF6DM4qdGToDmvS70eWZLyYRXurC/36XRaCBTD0QlT6bFGMbV9Hr28Sl9VHJ+M+MY3vkuetsiqV7iwsYe7FdCm3d0ucpzx6mnBkZvgZMm4qgKqIRajmwCDj8cn3L1zi4sX1kFYnAuRjox7wnk/R4KaVJaIY569BztC1vtcXs84Oqrwacr927sMHm2zmSu+/pWX0b7NEy9ssLqeYpxg77jGxK17YW2Nn/rsp5BS49whdmwZ7p3ycvs+dU/QV4o/+5PfYX/niN7lLYYHY2w9ZXlpjc//66/yl/76C3z8qZSX33wL3V6lI5eQ/S4dFMlSG+P6PK07XNha4w+/+Kfs7kxZX8rQ3nH/7hGng4q0m3Lp2irUgv2DgvXVFVado3+1hzvJqIxEJB4qy86dW9SfeDbyonhqFyYFKSVoRtHROBtnvInwPR6LgLQ8ZBPFB6Bm72skA+y10MbhwVmHETb0o1mDszXOCFytcUrilcQ5PSu8mBdfcKbQxgkXJmRE5TMdFuQ6RQjD0JSsb25gKo8UCUoYmhojGXuGHiZPb8Ln2bQGISjrio7W2OihhSpQz623X+Zwfwe8JdSahqrS2hV87dXrvJJmPLrc5ZGNLkudFA8Y67G2IslAlI5JXaHTNsI6nJeEuneDdzWT4TBMz268+gVk2XvHtC45KkoudNsIKdBaYq2LUcwcKhSiGXmkybKMLElIEh37UYnk7ZakDu0QeHDGgtRwci+2Uoo4zaLJj80NQPP/xo3J8tbc0fgQ40nXQJkzLRuvMUaGIo4dUzJFqRSVxKgnUWHOnNZorWcRuJCSqrQkaQudtoApJ0XBUy8+ixmWwSmRi/297zaUs4rj+SPRKVLY0pAvtRkMT1hpJ4FOUYpZC1agcnQLEfCcLerl732bX/v1X8FWQy6ttEkIv5dSkmcZaRJJprMcoRP29/Z548E3+Jmf+RRpHMlGhHXDNTejgsI+MtZha089rZkkgjTpYLynMnWYb6qTWSuXlAKlw3snWpBoRafdot3tkKYJ3lV4M4bahXYRbxE2ASVxUmE91DI4ry62YM2h1sZoemYzJYObj3eeBw8e8OQTj39ovtna6ipaK0ajgrKcUguJTjT7h9vs7O6SKUertcIjT19D2Tad9kkwqnLIndOaNw+G2JHloBIYWTEcnrJ4hhqi9/BzKCx7551bvPjxT0EuZ1F2WKKHFP3sRcBj8WiSxNHeWsIWCesbW7jVNqY4Zf/OiP2be2yt5ty/M+Ttt2qe/shF1laXcNTsHTv6Gyv84s//FL1uStrSmEJi8hy1OmVaHfPyd25x//o9bt3fY7k7RbLC6PiQV7+zS2/lEawf8Ee//3le/cYWzz99hbXLG/T7j1KMpkgkWgpS55F5n7p2/PWf/Vlu3PgCr98ccHw6YX97ik4SHn30Iq2WZjwaYZaWSJb6VFbDlqW4vUc5DbMshSrZPdhhXJZ0VUjfGeOwzkZ6UYtA0RSszZbtjPMYDOmsiIczacn3lQ+YJ9m8wVzL++gVzYxf7Gezzs5K8ZV1WOfClOnGg1yAyJobDqGHzJaWpRUFCqxIWFJJ7N9yeGniHL53ZdXiy4iFF/RnnqPSBC8gybIGfcLXhrdf/jZOjBFOIL0m8YHP0nqL8TXDquZ4ZFntK1rdjE6akmDDjZlaxlNPbQW9JA2z12SY3E2MzsajAZUxpEkDCcf2BaD2DlMVbN/ZYa3fQ4g0etaaBoIm3k5BUF5pEsjWEy1JlESr+KmtB+uwyiBtuD9CaqT03PvuGxRTjUjUTPmHDbRgsefLxnRa0I1RpFhQbh+OLBrIIMHYRGUeDaHUGqVTVJKi0gSVpMhUI1KN0AqlQ3SZSM3h7j2SPMEJh07aOKUZlhapQnXyw/uz+ffiNIvZtcRwXCAQDoqyppu0UGka4B8gjEALik/4mesTphvENq2de7f55V/5J6HxHsd0XKBaOVoEhimtJWmShChXKEwx5QvfeYVq/RGK6pNkqUBgz+T3mgDNiUC4IK3ECkshIYn0TkKCsTUqJgPUQrWuFAopFEoKsjSnlXfJ0hwlA4JkrEUYi1A1PqIX3obiMu0kLQdhILGNxroZkyUWHLDmns4L/ZaXlqJv9uFsvDRN0FoxGA7D1SrwIlSgOmeYOENhjrh96w4vPPtx9ocV5UTB6REHTnAwqhmXHlMOGNcV3rtIaDgX723cUwqB5Gh/j4P9Pdb7T8xOpfMOhUJ6HUZjxTPrY6Ww1zXOJ8jMUnuDamU89aPPUtoSfVpw6/W3KSrH2sVNKrPN7vaEG28c8dQzmq0NyaWtJ/nRz7xAv9vGt9vkboTJc1w7R6YCM0h4++vf4bd+4yWy5RW2tnJ6G47Hn3uWrHON0WSJlQ3J9o0jXv36Lb712pBf/Fsf49lej7zfQtoKV1qcrpjWJbqv2Wj1ee7Rp2m3XuXXfu0Bxk3ZunqRpX7CdDKmtpas06G1BplT5CzTXe0jB5DqhLIcMRidsHu4T2+rHXaU9eHvVIjMfQxAQiTSJGjmaQjf6L54QJriawAW7dL3kQ+YJxk3eePxxZvYzGFcZIxYjBxDhOPOVhLNvs2A1/B/KZgcT8n7PTyBrksQufqkmk8CeVgWU6FeRM7DuZduK4NQCdYY2p0+wtsw6cEb8kSBhyxLqN2YVCYMqwopwbgmJxVaR4QUAVYTHuU102rKYFTiEeQqPB5maMY5m15QTiaUhaGT6AiZBG7PxuHQlWVTlqTaR67WkLea2aYYAUqlZlMvVJyb2PAohjxnaHNwJtxwiY19xpITJZloSSpE9D6Ja9MorahZo9c6Ho9otbL5bf8QI8lGFg1lM0RYNlCq1ug0QScJSZKSxkKyJMnmaybVjOavrKZsbVwM/JPSI2USokfJQsEP78rJzv71kIc262QzHmMltvZImYZo18+5SsO9b6C2wNNZlVO+9a2v8vk//E2GoyN00kbosBdLZ9BZi8DZoSirksOTY+7c3+WNt97hMF3msd4Sp0en9C4u0RTQzMZ3hVE6DciPsTXDyZi7J2OuLnWRKo4cikbRi+Zz++isgVSQpposz0jSjCTRsz5n7xzeWJAWSUko/Epw0lGUx1TesDgEdRbVekLuQEDTpyais1HUFd1e74x++GFLpsNc0eF4GNahyec7T2iqEjhn+N73vs6br79GnnlSIdGmYiqS0OvsCJNVImrgH/o882gyRDWdTkarpQnroWIw0axZUxQ1/1tQeOcRwpGmCcWJJJGAUxSjKc+uZuwcThjaBJkoLj6yhKkc+wcHvPU6/MIvPMZ//Dcvc3/fsW9XadWHeKUojSNttRmVJUcnCZ//yluMbMnoeButVvnEzz/LZNpBtVuQKGqTcv/OAVVtOd475l/9q8/zV/76T/Px5y+RJyGJMxqU5HZMP51waUugzCYfuzrh6JMDvnn9gKULKYIKayyShHavy/pqj+1RSks61pZ6yKJAoRBKUyE5PhkiLvRAJHhb461F6BTlZSQpjevrF+DtBnX0i5F6hK9dKG77oD33gZHkYjK9uYGzBLxvGuAXvi/+3Ixfh1iFeLYt04uYjzwasPX0VvBmEZHeTS4orabfbEFxyrkSQgQqMTHzXC3jUUmSdZgWA1qdHkY4hMiQ2tJZvRwYa5RBq2A4ZFWH/KIAicJ7HSdICKyzKGGprON4OKE0DqUk7SQwl0gEwilMHYK70XBEWYyx7W5QIj5UTDoH2BqXSK5eu0q3m8Ycm0CrJk8T8mJKKhKdBXIGpeKwYRm5NsO6em9xziBdLFYyLs6QVBztj/D1MiKdRzGNr7EIVTf3c3llKXC2Nov7IYaSril0oqliVaG6WumwHjohSTJ0kpGk6dw4JhlJkqKTALdKFRyKqvZ4lZO28tir2/TRLuyxMyjHw4hHEM9iBBnWxxQFrbxFOalIs9Y8omucQSGpCsPRwQE3336HN954k529+2xv30EmoNttBsOS7b19NtZWuNoVpFLgZcrJYMTJ6XWs0vhkibsHJ0zTmquPX+PmrV063YyljgpUevHgO1yogvRy5kHXVcXOzhEba2uwniNlkxtUs17OsD9CTUGSJKRZGiauaB37f+VcuXiHczXKROWjQrbh9NXrDAcl5O2oLMS84Gl29s/gYAAMxyNA0MrSD80101pQO8e0KGdIyjyP2ITqwXg5V+KMxkjNVCa4ysW2JTvTR0Hm4/vmMHujwxy9Xo92pzMrPBMipl6iHg1PXmyti9ciBJNpSa0ldS2xpsDVQ65trWF3FLvjEmMqjIT1y11MXdJfbfP8Mx+nm1/lEy/C3Xd2eTBc5nRckHeWqV2NMzVf/7NvMTDLtNZbVOM91rZWWOkssz+Auk5xTOgtr7G8nHIyTFAyY3y8y2/9619jMvzLvPjxLVQ5xcsWuvWAJx/R9LoFt+9Y7uwrnn7haf7D//hjfPPlG/zpVw45NZraVmjdIZUOaoXJJWknQ8hh5Lo2SKvZ2z1EPX85krM4rDGQZEjnsTOj6OMaE+0Ps/XzDfWfjy1KwtNUH7/v3njf374L3zwbfQTIdfEi5t9nT5+hemcVkURQK4/yjqQ1Jc9yROTZa4jTxaKxnCmdxSo4PzO83jU1SsEYV/WE7lKfo31BWShOj4ZURcnRwT6vvX2L42lBZcPYmNoEpRw8bBuuSQUWIeFDHtZLz2RSMBpPkSi0iMVKKglRoFcIQu++tYa6mmJtHgAt70AovFc4K9i49gl+/C/lvPnKdwO5uwgQWPicId/WDBYORlKGgoqFNgfvA6+r9SCcCRBbpIp3eMqixsyXCSK0tYDMzW6O957t7W2efOKJhbv8YUaSC1BwVDCh4lIjdUKig2FMk5QkzWZwq8w0KtMkaRJaZlSAwqenE5K0jVRZIBqHMClGzBv+pZQPKbSzkey7JPoRo+GAVqfD8HhEb21pYX0du9vb/PEffJHXXn+N+/dvkWpFmmUhupUOVMJwOGZ3Z4/S1+zsO9qtSyjrSKoRVeHQ3S2e+MgnODjZYfet7zC1nr3hJ3kyyfjWt97m2uMXubrRI5Wh2El4gZIO7+zMmU2844muYKlVolUPQSBe0A8PJBDRQKYpiW6HdhYlZ+hO45h5Z/B2oSrQeVCeohxSuAJ8zjyIivjve24nQb/XnztxHwB9/aBESI+tmPU2WmsDY9YMy144TMLivURRY62hEpZmmHfDwdqsa0Mg771Ha4FzDms0SZpz9epjKJkwnRS02mFySl070jwjQIhyvsb42TIKLLfuDtjZh2FtuVynrK6scDodkPU7+LsjrFRUfkiiHX/vP/ks19qXuXUy5qVX7/Ojn1zn0auaya0BpMvUTmEmU15+6TZvvTNEp0t4X7G5tcVf+psfI7GSpUeWeP32lHGd0L2wyV/727/AS19+g1t3BRUF5TDj93/7Dzg5/hE+/amLrPfHvPjUFdLpCZNRztvfeQOXCS48t8H6Wotf/Ol1Npdf5b/7H+5Qqpo0dxhXgqzx5JDllF7hjWZaJwilOTwahJGBykDpqesa2oBo2Lfm98vP5gkvOjuN6XIxAHSzIOH95APgVrGAqosFGzmPJud8eIsQLLON0njfZ6CsuOe0kEwmlqS9htYh5xHgRzkzlFLK739pjcRoV0QD07RalOWE179+k9/73T/hreu32T3ep64m1NMKaY5wYop2Bf1WTmFrmtKexEvaCpY6Gq1FgL1smK4wmU5xPvS/GW+prcEDpg6/t85TlTY8XypwDVDjaSqwal9y8zvf4/W7Y1pZC3wBIkAoAma9qM1XaPJu+gDjGKS4vs55rIgVvyLOCfRxkLP3eOnwIkTXVgSAdpbbjR6vR+A8XL5yNRjrD9k8BglwciMyFurICDnPINY0RpJpgk4TklSj0/D7MDw4RKX16JT1tdUIm0PE/gKUv4BSzGdPijPf4azB9E1kJMALS6ubsbe9zVq2ysnBIbdvvM1bb7zOt7/9bd65cQuZaKp6yvLyKqNyRJIkKK04PTpme+8IKRUdAcI77j54gLu4TttMuHj5eZ5+4Sc4GpwwPhmz0l1GFgO+/a2v89HnX6DEs7s74t6N+3R7mkeurLLaSxCuRrgwdqqqLUu6y7VHNsl76zR1PiACfWTzn5AhckyS6JhptAooR8Nm5b3FIwM5t2vgxHByHILTyjIlIRUh29lk4ps+yrDu/sx6eu84OT5ic3MzPuXDQTCEbJhpw1oIGfqLnQtsOTykB73wTJ3HeoH1AZ1o6B8bZyI48HP9lSWa5eUeUq5z5doVrl17BCEcThisMQhUqICOhnaxNWFWrOgFzgv29gwHh5pKWh5se5576lHeuvk6S4nkZHRMTU6eGn7qpz7CX/25nyDD0H3jbR7sPuCVtyzPPnOJ5z+6zOs3xzzYEbz95i0+/4WXMK5CKg1a8tmf+wmuPbrJ0VvbaFa4sql46+42RiVsXX2Bv/W3n+O3f/ePeO2NIagKieebL71Mmgz4j/7WU6TpmJSUr3/zdQatKReXDZ99/AKyvYovpjx5ZZUnLm3z3ftTbt2UTKs2N/emSJFztNPmwW6KMILaJggtKJhwOPS0VaAmNXVII0klEC5C3NbFO/UQjCpCpN8gHOE+LpBevI98ANz68B834X7zPWwWL1z8mtlLZiXus63VQDphJFGtIMEzPD2m3emHZ8SKzvnBXVBW4qFLEPMWi+Y5RtQoq5gOK/7FL/1rfv8PvspxsYfHoJKMqphiTRkMk6tIpcLXYGxoj5AeEinotBKWeqEfMdWK2hmMsRRlRe0cpTc46THeBSLtOJy6dAY7teRFCy8jXyAVwgW4VYjQAmLrmgeH2zxyQaE18VAGr1MloSpTKjEryZ/lZWUY/9XcFdfkgptoyFu8kCAVbd1C1bP4+6xHFazpLNA/OR0gCENm5/f9A5yTH6AIoaKSiNF6Q2KhdJiWrnTIz8ZIOxQ1hfxkk7+dOVcOirpipZeH6C28wxkYf7GyNbz/uyPJh4t4mhYLJxwyEXhn+NV/9St87c++iiAUBB2enlKLEm8KHBbjDHXtMNYxGg0p64LV5SWW+ms44yiLUw5Pjzk4OqHd6vGjH/9zJK0e4ug+Qkkeefo5ut2cr3/tS/yTf/5P+NHP/BiTfIpznm+9fofeKy0ev7LOZz71JN0YGTsj6T/zaf7m2grf+JM/wmFRSsY1CJ8tVLM2EHUseGr2XiBixguBQ+Iswflq8tzehgjKJgynJSeVZbMNDTQ5J8xbPMBn13M0GrK5sQ6Ry/TDEC8SjJkG4waxS6Wh1F+IRKIRdd5F5CikUxqKucWg2Tl3pqYizXLWNi6ztnaR/vIKWZYhREjnhOpLOQPq5rLosvrZPR0MRqisQ+prBkcl46pDrjfZO7lP3muTK3jxmcf5q3/pz7PU6pBow4995kW++tJ3ubN/hOz0+djSOo9dyHjtpTf58he+jBW7bGwt85Gnr6IlPLWVIA5LpjfuMd1ZZu2jG2wujxkOR2jXore6wt/8X/4VLnzpG7zy2g6DkceYY1775jG/nd3j53/mE5w+uM3xoKLXXuHKoysYmZCMBiTtNiL9CFtbN+GdQ05PStorCYWbohR4tURVb4O11MbgjaAG7u6VPLZO5NOuwwoJGVsVI8mFJwQlfmYdomHUzJw05hHl+8AcwL/F0OX5YVrE54kR3MLNwz20wRuFE58sA41jKHIRaARKCUw9odNfjzDr2RxReGyOwDyM/DaGclYE5CXD0Sn/xf/l/87nvvAnVFVJZY/J8tUwjd41htuTADpJmBqDEZDJwO1qnWWj32dteZleuxMKfqSiKA1F7RnVBuM8GRJTeXzbY0yFkgnOVhwVhnGp+NXf/jKfeuE5nn16i+W8WQ+B95aprajEFMjxIhhPKRVJU2kpRYSaxSySFA3NX4wCXPzPEpLP3oVmdYnHW0jUFFl3FyCvBXy+uSfxHuVZtkDBFuGK9902P1jxBAQvMDUFxS2Uio3uSahojYZSRcOp9NkIXMQqtmJicDJF6DRMWoncpo3jNW+HEWcMJZyNJBf/3aAVrrBYEr725W/yK//D/8ju4X2SbpeLW89w5eoa97/0RyglqeuS5ZU1+t0NrLNU1QTrHF3RJUlz1jcuMh6NKcaK8WSKx7G6+SRFUXK69xajkwOKsuKJxz7Bxc2LrPdbfPd73+Pu29/EXHiSj7zwLG++/VWgxa/+zncodYdPPrtFp+txpuJ7X/1DvncHltotunY820OCsMe0UuikyX1H5p3I+CRmhWJzJ8u7wAcLhNynBOc1rVREpy/0DeMFXsShwCyop4c219UrV6Kj8uGhGIIwQ1LrBGOrWXuVsWbhWfPWpIZqMwxvn0N5s9eLa+acDzlgIej2MzqdVfJ2Tt7qoLQKrykEDUmKFGJB3z0MBQb9K6UHMcVUFVp5hgf7DKcXWVpaYjo+QcqKXq/Nxz7+LN95ZR9R7nL1qSUu9C2PP7bB8OAWd7/1He5ff5W7dx7w+hv38dWUFZ2iVJf93Tt8/LGa4Y3vUZtnGe3X7Jb3qdMuT360gzu5w+63TzhYeZze5ZRLm6uMBiU3br6F8bC80uf+/W3+5a+e8OyTF3nssascHhxx/d4R6E22llMYDHljf41p51ny7i7CFCgMuUip0YhEI/GhQc9blARnJQ8OS66sJQgR5s16LELN72FTmRLsUdP2IaPTLc8gn/+28r5G8mxf2Gw3Nf97SOTsCY0qiS8ys3JnmVLAVw4hNUnWOjPIGRk5LsVcIZ1pAJkNjwyGsaleKk4n/Ff/13/AH37ui1TeYM0E5xOUamOqwIJjvUV6TyJkGEZrQ1l2qsNg2RbQy1ssryyTJxpbl1hnKasxg3FJYUMEp6QKPWjeU9UVaaKpSsNoMqEwJ7z++i3eePsBlx+5xC/+7Kd44YkWVimshcHUgEpCBR0WpRVehGrMhm1HNcayWbOZoxKUlWuKpuLnD4TeYZ1qYTguPaV1ZF7Mtk3wLNyZwmCAwXjIxvrGbO8EuPzhZ/3wRCk1yw/KCH0pqWaTZwJ5gI6FPA2ZgJxVwM7zQTA82WZtpYsmsM+AnfMKRydkVoyzkJ9b3PjvormK56Ke1vz+r/0eX3/1m1RMIU1I8x4r61eBAuE1/d4a03LM1sVHKYucfjvj6PQ2/WQJhcWQ0253oTJ4m6O1xlnD1voGh9u3yJLQIrS2vsHyyjJTU2HTPlcfe55up8ej156jLo8C4Fl7YMLLL79BVVtu3z3kwvoyo7Jie2+b9oUEYluSkA4hQWs9M5AyfjUw/8Nwc9hvAu9C65ZwgjC3IxJ+eI2qwUVCgQZPOhsLEQ0ogGNalhwfH3Pp4sW49z4cM+nx5HkLIYhD2s1DRTjM00VA02YgBPNpTfGVzjxfBMdYioROt0O316Hd6pOlaSg2jIPDvZ+fcaLKVFKEVjhiBXOEyqfO0mplmOoY3V3CVhUnRwVXltukosdHr0359E/+CMfHt/j137hJ6dr81M89x3/4iy8i9m+yduM2LWNJH7vIWstx9XKHw+Ocuk6ZToc8/cKz/IWf+SiU97j1xjZ/ODpldLvGvHKbT332Ao8/c5H/9F/8M7YLyYQlsJ4XfvwCP/ncU1hyamvRyuO9Yntouf2Vm1y9eImV1SFbF9pQw0vfNtzcn7D+yDU2bn0bY8ah1U9oHBaZK2QqqcYWoXKSLMVKyTt3dvnk80+j3RhTl8EJUTH8DlAlvhkSLZpCnaaqdZEq8d8eLXv/SPJhzzra6vCPZjPMv8/plRajwTmk1UBg3juQknI0AZnS9E/N8mELxjTwoc7ffzZuqMkLRc9geDrm7//9/xu/92/+iBpHaWqMr0mzJZyvMa7CYgNM5CyVciR4EulJlMa64H20E4lKJGmWkmmNFZ6yKhhPCgbTiiJW7BprqJqchYFCGCbllNqGaR6tusT5knv3HvCPfr3gb/2VH+ff/9F1hKjxlUFLEDKU2igZ+td8bEkI+cfQK8dMicuHDGSolrUR1oJwoGrASs/SUpvjgZqt3AwAd800+rhdvJ/BFrOS6Q81juRsAc2ioVRzY9gocRl5gZvHzzhiUjJ1hrXlDoI6sBkxzzs20eb3jR7F/FoWn9/k3IWAL7/0ZX7pV/8ZF65ewvsa4ywXLj/KxavrvPG9P+J0fBAqanWLtNVmUo8pnAlQmfM4X+O1YzAcUE4nFFVBkmakOmHr8mWq0zFVccrg9ISV9ZTd7ft0ej2qQUGuWkipMEbga0evv44SgrX+Gqe7N7mZ57itVV5/43VW+mD9FE8NIq6dtKE4TIfIsXFAmrWV0VGVs5ahpvUrjkh1oRdTzMrsLS3l0aIOKkH6OZw1y9k1RtDPHJFZ0dRs/X+QO+u9RaiE0aQKE3xoRio1aEvjNYWvpuLaOYt1LjpfzTmMSEyzh2mMqwQ0rVZKmqTBP0YgHFhvsDoJjlddkaYtvAwkJfJM1KMRXrLU9jy6OWWpM6W7Ckmqyd0tVjde5OTA8sRzj/D0411e+lJNLkD3KtpLgrzTwe6tsCJ6rG102fyRT5MvrSGFRsZCROsNXqWopIUtN2l/4oA/+OrvwIOSrit540/2WfrpjEqN6PXX6eaBHSzp9MmWepwOp3T6G7TzFJFPuXf9gJfffouXr1/n7/4HP0OS9RgWE+rkIkl7Qm0kTz//SbZvvEKuazKlqawj0Y4kNVSjKULmKKtA1Ty4v8/J6bMsJzKgfE6hdQtBPRtk3dynJmVz1lL5WfAlvA/37gPy4B9YuHNWFnIZs/xheJpc+BnJrNQeKWYk1HNoK0AGR6NTlleWYw2EjPUU8wueKb2HrigoqrnpLIop/80/+If8zh/8MVOmOGupTR0rITVlWYS6T28RviLRjlyG4z+ta7yxWONCIUPeJtUJ/X6PtpKUpeR0dMzRcMLYGTweJSRKwaguqOsq8ABaS2kqEBIXR4VVxoM0JMWU3/qDl3j08mWuLGmUzuj0llFyipKCNMmpqjIsVRwDNoOa55+aWWm6CF69daG/SohA2o50eGERJmV4MqSyGakEkWQBDBcCa0MfW9P3ZqxlaWkJv3C4weM+vEByFrmJBQdJzhYkcPU146sah0o8FPkgwBYeW2l0kgN21tiyCLW+q/0DZsaw+XnxuoQQCO8Zn475pX/6z0BWjEenVEVB3mkhdcrR8QnTccm0dFR2QjtPcZVBWoNMCI3MsQJVK0lhKkoX9vTK0jKtriaVGqc6FG6X2jnWL2wxmVRMhqccHuxRmyl5p83G1hXK4YRufxOpoVeWTEbHHNy7zdNPXGKyN6HYC3C9bIpTlEDKCFc/5FzMv5r1DTCgELFi1kmckDgZIQdnEV4GJYWisJKedzjUDLRv8nqiyQ2Jhps0zA5dWVmJazt3Sn7Y4lHs7+/zkeefRWnBG6+9zXgSWlPmaY6wJiGnG3WrCAT6zodK+3BuFj9DMLKtdsba2nocVOBn0YzHkyZx8o4gQNxzGO2swyosgoJOK2GllwSOmbogTXvIsceokk//xBKTk2Pu7R9yOq05Gk/IkwwtHXUxwAyGVFKS6BZZ5wJZd5Uw+ramqqckagkB1GWJUm1a2RpyWPDs45bkUHN4fcjvHe5j5DqkSySpQlpLNalIdZck8SHfPk1ItOD4qKC/uYrOBd+7eZ/cV1y8sEEtOmytZRSFYanvWOvcYzA9YdJq48oUJx0rPYUfG1QiEMZgmVKPK3a2D1m5IrG2xlmQQkdEbWG9FiyjiDdrZjADaXL4t7f4D2DVf3+49fs8MMtnLHj6s5zg7HDJhWhw4eDFvA9C4KRkaiqWe6254pKNMfDz/q1FBXamkALAUpUV//C/+X/xa7/220zqgtpZsBbrDIlqU9U11thQLGQMmQ85u7G11NbijEMr0CrkI0sjqCtHkrZp54HnbzBxHA6CQWtLRZ62qKqSiVdYpUmomBQFxoVaVusMxtfh+oyiS4uj7Xv89h9/ib/3Vz9NpR3t7jKpqFA6DOBteFrP5mKjMo9rP68IDBFhiNwd1gVl1nDhemo6uUQWHuctzlimVUne7gaU37s43BWqsuTw8IBO+xEgTrN3LvQQfkiyyPfbEJU3u9FFL9ALHwZbCzEvGGNu1IQQjI5O6edtpEg442hwFiFZ/LvvJzOjGQMKBfzOb/wqt26/RZpKBoMTEqXIW6u0Oy3aWcpoPML5glbSItEOZxxKZaRpGBotpWBaVjg/RSQJWaZZXb9IK08ZF2OK6RFeOqbjAQenQyqvWeq08bZg25Uo7bFmyqQacXB0RN5JcK6m3e4xGB0wng45Ho6QrRUyZXFFhRLglEOmggSNUtGZVTLke2cR+iLMuKBIZKCbFMJhBCgf+5o9OGGpvMVYgVEu8uY3CEZzf+JQ5Rmk79nd22Nrc5MkSThrXH64cnp6SqvV4tLFy5T1hFne+iEjKSO+qrSMtJ0LqQxk5EINyEzElhEI2u00wLmE+Z/4+VBwKWN6gVCkFgp+mtec8y3jJd4lvP3Wfe69NeTw6BR3XJKqI1a2pohv56QXe/Rzh90UrK3m5HKKLVKkTXBVgSkmmMqjEQjGjI+HlKVEJxmtdh8vLAcH99FJRre7jDCnlG7Ki59ocf33DznZLjm4fUq91EZ1JcJpqtoxOjpEy0fZWNnEyxJXT9m+sU91UpCojAubmyRovvryHfR3t+lkm9TmlKPBlG53hU9/8tNcdddZnezz1uESdjrkpDXFrzr6ffCuwpaGUtXI7Ji1jRV2d0bUZkwrkyF9YM+mRubF1H7BCZsHV/PujH8HI/nuTRuLumfJT2aGT9AYxsYOnoVZF+FWhKSuBVXpwoSBMxsx9q41kcJshwDNv6M45/nlX/qX/Ktf+Q1Ka0OO0duQT3ChbcBYi5DBqOA9FkVlK3ykMgoQEwhhEVpTlIaqqiiKmvWVHuXpiDsPjiisJ1MqtB9IzaQOVYWToqKvBWVdY7xEqQTvwbiSPG9R2prReEiiM1594wbfefoJplqxtrKGPtyLHpCNObFIviv9Q3B5kw9SWO9C5Z0PzC7NODUfp06EX0oMAlfXVELgXYk1BlPHcVvMIyWlFBe2LsyLMuKXEh+wNX6A8q4cYPP4wz8vkKA7Px+6DKGdY1QNWNlYxYo6VBfjQfgzrR7vMo6zrXaWGi8gGOHxG69d57d/4zfp9jooITGjEdZV6KyFNxkKT20qFB5TOoy0DEenZJ2lWDWq0CpEHv1enzRfptvusNTv4Klp9zqsrm/hiyn7+4q83aadd3GFQCuYTAqyVGJri/UaZMJSv8/u3gOEFhjjmBYFew8eYHXG6tYa66tt0voOIiIX0pq5Q7boyAo/r54XoT3IeeKo5RgRehcRyQYlAu8Enc4S3c4OYZpp5Lr1Ib3i3Nz5m6GXwPLyMirOMP0wUf61zRXybBmhElwxxjmzYCShMZYQ1tc7E/YbDToxd+SEkDSEKmEdVaC9kwqBCuPSvIx9mAJPgDsVKqJywfkNnnFzDkNLjUVTT0ZsH+xQ1Q6HpDIlSXdMPR3x5jsV9fEpS2sbSKVJlWQqW6RJh7IyVJXB2gmjYsru4SlVVaGSlHarg7E1J0fHKCnpr6SMxsccPBgykWu0Li3TunKXg+/sotJVpEtxtqa2htoU1KeOjTYcTvcpTJu87vPkpQ5utMM3v3WT7bcKurml2wEtDMo/wPkpO6dTeqsXuPb4x2kvaSbDY+oxHDw4ZH97H60UdTGhKCcoldFfajMcHpF1NpAyFE2SB87vuPgztLGRJp/e3B9/xijOXbj3kg8s3Jl5lGcQhHkVavgei0wa/F7MCyFmhAA0cFU4KNPhkOWlLsmC1zrTV2dgs+aX4VA2WQIv4HN/+EX+2//nP2ZQTTCRmcG5OrDQyATnLYlOwSdYHAIdmDEAj0FKHxPmml4noy8NwhjquuDuvXtk+QXefucu2wdHpInFGIWzjlE1YUKICCZliXCakYXaQ5J2SSKhdZq3sMWUYlqSrrRx5ZSvfu81Pv3sozx9aZN7h69hZKCasyxAXNC08p25lw1Zg/MO5w3Oq/C8MDgg2FXhEViq2uBlipQp3huSRAEWJTShNzJ4wds7O6yvraO0mkVX3num49P33Tg/SLEuJNhd5AWeG28CbNK0vrhAcvzw88LfeiaFZ7PdCYVgfk42AQ9BrbO9tUCa7xeiywbelzAZT/hH//gfs3+wR5InFGVJbSrQnv7yKtcuX8HaAZNJgUYjvQ2tKVmbTmeFNCnwzlOZKbWxpK2EXrfP+voa7Zbk/t27CLHMZFAzPDpmNCoRCOrC4F2La49dYXv7DlZMODwahLFVQiB1O+x1WaCwqJZiOhnyzAvPUR4fIqSnn2p0LHQikkPPoda5AZvZsZmiWdh3TuCEmLWxOi8QIiAPpjhmWha0WjFP5yPUKlRsmWgaQsJOc95jrUVHI7nILPzDlnbWRatAkl1XbrYH44mY7QVPdBqsCQ7FTDHGCJHGYMbmdmFRhBqHkLps+vJ8QH/iEOtmb8+LEuO/F95COoHC0l3ZYiI36Gxcw5qaajqitBqRbZK2W9x+6zbDwZjVNYVzJkS8sVrZYXHWogj5T+8tVTmimIyoqzCmcHNzi067x+HRLjtHu5yUijffOmacKzqPreAHfaQ/ojYlqUrQeUotHM88doVh8Q7ffaWinl7G1BVXLnUYjktefe110tYGIlW42Opj3RJZb5ml9SVqkzEtl3n5G99jZ5px/8Yh+3cHsRDvFOcsKk3J751y60bNE1vLLLW6VKWH7rwIEr+gLxbu75mffTOSjEjz9/574wOMpFpIdgatLWhaExbyGI3r+XBeo2mAj98bJeSVZjIasrS8BDMlFX8niQ3wfnZqg6dKNM4G4eHV77zO3//P/wHHoxEVNd76mYH03iF1ULJaCaRIwVuyrB0MXaRzUzp4Q4Up8brDR164xpWVPLDWOMHe7h637zxApob1bs7RacnQSApTg/dkQlLUhrI2VMahkxSdrdBdWmV4PMTJHEuJtYqqNCRZzv37+zz62KM8MhhhFw+WbByOGMWcgbsaPL2pLgw8ky7ySganxAYyAAFgmE4thVS0lCbMSQxRgY3E0857vPP0l5YQKkDEQoR4SwkQyYcLtwaj5WiiaOctRCjdu5AfczZ+LfIGW49TlmoyJfMpqZBh4swiwCrOGskZYBH3NszhQCAQMUR48Wtf+FNeefUbpLlGqgQvLNY7RqMJB/uHTM2YRCd02xmTIseamrquKIqCPK9w1Zi6mqKUR6mEdifMhrTegE+RvsXmxkU60nPnnQcI5dBK45xnWhYMpicgBYnKcC5DuZRLFx/n6mMrDE92GUyOMdajdUZ3aZX97W3efv1Vfvov/iSpOEIIg1QZztQzp2xWybq4QDNnIt6ThRya9X6WF1exrF5YidcKbQ3GVQiVUoxHiCQlSTrBcVXQKCdEYIvaOzxiaWWVJryc9Rv+kMV6ibUG7yyTaQkuOJWN1luUZm86ZxFxhFlTfAjNms0RtxC9JzHkrAmtCQ28HKDXoNLDsOq4PDQtcfP3JSBPqsv+IEVkq8A0EJMbw/GBZ+vJNv1ezsnJKWvrq/T7XcYTFya1uBqlwxB3LRVaakSaYqqK8XSEUoKV9TW6Sx3qquZg54iTvRMmgwHbNw+4dWOH3UrziWvXGG7fBhFI4UFRlvDma2M+9fxlHrh3+NKtr1CScPXKBtc+tszyox/j4FBhXYJ3mrI21MYjM8mFq8vYGkoj8FZRTApsLRE6wQqwxgEJtpa4yjGcnvD6W/d4/slH6S0ZhEgIvLaRQWdWzRoy4fN6C2Y6dB5uCT6okv8Dc5IxkzO78TAvkpgNto2KpvFMpYz9VU2flZyz5/g4G3JwMuXCxSt4oVhsIZ7l4pp/xFJdIT3IGuFh594h/9n/+b/k/s59Kh/aOJwzeBu9JuURUmCNYVqP8H4Ye59qvAed5rS76+AVQhjKcsjuwPPFV/f5Gz/9aV58bJkHd+9wf/seRVmwvtJntbfCyE2ZHp9QibBwMgk3p3YCmaTkrS6IlLKStJfXKY2lKh15pqnNBKkVk3HF3e0THr2QoIUKh8K7UNk6B2/i4fBEr2EeRTpoJsY7OXsg3JNZUO6xZYVNaxBtHBLrG8c0DGC2LkBmx6fHXNjqYH2cpegJUyD0h2ckG2hrsWes8awDKXEk0feBMtCaALE7q0PBs7QMjw9Z32oH+IqEWWO7iMw64mx701kjwRwp8bOjxPHhEb/8z/85RT0hy/tUtUPpULhhjWN7e5uRN3SlZDAaYYwBL+h2++RZDt4wPD2mLAt0KrF16G912iJlysnpMdv799m89hgnwxHG+tDWIwQeg1cVRelptXOyXHM8nDI6HZMvtymLmo31S6gh3BXb9DprrKws88Z3v4lrJVgjob2CcHtIWYWo7YyzED9nXBQXP7hzYeyVPMPu5MDpaA2aEWI1eIl0LtQFuBJnbODjUSmh9UjOGXUiPH7x4sVZpDO7zx+CDPeP0TromdOTA4RQSJGGEXQ0KFjDeQt4NXOk5nnwcIYXq7N9XNDJeEJVluRpiVMtrLIxykvmzqAIkJCIX9KD9E0eV0SHTDEupxzuT9CyDdrjbYU1hnJ6QmlX2Vi/yuH+gCuPLJN1Esywjudbk+gMLUKEaYsJutshy9porWm1W3S6XQSOvb1djg5HHBwZBlXF6diz3MoxnQ7Xfuwawy+8w73BAGyCsVCMBC9/+R7FzR5lprh8MWFspyR9sDrFqhaVDETkXji8q5HC463j69++y8WVjE9/NGNtvce+b5FPHHndobJTMAYpc1Kpkc5SMOa4SHCJobZD8D2UFFSLmyeiPzb4IMxo6sIvzxRYfVCx2Adyt8488AUdEgYsx8HAQiBnbQtn6eRm/X6CWPEaokRrKrJck2TBy2+IkIUU8xmIMItMm/yT8Amj4Yj/8j//r/nOy69QuDooItMQq/uY9JahPNsYajsJj4kEKTRNntN60KFygXZ3HWdKhtMJv/z7X2Hv0x/jUm9KWVS0l9rQXuP+RLM7KjDE0UyS8J0E4RQya6OzLjIJ8wRlmlJNDjF1iW73qb2lqicopbh96z7PXEu5FO1iiJzUArJ9FlqceUJu7sHPqk+lCBBrnM1JnGbuCHmRJMsYDIvYzh2qWZVSGGOCAnRQVS4OMg7PSWSsXvyQJHDiNrlTaDZzUNiR3cQv5iJDZCmNweoaXMZoaNi40J1DyAtIR2MgZ3trIYKcv1v8OeLZynp+41/+Mrcf3AhDhhFYX+HtlKIokAhGgxMOt3dZf/JioCOMcyytheFgwHh4wnhwiEwUaZaDUKRJF2SLpaU+EznCiYKjk3vs3LlDPT1lOJnS6a4wGg8YDgfUQ8H+3j4XLl4kzzO6PUGr26W31Odo+wBhBdeuPc3hyFJOT7izs8PjH32eYjxgqhM6OkClHmbFWWIRBZJhBZqz5BvHRLjAutM4bwKQcqEly1HXhrHUbPiE0hkQHudDZKkTDT4y2MS9PRgMkELg8zzc0w8LawVuvPbN8JGU5NTYUAw3g+gXHHcAfGDIij5qk+OK2bAIe4V2o4brtjgdUo1KajnFW01loKxqiqJESEuWaSxtptOa8fCIVEtSLUl0w0OcoFKBkoJyPKAqCxwKvESoBEmPVtpmXJZsbK1SjnbQSY5uJ5iqwFiDqT3j0YR6aijTgmw0xXtHt9um11+mlffQWjOdjDg9PUKoEseQ/mpGa22TS9ee4ROdDv2La6w/ssXdb91gWjoKU9NJekyOh7z08gmdixkv/Pwyn/rMk3zv+i3eurfK4WmGkxbnPGVR4kyFUJDlCZnqsbN3l929VZZXltFHmqSbIvUIrCXN+ijZDqQixiHJKcwaeW8La2McFfdlU9QYtSgNl+6cbSyicfM/+nczkp4Fuq6YSBYiToAXEkWYRRcbQ+YTFhoj2ZCUKxkcxUi9Njye0Ftu4ZQDdFBEUXmFvMU8TzRz8CWY2vM//ve/xB/84b+htJbaWZyrwpgqF4dEE8rKnQtfAFplobUCPYvVamNwBG5Kax1K5az0e0yLis+//IBPPZ1jreDUrXB63GZSlsi0S0sHeMxJEajnZEIiJXmrhVQpDsFodIgTKtArueAxGlOTqzbeWsrRgFs377P5eBLyIIJwM4ljunwDbc0nOYTCB4/0ixshLIz3IraPBDihri3DiUX0DHhLXdfxeubRoVIaY0qW+30as1BVdXAwYnP4hyXzVpfYRj3b1NE4uhBhzUmNQ1RpvEIKh5xazBRkkhMOS7MvF16/2dcL/35YZmkioXjtu9/lT//kT0gzTd7to2VG22aMhh6lh6TSU5qK4+MD3vneAYcHx6ArhMsD1CYUimDgdaJx1uOdoK4lWngQFcW0Ikl7pGmGRLK0tMzx8Ji8laITSafTQZgJxpbU9ZS6dgyGQ/aPblD7dWoKjkdjNi9cwOzvc/f2O0yrKZcvP06iQ+uGIkcIjaeMbE9nP3tjFOe5nTg4XcrQ5uBCkZmLzoOIBA2NwzIpHSSKBI2O59gLEWHUeTWo8z72JIY9i383rPnDFC9LhAxrZM8Yvub/DZ7gFx6PYFejszwzxdwEFQ1F+WQ64c7923SOM7J2lyxbJc9a9Pop3gzJ0i7StDHGYn2BVQKjJYmMMLVUeKXI1AaTwyHGV1ihMXUJEFp6kpyiNKQrq+zemfLaq++gEzDlKeW0pDIlTlkcU6wRZKlDdiSra6t0WuskSZu6nnByckpR1PT6bfJWQp6BoabWXU6Opnh9yNQbXB1QA5UqVOIZjPfQRYvhLYnfucKmvsaPP7/G3t4+d2pBbaeYquHCBWssQhoSX6PSmu2TQzqblqIcI5OlEPiQIGU7QKpCxALFnKNji3U9rK+x1geU0s2nB4WbGlCzGQQb916wiU3wFZzs95P3NZLGBab1uq6pqgJbW9Isp9Vq0W636WiJVjJChVF5NRtldqlz6LSBaE+OhmxsbSF8Gg3k/D3fVXE4q1aCP/7Dz/Hf/6NfoqhDJCWdxDsdkuwzNgWH8zU4gZQJWmWxqChEE6GaNVBlOW9DFCgFznpqFK32CnU15tXrNcKlTCqPU2OUkCASvLeBMo2g+IRSaJ2BTECG6teOa3F8dEC3nSCUojQ2QqUBltO64vbtIc9eXmWjbRA25GIbqHVmJBcwdO/n3r2U4LDgknhAHbv7B5T1hGJasbR+KQys9gYZ+SOJUHiWZXjvKcqS45OTUN164UKgJtMaay3GWnR0MD4UiYpH4mNvnsB5NVfgMSdpsThvCelKh/GGDMXw4AFLGzmzShSY7QGY54xm3+dvS6PdQmATdvB0NOVf/PN/weHxMbX3JLXACYcxlsGgCAZQg5YKGDMel1hqtBQokeLclKoydDuasirIdAslBSJVrCyv0u8uhSkOO/fQugelYn15i0l5TFmWeKeZjkNvsTUVnjqgErrH+uoWRaGh9hwc38dYSJKUq488wte++DlWL13j0ctPsH/rdWwN/c04QkwqFnAiZp73wr/BBqjVg43waugTBYELFeRxDmWgcQuE6k54hEjxxHsWe9icc7MI3jlLnuXoJIkEF40T/uEYSmskLiILzjkQepbqCcvxsDMBZx8gIDrIOMbPBjgxRqPWGgZ7u0xFRLpEuA86AaUlkhytcoQMI/vyRNPKUpRuo3WLJM1JsoRHH3+OKkvCnqchAQlcwsgMIRQlkizrMhpYestrJOKYclKFe5GG6+z3+lzYvEzVVkwnJXUxoNtznJzusLuzR13KMPDYdtHJBF+NGe7fp1Bd3IMKXwtKJ1HKk6RhTqrxoGXCE1urTG7VfOnXd1l/5gqrueTq+h53dlPGskJojXdga09dldTlEdYPqcU6h2OL8ClaSVwdpidZ5xHa4n2N8BIlHcPTIVUl8KnCuYaQ4qHiPd/kmBYeb5C5SHLeFPy9n3xATnJOTxxmLc7LoH30EKdVGTyPacl4UlAby/rGJhcuXGR9a5OLly7hsYz2hgyGQ04HR9x+4x5PPPs0K+t9+svLLK+shCkgzmKtwViLdx6lZCCs1pobb97iv/jP/iuORwOMbaCg6Dl4F3KSDaNODKWbfs2Z+hMavAKvkUKFqDhMygNpKN0UW1vyVkZRjrHe44TA1iYeIBOSviJMk9CKME8yvo4SikSk6M46J/v7DA8npFmKKSaoNAl5MxlyUaOi5q1tx9LjKaquII+eNgHKa+BEFgykj2TmzvoQNka8R+Lo9XNyo/D1MVoLkjR4/kVZUlbgpEHKMC9vPJ5grY3esmB/74Cl5SXyPAPvUd7Sy/L31yo/QGmqHEPbS1QCLlAAWu9CW48ziEjaYK0BK/HOgtMMRgUXHt0IByJSezUiFvbDogPX7GkhxMw4eh/Q7K9+6Ytcf+s1LBUqCTynAokxjrKcghDUxoE3VNWQ0clxmAjoCMxKQJKnLC13OTjWZGmKForKgMdgpCPvrNLurNPrD0lUSqU1vg4FMa0spSgGJImgKsaBbH8ypTSW2gmE8qgkFPhk2rD3YMjEThhMC/7qj/8cG+tb2MNtjFBYdS84HguFJosyr3Bu1p2QFo8OWojymxqEMKwgvJKL7FiGJMkwtWJaBh1hXdPiFFAehMJZz63bD3j0kWsIH5itpGxg9h++tNJQGVE7jzdzB8k38DCNc9XIooGMjemigZKjcxteIOhRKZDKk+gAmSrpSFQYn5UkHqGmKFmEyEqEwhrhLbLyyEpgpjCxkuLCMvnyFfqdMHXI+9BKV5YV5fgY3elgvWB9Q3K0N2JSSAQppycjytowGhcUE0t3rCjHLXTLMxgdsbySMR4dcrh/xHhqyJIcKVMcLUTeIu9mdKSn2NvhoEgZjkcY48jynAQJ1IheycV1RccZbJnw+kuH7H9pwoVPr7O2tYIvD7j+YMCkCmdHClCioLIlSuXkWUJFn3J8GxIFGGSs0A8ohAEXuK7rYsrIZPT8gMp6Ei9jF25T4OgjXB48XhlbaJpcu58RCvDvFklqKUnyDNHKgA4N3JrohDRJSJUmSVKW13ukWYs0a5G12rRaHVqtFmmek+c5aZrQynPWVtewXKJFn6dfeBqViDBhXmvGkzHDwSmDwSknp6F/Z6m/xMrKMp1ul3/9y7/Kvbv3KdwUZwzWucgeY+NomRA5OWdmlaEuTvGeR6c2ApqB6FpEAlznJBD7G71lOq1IkxYCRWWmgA/RqjDBsCodmXEUQs6H+0ohAptJktLrtTjY3kclAmNBJgpT1yiRYJVH1jV3HxR89NoKuaqR8abNoMWmSkfGsKaptHB+BgN6XFR2kU/TafYOR/i2Y1oajKr40hc/x2ntabeWEVKgFNRVhfeSg4NjNjbXSbOE1mEHrVPSNEWguLjSet+N84OU49NT0izHWIupQyVxp9Wh1+3R6fbJvcRJMZsXKYQIxitygZ6Oaq6mwcgvQngPV7SeiZoEZ7RgU3wxGU/57d/+XbwEIzzKtbG1JMskpi5nzghGIJGUw4LDwxMEkixTdPMevf4mhZEYA5PCIqkQ3lE7weD0hLy3jK0FJ6dTNtcu0O22cEpQuRHdfp+8lSA0rKwuMT6tQEt6rS7DwtDuaIaHI8aTkvHI0F/ustK/wJtvf52sv8SVjWsUx7scj6esXdhApR2cO40RTqzMDB94BpnKWc43KJMm0nOekPuWocXBWhvpzEJbxGQ6xVqHlpIaT1lWCCmjQ+bRiaI2JUiFRNDKc5yzTOsS4T2pTvHVh0P1NLWC2gtMVKVE3UCT14otLbNWkFn0EdaRZj81sBfBwGoR6HJTERr4w2SmEHU572LuWqCingrdvA6PCuP2vI81HiC15sKFVXzLsLFxSquV4p2jKmuKac3Kak3/YsrFNcHFi1f4vde/RWslkIEf74453i/wRlE6z/jggOTmXZbTPiv9NXSSc7B3xHDgkDJFKUVRhGlJSgp01uby+hOsr+4zGRn8/QHiZhr4k4VAKIWThp/+j65x+q27vP1Kzf7xMpNqyq2vPuDRFze4+NgmSSa5sXPEqHA446mLGiEs7VaGli1OJjl1rSFN8U6hpEdjwcbpjwq8FNR+zGA8ZLPjKKuKTId9bKNynEWN82By/iXmPzfsO+8nHxBJutlhEXEuYTPkuMHoZynrpsKSJr0oYmWrnI0vCo916HdP6HTbCFTMS0Kv12Op30fKq/PKMD/XW3/xF/59/uWv/iamCLTQ1tdYZbCmBmfCAja5gNnfLvTCEXMfIjb5+pqqrvEuQE5KxWpcETySshZUVUVVFbNNHwxjUCxhnJBAKoeUFqnCawgEzifotENt7iJrhUUjrEKrlNrWQaHahOF4yv3DPp0NQWuRKomQGxFITANVRbhWNWwdCJSbT2iQIiHRjicef4w8b/GGM1RVwfFowvJ6DyhQSfCW80RgK8uFtS6pL1FVwbg4wlpNXRtKd8Jx9uEZyaV+H2MCx66TYSxRU2xTFCUnJwPGkxFlVdHvr3DxwiXWLl7GDw45fLDLnXfusH10j6tXr/LoI4+ytr4+e+1FAzmziSER3MRQYe/EwqU//ZMv8Oqrr6FSx2g6Is8kbloynWq2d3exVDQ5tjRJSFSCkJput4WpHcZ6LJKimiJdILD38QwliWA8PEGSstRpo6VBCc/h0QmVrSjGNZAyPBkzNUOcV4xPp8gkxeUSmbZYWtrg8urjjKd3uH9rl7v3ttn4kavsb9/mqWc/wrUrW1RDj0k8eadP5i3Cj0HUC1CUC/nvBbjKxby3ihM9vCU4aCoodyFCdO+kx3tLaSX1tCb1CXVd4byitjW5bkV4V6IkJFlESqzgwuYlkjyhsgWYAEk2PMI/bKm9wHjwIgw4F85jbYCKQzTSrA9RKc15WhFx2oRvqPjCGio8uYZMCVINSjm0hFRLlHKkiSDRnlR7EgU6kSS6YTEK9JFeeaQyJBKMgzS17J8cUIwLhFckiSJJQrqntdwi7yZ43aHdzRiPp7SXPcpLjg93mU4u084VRheYccH44BbLTz5D3soZjQYU1RSEQeoCoQ3OFkwGO0iboZKc4+OCPF+mt5RzVQrefPs1EpWESn8pQcHatS0+euUC+4Md3rqXIqVFn2bc/voJw3FOb1NydbPP3umIo4Mhk3KEtyX9zR7eKIoyodtbZhKHfdcyw6lkhg4qFwbXC+G5f++Yp55fYzot6PXaM1s1L9bhIWePGDnGtM2se+L9jaT4sLgSz+VczuVczuVc/ucuH2Yz3Lmcy7mcy7mcy/+s5dxInsu5nMu5nMu5vIecG8lzOZdzOZdzOZf3kHMjeS7nci7nci7n8h5ybiTP5VzO5VzO5VzeQ86N5Lmcy7mcy7mcy3vIuZE8l3M5l3M5l3N5Dzk3kudyLudyLudyLu8h50byXM7lXM7lXM7lPeTcSJ7LuZzLuZzLubyHnBvJczmXczmXczmX95BzI3ku53Iu53Iu5/Iecm4kz+VczuVczuVc3kPOjeS5nMu5nMu5nMt7yLmRPJdzOZdzOZdzeQ85N5Lnci7nci7nci7vIedG8lzO5VzO5VzO5T3k3Eiey7mcy7mcy7m8h+j3++X/4X/zv/bOOwC8dwgcUmo8HoFACI8AhBALf+Vn370HvA8PeY8PP4THib9rvnmPc+F3ze99/KF5eSEEQoTfCyFASgQivKMXOO9weEZFwd0Hx9SjUzKmbFxcIc9WmI6n1G6Cz1fYuX+MqE+4fKHPxuYWlgSHQnrH7NP4eL2A1IokzRFS4eOaSBQgIH5EIcI/AQQCpJtdf7h2jVIKKVW4fgECGf9oYQ1F+HsvPA+LWHze7EHx0D9FcwcAgXNxnXFYazDTCdPRCGMM3oPzYIXHeYv3jroqEb7mn/zqH3yfN/vBy3/9f/pP48aSYQm958a9O2xtbpLrFOMsTjikACkVoMB7rKuxziGFCOvtm6UJqyZFWBPvw2fFC6RSs/2npAx/4Bzgziyr82E/CiHwzsUzAGE/izN72nsPIqyl9xK8iO/pQLjZCRFIhJCzeypE3AtC4IXAi/D6w9GI/aNjMi1wWrN9OKIYnKDNmMeuXsIh2d05oNVeZu/olAt9y5NPPYtXLUT8vGGfCqSW5HkbgQI8znsEPu5PgZQSkAih0CpB6yQ8JsT8WgV4Ga+ZZh8v6AEhsNYyGY852d/G2jFFbZkMBjz7zAtkeRcv1GwFBc1eDX/7n/wf/7c/9H33//mH/w8vhMBZh7AV49M9Xv7Omyytdsi6OTrto6RACQ8iI8vaLK2sk+c5SkpkXA8fz9BMfKMtZfy84X4EzRJ0jRISAVhrQAikkFFlOpzzWGMwpsRag3dxpWb6VICXeByeRlfP376uK8rJCO8s1jusc+H9bdjmzpfs7tzn1v1tUD02+i2ydoLWOdV4yJ17D5hYT9btc+nCJr0kARdfx8U9jUfGNQhfEqlkXJfwlSiNVhqtNVJLlJIorVAqfGmlUEojlUJJhVQSpAj7yxucczjvMCZ8d9ZjrMNai3MG6w3WOpwFax3GGqxzGGvj4+G5xhqEsUzrGiUEeZaCUvy//+mvvOeee18jCVG5h6OG92CdDYdZRGsW7vtcx/vFvwu/mB0AGqMXjeHCpuFd9mD+wMwofh+Zv7bDC09ROfYOBtTFCYkvWFpuo1SOE9Du9xlONfd39qAo2Nzqsbq+gUMHBfLuiwAEWifoNAUk3gtAxssTC8YOfPy5+bvgSBD1nkSqBCEViKiMRXP1jZL8fp9+8UrEXK2I937ebF0axe7BeUdZFUzHI2w5xloblXH0YZynrkuGg1OEgKeeeOQ9XvkHLzI6Dl4Ew+YAYy14j44HyHiLtTXWWZQEEOGQyXAwnLHBGYlrFpyrsFqycbacwxmHkBopRNyH0WB4OdvXHn/23oi5YxQWT8wdqoXvzb6e/Rz+GLng9NE4QkLixeIdFoh4vvrdFr1OCwMcjwuq7SMmRYEZj/D+LluXL7OyuU6epIxKw+HgiEuDQzrLF2nAorhdg6IwFUmSgWe+n5rPFq8fPNYZhAMhEwQ6fJa4Z4UXs7WZeYhxvQQgpaTVbmP6y4wHJZmXuLzNjRtv8MRTz6HTDh41Ux/zy3ivHf3DEaU1Xie0Vi/w3Me79FvwxmvfZpxWLC0tkUiBE4pqOuK4Kul2l+gtrSC0RkiBEhKPnK2jPPsJcQTd6X3jaITzKbwnafTKbN8EHamlIpEptRVYbNxPNujPWVAhZvdg7oRBojVJllGXBdZLUEEXzZ2SFuudLn3lubEzQiYdWqmgLguuXr7EheU+12/doUratLt9nnj0EXoqOgRChLOEA2fmi+hj4LLwuYUAKeI5EhIkyKgHxezyGz1o8dgYQIRVEyo8yenoFM8CC3HmnYJ+jmc5nul5cObD61rP3uEJeM/mxgpevT+g+r5Gcr74TSQko9ccPFAZP2DwkMOCvZ/MzNDc7T7j9TSPzb83i7YYaUXDdMaIesBSO8XB0YDRcABmTK+bs7K2SeVhXAyxIuPgYIQoJmytt9jcugAymdn6+e6aR7BaaVSSIYTGzsLcucd89vPNfxJi/nsp1cyjEjNPXeCF4+wLPLx+Z17xzOo8rNzmzxGz9bXe4q3DGcN0MqYopjhnEd7icCGC9A5rLKPBiKoqWF5ZZmNjA5l3+NCksSK+iTE8vV6PRCcIGe6/Iuw3aw3WGqRQCC+RQpEqhRMuRMoiGMX5PW1eWyOER0qPcw4rRIgkafbTwgoHqzD/3ZlN2yiEZo/amXILB3b+vEVrELawnL/HorMpooGcicciGU0N29uHqLKmLz3tjRX6yz1UkjAcjjncvYfxCSdFxc0HD3i6t4KSXaQwCOxMoZoSEpXgpXy3MmuULSEqck7gnEBJRbCLPqA2uLnT1jgY8TNE9xClFJ3+CnVV4yan5C3PYDjl3oM7PPLIU0i1EIHPHM8PT8K1OJQDLxJk0kXnCc888ylu3XyVg/v36K9dppU5tLR4bxkPHGVZsbS0TN7KQepZNOWdn6EBYAkGUYU1EmKuSnyINb1kbuREWGfiPpEiQQsBxmCdwTs33y+NGll02GdOXEKSKaRImJZjXDTewksQDrzDyZRL1x6jMu9w5+AAode5uLZF6SQkKetLbXaOx5zsHLKd5mSXN0gbJ1w2+z58XmbXvqCfmZuysL09eIlrHhcyHC8Rf9e8ovMIKfFi7mpIMT8zjfELu7Jx0qKDHT1AN7uA8JgloEBFUc5RyQ/YFx9oJEW8nBAXBs9PNDfThxBeShHXJVhv+dB+FzEqOGNgFj4qRAhgwQvy0U1vDOSi/ZgZoGaj4bFecXwyZHh6gjQTOu2clfUNispjhSPvrLCze4wpjthYbrN5eQupkgCHzRZ7HjEIQOoElaQg1EMKr7mORuH6BQMn5opOiBl0ECArufBZ/u01wntBrI0Tc+a3nrANvMVaQzmZUEwnOFPjnQUcxvsZFDGdTqjLCd1uj6tXr5C32gip+bcAGX6AMjdQToBznvFoxNba+uwZEgEirK3zDmvdzDtuYMM0TbHWhqjZN95sc6sUAVL1KBWgfmttcGSEwDU4R3PumW+MZr3n0eH3+QheAGoG0zbXNfeO5xFjOF9ytodEjDybM2ORHI9KHjzYZXx6hK+H9FLY2Nwka/c5ODhCO7hw6Qnubu8hGDGpHHe2d2i31ki1oN3KSBIVIGdvqeuKNMvxCFx8Lx//k97PFagLsFyIysM5CEfBgfd4ocCLMwrH4WZnQ2tNf3mN2pRQ1XQ7y5ycnLCfP2Bj8zJSaZx383X5kAxlg140kZz0kCqLkDl5b5mnP/Ipjo8PuHPnDqNTxcrKGkkCSpT40nJ4OKXVWaK7tEySpGgkUsgQZQFhv4Xo68xH9GLhBPsFPSmDqvfRMREgdYgqhZHYOkCdQecuujqNTl1QpghUkpEJQ1kUMQUg5+8hBFL1eOzaM9j6de7vH6JISOqSlbUeVx5/FHfjAQdHQ+7f2yFNU65u9MMZdCIasSZC9oCJEaIH52efzgmJ9ALhxQyhFIDwbqbnPQ3+KHEiPNeL+WuciRx9c5bOWjrvFpBODw6Bt+E+WMIZbHe60ebI8Pz3kQ8wkvHQnL2+ubcoVbgdzsYFDxa/yYEBAZY5c/Pij67xNvwsYph/+kZfiJin+X4iZjCW94LBqOT48BhXjuloz+rSKjLpkKQaP7Xc3zuiOD5lrZNz6dIFlMrxLiF4eM17NT6IQCcaoXNc47mIuA6z65vfFS/m+dnwSkHRSiVRSkdYbdHQn42EF5f23Z/yg6LzZsNEv8o7vDVUZcFkMsbUZfBofcghGA/GOabTMZPRgH6/x5Vrj5O3OyBUNJBzhf2hyOJbR697OpkE4yXievsmLx4Pm5YhIrThfioVlJLWIc9h6hrnHF6B9CAXonhBgAfDXnY452Z5uFkecuaQCHzMW8+d5UZJPaThF8/uglJo/j1/92Z/nIWHnBdYBEejgvv3tymGp4h6RK+bc3Fjg5PBlImdsLS0wulgzN37R5hiwuObfR67dhWRLlMbgfUVRyenKK0py5JeNyfLapYThZJJuCq/kGPFRc877CecQTiJ1k3+fOFTe48QM5ciutMNVCwQUqDzhP7y/5e5//q+Jcny+7DPjsjM48/PXu/KdXVV9/QYYIZjYAYEJFDkAujEJVpRWlpLb3qUnrX0xlf9AeIbl5YokYS4IBoIgiFIoGe6MTPtu9qUuXW9+fnjMjMi9BAmI8+9dW8NMN0XUavu77jMDLNj7++2scfxUU3hWmazGfcffM5wWDHbOQApwzx7hv0mWtSgIzgxrQk0AEYqamC2f52v7Rzw+MHPuH//AePZnOlsAEooUCzPz2g2DbOdXcajEWhvnfA086L8z4FXtF5EzRw8WMo1Ti0aJV6cK2cxrfe7RS+3BJ5Idl9cx+KrYoQaatbrDbkLQXCIE3Q54itf+QrNT77P4ydPuHbnDrW0nJ0brly7hGk/4/nFc+7dKxkPBxzMJ6gAKJLZlKgLRctJBzZ72yWMLamZSa7HTvU1baI8iPdO8+T5v9ierhr64QLvi2Zehw7X70ynwRqqXty3W+2VQlJrHRyjNrjQomM/jDSYXJ0KwQnW4hzBiR2DAlTmw5HEzImYIb3vb45OOHYoHKKpNTCkYPtebmqePjuh3qwZKMvB/gHVaJfVusaYFcs1bE5O2R0rbt68RlmOgm8grmi4fzAbF+UAVVQeYREmcVs4Jv9j5/NSgIg3raIF0TEQQ70g7ONi5qzyi1uGTuJVAajE5bXWetNpU7NeLmnWa5xtvcnMOYz14GW1vuDs/JTRaMidt95mNpuhVYVxjs26ZjAqgtn8DUF6tgAIYJ3j6pUrHdjwP8Jl5K2cIEp5E2wQllGjVCJUVUXbNjRNjVJCqbvnRK+dxdOycy7QfC64gtnWdavmySebpwheM/znf9cxA4cLvpgIrl6y8uF5LcKzkzMePnrG+uw52qzY35swmc0wFOzP5zw6OmVj4PjZMcpc8PbVHa7duI0qxjg0qrAgmtHlfZzz5qeL5YJ1U/Pzu5+xt7uPNZb5bEahNZUugo/MD0gAZyytNIgSlCoJDqKwVnGgOeMK2oDz66VEGI6mTKeG85MnlGXJdDLhZx9/xAcffMB4eDUEudk3JiQT0HTej2iMQRdB+3OwXKyYTaYMBmNu3/51Di7d4+c//SnPHih2Dw4YDYRSewvNSbNiM5kxm+8zKAu09jRoM17TWcxevs+cdR2dJfO3C4BOo3Tltbe29ft8G3RHE3jUZAWEgrLUgGKzWXoAJJLc4lY0ajDh/a98hfYHP+HB5z/n5u13mc5GFNJw9eoN6s/vcX7ynM8+q6jeu8N8WJGiTiTfGWmASajFfRT5pt9jXrlySKKXtCCJpHJ+EOIFcoUrE4ygsJgQVOT3to5zL6S9VxYKQwjmU6+mudfa1LTW4JSPCsJBYh6xc2ExRSEqSO6g2qrIyFz8TXdfQWHzKDDcFxKMJGYiGYH5zVk38OTojHp5wsCu2L28hx1MWDct1XDI0WnD8fFzdgdw68YVymoEzkf2iZhM0HhkU5QVqhxgg1bc68eLPes+FG92UKrwEZeqI/AXtYf+vXITb3z1AtH3/u38YM4ZbzptGzarJZv1Cts2HskHs6qxls2m4eTkhFFpePvWTSa7e0hRoVThUZg1tHZDJV241ZtqCoXFJk3s4vycsqq66U4+sE5gio0uAedNsAqsabHGBD+mClqlYJrGM0Gtg2k122bB8qHF06e1LkTZgQm0/yJl5MyuE6oBvGbALgd/L9oIohYp4mic4tnROQ8fP2FzfkJh1uzv7zCb7zAcDrhYbVjUBimmPH34iIlacvP2FQ4vX8PqIQZv6vP90IEeLBrYn+5SDAaooqQ1lsa0PD8+ZjCoOD0753D/kEIrpuMxnqV6c5VTxvc7Q4VRd8xVghg8EQbl3Q5aMZ7NqNuazflzhoMRTa359Gcf8/4HQ3Q186D3DQlJpaQDN+KFZFEUQWhaxBoKpbz5T5dMJnf4xtcv8+zpPT759GMW5Yzd/QPKylK04rXKdcN0Z85kMqNQBUr7tfDTEqwFgc6howhHpmVt+XqTBqgFLRqkgHaNMU3A+yq7n8O+sI+FshygRNisLoKpXaLhFYdmMDzk6x+0fCvC4xkAAN0QSURBVOcHP+X+vfvoWzeZDkqm88vcuSP89ONPOTl6wt0HA967fYtJIZ0wFNIe8jwxgEHwZnzA2S3hT1IKewbFDqpL9z3ZF9lnznmh68Rixe87lW7oLRrEvef8zB+fnHBlf/+1+sBrza2RCRVF6aWzaUEsSgU7vtOhswGVCHgfnvWapEQTleuhgxglmkcD5hPXzUaOEqLi50AMrVUcHZ2zOD1HmQ3T6YThcAKFBqs5OT3n6Nkzhrrh+o3LVMNZMgtJXAk8MYkIuhigi4rgIUpNBe7c2765Jil4LUZplPbmSgmIJTqiX9deFMh9QZmbZnBeu7JYXNuyWa9YLS9wbR3Mz16rbI2jrlvOT44plXD7+lXmB/vookJEe38ShICBsJ1S1OIbbN5I4PGlg3VdA6Dmku2/Plrd1sgUgioKT4emxZoG0Rolgi4rHI62aXq+ESXRIwKIZ0IRZIA3yca5f7kC6Drh3d0mvciveen14Z/GCU+PTnn08Cn18pyKNQeX5uweXMU4xenJOdV0h/PTI86fP2RaWt579xaT2WXPNIPrw0+Wd4V4ZqUodMFgMEApn4JRCZRFxfjyFSyOw919Fqs1xpmgae5SbzYc7O8zwDJWCi0m7H3JrGqyPZLA/LogCl0Js70ZbbPGrpdMpoqj0yWffPZz3n77Q7Qebd3nl9dyhgzeMlNojSiFaY3HBCrSn/i9Xo25dv1d9vcv8cmnP+fp47vM5/uMJlNK3SL2grPnK+rVitnOIdWw8qBDOk3Iv+q0Rn/3ADbCs3LlIQkWJUErUonHWGtDelIufLLrJen4FEWFGk1ZblbJchEVHyuW4fQyH34VvvfDj7j/4C533n4Pc3bBeDzlzu0bfPLpfZ4+echgOODt61eo4syJIOKVEGddJ5iC4BI6ud+1TjC43l6OezMKO9WfD0fid84FRQ2HciZYbDS96G4X5jpc/+jJE67sH7yWNl4pJEWCShyFnUhAVz6M3KHRuudpya4Njlzj82iSBhhz9nIrVdDBJfP/pXUV7YVQBjWcA+uE04s1p2cnSLtkOhqwf3DAqnGcnR0xGMw5Oz5mpBtu3bjEYDLHOJXSPKS3KJqyLFHFIJHry7TGHl+On4VINlGF9z8oHe6usl91vpaXsoA0VsnfvvTXLhCGtYZNvWZzsaDdbMC1OFqsExrrqJuW9dlzrLVcuXSFg8NLFGWF05qYj5cLYhEfvh41n4h430SL6+39D47heESpddKjLaBRYXNnyItovUh38pqfFN53E/yV3iyrqMqBD/pp28BMYo6s6gnjIlg9rDE+GCNjPNvWjwT2vnBsHeCKuZbJD+PAWMej5yc8fvyEZnnGQGouX9pntnvI+bIBFIPZIZ/fv8fm7IjdmeXtt95mON7HRcGVEF3XRxFFOaioigpEfEhAhxLxyok3ee2OJjhx7E/nGGdojOH07IyiLLm7uM/lS5fRSrMz20EHHxkuAEJHoPWMVQczWiEFroDZ7iEnzx+ixTLfmfDs+RMmT+9z+cotkOpLUsmfcRNJfM5aTwcSgriMMRS6QEL+YrI9iM8nHQz3eP/9r7I4O+HTj+/zbPWIvd09hmVF4WB9ccam3jDbOWQ6mVKo6AN/Edx1Ak0Sk+wJutB8ypK/jzAApzFmQ0sTYqoyDT89I7uHKFQxZCSKzXrhI/fjVyiMaGa7l/iV92u+86OPuffZZ7z71lvUpmY03uXW1RV3H5/w+OEDRsMBt/b2Ek9NwEkycL/1/JdZF+NY49/eV0GKR4XLWYuxUS4F90Vw/4lorPIUKFYF64BLN3KuDSlv3qcrSvGq9kohqQIziYmcgkumq7KqsK0NEYFCTJ3cbqI8M/PBPC4tuLWZuYxICGEQ+fURCTgQsYjzEUrnS8vz58e09ZLJQNjf32O9aWmMYj7b5+HDpzi74saNS4yneziqYPnOmapPgi2KAVqXflJfQpDdYmZoL6YixOIASnfjiQzKERiEShpKZPQvTlUXJJIz0Ni85cWjpqZpWS8ufKSabcEaDBbjvHa0uFjSNA2HezscHF6mHEwQVSSzR4RVrhcVF7CaUt408SZ1SYlBVL4XZ2en3Lp+02+QuPFc3IBxvfy6dkIf/M4J+ZaZvzL3NypR6NIHjhhDSo5OdBl2uxaNYH3uIB4Y5QFq0VKiemubWUckjitHyVGo+N81Bu4/PeHo2VPM6oKhMly/fgldzbhY1AwHY1a145PPP0Muzrh2MOTmnbfR1TQIx2AN6NEhaKUpqiG6KMKc5Bpz+Cf0z0ULSJhdpQoqVTC/ctULjStXWdcbNnXNJ/fuMplMqDc1lw4uUYSI4rjPu2bDmilKpZDRADM/4PT4MZUu2N+7xL17nzMaVIx3D3kzTaibJtBVLFLRaZXR3E/GcD1g9SqSKvaY7e3y4a8d8PzJp9x78IRlNWE62WGgFUWz4ezZI+rllJ3dA6rBIAjhHJYH3pRpfn0ISNL6cqEh4kCX+AB6wZqGtg2RsZGfZFazTlkXCl0hQ8dmvQx+OwGncTiMlMwPb/P194Xv/+RTPr73OW/duMZgUHFwcJV60/Lk/JQH9x8wqQbsT6cUzpvbY96xC3mdfr8FwBQGlsbhB0buUouWHd/LsM+tB8XG+sjqxKecIOKD7fwQVJZC5fdz3J82+Gi1Krl2+TqC3pI4L7ZXa5Jh82hVoJzBOuPz7MLiaF1CQeh8dB5nmqULjEAk2Px9QIRzNmmNvUTruIwuKtedDVkgCchl23L07BSzXDDWhp35Dg4fSYpSPHryFNUuuHH1kPnsAOcK36tAWDF6T0RTFiVKeSd4DNBJtv8e0un8X/5tzH3UKK0T8utmIP4uH9nWvbbnOu4KAmgIP7IupHS0jU/pWC7BbPCVNnyu48YYVssL2s2a3fkOB4e3KUZj73OUuOFd9r8NY+kIqheQ8irC+AU3QdDO55E64PT0jDs3kmqHCpThN5kLU58JH9fdyX9p0ttCa5xStMbgoo8x+I+11lgrWzSZARwBrT1obE1DrJgTf59MrLFv0vU5Ce30i8C8xAOiprU8enzE8+dHmNUJ4xKuXr1GKyU4zWQ84tnJKUfPj9HNgts39jm8dg2l5p6eQ5S2SBS6fh7KoqKshkCBdQqvZvg9IGT5zRI1UJ8aAy6Y9Dwg0LpAiUahqQYlbgiHuwcYa6nblvPFgqZtWS4X7O/uA7C7s5Mqsfip8cJSK810OqNpahZnRwwKxXx+yGd3P+PdQfnPRTv/zM0N2KxXlBW41lJqnxttAeMcw1JlwKMA8bMkgs99BBBFUU65cuM9dvav8fnnn3L2/D7T0R7jyQxdGtbLI9qmZjzbZzIfU2qHksrTr+tAmb+f7WmT0e8XFPa0X52K8RUlhfL+eKTFBEHZWUggMhUPNn1Qly6GjEbCerXCiksAXfCFE/avXOeDds33fnqX+3rI1cs7zIcVV27cYPXZp5yfP+fu/Yrh228zr0qUi1dHIG6z/RSFfGRu5HFgxL2RgiXFBxwaHNGtIqn/dJoknVXJy9AoQIPxMiyeBPp2Fg4ODryX8DXFWV8duJNMhL4jKpikrAmapeAjkpSggkR21gX3ZNSHwsSETnoEHtNEUjppmkQDtMYTR6kFlEtFChxC7RzPj49YX5xSug3z2ZTheM56s2TdrFica9y64erVPXZ3rxBrXiS27wIlivYObK3DRG5rj/1qEAm5iU/tEPHCUcXEu8hoXIf9JEVN5ag99CFjmDn/9NpS0LqdnydnLJv1ivXyAtOsca7FhLk2xrLeLFguNswmFVffeYtyuINTZdL6Ux96/h7VPS8MUGmVzCQvC075ZbVomncojGk53D/EoUAl2JRASV/4wMusAB4t2kSLohxlMKv5YgShCo9S6KLwlpMY1U2cthBk5vw+QPkSZtZ2uZXOxjKEnhasywPSI3Dq9oRHuIq6Udx//ITjo6fYesV0pDk42KV2hqIa0ljH0dEZR8+eMFYL3nn7OvP9a1gZgmtQYWld1K4diFJU1ZCiKH3UrnMdWKDvF6PXRwCFKHxZMa3Qukw+TBcBpHhWVihNUWnG1TAZTtZ1zWK54P7DB5RFyaapuXx4CaUUw2rgC64Uwnxnh7besFmfMxoWmHbKJx9/+s9OOP9czdE0DaPxhNVmyWDkhbU1BmdJlqa4M7Z9Z/4WDlEaYcJ4NOIr70w5Pzvi7ic/4+h4yXS+y6CqsG5Fc/yIzWbCzs4ug0GJUp4uxYY4gXjfTA3sYT+i5S2yHg/WlNIoGSI0CG3IToj9izaSfL8EoKiHDIeKul5hnEnZnQBOSq5df5u2Mfz4s885Gig2G810NOTWzVt8fvczVsdPuFuNeO/2DYZapz4FzuKBnAvpRVjolenTYTyxypXnjybOvwv5zXTWNq10Nu1xL0HcU8la6XxBAgkuFHGheF9Q2KzygPxV7bU+yY4IBIJpQBcaZZUPHrE2aWgikqSytb7CxIs22CBwlcEYryGJ8749K46mhdWqpWk2DAYFk8GQMlT7sCI8PzllcXKGuBU7O0NGO3ssViuMEZoa2vVzrh7usb+/D6nsVaSmQHpKU5QjbyINE7TNbNOYI9OJAjJojxIiI/0vX1ItJBN68X38Sb+C0Iu/8+jJgrG0G5/SUdebYFptsc7SOKFZL1ktzhkOKt5+623G44Fn8pQ45Z3n/XnvOuYSu1MBAIU+Ko/3/8WofO9o2zZFofoxSGc7AnynJcjMUAWmB0boUGS4p/8srmWJaVu/0ULOmS8h6H231njLR7Z6QRgpdBCUpmmD6SwELDiLcSEaFgk1Pz2N+/KHvoarQVg2LfcePePs+BnUF8zHQ3bnO6hi4N0KizWb1nHy7DGz0vLOnXeYzPewDIkFCzzrCbVmnaPQBWU1QqnSA9cURd43g4oUcSq8KSwQn1K+pm2h/fyIhCAgj4r9HKSSip34j6UoR9WA0WAA+wdYa6nrmvVmw2K5YLPZsDOfATCbzZnt79M+raExjGdTjo+X//xk88/QrG2D4A81ZYPF4PzklNFwiFZlmJ8YNxEAURy38xq8ByOeFnQxYG/vEpPZhEeP7vH04RPqwYTRbExZKDbLlqf1itnsgOl07uuX+ht65k5OtQ4k5xmdcpHzDv868qcaaBCMLzyQ3c/vI6+EeMuCQhUVA3E+PQSXPVth9Zibb71L2yz56f0HDG+9xaYWVKm4efUS9x885eTZE+4PKt66dpUy5c52PNKXmusUEMLdffkTBc5665jJosODJUfRlbRzoZxdNNd6Gek1SWt9XIYV5QP1QoUdcbabU+X35LNnz9nf2fVpTa9or6/dSjDfOPBRmyGXKFTZUeK1Geu8GUeJoMShdYgsdC3WuqR1duhHoZQD54tTpzwWoG1qnLWsVmts3bAzHUNZcb5Yc/L8CFcvmE8qhrMdFmdLKAuaBi5Oz7m8P+DS4R5OBoi0OKdC/o1Ljm5dDVDi47FCdtxLBp4tcDI56a60XEhClUTK2aK/SMtkYjBd88I34ou0G2uxbc16saBerjGuAecd1dY6NnXDcnlBUSpu3LrFfLaLSInTvkoFbrti5Cuay1M+OsDwokH4l9dyH4ExhrPzc65euQaQz3Ji+MlUhQ5M3CXTVLxbmo8IbKLpClBlibWW9WZNY2oGg6E3UytfpNla46O6yTTV8JhYdMBai7EmWBYUdd2yWm9o25bRcMh0MCCCNhGFEcdF3fLgwXMujo/Q7YLd+YjBbE5ZTtjUDStrWK8aLo6PuDZV3LzzLtVgiom1KzP/NWE+qqJAl2OvWbAVIZ0FRfhro7XEp52IeN+6Vr7otEfgRTfYbIUIVVMSmu+e4seYwKdiNBgyGg7Z3dnxvl9rOD075dnRc1ZNzXq5QjsLqmW++/pow19Ec85SlSXOGJTzRQDaNhQcD9VzYlRmP17AJROpkliazURLH4imrCbcuvU+hwdX+PiTH3NydMFkeshgVKDZcHH8kHq1YLZ7mdFwGABrWB9cKJ6R6RvO9fFfNP/kYaOiKdQQKQta2dDaBmsNzmZxCeK1Lt+sJ6myYqAEtVl6oO668Yoa8vZ7X6duvsPdex9z49bbtKqg1HOuXlI8ePqMx0+eUA3G3DiYUUhLKkziBQnOabrCCXGvxu47MCGSOJWfi3EwfuYTbYUxR62wbYPvM/JpFyxkIZAtyqxo/hfrOD4+Y2e6w3DwajH46sCdJK37KCbm8MRaBaI1xoGzvvq6wnp1GJ83KHizlBekcYVc2mQS7McWKLUwGWnWqxZjBdOuqY3GWMfzZ8+w6wvm45LJ7h6LuqUcDlitHCcnDzjYHXHp8jXQw0AIPsczltASLeiiRElEhVv6XOSkmcb1goAMNvAUQPKCOOkWMw01126yXyHdYjvngvnOsl6tqZcnWLPCOF+WzBpLW9csFhc4Z7l27SqznR1ED1DiAzKsitGNEeVmKJQXn++yVw5/CoapG1RVpkpDb6J1/bVoLeztzCFH0j0EkAfDdNdnIt8zlegXjIEP0TSeXWut9fmRxmCNQ6vCa4FBWNhQnCEGeOUMRGsFwd8efZDL1RJrhbo22LFlMhl7n5FoztYrHj18xMXpOcosONwdM5rO0GrCxeoCiiEXZ2e050fcOtjh2o1bSDnyiD+Yjl0cF8HsWQ58TdaUWhXpIGo/HbhI1ozgi/TaY4FWRXKt5HuAbMq97zKnjyg9OvzfoZku58+fwuKfvTffpW1bloslJ5ua9XrB2dk59kVS/aU01xqqokSsoxJNiWIdU4SCb9ZFvvUCaAhzEi1OifJiUQVfdWs01nztg9/i5Nkz7j38mHq1YDLf8SlrqwtONjX1zh6z6ZyiKEkunK6XScBEHvMCY+k6hAMfpyEgRtG2dYpifTEnPdUaRemKQSVBozRpXZ0TUHO+8tWv07Q/5NG959y5dQkzspTjEZf3pjw+ueDhgwcMB7e5PBv5jGeRAI78/yC+Dm3ou3EuRRar0HfEBbdWhsIkWHGi1uigDZGuMQ8aCPvQ30MIRdi1pH3padAxHIxANFtO0Rfaa32SCZiEgUo2wZ25EVAKp4RmVWNdG6rNx98E532IknUOJEZRRzQvEupqCnpYMSxLVutNOOnB8fz4mGZxwrgS5ju7rBtLqUtW9Ybzowt2ZyVXrl5C6eHWIGyyj+uy8mXXevVa6RNaZKbigOh37I58yRF8dlF++cumMfwqgIIe2ePzT21LvV6xXi1p61XwO0JroW0aVqslrm24dHjIfH+PoqxAAkMMBK46e25vC+cyJcp/l2sDdIaYpmlQRYF+g6VbnYsCTTg/P2dnPieG3duXAJM4hO0x+x1hM3QdH9BdKCGIxQT/Y1mWKFV4V4A1tK4LbPFmGa9ZRh+nZB3Q3laGtY5COybDkuWqxiKcL84plEWPJ1ysGj5/9ITV6QmlqdnfnzKaTjB6wHJxiq5mPH78ENUuefvmNQ4uXcepMjG+SL+ifA5koUrKwQAJxfoTqHX9mcrNokRzYTAt61AEQ1J1qL5pNgED6ehJkqYaBUR4djbZSSAHEO1PITEsl74sYluvUDQMqxK9u8um2fxpyeXPpBlrKYuCpm4oqxInsLpYeMaroh9WMiGVgwi2DEiZR98BorDOB9aIGnB4ecjO/oz79+7y7NkTRpMZo9EUEcvZyTM2qxU7O/sMh+Ng9heShSQEwbwsdSSBYnHplBYQtBRIEVe/Da6w0LnMMILrap5qXTEYwKZedEIH0GIoin0+/PBruB98n3tPHnLj+jto5Zjt7GPNEc8ujrh/XzN46w7zQeFdEs6yXK1ZrmsGwwHj4SAISh81kqwSytOkT8sIcDfMYSxfasXgggVMKUF0EbTUbh6SQpNXiFMWcf6AQyfC4eEBZVmk8xS+qL3GJxn3m3+xBeB7+yFuGJ8WUfgAHQMxUCZuTl/qzldGiKg+Zu35jRYRvEeey0ZxerpiebqgUC2zvR1qo1DWstlsOF+cMB1rrl29gS5G9AsBeMJSSlMUWaHybCBxE/cqU4g3nYjWiC5CUIe3jMd+JmkTBWBYtKScCFk/cr1N0vuIrpq6Yb04p9mswDY4WhontG3LarWibQ17e/vs7e1SlRVEc29kPlnUl1+XvhDJvQtdjzrHd6ROJSpE0roQofZmWl6V5ujohMl4SioQHf7pNEVStF+6HrrKLZGBJRrurxlOMOJoTO03rAr1MbX3u8WyjCA+ulNKRBVYZzA0EeB22hqC0p7e57Mpg6rmfHGBa1aIDDheLnj45Ij12TMG1BweHDAYDXCi2awNlFMePnzMkAV33rrFzvwQKIM3J9Megm+wLAaU5dD77J0Bqzr23f2TNnNkrkr8iSlKF+GUmpjCpBIBByrtGHLGTeIrJaoDzQiiXKZhe57QhvMA28ayWpyzujinbdYeNGOSC+Hs4shr5G+gtW1LVZQ4a9FlhXUu+Ah1OCZvez9EBSH+7YAJdOMXXAiO8TTkBKxyFGqP22+PuHR4iU8+/Zjj0yfMpgdUaGp3xlG9ZjLbZ7KzQ6UrYoVLm9XG6SuDrgPgHv+SAl2UQiNI4QFQ29YY0+Jz/VUQLJ3lweGvV0XJQKbU9QXW2DBaBWIZDKZ8/cMP+ZMf/oBHjx5z89oldFWyu79LbZ5wev6cew8GvHPrFqVreH5yysVqg4jQtC2DMpbI808UcSl4rgP5km141zHXYM2LwUrxay/cdSo95wMAMz5Ax5sdjul0msb7qvYafSGaCTMnvYu5aqHvynm0HraUwqFD3qDfQN0JDTFK1Veu0Bjra+zFnJpUIiz8rlVwvnScnpwg7oK9nQO0KqnrFuc0FxcrRoVw9dp1ymJIqq6QyztdUBQlIhobBINnolvmksxfE4W5KI0/2DnMRZztbL/0neb5pz1dp/evtf6A1LYN2uNyiTVNCMoxNNayXK+pFxcc7O+ze3jFn/8XzqIUF0/6kP5zv0Cu5SK6P+butbOEMyaDyHxDZi/fYo4VzGc7oQh3EEKuC1GPmuD2td53HkFYZhRPRBt/KjjdJSeXRRF8IcFXJw5dCBKiXY1tkw/SFxUoaVvvc9fS0ZDX0DVVWVDqgkpbNk3JRWN4+PyY5uyIsdRcuryH1gNap2g2hgbNyf3P2B2V3L71HtV0F4tO7ohufN7HX5UjX6WGaN1R6flk9Bwvi+AjuQ+CgCRpjv6HveCeF+j7xfSo3MSY8wzvy/UpIqvlOavFhReOzmBsQ2u8a2G59BG9d27dYTrf/VPQyZ9diwLFWosUGqzBWYMuK0rRKREoWjiECE4zcem66kKRt8fvXQB5AmADIJEhw/kVPvz6nGeP7/Pg0QPqYsxksgNFw9nZIzb1OTs7lxkMx+hk9o300Ae9Pf9z2D99mvRRul5Tq2nbJuOVQnfmFum10gWDasxms84yEryVrRrt82sffsif/Oh7PD5yXDnYY1wpLl86xD5+wvnRU+6WI24cDDGbBYUUlIViMh4wLAsfzBboMoE/l0mbPK1LScoWsFlsCy66Crp79LXsuPvDKik/BnE+77JpG8rh6JW08RohmRcZj6pXYFDOeV4SmBIIzraoGJafIdZYxcKf2h10AJGQs+bAdOH5znWGrOXKcXp8jKuX7O2NKMsRTW1pbctisaCQlpvXrlENxkTGmjdRhS8zp7pCBWlk0b4t2SSK768uQpFy0cmXJWFB8snfNq1GH0T+HjpCtc6FXNOWZrNmtVzQ1isIJfysMaw3DYvVCdPZkJvvvcNgMMXbPsUfsxPznJznbS+4FrZaBLdRPvRnoXsf/XgYn3LyRk/KCmwgRuSVVZnMe5kJIPy0C6PoF4Lw2pa4PgPvmEF30oVtjS+ErLJC9JksVSH1xAbNEpw/Hkh8uUYvDELkXtToY2CQUqCGXNSWx0+fsbk4YVo0XL10gJGCpnWs2haD5fjoPlfmI+7cvIMZ+PxHIYJSLwQdPvy9rHzeogun0keInJS9aBoNZqvo89GqCMLRV4dKlbDyfQDZnIWpjCsg3lKRfPKZoIx7zAb/etvWLC8WLC9OMW0NtsFaobGGxWrBcnXGfDLjvXfvMJxOQSrkNZGGv6i2s7PjKy/FohMm1KklBOSkX3Z01+WXdi2ZOQV/YHWauaz1TXCoYsy1S++zu7vPvft3OT05ZTwZMxhCvbI8bxqm0wOms7l3BwRQ4oJ1IO7fpDlCVjgk+uDjmvq0tRDXjDFtOiWo62UQsIGGlaoYDLX3UdomnPpR4IBqcoWvfXXDD3/wKaenI9aVsDebcOnwKu3jxxw/f8hwcIW96QitBgzGY1SILg0CJO3KiCxyuS3BxeXH6AGpc4VPmRHnC2RIyPnF88kuoC9PEVNhS5iQgAK2aTk+PmF+ffxK2niNTzL+ke4NhljFxOddeRU8hj9HddflC0Usw0TSLFNCrIh3XDvPgJx1KAWr2nD09Ay7PuZgNmY4nrFqVjhVsbxo0a7h+o0rlMM5vkJEHqaP97MUFaj89PM+uXaJqN6UqkN6hw727G4DBA01TbhL95Kt+3Wfdy0WrrbGULdr1ssF7WoFxuDE5zI1TcPFxYLJaMKdW3cYTieI7rRjiBi+M6XwwpO6ZUtAKxOMqfupY9kFKm6hcGDsG80B6VIWnj9/wvWrV9N73wI9RmYdAwvovu5YUxAW0XcQJsAFICfW4oxBi4QgM0kCI4pfT6cKHXJ2jbW01iThoovC13k1LdbYUEwZT9MIz86WPHn8mHp5xqxSXL9ylaapaa0CVbKqL9gsnnD78iFXrtxGdNU7wLwbtVCVVQgii0F1rT90Uwnxv64GR2cGjSbVQpdddaiobaYnZcCvI2X/Nv52S4vqBKx/ojWWpmlYnZ+zXB7Tmg3W+BSL1jQsLjaslxfs7g956/bXGY7miC4xzqeKFIMX6fmX0UTFCMhwzJ3SvhRhlj5DJgDzWUsm91T3OCoC8IKbKgMW/p0/IJwSWrvDnXe+wcXZI+59/jl1XTGaQoVjcfqUer1itrPDcDRB6UCrWJ+FmKPh/gP74xR8xL+UKCUYEa9RWhWqqvW2SRif5+mD4YhmLaHUaAChKHZmt/jwA/jRTz9FD3a5WMN8POXa/h53nz3jyRNHdf0Ol8YTqrLofKoZ0MUFa4gARcd/u/n3ilbb1uAs4/HIR1+7ogOkW7Qap7s/KdHv7hW2i4uLLc3zxfYaIenSGCKPidpXEh5Ju/Imq7T5QqRlnPGUl4Oi0K474zBGNYXUiqZt2GwMT5+dsl48ZzwsGc13aBqfx7RcXEC95vqNS4xGE3+QZ6SOEFmolQ4Io6vUGvso2SR25iUV/JY6vN4WfOF329ODS3OUPKtOpcpL3skegEHTsFouadYX2BCObZ2haTYsV0vKsuTmrRuMx3uowleFsaLDJotU+6LD/iUysrcPX6VpJj4Y1ik6vP1avkl7q59XEct8PvOm04x5d6BNXgBjss0pMkBBAjEE9kKoydpSFAUxbzC/zs8P6ToCrZZKMNaEkwe8BaIsSw94auPzTZXw9NkJj548olkeszdUHFy5xHJVI7qiRrg4eY4za96+cY39g6sgk+AKCIXJ42iVoixKf9BAFH8OBO+870yeCdkiYomJ11p5zTMKyAQctlqaqx6qCnO2bYaNWmgwUzZ1zerinPXylKauccFqUreOxeIMY1p29ie8++6HDIazoDVqrAjKGcS1LzGf/3Ja1B594JZCqwGz6TyM2+CczmiiK46SFw/J2ExYCUmaek+fdFHzI5hog7+9NchgyM7+NebTPZ4/e8yj509o9ZDJsMC5c46aFaPpLtP5LlUx8CbY8KwUV+Hll087TGXvwqNj/IIIWI0qfNhf07beikRcZwfSWfg89iqoBkOa9ToU2vCmS+cKdua3eP/tmp988oRib8ji4py96T6XD9Y8Oj7l0ZMjBqMRh1XfrmODq8Piuhz0TEO2wZoiyqFViRJoWl/DOPpHvfk7GMRz+ZgUndzCp1K/y7JkPpu9lja+lFEtIsf44GhaSadRJwEIaI0NB7n6ubaZWTJuOF9dwrnODxBD560UnC4uWJyfUhUtuhxxcdGgBo7N0tGuVty4esh4OidGdUaDA+JDnnVReIQWCYNcIEoaB5ASpz3SDt7x7PuXzcU2kgx3JnAeBDAxgbdtqVcrNssFtm2wrvaaiLGs1iu0dly6fIWdnT1ECla1YiADBIvOo4ACko166svSOl7a3wxg9saw9TqezN6B5TfDrFJziuVyxe7uXsZkoBOAWy1srE6b7yrKdBAjgiT/j/dLeKCmlUbohGSXP7slYAPaFYc/dDzWNg6Vd7RWyAAumpbHT4959uQJdnXMwazk4OASZ6sNZTlkbeH49AlTZbl95xaj+S4u1IdNFoOw/LrwBfhjgW1ctqYiWU6ZJKGK+JqtSvlDp0UVgZFIJyTT3G1P5Ytw8EWLCTTOFw2x7YblxYLF4py2WeBcgzXQNC3L5RnGwuGlqxweHFJWFU4KVMhp9QInmA7DqRZvokmIkRgNRinaUkTCvHvw3PnBSMxX4vv8XuHfzh+4tQO3TLQk3opn+DJAVSWXr46Y7h7y8N59LhbnDIcDdFmxOH9OvVmwMz9gNB4nd4y/vm+uzJUY/wwJjwzaFyooFEIrgmlb0m6T6ODoDpNTqqQaOOqNB0FgcdqbMPcO3+Y90/LT+48pdm9yvD5jNtrjirE8Pn/Ig4cF01s3qIqQPGhDbqYKx34RKp/FvHqgUNqf5hH2rBVQbYOlQalhUIwsMRvBDzI6YEKAo+skTxSkgqYqSw4ODqJw+ML2p/I89Wy9BKLGILjuQNGeX8el19ZmTuGUaCwg1ps3raO2jtPTFUdHp2g27M7nLBvHer0Bo2lWF1y7cshkZxeHz3WU7DlKF+hiABIqkBCFXkRPmeky+ZTCqRjS5eS8KH4yos5pPX8VCA58FSFM9Dte+OIIxgcCWNuy2qywzrK3v8d8dxcpK8+graCofUWW7Kl+atPW85oLfWJPve4D1tTPLzqrM/7SM1aX6OU1dPNLaMLFxcKv2zzWE4XO/Jwz+heZum8dsu6KoMd59WtlTBNoQCCcL0qooJQLnG6eIdVpdoKIQxXiq/UYnzKytvDo+JTnT54gm1Mmo5LxeJfl0ngBWcPzZ4/YHRe8ffsO5XBGKxUKi8K7IqwIogjaoy9sYINHIemMEscRTU2BcUuo8qM1IkVWnlCy/+McdvtyWzh25tjA8CX41cNp721jWFwcs1qeYZoah8GYlrquWS4XFCJcvXKNnb1DinIchLOA61IKEmjGM8s3RnZhbEqr4Jf0+7goxgheexdJpjQ64nsJBb5UQ9/+IOOlAeCp+FxMKKakGY92eeedMWenz3j46CE0NaPhAGzDcdNSb+ZM5rtU1SDwuEifHY91Me0u1jgNzwwZvogotHQR89b4Iv5kvMVXswrpZrqkGCo29crnKAb6cCIcXHqLpnV89ugpe/v7rNaWyeyAXfOE45MnfF4V3LhyhVKgKHUyc0soJRdJWmmNEg/eYyS+Uw6xPvc+KlUqO63oxYCzGIQXo/+77534+R4MqtcqBF9KSHYq+FZnEt9wyfYendnpwsCYlOpCxWOOXhyMEjBasVyvOHr2DOoF+/tTGidoMdhhxershMPDOZP5FEtAxVlYsNcgfQJuVw4pCq9swweEGI+2UjocbZWkQ+hx4rMRTdExySiggFjOqwtOammbmtXigrpeY2zrzzO0LXVTY41hOp8z392hLIfYEBzkUCA1ohqQwgvN0JnsadnTw/xnotC5L6dfStjg6ZDf8LlpvQk4FWx/Y82PxaP4l/UjbtzutefhLxl9fnkW8SciCbSUuvA5kOlZNhQgkT4yj7cJ//ifx7JZCqsK1m3L5w8ec/zsCbpZcjifImXB86NTCj1Cj0pOzp5zY3/A9RvvoPQAK0VKIDGhzyKKqir9oeeI9yPRRU92m74LKhEJgWe6SPm9L/jRXJ9ZdNMk9Cv2ZpajDJC1zlLXG0/fF2eYZo3BR2S365bl6gylHbdu3mA+v0yhSpzqcnk9wA4aowMn2gdR0B1D9iZaPNFFhzNHsRpny1B5yWVMIdAevAxN93jjC5/F990dEjhzlmDCVL3rnVgoSub7V5nMdnn2+HOOjo+oBgMGlWVx1tKs1kx39xhOp11+YABwgfumG2ZYjxRrQQzq8qb7tsWnfNgY0RvSTjLCV1pTVQOaOvTb1w0Fxly99i7W/Iy7R8fs7x6yeLZEl8KkMDx79pBqOOLm4UEAIhHIdtVwfMF2CaApZ8guFduPAXRdmcBo4ez4ZB9ApsXorcXJySmH+/svLmTWvlzt1szU6t9GVB5YrGjAeIERUhS2O9Uz17rOSOpLByqWjeHRkyPqzTm7OyVKBpi2xRaKzfE5lw53ODi8hLGkQtKIz2XzTCFW0YmT5LWPXEDG5yulkaL0OUJ0rCH3Vfb9WH3h6AVx/NTDe2NbTGv8KR3rBa6tQ4WJhrrd0LQN0+mMvb19inIEUnai3Dm0DTlQEurJShTc22bGbJElpIFkWmKKVsyE37a51eVrSowcE0QpJsMhZVl+SWPuL6ZFQjfGsLu7S0IKW/6qHrN/ocPdBzHirwNC4tcmlJpTyU/X0XuPsSVwl+2B1AdQTtEoWDUt9x4+4fTZAyq74fLBHk4KNqsjJvMdlmvYHD/j7Wu77F++gdMlNrN2xL7qoqAsqxTs5r8IeWoSovSS5aIDgVr74COl/Gk4IDGAMHtE9JNFs5OEmrLxRz2SBwTrfAGFtq1ZLM5ZXpxh2zW4hsbCelOzWp8zHCjeunOH8WwHrUb+RrGEmESAtxW9KHElVRDy2+v4y2nWGg+WQl1Q41r8oUKSQCVEjrdd2zgA5R7fy172NJzuHt0dSXMhqjf5wdQJiEaXY67efJf5zgEPH3zGanXOaGhwrqV+tmG02mW+u0dZDbp5zKRi0iC3omsDzPS0rBRlWWDEBXAf8jsBH7TZRcGqUES/rusgtFocGkvB4Y232ZiPeHz0hJ3xjM2m4HB/gn1+zKNHj6iqgis7c7SSUP6wo4HkFsg0YsLn8bmmaQMQyEByoDOXLCyxqbgQSTkA/7tHjx5xsLf3cqII7ZVCMiKHHq9OzfcqMmVrbUhQVh3ypC8co5k2VooTfCj9xjoePX7O8uyEyahkOJyw3qyoBmOeP3vO4c6U/cMDjzp1gTjjI2EdFFXZlXAiR8ndmYHRtCDi7e9a61AAvD+eXFfLCTkXjpJ+Hf512qdurFesFxe0zQaLwbiGtmmo6w2jyYjLV25QDUapP/EuOkyUAlqriYdA+wdkm0nAvSSoITKZtGaS9S3Of48rbX0feuFoKcqKoqwQ0S89G/SX1zzBPX7ykMODfd/HHpLPfpa418u1yBhklrTOdAtH2zZdJDMvzq2/R2dJ8PeJ9OzvJ0ArivPNhrv37nH2/IhS1RzsTxGjqNsNerLPyckJyjS88+5thpMdWkq0xZv2ooYbzmMs4rmP+bhE0j7sWUWC0FNae3+oCqUYM8bs56+joyQcu4Fkww3PCSbA1jiatmZ9ccLF4hzTrsB5QLisl2zWNTuTETfefZ/haIoK/vSk4UYmlvoSYJlEmN19Y0z7RosJlGWVDlq2zqI1qY5q3EM5LeQtt868vm2BX+c1NVEOn84QrQfRrRWeKIK4ksn8gHcmOxw9f8TR82coaRkMLKsLw6ZeMt87YDKapGo98WkxZcS6WPilK0ggkfNFYV0oDArnGlKxgSRs4wRo7xIowbo1xgQXhgXrSq5ef5fWfMLpYsPOzojVynD58AoPnj7m4YP7zEZzdsYlqfqTE+JxarmQjCbZ2EutCloab+otQv5pBhq/aAV6B6KHf5qmeWEPbLfXFhNIOEO2P+93xVrnywzlv8o3arC5+zcQz7zDOZ49P+X05BgxG6wZsdq0SFFycnLM4XzE4dVDRCpaa3HiyzvHe2ldJXMAOfPY6ovPD1MpeToxCNcjV6KpNgnIJHzpCUmHT5ZuNw3r5Tn1eoWzjT+hwzSs6w3DYcGVg6uMxjNEVVsbK9P+lIQcSutTaVQnsrtggS1tnu3Wib6I1TP+Sir1tq3ZIyC+joc3xem04d9Ui9Q1HOYlBoN/oddym1YYyzaT2jaXBqRpbAPWUBQ+MMD7VOjbo3LzLPG77IHOh96fr2s++ewe56fPKFzLzuSQUhQbV1OMJjx+8pR5Zbh+5y0m0x0smtbYlFuJhOjYYkCh85Ql+jRN7haQFPCgo+YYjm3rhddnU9XRcre+ORIHCTnFDmcMTduwujhnuTjHNiuMNbS2Zb1ZUq82zOZjbt98n+HQp3EkwZglgSegFwVI0io9jfcAiHX92IVfYjPG+NQK8VYF01qKUqN0roGFbFXp6Mz16IUX+M4L7SUgVlAY23bX5zEbxJNl6PYuGrTm8NJN5vNdnj65z2JxRjmYUmA4fbqhmewy2dtlUA783s74RvT9+uCZTvBF4SQiOO2tgoQKPYT+oZS35GXAW5QPLDPtJhQk8Tnwqhzz1lvv8vEnH7FZtlTjMeum4dLelCdH53xy7y7vv/sOs8JbIm0EtRnNx8dEM7L/wCb3nfezBoXIxWjwxDT7U5/IMghcES5fvsqLfKXfXn/o8gvsuL+pJGS0q9BxUoAAL5qt6GuWOB/iu1md45oN4oT1qmG9adDKsjsdcPn6ZZyaoKztwu6ND7vXusiYRhDpmfYYn6OC79GHF/vZ2i5X1L0Qog2/77sJ2pVYsBbT1KxXF6zXS6xpcbalsQ113VAWJdcuXWU0nYGUISUkSuOXzWfsf5eCEQGKZP1zW9dHk3Xey57FJ5MZSUMgosit8UswQ4sOBVjenCrpnD/bb2e+0+viF/y6/zYGV2SrFwVRZ1r2WosSHz0XTZO5Ed0F0BXvEVdliyficDx6cJ+z4+fg1jTOcnJxRjseILrg4skTrszH3Lh1FavHtBZEXDr82Rp/iHlZDdAhBaVXOSXRQd+uoULFHH8YcpFpZH1NJ17fm8QXJlRA+XqYphXaZsNyccZqeY5p/BFtxhjWmzW1WbO7s8Ph7XcYDCZYHU7TcV4zSRq/w/MGsWk8UStyktO4l+2WYMl7QykgtjWUukqL27aGyXjg9wXe6ywQCnqEtLWwvzr3D5k508/7qzTLCLz9flQ4K+BiZZ4ODEV3gTc5hQoizoEqqIZzbt4acnF+wtOn91mva8rBCLc4YlMvmO4cMh5PE/jytBSq8yR0kvGSDDwppaGwiJTY1qXKaV1aSxoFWhcUpclu6dPItKp49633+PknH7NpNrhBRSUjpmPHydlTPr035P07t6li0GDgzxHQ5ebuGDzmnPanTNk2kLafExfLnxL3pp8zCf5v4hx6aY9zcPnS5TSGL2pfInAnN56mdet9H0++VqKysnIuqffOxQo3W0JTQKO4c+saO7MRz54+ZbVYgzXMJhXXrl5GVEU8z887l300VmNaGtMyiAibeEJHJiBDUXKt89qUQVtMTDNTwXvj7X7jBxyr4jTUyyX1coFpNzjXYqxhXdeIduwd7DOdzCl0haPAhbAEv/Z99tUJSEkEK73/tlZi64OIw3PifkFm9C4KDDcXzCoUDo/pJUmYvrnmgLqpOTs/5/DgsCe6XkfQnvG49FtJ21+lS511mLaliIclE+cvbsIu4vAFjS720cWIObhx5RDaNU+P/bmmdWs4Pr2gVJbrVw64dvUGToYIPh/MtC0iLqUflWUoD4enM/84ybSKQOHiBY+EPGB/wK9KRynlwrDTFvsetAhOXWYdEhFaA6bdsLhYsFqcY9oN2Ia2bVlvVgiOvd09dvbfphgMaRuFZYCEFK/kO0pmmTBf0WAUPpOURNyxMkeotOXeXH6uwgeN2CD5xAmFHvqZFwIT7tZfQXJJ5FHzXgh1ZsxwcZrzfLPmFizwwCfxJOlmSJDO8pZuK3QW9AGz2WVGowkPHz9itVxgS0NlLWfPHrIeTZntHjIcDIMQ91kJvgpNDN7r+JJzkUuGIhTiz2d00mCNwcefhPSpDNBrERrb0oYiA6XyOadFMeG9dwp+/PFPWK8NaxTrusHammfPnzAbTbhz9cDzx0AaLvFyP1O52TjmtbdNm+rsvEA1kXdHbt5zdgsuHA3mDZJm++pe+xLFBHIqf3mzId+lM/WEXm6lJ7zA9p2vw1fokv29A+azCRdnZywvztk/2MWWY3A+0TiacjyCEzQ6Y+qSzK9RKHikHarnqHgKdpigjOBki/Bw9O4TBWRrGtrNms1qSbPZQDA9beoVSgn7u3PGswMfDSc6E8S2h7hyLTH/LIWXZztHiPmofe3iJQu19aqX4Zd9ofq/ldgfvCVArNcGesXP30wTURQ69MNFrW7L3+BIXDgNJUxrd+Zc8PXgP1cCtmkQ6087ca/Ky8s0yRzg5WStnDAbj/jKu29z6Xyfh/cfc3p6RFnC7Zu32d3fxUiRSl4qEVRZ0hpD3TQoJVSDAV9k8kmIWiSUTCwRXQRfpo9efbGmSw4CX7KQ4oWCw+cn13XD6vyMi9UppvU1Om1T0zZrlCgODw7Z2d+jUJOQ06gQNr40WKxzm81RYpw9LaoDZp15o+MLMQ0huWR+ya0I5d4QobUeEKtovga/4Nbzw8iwY6CIby7962sq+/0cuBE+6T3/Pdmq+bnqDhd/ce++CJkBbIqLciiknHP5SkW9WXB0/IzlxYLBYEDjLHVTM985YDyZdTVgQwcih+qsfDETwQUQ5vlpqTRtW3vLqzWdVhvHqBSttZRVFfKOO42wGkx5/85b/OTjjzlb2xDVLAxVi6JOFb861hhlSR65HniAi5WRQmqK1uSFkWRrTfKxxYfE3PrFYvFamnuNJum2/uYL23XG2dYH7Kg+E+6u6Xe686uleiIo5U80mM93mU1nPiTb5tVm4vjCFYFpbAvHnnk1I7p4g46lStrQua9H400rThQGh0/pWLNanNOuvJZr8P6aQmA4nLC7d4mqioxO6FWAJzIr2+tnb5YDM3fhDMOYDhCGu70E2awm9bM3RsnnK94kbdBO+MeTCbr34Y5Zus4bac4H1RzsH2zbDjsQk1Jz8pzSAOpcf7oiM/MgyOfy+VqtvipTfwJDubVtjZwtunce7XpR43O3dqY7TN4Zc3a2i9YwHO/RotAmBj74OzkcRaFQMmCz2SDSBVgoUV0wXqBLJf4QZO97DFVzfEe2xh6oQrL94IeUNOWoqRhnaJuGZfA5OlNj7JqmXbHZ1FTlgMPLV5lN99HFEKcyvG6zvLP4Nz077GlHACA29SPXnNIBA+GLzB70hWTxi2yDQZVoxFqLDvELydLkAqkQgGvOjHPBT2ToNtP0HC6YBJNtIwI/F4opgAfKyiI2Wj0C53f5jk6LSaodKXT3VIpiMObqlWucDY94+vwpqlU4azg6almvV8x39qiqivyuIll589C36AeNYEuJpixKjDhaX0miJ/S1LhBVUEjRAQv8OIwUlOND3ntH8fEnn1INxxweHrC7u085GHX0GYNBJXM9SZzijseLknT8oiuKtAbJ+pKCneKYSNp3NL8651gsl6kYxxe11/gkuwf0PtxiIM55IYlTPhrMxcs6YRgH90IR8lxoKI0uwFqNmDYjvIy5x586UiRcQgISo/w682o86NX1SSJjIrGPcfMGDukstm3YrC9YLy+wbe1PnzctTVszGo/Z2T0ANGU18jvI2WBSjQuUo8ZtNpF9J0IswIvqCjB08wu91U4spbtH9tQEIvoTTSckc3Tc60c4N1O+OELsl9WePXvG1VizNdPgejQhIHS5ZU6ysloZLyFZN0hrWGh/uPDLEXpsyRNJlJyJhoOJM9bR9RaNEiWa3b1LXR5XhLgJkMRAFr9+RTEKEdsBYqk0tLAeRTjrsUhBJVGT7TEit01PgeYE4uGzDktrFWazYbk8ZbE8w4Yjq5q2oW42VFXB1as3mM8uoXSVGHim8wAh9ehlNNYhiTC3W1WxXtpCAY6YRP8GWllV6XBl09QUg7Krqhmachl8jUCkHx2XVhjxtq/cPykdY0xCIfFzB6nMZ7a2W3DXU0/mBohTnkfMW+dLqexdvsp0Z4cnjx+wujinHLQsrGFTb5jPd5lMZj4iOlTU8aEInZssD5xJ/VCaQrwfum1bnDWpd0rpUK3IdUIqjdrTwnCyzwdfm1AUg3AiiU6czFt8vFUhAcDAC3vl9JyDYB43tkGoQEnwabuM13W977G6LMq10MVred1rA3fyDdL7Lu5N580IojtfVpfu0X//4j0kOb2jycUpIZYVis7fhGqye6Ri6irzRSYBGYmyI5x0HAtZplZmToudt9abEjbrFevVgrZe42yDaWvWTUtVDbl8+RrVYIBTBaaNZffsCzlO/ZnMF831fpeWUgUbeYYQcd0v+qkK238j43wJ48rG1xPcAsmMTWdOfG2E3i+8uXRyS07XPbJ3AvijvbZDrCCOLWdQ3l9urAFnUEXVm8IOgnSCzPWXqaPrLXruokZ9hGkRtL9Ym9hF1SNjkuALSpdF6eN245FsEo8o0qnmqkim8eaKRG+cfUbZmwt8Ufa6bVhdXLC5OKVt11hnqJs1pq0ZDidcunyT0XgHUT4YKDGXpJmHiYq1Ml9CJ8mn1ptc1xPiLy4Wfs8rhypefUr8L6ppXQTBB6Ztgwk8411pb0UmnQkzsmA459K+6kFXZ1ON4Y5+4jz50moRLPuPM1ASBSr0BWTUQPH8UGWCQVQJUjEYFNy68R7n5095+OgBbd1QWcdRs2azXjHb2acYFDGmPfzro+yts6mPnZ3C8wtfCU/5amLWBMuCC37zDkAl0ACBP2rKchLyeb3dLgKOBAnC9dLjVb2NiD/NRNHYFptcIcEu+ML+yC4lAlwPUGazWYh5+eL22sCdnDFtd1hQAQF2ZtOXMdqcsbzwt7dj/GsFoEqPwnVn7sgH409/9wcio8IJHiHaNREzkZ4zgSmpFG74VTzM1x9jZeqG1fKCzWaBC8f9NO0arYWDy4eMx3OUFLStCcWNA2H1eEB4dvZvfDY9rTBv+b2iSH2REff1xZcRz8veSvcnfeiIdTJTbx2hPNWbFZTWOiaTCVVZdmApTzDOtZL0J9P4tmYvZ2TGtiHpPqfjbv3SiSJBU8we0WueQdksnzT6zH0hLdEqCMhQJDoIzLiRQXCu9WkGkWIERHy+Y7KGxG+TdtzRcT9qtOtX3mdnLZu65uzslHp9hmk2WOdYtxtoDfPJhPnVG4xGc9ACrgAXx9JN4LZJ1Rtvtqwezmvz8QDy/uy5KF+7Pmc/EaUZjideWL2BpnUn9FtjGId6pkA6kUVcLFfom1+zLhK+zysjnwvvJKPJJGRdEnCIC9aNfI/3W/pG+lwzan3iQIvF9MC4N8/Pd68wmsw4evaU45NTirLE2Zb1es1sd4fpeOrzc5OAJ2gM+dPjX69xS1H4ammNr0ft3TQGqAKICqXjkqUsAAvl5zRq0/kIE5X1rHD0iTE0pSq0qf1B49qXn/Pdsz0ZAF0pvjQvYTKHw+FrXUtfrsD5SxlmGFBwcEeNLj9Oqov++mIEHt13EXH3AmZye0cqYeRNPRZ8AEMIzkn5jznjS1OyPeEkorYCGIttalbLJZvVAmNqjK1pG4N1LTs7O8xmuyg98NpuOsOP4Nzvz8tL5+nF6Uu/leANsMYhRYeIQkeRHtEE32EvlypNaP8ROVCR/CfSydkERXOAk5+f98tv1lqeHz3n0t5BiHqEcMx0tpYxEKI73Ty3DOT9j8jUOesP0g3BVTkgSddkCHi7/EtuHYnMKteaJNt8EgNqnC/m7Jwi1dB08TDylqrqAhziKQjdUVihbmVKP8iEYCa4ks9KQp+dA2upm4bFxRnLxRlNs/Z+x7ahkZL5ZJfJdMp4PA2ncRS9g3pj0ETeEj35ODq68+7inLgkRCOA3A44ywFLZw72tZt7dZ9/yS2ugQ2CoQjVd1Lvnd8XhLG5uCcd4CKQsT1rV5dJFczN8SgqJFi7PE/zB9eLj30R4VV7rweCIj0mmvVWLe+z7vzcHrwUFOWUy1cqJrM5jx4/4GJ5wnDQ0j5bsR7Pme/uMxgM0jFsohTOGLpH5ILf31tHRaVtscagdem1Wi2IFL4/wXza8Rd66xzHIFEWvHTM0d8dQSwICi0Oaxu0HuLQpMIEcZJcf9+8bC43m80rZvx1FXfyzR8HEjZSOvgzCrYwyK7ofKb2BoDfE4KuEwXbnc6FaadB+Yo+Pt3Em099QXOdHX66JSCzRYlcJDcFOOcwbcNmuaReLGibDcY1NE2NdYbpfMZ8vkuhBwhF558RQj1KQxcYlQur+Ocl4vGFjzpc2juFpJuUrbmBhMoih5LeFek5uQnjBV9PnJMMXXnm+ObqZ8bmBIzprAaefqJfy//ABQHXKY/dmkdG5NcbUo3K4D9RopPw8cTcPShnOpHF57LA5URNxrRSBG68sg/InHPh6KIACI13F2jtT8xJxwSpIiHueDJL1F4S7W5pErkW01qLqdesLs64WCxo2w22rambBmMNu7MZO7uXkKKiKKru6CxChDWZqT8bX958vIbymlVkQGmCsnVMi9MJxI4eM7oVSakhbyq6VYvy4NsYvK1JZf0i22M2BKt2/Ze0ApJVhwmXBXQjWOLRfV31KIfXelQWsRnnyZPYy7ScvN5peg5xO8RC5FHo+Js5sfhzJAdMJgV33hrz/Pljnj19RlmUWNuyWV8wme8xm+34uslEONO1GBjTKZji/ZSlwihDWQ6wtg3KgwoaY39v5gLzhbF1M9OXB3GMKko+ELEoLb4Qg4CvHObSXXLhuw3V/C+8ovPgyZOX9iW211bc6caSPTzFwIccychYJWo5dKLcdUPvMxQCevKEJziwim1NM15NMjX5yS+KsjORZMIguzhNUjxgN1Vtcc6bGlYr1ssFdb3Bmpam9f6Z8XjC7t4euhoilHQRkN0S5s/906BfDxZe/Dx3TOeCapuYOtAg3QaIaxUfIOnH3XW9/kM8pqgTCsF5H4oMmzcY3dq0LZcvXwaiZcqF/nXr0PGJKLRIQ3tBd5FgOm3aYPrpGLOksdObr/Q+E36+K/1U/4626T88ydJMmCpflN/igj9yEIJydKa90b323C1tdFLXt5iMA2MdTd2wWJywXJzQbjbe51ivfN7xfI/5ziXKagB47VyCHzT+78gtMd185Pu2gyDd3vNd6M96Om8xgmnpC8qUuhDHkwTHy5nnL7yJ50Wmseiq8KZntviKy/aRdFHEYlX3ObwwhKQJYQPvpLMEhfxdXfgEeV+v1/VAWLcV3ZbyEDvl6cSisbYMdXbXjIZzf424BGg8L/XPOTi8znS6y9Hjx5xdnFOOBtRHLevlkr29fUajse+3i3mE2yblbnzW2lD3taJpHVpHQa36tJS97o8j0jV9IRpoTKXroqboQAqUsr4YexCafkpCznEKlsvBa1/5EuDZ0RGvaq8pcN69jrK5m6RoMgneIitJq0o1jR2ZityPUkpd/hK8uJtYb9+2DqpBFUys+RRs2bl7C+A7Zq2hqTcsFxdsNits23gTVLuhGg44vHSTwWCMzxWMpdCCYz2NIQiiBBa+xBgS03zZ6OLcmZRUHgtZd9dnWnuqfB8INAGIaO5Kk9Z/TopIdL3v0ppKxrS+1Kh+Me307DSkE/km0FkeUvinSTQRYzcD9+ltSL/nBOcarPO1Wr07rfUHdseSdHTAzfMx1z2bbYSbfxMFSB/he/LYKp4RrteiaBxUg0F3WgfpUrwp2dNeFIiWHER197Q2nMpxccHF4py6XmBNTVsbkIbZbMre7iWKcgpS+IN5UxxBxqR62EqyvuStE5rJvfLSn0giMwnnRvqPsxiEQGeeiB3KCkg8lecNNO3paF3X6KrsqjDZLQoQoTuCjzSuXNvP3Uz+yqhcdPnHiaHjT0hxRtCV9sAlArEUwBhoKwX7dBV++qjMB2j5g7/r+KBujIk+8ccwUjAYTLl+Y8zo9BmPHz+gYY1tN9TrBbPZPrOdHZR2oS9Ftw+yx0oAk4L38Zll69Nn0m/6YIv0cf9zD6Kcnxspetd5WrGkOrKEdVAabI2z1uc95+Ain57+g9NLpYTdnZ2X/KhrX6J2q2ce0SeaOo0LgTQW0eKDXLAQTFlRsEkQKC7BGAJAd+l1bC8fTzRfdETpj1HyYch9M85LFiO8tNbRNjWLxQXL5Tm2bTGmYdNuGFUDrly+ynA0RrQPXEjaYRbK3M2ABWN5mQa77Xf9ovGk+ekBBpdMrh6BqfhNBFTdmMPYPAF1fUy3e5mQjARNTkAx1NsgIQBKRGK81BtpxtoQNJCj7hgtaNL4PXX2TfZ+SNuRug5j1iAtSg3RzkK9xBQltqjw2bEq0WqkVwnJ41HoxTlMQlT6oCeBjfg+08Die8nuNR6NE531GUXHiNOvQ/6kDUzYGRs0xzMWi1PsZk3rNqybJdppdnb32NndoSzG4PxxVUDgr4ISG0686ACXpx/pk05ufAj/Ouf6xpWs/73XCa3HoIo4O96UGcs1xshqn/vGG2lRi7GmZTwa+wA2HKLi2ZeRw6g0J5oMuAppv/a0Juhj0sCrXLcBAU/zsfiJC4AwEpd1MegpCKP0VUzXyDSkNJ6OrjKulfiPUoJz3uVgtGU232cynvHsyQOeHz1mMJr4gK/FBbt7uwxHA4oClDSIK7wQIxx27Fyi1qIsgwk/7tdufrfnW2V00gNmItADjlFIdiGXXqmUUFXNjy6mdMW5idD5hQUg0qIgTnH96pWXkURqXyq6tcdsu1UIplaHcpqJPsNKQd1orCpxUvQi2eJ+iiWbIvPqBMqX84VFVKV0rmlsbdAoGMEfhGuE88U5y/MzjPEnajfrmqLQHB7sMZ7MKIsKS1YlQrqx93oVNLl6s/GCunjZrt4mkPzyF7UBCYJAhcCFqC12DDInMom2rISWJIWPk7SONBdhg3egrv/cSDTJqyJBQKtXl2r6RbZhOWBQDXB4LbkPSKMJRSXmQUKN+bhd0gawFmctWjwIqGzNex++z+efPmDVLLGisKrESoG43NQNAVkQz970LUOMqW/dBy/LBe6dQICiKKpQezjmhMUEfRIjTRQoyvu6xNcubjdrFufnLC4WmGaBsTV1swYR9vcusTvfR6eyiLn2kvtp8ly0LXAZNeE0zvBeCACkG5tKNNjR5/b77Tly8dlCAHj4iisSI3p/+U3E79q2qSlnc6KZuCtZJkHc960O/fV6WXMpWT0WUOiAULDGOV9uU4XqYOkowUAzKmmRpEA2cY78VKDIT3WpaW2DaDLXQgbs6CyBkeaUExqn0NWYK9ffYjKfce/zT1guLiiWF5wcP2Eym3HlyjWGwwFadfwmxZ6E8WilX1laMF4XfZU5rXQuO+8fT77VeK0TkDIUcoBWtTjjUGhwDRK+I/ktIx/e4nniZyHGLYzH4y/sL3zJ6NZ8cP3mUuWD3/nzv83bv/FbfP/bP+CH3/02F2YDTvuqNZkjPEVRJrNYNJORIva+qOBArPrui1N3pqj0u+yvw2KblnVdc//+Q9abJVos1rZorTnYPWBn1/sdHX7jSopSc/07bo3dWRsCCO1LTWr+bW4udXRDlgzl5T23IZAjq9oT75Gq1pOZTLtnOclOjkgbtkO4MTpyi156LUbyRdJ5g4okR8+f8fZb7wDRKAgkfwORUNJY+kfgbA/Q05O1llJrcHDpyiF//t/4G/zaBh58cpe73/4md58/9iYbp3Ciw1yo5Ldj+945/fb8lG7rr+9Dx1RCX2KKQaLhbVrrrCROBGthU284PT1mdXFG26yxpmHTrKmKksv7lxnPd9G6AoqOEUp2t8CAPAPOmHVPi01ysc/4k1yQTuvrFWOQtF4d0IzmQchr50bgQWKuEKsOva76yS+qKREaY3yt56IIYwBEEZFaEpwZ6IiYLc7gduv93uXrkTNwR1EKvlaEoFx8ZJxT71eMwR46grYgKHPRlwSfSp0MfffXdsdvhSe7LghTRHCqYDI95N33hjy4/wkP791DVyXLi1NOj4+4cvU2+4d7DErtzy3N6rwmQa2yM4V7vMrTucpYmIpR0mH6JOW4BwtDWIeE951LOZxi/SEFUng/rAe4QPSh9oCaZPvUv4+87vT09JW08SUr7oTFlP6XKYG1NezdfI/9t7/Bb995n3ow5aNv/z8Zjw44WW5o2gHE6CoUIt1jY53AFMuTaUEvmC1FvLkpFC2PRWt7BBqkgTiHs4a22XB09AhMg3Ute3v7XLt2g/FohhRFer70Fi8s1EuAgQihrqPfzL7eYmd28/3ua4vxnl1hoIwRhu+sDRqc+A3qQgJ20iKzfuX3SNGWdFqVJIm4tZI9oRz9wTEJOjsF5A0xqthW6yUu6MM9ARJRgIsh4DH4yAOLhAGcC3mOzoMla9I8DhrHrbe+glQ7lCXc+NqvsBTD/f/6P+PmlV2OTlcsTYmzFVbA2jbQbN9HvK2Zd8Fo9Ohhu4koTNswHA36NBIZV08jtbR1y6KuOT49YnF2ijENOIvZrBkPK65dusJkNqcsKm+9IWKqjk5yl0QbDppOJ+jkg5Ktv/kYE5n5+daq3NofUatSHbtI0jaawMLrLa3ZX2u66M430EQJbW18+k2PK+P94y7MY54qBX0hAC+iy4wmup9HbbQTfM5olFTBSml9UFm4lze94gVDNLM6OuuG88XhwVEUBU1dJxdV3zfXJd2n/SLgrIQyfALW4URhywlXbr5NWVV89uknLNZL2tOH3L33CdPd6wxHc3b393nn9lXGZdT+LYJloP25uGZLXvjxu7QXJaiEEmrAeprIimpIBKCWDgi3VBhKBYPRgNq0LNeODfGEEk06qDpaLF3Q4qXfGRHBaXj48MEraeO1QvILNQoXGYMwUo7Dq1dQDn72g5/xg2/9V/zKO7dYqhntxz/mxldv8uTzU47OTnFlhXHGm4HiQFCd7T/4TDoB2ak/cVPpIjKsrQTRbmb8PUTYbGrOTk7YmQ05PNzn0sEVhoMRiD//LjrdO/PKFxtO4qyIeASkonKcnZDthWEnZDvTCkTNI/o/+veMKCs7KieaZ3KNebtzEp/V3SsPg04qQH/pAqoNJg3xkaOdttEFJryJdnBwQAxOcC7hybQyURA4Z3Mk12ewgTatMxizCd4ihR4K1z98H5w3S33vO3/Mj//O/4sP3xmzf/0tBsdLnvz0pwyv3ubi6YJNu8HoAhuS7CUkZjiyCM1oTYgmsS8amCMIEUdZxDy2joNG85hfP4uxvkbw3Y8/5eT8MU4MYlrms12u37jJbLaDLipv1QhlISOmyDWYXPi2TYsudJ+mtuaMdFknuJNW60CpeCxeBC8q0XTyETsSiPXMOJock10jYL5MmMuby5O0omhbQ1UWqEyzcQFA+n6qBOYj840KmzebkuHRzMSetLrOeBhlcEwZUQiF0ljt7yOx2E38E4B8PJMzViNzoZKPCs8qdElZDqjKQRxCBujiEit85E70qbrAA/wV1jkePHrCp/fu8ujJPR7d/YTVYonCUBiHuB9QO9DTHT78c/8S//Lv/R7jUqMwiCjG4wHrzTqdLBSfLfHcRxFULEEXNRMJBQro5tPacDalc5QIumyoSsPB5dtc+cqHzC9f4+nPf8SffPNPwhmfNSLVFtAkZTUl4BDnJLxYrdevpI3XnAJC4LEd2o2I2eGQUAh4OJ4w2jvg48/v8ff+1n/Ku9fn1INrnNz7CX/pf/7n+Opv/4esL9Z8/N3v8NPvfpd7Dx+ysS1WCqzz1Tf9uGzy97oYNJF8QWFwzpc+UrnOnnc5bv7w17SG2WzGfHfCeDhDijGIR9EqRK6qRLw9uPeFLTq+u2dGof2iPysyvq5PL3uE9+/GUwA6BtcxkHx8udPfF9nOGGJcp0QMXwB1EoInCXFRnSmtq3b8y2/rzTogYNetiutCdKIvB3rD9i1okRA2mmtxtkHpAmUdh4d7DPfmnLUN3/1H3+LRP/1P+ZUP32Vn/0MeHx9x9OD7/Opf/XXu/Mrf5Pz4gp98+w85uvuIs9NTWoRGFbSivWnHRf+JSqYcG6bb5RyutzagiyKtdZeGk4NC/7+1La1pePTsMXX9lMlwxM1rN7h85QbFYBZqudKtdqKdDlz1p8bf19kMUGxNoEgosi652TQjRweuKLIoVI/+u/HZ7MfSadb5BIS+5QUuPOMMlVPeQFMiNJua0WDgA09sQhtbAyADk3R1tGPN1VxQbhf86EV5CWRzVVSC1hGkxHNvM50vBfFE8Bg1LE2s2OP5kqbQZXpu0th7OyZqxf5zlApmbqGxhn/0zX/M3/kH/19OLk6w1jES4cZ8xDs3LnE4njMZFTjrzZQPvvMP+Lsnz/irf/1fZXdUIuJQpaCNom2zlBUXXHOiQ/GZbhok9QvAIs5QCBTKMioU1VRR6AuuvfVVLs5+zmZ6wOytD6h0wezSTUq+R6uzYjTb7C7pTf0g0LjVrl65+kraeE0xgb4Wkk+zDUE7zsF8UPFs4fiv//P/G/NxjVX7PHvwCb/zF3+Tr//uvwHsMt93fOP3r/DV3/2LHN//nG//w3/Ao88+5/j8DFuUGBdP4PYqczzKxdpIIHG3CUqKEGLc+YISuosMMtrssVTDaBqS9Gu/OIHdxtevEI7JTOLCgb0hty1WR+nnNmbP6Gl6GUORDNMIWOtzP7dNTh2Cd+m9pwP/eRKQW4TR07C7Cg9kbpHEy4I+k6wDPS3kDbTz83P/ItFzp6lFXa23sYIGFOlBMnO4tSaBLmdr3nrnXdZNxR/97b/F80/+DnfeeYdS3+Duo0+x9h5/6d/819m59heAITuXL/Fb/9otNos1j3/+Y+5+9BH3P/4Eay2tKjz6tqHoeOh7F3/ntQ5LDFv33zrnQoWobW09WFKS1QGcDcdYrc44OJhwae8qu/tX0cXQe/mj9UIFukqLu22piM1HaypdoLcCZKI/sNPocndBFBa+IIJygjfLh2f1xqFI1XTiODJycpIBHIkmv+hHe3PmVi0K07RU85kXbikVqzNNphiBZHnK9lBSDV23H7PfgqfafF/qoCAYwEqJC1WPekAn/NaFo7ZUFvHudKZZOq9V6ljggQ70qgisU/CP70HkI0LU3Cz/5A/+Mf/Vf/Nfsm5XGFo0Gq2GXD7Y48b+ZebDCZPRgPloyPzdEi2GTx/e40ff/wN+6zf+MsXAoKSgKCx1s86CNH1hARV82SqpdwLSomgpgUI1lJVmMtvl4OZt9m/fYjidcu9Hfx89GHLn63+Vz/7k7/PsZ/tce//XGe3vM5wPWJ/boHnS4czwpluOuGImGREFuHb5nyO6tROKW4gUfGRrQO360pT//m/9Z8yW9xnuzLn/8BN+9/d+n6/99v8Spyc+2AhBqYLhcM61d77O33zrq5wdP+DnP/gW3/uDP+Tk+TlLq2hR2BTyHzaSi4jEM56i1ASjfCcc6TZimAYcwmq1xLQNzg3xCC1uREn3pscQ4gTnZoruOxGVDsn1RdZDiTPJBOHLhGSiyhxddv32pgiP6vryTl4YY085+QKNoPdddq+XC79ATLESjSSx+UbalctXXhoQ5bsZZiAIlIgBul9GWvGMwRpDEcCTG2jk5g7/3d/6f6CffJc7N7/K5tzxs/p7XL92nV/7l/8PVJMbPjrOxUCTkmpWcufXf5Pb3/gGpw8f8Nn3vse9j37MyfICKyMMgj/INjDW0NfkMgj7RAWT3mg4RCnttYLkwItRo8E+FC6t6zU7OxNGwwKtByhVhud0ORiSEUV8dn/aInAEKLxQUhaJmmgmGNWWkOw0Tn/z1rYhWE8l8djFD2SVUbI+xCpDUXvsgrH8a9czw70ZTdI5R2taX7IwackOn5ie8RaXOWW6LZze+5KOLmLf9F1Mm+kFmakQB2+CFliocGiMS1po93vVo6noj+xojOCaCDwxAA4fLewjYn1Zxni0qSRp6SGW5g++/Qf8N//df8uyXiSzrAgYp1nWULfOFxS33lU1GO6wM55y9dJN/vCTz1ieHzMY7KKUpSwF2Tgwfr6UEl8zWTyvUxgQR6EUhWoYDwZMZvvs3r7KwZ13Gcz30OUQJRqL5c6v/3U+++HfgqOK6x/+Lp995+9SVFMO79xmNp9xer7E4Q8v0EGGRBbhx2i9W4yMHsMKFcWrDapfMgWkoxm/KUOwiyiscnzy8x9TtWc4NWC9fsBv/f57/Npf+3eQctIhIbrNigC6ZH5wi9/4y1f58M//Ho9+9j2+861v8umnD7hYGURPsc4G9OUJgGD61VphndkyJ2whX+ufuVmvQ0UGBaLp8hAhnk4QTQ3bJqhE5JkA9K07x1LndRIjag5VJjohGe8nCU3mTCQHIaIkl85h9rZhyhesz0t/0PldX7hASEw6mnk9PhHkzWWAcLC/vyUgszmhz4xfAALOpvm1tgXT4rTCKoNIyx//93+Lzcl99vdv8/R0Qb3+iA9/8/f5ym/+RxTDoZ9r5/DFIzyDTF7iYsTerXfYuXGLD/7CX+Dj732HRx//jMefPaAVTSshsCwIrew4xaDtej9LURQ4a7xPFa+tqDhOAZzCig9cOl+c4WwLbuBBTDz1JoI8Moa91fL9JgjWthSFoih0OHE+F4aRqfrXMZcxkX0gaJE2nG25JTwkW5MXO0Ky8iSa8/dzAjq4KfT2+a+/xNZag9KaoiySkEPo1i+saTpLSPp/429EJJww4VJwb+cCisXu6XiMA4Wl0GG+dSKVcEv/4Oh/90XWXeqjdyl4gSdOo0MlkZhSogvtT1qy4ChxygOzFJmPj6R9+PgJ/+3f/W85Xh5hrQ3Ax4O/mprT5YrzzZrRoEjjtg6cKJSq+AvvfcjR1B82r7XPOy4LoW794cxaSkQspUApBl20jMZDprNd5tducPmdD6mmU3Q1yiYnzrnCVTu89bW/yec//rvweIfbb7/NZ9/9L9Cz/w37lw65f/9hIC3P6xMoI064/5srLe6VnLVrrz0qa7tFc5a3uyi0bbi6q5jtXOfJ00f8zu/9Pr/2l/99pJxkN9q+T6elCJrBZJ87v/Y73P7aVzh99Dk/+eM/5nvf+RlH5zV1O8bg/TNaKabjiWcUqbB4FxWV9zxipPVmRdSrlVaZSSfCb5WZjvIud5ug+5+EsJQKYeLxb/iNzQV3gIsi3Vx2PcuFp3+OZ14qm56XL2D6dFvt7cF31+3FrY2cbuDIgiu6gKLYn38x2rY5j6T9+2/Th53JM2g21jT4KDmNso5pccH1nT2a/Zs8vvuI+bzlX/rX/y0uvfWv4rQGpxGiyUa9fPqdgFRU80t8+Ht/jQ9++3d5+vnPePCTn/DT736fZtP6+DsVcxTboEl4iFRVvgizz9vMGK1k41Q+zcmiODs/x1pQdGXLOk0P77tXQmdS72YtTlCkzaKIp+RoCl31aLwrjRdBnk4WKxHxASUINAWFLrPDzgP4y+b/ZVPWew84icWoXW+PqTdEd3Vd+3qlQeOPWpqPowv7zOE1vOjTzUFw1OQTEOi2Z7cWHQ/x1/hEeKcNZaXQqeh51rFkNsz4myUr0hKfQRB+AuLTWJQStFLYsOl9jqWgrPOFKSCeDcg3v/U/8eT4OU18hAuVbfztaGzNpq2xOFprsOJY1mvKeojSikor5m3LGYIuhJISMxiyWl1QKmFSNIyqhsFkzO7lW8wOr7F3522q6U46tzQGsb1ouTSARqp9br7/N/j0j/7ftLVwcPUrfPw//m0Obr2LP9zCYK1Bq9LPY6TNOJFZap8/RdMHLb3OePHlz6WJWmTY8M46nIZCGWazEauLC371N3+Fb/z+f4iUPn+mr33Fm8RAHJ/v4mgR1yCuxUjF+NJtfv2vHPD13/gNHn36I378w8/42ccPWKxKBsMZZZlrFcH+HvO1AnJwgAQTxmazQocaztsCT0LB9FxybPtictOsUoK1LhznI5lvJ2qmPocpN1H1UH4ieHqCyzMNhVb+iJlQN42s8vaWEMyQbux7HjFA4OW59pgL1EQ8XWK4c93KdNr5m2n9E2G6wC0grTPE0dj0TfzM4QOhnDHEUmxDt+Kdm3uMZpd49uw+b3/tBr/6V/5tBtP3wxFRMele9dfpJc2vShuQ/5grb32Dy3fe54Pf+V0e/PA7fPzDH/Ho0QnGjgCojQPXMpkMKMqSqKF1YCpqGkAwmVnnsNZxcXHu/Tg6ML7sVGbPTGP5uryHkv4qkZTTGItfe2Grt/ZDrkV60NkF1sTIQ0fjbM93KAkISm8F/DqSEWHWO5Hgm1ReFGfa7IuA+pfTNpuNPwEjBg51W6VbF8GXqdOkKY6avMrfx/WM5swOXad96INsAj+1CkWRouKjhhhZQG4aTE+Jv8FrWuIchOMDi5BvrZQv8xeLjXgDicViA3+usQjL9QUfffR9rGkCjYQmghJHKYqBM5TOgDEs1mvWtaVU54yG5+xM9rh57RJ7Q8vQGuY7M7RdM14a9MYyGgqX3r/D/PIN9m7coRjPcbpEuViZLdvD2+aIAFj9SUkFajji9m/8VT7+9v+d47s103HNySenCIPA/9tQPD83AUAHVSQBClHdPnxV+9JCMne24xwiLULBQA9w1Hzw69f49d//36HLuZf8Ai9ntRahwbk2yHKDo/WIpq3RdYu0AvPL3PyN60yv3UfP/xGf//wJVTllYyzGQEqilYyQgwLtAKxHFaZpqHSJFqEIAROSAm1IY9r2wSTHfA+5+/PSop1fa43o7mTtPEs2Mr98eXq+s9jpFHQC0czVpQV0C/yCENy6DXQRrb1rssvS96Ff+UlQSnzOp4aAPt9cy4nWV3WK77JgF+mIPaHQ9BuNsy0thkqEVoSd8YD5ZMajZx9x5a23ee93/gOq0QFgSEcd+Ru/Sj5mWpFGnGCDlUIYMti5wdu/e423fvP3eHr3Jzz82Y/42Z98l/OLCXo6ZDwsCC6nZJZPUD3ul7C/rHU0Tc16vWAyHqEUFEXZmVsTbUUDYEcRuWVDMiHpA26UP+g5u48XmHEf6G4NehYIX/+kCGddelNW9C5GqdEJxHikUgRi3RFLEYNk+a2BiSul+kT5S2yrxZLDw8Pk7hCRdOB7F4wE6G2BJd1/rtvjfoyS5TpCXF7PQ0EkHAuDS0E24Za9fRt/T5jHOEexFzGu0eGDqnRRonQF+Go/TkBUyKWMVgurvd/OCYvFCacnx9iQlmGtj9zWUaw4x7ASxpWm3dTUqzVFUXL50gFW1/z4k+9Q1+/x/u1b3Huy5F/5K/8Os0tDnBGOPv4hwyGMb32DavcqGt3RVW9f9z54SQv82pYUo6u891v/Lp8X/zm70/ewOM6+dZezekg8t1WU8see9RhumrGkgbuXgLjt9qWE5HZSv6MFcSgnqOKID371z/Phb//7qHI3MCu19ftwAJ1zCA2wQdgQA2+ss1jT0NoWVZTY4Zx2WfPDf/pP+fn3/gitNozne1w+vMTFYsNquWGzMRgbbOsZizQuakl4k5VpEalQoil0OO4qMCTPQHw6h8/VjIxrW3DqhPLiZm+axvt1om8m5UbmI+8LpW2vjQSE6jeP8/lnWqXr+ukbWxszCNFoV4/MKGP1KSYkLML2smTPCRvfuRCB9i+OkNzeONF0EhlSF50Xp9KDDGuNR59uyKBV7I1gZR7x4V/6PS7d+eu4YuqvdX+6Q377ICSPZu1Ww5Z7HLz1G5TjA8pizf2fH1NUu9SNoWl8lRTjOgaMxLX29zH4M0uXq0U4K29MoUtv5oyALa15R3OdvyX6FwPAC2Y8ZQu8JqkyTTK6G/r36fw5pOchgNIonZ964f1WEoFarj0R2JHEz7PC3HHsRDGDF5JvqL65NYbhKPrDwmqo2Mfeqvd3YtS8g8mzV+AkmVxjWlJm8hPAFV5QKktRqXQt0B3RRQAYKvIeSZ8RnhGPEPXAy1u3IshRWmEVOOMLESirkqlVbIlSDusaQvQHEyeMtGLTNtRiMU6AklE5Q+HN0fPxlGFZcnq8ZP/yFVbnpzx4cJ/5uOTJyZJaxlR7N3BOmB0vWD7/Acff/0dM7/wK02tfRcqq41NfwnLQ9/v6cevhdW584z/iyUf/P2ajXXbnY06eGcRZfMUdHcjTBuAZJgsXQKlkO+7VgvLVHMK95GJHktDKWr76wa/xwW//B1DOQRqcDLaQFqSTNFiBW/gqJqF4gBhCEIOgyxltW/LJRz/lB3/4jzl79im2bdjZnTIZjRkNRiFVomDYNDStoakNbQsmmOiUi5tWqOsaF8xDSuuAgGPVH4WIC6fU+5DkhPJUF0CgRGXBEoQjYQqMsd7Ho7ti7t2i9hfXddwmMbe4PFGDEOVIR/sRmd1LbQ9pTqOpJ92rVzLWbRECfBEx5E9IIVZvyOwFcY4z57vLN0pnRgmsNV0nSWuxPqqVCoqWgTvj8P0rvP9b/zFq9hYwDChZvsweeX0LKN6KwrUti6f3uPuD7/Ds/s85mGkms32u37zF6ekFy4sV601N0xqMEZwVbNQQ8CZIG4Z4fn6KKB8IUeghRVF0UaUKX0YvnD8pQjAf5WZUlYSqdZaiUBhjgpugSLSmYhJ/EpTR55bTtKSxqqD5xoMAto+3S0CGWBMp3ipU15JOmCCe70W3qn5D0a3WWgqt+2PuuTTCZ2lfhneSae7bN820GHkJL41zYp2EdVT9rboFOPoWFtf9dSRfbgeWBdHK8ycXfL3Wu7iIhQqUDiVEfOGKAcKfu3Sdw1JzYVb85Og5R01LhfNuJGcZFCWXDg4RLHtqwKUrlxg3b/P550+5d/9zfr1pufQ3/xfIf/KfwL/5r6EmY5rnI9z5Ryx+fMTy+SP23v51BjuH2Vzn/uzXu3pSQN30kMtf/Suc3PvH7B/MuPvsAmiwUqNl4lNCiDIygorMfbMdIfwF7U8Ho/Gk76yP6lSm4a23vooahHPLKFMll/DjVBQZVsA51vjcGWdBrKPFomSIVSMePjziB9/8Bzz59IeY5gxr/KWFFiajMWVRUuo2Oc6VthTa0RpH21qstRjrME5hRbNZb7yQ1EEoZrZ6H/xjEacyIRm1S50YRidQo98oVOvXPhpOsgCGDoVK2lzR1JQYcpgXyd9DqGavgu8o00Az30MKOHLeaN2J0ghjUxcy8SoJzX5xyzeh79ebDtzZTgF5ISUkoOfc6CcSKmK6FmhBKSyWa9fe5v3f+7cph5cgBNO4cPJHvNeX61T/jadtf7E1htPnj/j8+/+U07sfwXpJ68Ds7DMbjxgMh4zqlkILo6Zks2loGkPTWFrjIwyNA4fGNB79Hh+fBAEZIlIDyItnfooQ/OOd9qekH5yWXhvxRx7hUuBNP3AnRLQCBPNn7mWUMN/RZWEEdCzVlq8TLpQz7SJvJXzu3TQuuX39tQqUwYmi0PqFIJ9fVhsOhhRl6aNcXVc0pdtFZOPprE35X2/G/IJ9JkLI78iu8RNhGoseFH2Ta1QNt1oHHLPn2AhLHJEVqKBeqog+Qrk2i0WjEaKpVxgNJpS6oBwobk8qBk4xGSh2d8bcffacRW0YF57ejDGsVmsOdmccTHc53NlhV7/NxfGS46NzfuP732N4doL7v/yfaf6Nf4VyMGQ4q7h4ZrGrFdX9P+LZyUNmd/4ck1tfQUWtUpxXbpL6/UXT2H2nnEYmV9l7+7epF3+PIRdsmKCMgcL62Ltt3ifZeqZFfTXRvTpP8mW5aoRwZKsoSsP+5cNwTloUENkRRyigBVZgF1i3AdOEckq+9qorp5yebPjuH/59Pv/BN6k3pzjThoo7ghaFckOmw0HnjBaPjHQwz4gCpS3W+siwuvUFcFfLc7QSLxB9CYeArouAnv3xKjqi85hDqSIK95tYMgEKQcBqX+BXSdEx2XjmZM7Lk6BLs9fdy3WmTmdC3VYVGL8N7EXhQ8ozZB410qQnis81i/d+mXb0MqG3vb5JRmYM8l/k1gHRbk6stZi28QEHroTVBddvXqUYXgZKfL6UP2btTz/EDnq4oDHZtuHk6UPu/+CbHN3/OXa1wNkN1joUBRQll/YOUKqgKDTORJ+fpiwdbWNpW0NjobUOYx31psVYuDg+oag0hSopy4oiRLd6Aeft50mzjEIy8zXm4M5ar2H400e2gnYggD1NzFvoAngyXu1AFVFQS//0q25VvIFSojLkIYzJtAZf5coTm0N8pGugZ8ObyT2aDkbpON8YMBZbsmYAqYYrW0Iy7CWJts/etS5FZPdJzlcYM65BFf1yap1Wn7fuesk1SZ0Lcp/uES0BWnlNEucCsBZsMEE66/MmJ+MZw2pA3RqKwZDxYMDx8TOq0YDrB3ucLVqGeoBtHRu74eLinNGwYj5ybNaWshqzWjQ06zV/59pN/lWtGf+f/o/otkEGmulwzsIJ1rWsjUPOH3D80yNWJx+z89ZvMdi7Qt9x8WWbA7Ho6iaXPvyfMf7xf0l97nDWx7tIrEXbTV/449JfK/RM2y9rX67AuV+NQPkGFYJXBtWQwc4A5IxI/KEKIT4J1+BY49igbAN2gzEWZR0ymLBqCj7+9kf88Nt/n+XJfZypcaYMztRgfhLQRUVZFTjlQAX7fhAGESn55H6LcT7h2WFZXpx1TEPpUB1HB/Or6rQ3HRlNDIONVXRi6TpJG8DhA1ysVcl8m+YqCqiwfqTPYpBCdBh3ml/0BTqsF/ohKktUJ2wj6WRbJPWpa1sBHFvrLtIJ2259oxaQX+NBxfOnT19FGr+cFkFEHGdg9Ehg0BkAidqK4CNbTagsNh0NeevP/yZCNC+q7al5TRf6pnEIBt+25ujRAz77wbc5f/ARzXqBa+vODyyKYVUycXMm8zmbxltfjFKI7cLOhQC2HBQhYGexqNk0G+rNguloSqkrqrJCQsBNBH4uaIr9fMf8/843aYzxz1GZJQV6v485yanoRpyDMHhjLCJFEJBBg1ehkm1UNbtpSnvC9eaxHwkKLkXgooSf/OSnf4rV+bNrk9kMpwTt+vTRKRuZtuj6ey83Tb/w+VbLU1wcPrCm0IUPtglEse3XfXnrNM68oqFTJEWCwNu83uJQ+EMm/IJYnNI45RgMBowGA55dnHEmJYONxW0stnRUgyFFucTS0DQKlGa92bBYbjgrzynLAfOBY/H0M+xol2/ahqO/8W/xv/83/wZ2fYFYg2mFohhQm8YDButwqxWb+z/iyckjdu78KrObvwKDqZ9v1/GjV4P1mNUA5egKu3s3OT2757+yNsmEnA67FihSXjfPr63d+jLtwztHnVMcTjXjaYVzpwgmJD2D6BGgca72vWhbTFtD3aC1pta7fP6Tj/mTP/gnnN3/Gc7UWNeEDoeUjMjQg2AqypLauoSau+nrjuxxKC9EncU0LXW9Ahz1uqapmx6DiEJQKx2EkwpCMr72TCZqKPH34iyF0rSiUipInPTeoio6zS+rIASE1JfO9OLHFx33YUl6wjagUIkekRc1vfy9C4Cl/z2pf0lQpv56VhC1UFGKJ0+fvJI0fpGtQ+gRRMQxSQY+MjN2+FchGFODsyhrUa5h99KAamcHePVGeHmLoVOezVs0tq05fXSXz37wx5x8/mNMvcSZTSjTKPiAAe97m8znGKcoB0M2gRZjYJFEgaScF3rOZya2xtK0DcuLU5zUFIWgVUFRVekoNaW0t54oFYI0ovkv0nVfaEbmq5SiKMueJpm0myioIkVEs4KLdE3ww/siBDbWrPXTFOhT9bQoH1jlyAzigdpUWsq0gkETu3n95j/DOv3zt9F0jBHx2UDhs57pM36WgGX3m3zvdfyp3xJN5/syXNvWrU8lk3zuX2TeuYnV0VmVVFwnvIVDFL6IgNATvN4VaZFgpdJWY4OQvHKwx08eP+ZPHtznL968xdWrl1m3a1auSYXHI1iw1lLXG9arC1ajinEx4YOvf5WP7p9w+fYdvvYX/zK4BrdZIFrYtJa2KLGrYKXAK1u1c8jpMcc/+iesnnzG7Cu/w2j/VheR+5o1kwy5OjR716/x+ecPsab12RMSqpclWu/PYdh+fXPsS9qX9El2pb6sMz5kxLbsHexgCkNpL4AW17Yop31koSpQIcHYta1nImXFo0fnfPeb/4B7n3wPs74Aa7z2KYF9h5PKbRjgoCxAKaQU3Dp6nINzOm3yTrNyzlJbw/H5KXVjaDeGi/qUzbJlOpoxvDHKCilLCIbQRP+IiPZnS0oMUAivlULhc5u0UijXVe+Jc5QLmrQQabW3AhxCWLl/7XOlQt2qLbMLwcQTqcKb2V7Xev62JGTipt5Gq1nfnf9uu7bnL7P5yNXIRV0S48mO9wXNWes3iG0pQgj4B1/7ACmn5KbSravyJ7/0Kx+Q03D64GM+/tF3OP38h7SbU2iNdzOpbk67ai0ONRihR0NwkgpTQ6a9gQ9gwx98K05RK1+67uT0GaJB6xKtC8pqkKqoKOUT8bVWWZ5upz12BQeC0AzPVEr7+sBa9/uRCcx8KiKgivMvytc49QEf2TTFAwKErpxanE4XTGLE11H4xmd0c4LA4yePv3B9f5FNVSWIwylJ1oAOj71EO8ysHLn5tXci00ub9PZ4tFCpLc3+C6+WbH4zgJj4iVhUqdGlxjgLylvDomtFxNeK9WzFBdA/4WvvvsO3fvADni0WPDc1o+GAQleo2jIcDtI5olFZMNayci0nqzN/zqmbsL9fUVUzLtY1m4slg3aDrfAH2lcDbHiwJHecAVpMu8Y8PGd5esTOnV9l/vY30MNZ7/zN2DKM/MK8TvfnaGloEJytUVSA7pQCp+gKlnbG3ddF8n8JIekSQSicZ0Q4CiyXr+5A2/pOmBrX1lgKpABLGzS7EnTJ6bMV3/2n/wMff/971BenNHaBWO/vU8oSY79drIyvCEuvfCSeCgniREdIROI+QlCCOn26bPnRz+/y/e/8iGePHmFNw2AgDIs1P//pTzHKce3GLcpqhlCgdQyBD/7I4IOMyDr6ZnxNy1irVVJprj6LjQTckXB3GrkKZ0T6otfx9zGz01dgiYS+vfwq/Tbd+BUtIaj0e/ui3V16F/h5dxYlis2mYTKbv/ohv8DmCTcEgKiMCZFBEhflv0sAwlofvKVFUUiFrtYcfvgNhPJVshW/TVRPXsZ1q5uak/s/5+4P/inP7/0Muz7H2dpfkc4Y7JiWU95KIKJBV0ymk9Cvbu2c5xSBKapgKFA4FKbZgAgnp8fookLrClV5n6TSGrROCe9FUYSj1frm1SQsg8B0WIqixFo6s56Q/ILqFQIyFdSO0eOhtGMP4IUEdO9fzEjLD9N/20um7/YIce2MZVOvuX3n1uvI4xfSpFAoY7MI8SydJf9dMrvSlbPM9lYEP8DLUzbSHcPkBGyMyqxF2TVfZL6NVaXypkRhHaFYRIENBzFEMWBtH6g5a6FwYCp+6/f+Av/N//APObto2ZiG45XD1DVSFeiiorUOnAVjaaWhMZZl02Iv1uixpl2sGMmAcrVhffyc9cWSgW5xyiAjjS4US1N385MsZD6GpbUWOX3Isx+dsnz8U3bf/12mV9+DHKy/CjwAk/1rjCrF2miwmwDEfG57BGTJRxwvdK+8LfBl8yQzgnbWb4gBJfuHl1GrAjtwQIu1jsK1OLvBOEFVU+pG85Pv/oDvfuvvsnh+TNOuca1gRYdIMEvTOn9WXhR8EgjIKQqlqYphsqv7CYnfeyYlysdsnW4Mf/cffotvf/sPmDcL3rsyZzqd43Ccnq85fvyQe1VB29S8ffsdhuORP1FBymyy+6YoQhRhRIk6FA8oy5JY5LwvtDoDJnTaRWSmfrG6XA3BozmtVBCSNjunMC6gpP+iEO0JzRdaxvSSfT8Xm/3+eC3SR3uKwMn5KaPR6MuQxi+k5WXnfO+yLMKeySn8DRYEa5u0Idp2w1vXxwx3LiOuBYqtdcpbrv34qL92vebpvU/47Ad/yMn9n2FXpzSmCVqAZ46+dFeG/KMWgmVQVIgrmM7GGONBEHFzSgdkOkrw3HKzrjHOcXZ6QlGUaK2oqsILSeUjXHWhwUJZFIkWBO3r6ajoHugiYY0xlGVJ0/i6sUR6zk2FmWRLlXa6bxNVx4huwXT0nLTHXMuxae16dPqS9YveovPFxZ/SY/xn17TWoQh4Zu0RSZaM9FnktvH7uDOT0MrLoMXv8+u7CN6oVFsnKClD0YeXC0XJhGJyu2xFTXXaqUaJ98fpkNZiXQjbcZ35vcAHxlqBKzff5a//zm/yX/y9b1EOC0bV0Ge0tw0oRcztbXEoa2naDawaGIzReodrNy4BiqYxTOcD1hcX7E4VxcrgxjPG1Yyj2uCUCyedWCI4jVHqYFHNOW61YH12zPzOr7D/zm9RTHc8qHRdtant5gA1HDHenXO2OqUlnEcZtejAL7spC2v1JcjtS5pbO2TjwmGdVdWwO69wz++DrmA0hKLCia84r6oxRydn/Mn/9D9x96Pvs1msaF0dUj8C6nTxniH8PakHgqCwzqGrypeiM4FBRmtWJEYnGBGenC342//dN/njP/xH3J5b3n3nJhM9ZD4dYRvDuJpRjRacHD3h08Upi9Mzrly7wZ233mE8KlOOlLguLzIh34C6rQNVlDjlay6KIgX2xPkJkLo3ddJxHXB95z2E6DatfbKYzbQmiTfINku+Sb+AoeRbtcf8cmFDt6li7pQo72taLM546/ZbX4YwfiHNG39fElm9JTzjb30VP1+QQpxBGFC4De/85m9SFlOcMt3Y810h8X2cU4vZ1Dy99xM++863OH74EfXqAtP6ilDORdZv+vOIp+eoYYkT9ucDtAwoy5L1xiRNLPJgl13tYjk2JTSrDZumpd5sGM1nPid4OEhnUMb/ESi0P48VpRCnKK3G22ijZdpbQ4wNPirn0rWyRQO9Oc1yGHPG7NOxdEL/adokCMieLIwD7YKt3EsEpL+5T5Zv6oZx+ebAWe4LfyFrwPV/0/v91lymaNhofs3H7tI/3jomgmmMX5d+YPwLbheh8/kmQbmlbWqlsdZH3YuzvpQmgnKdRmZNqHAkKp1/0Mqc3/+X/xW+9Sffh7KiHI6gaTGmpm42GAqfz4ujaFtks8I2muVG4fQF7x7MmY2nmKZlOBiyWa4w4yHKNZTaUKghm9UGK9bzJrEJuOssn9fgC5mo06eYj/6AzfNP2H3/d5ld/QC06kz722uHoHXFwZXrPH7w3Oda29orMsTiI4F/xEqkuH75zi9oX0JIZhTi/IGYIpqdYYVWI2x94Rdp6WitsFZgygFqovjpt/4xz+79BGvWGLehbRpMOnFb4Vw8xsUX3nXWm1N9HqUEhKUoKo01DuclqUfkAZK34vjokyO++Qd/yPf++A94Z2/Ab//qV7n8o7v8e/d+wv/wa1/nH1cVx2fHLOoasULdGC4uzhifTzh5/gx1KEyn8+AXyE9tV8ERHs1qPnkbEcpCe0FJl9fY+aMyk2tmf/KJ1P08p3gQrg3gA9kmgU4v7ezoWzpkLpjjs8g3Zfwq28Thy6iVKx19rD63arNevp40fkFNRe02IcxuDvKWNE4RnDM41yA4tFgmNFy6/VaI6CUg1who0iIBHpfYdsPzR5/z+R//Q57f+ynN8oy2dhiyE9Zt1PA9/dnA8ISYt+p9HmIdw9ku4+EQi8a0dTp1wRH5pMOlaksSeug1yfPzC0xrQmBOybAcI9qnKhUUWGNo6iV1XdO2DlVVVMMBBQXatBRaIWoQgJZP/yhL5fPjkkkPINOCE93Qe5/7wJx13eEC8ZSvBFnDWrlsfIEKewfd0s0hoR8WfxbgpmmYFMM/PcH8GTTr2kzwgGSWl2hhebn5M9e36X3XmRb7gDVZHwSsa3DS4sR2dXnj9XSYMNqdch4hbIOYwFtsi5MWpUL0f9CmVKxCE+OtnMWKr8pTWcPOjbf4X//H/y7f/ub/iFYlpigY2IK6XtOmmBTr90NtaQVWmzUbaxiK4qodcmk2ot5Y1ssNbVugXEvVGFonNE1L3dToIioZob+CP+c0xH34DIaWTe1wjz+jWZxQv/uc/fd+E6pJ8LZtz7kDUewcXkJZ73e0pqFQw7SKeYQyCYS7PiJ6SfvSxQQk+A1itNzhVOM2S1bKUhpv97XG0LQNm7rmfP0J2tQURemRbqGwrS/nZozBWn94soginSQfKiT4NBLNoBAG1QhVFjSmxVrj/TuBLRkHD56e81/+13+Hs/s/Rpkz/twHfxEtY/5Xd+9za7XkL/3x9/gv3r5NU9fUAbEOR0OePn6K6AHz2S5FWTIeT1BF2Ssq4Oj7eKwJtgnVFYkGFTTFLnih217d+kUNIwm4sD4i4KzKNs6WluekdyslQoq5jPI340G5TygJ7u1NHNBTHhUZ7s5m2SCNcPr87MuSxi+gZUw36WmOcCRDaPn8+oAd6wyFL0XDna++w2h/H8cKaMHpMG8RrvtzGS2CuTji8Y//kPsf/REnzx6yWTe0gd689mixzt+XoBFa5xG6C7UifUF1f/9CwJVDJpMppm2wbYszXpsUZzs/XeSC4k9sr1tL28Dx6ZmPaC28abUa+bJ0IpqNWdM0jsV5y9nJfe7d/YQH9x4BBQymTMdT/tpf/QtcuXrFI3Q0rnG4MqQ6ScfAo0bpMm6cmC+u83u5QFdCqoSUg42e1hj+dtGWcZ2y9Ke4euG1csK6XrE4PeXW4asPwP1FtVxbVAFEJqHoOia7HVgjRKHV15STFSiKN8mKfkDQiEBZYTQY47RGOdXFMASBkfsnXdqn3Tr1/JQhWE2LAdUmLTauuY876AohRA+lcdb711XF137tLzOsSn74re/QDCoKbdDOgLFY4xALVhx1Y1hbw7I1rGrQVrFuYe1m7CzXHCw3mGaEo8U1BkZTymHFpq5pW4OEAE1RCqVDtTHj6zRrIZQLbbCFxq0s9b1v04ws1c3fxJXzl8ASP9XTy9eZDEdsVitf+jF+5ToNNAYowuu1SPgyQtKBLz9lwLVEXLk5Pccuz1GqohGFpcUYS9Ma1q2haWuMaSjLEq1KhBatLUXhHcjGNNRt7TuqiuCTA60VRVFSDQumkwqpSjQFbdvSGosNCNxZS20U/+MffJcnn/+UYenY0RP2ZlMqPeAf/doHlD/4Cf+fm9cZlxUX7ZJRWdC2oFtDe9Hyk+//iHa15sOv/QrD4YRLl6/6RYtCMqtKggKpfa6Zbb1fSoKZC8lNmZAHvUcTbLeJBLYWzwFl5QsS92090efa90eEr5Kw67UMrfrf2y0ja9en2C/PALwMOn1+zGg0YjKe8KaaC566Xrj81rZImnDY/Cb4C5XSFE3Ntfff9b4UTgOIEXDGF3k2Fle30ApGD1k+/hknn/0RTX2GKsCphrbe0LTGnyTkOpHty3j4ObU2apXRwuF/M5tO0KqgGo9pm5q2bVNQUSx44YekQi1h79/c1C1OKU6Ojimrwp/oUJaUgxFaSi42DT/8/kd8/NF3WZ4fcXu3YGc84Kt7wnJ9xs8f/Zw/enTE8yc/59/59/59rl2+hk+HarBmhFJ9wPSFka3pexIoMDYIDxUsOh2xhz+dZaSXW9pbtM4Csh1f4JxhMqioqsGXoJA/+yahKEMMQs79jFFf7PZLtw+jxQmAtK06YJBv99w8GufcNAIhUl6SvzvXJDPImwnoF+eWaLFHtKMsClwVDsiOvEcpn/KA58ExV1ZZbxXRorGUXLv5dX72xx+xkSVOV5SVQW823rKBL4hp24bWNjTtmsV6zWaz4Hh9zufnO/zFD/4cTW0wxiAYbNughxWXDsYou2K1amjbGuM0FhOwrzcxOuvQCnQpDAcDiqqgqBRat9jzR7j2HMrZFvTPXk2mDGcFxdp5ZYwWkcIHrW2Zs73S+nq/5GuFZEfyIeE9lDdaXjyhNmBUizbiT9wwlsYYL9Ba4wN5ioLhYEBbN4GZaF8bVdVsNsEE22xAawaDAZPxiHI4RJcl49EEJRUKhTE1xhiMcbTOYoxhuWm5+/knTAaWxhRc2hFmowHYkk/v3OH/ur/P2dECdbag1CNUVVBNNFYUz8+PeXZ2ivv4Z0ymMw4OL2NaQzmQlEvpJEPcomgtVFVBva5TBBkElJKOBvOLFk0hnbkq2KHC6naJ/dpr4U4QKTzDsFGwBgKQbNNmIu8lfO0luyee4pp9LZ6pdxs8lAtzhuOT5yh9yK1bt19HGr/AZjrtO2MSOQiJ0yngI66t8ak5SnNpZLh2Zx/XXGCVQxnxhY+tAdvimhq1XiHrNbLaUC4uGA5mWLegtaB0iSr9UVu1aWkbf6lfAw3KIuKFnXL+c6UUZaEYFAXXrx5SFSWq0GxWDW3b+g1rbHAp9PMEHZ5Jr1YrWuc4X5xTllCokkFZUlYaEcenP/8R3/nD/55LA8Otwzlni5rZ4QG6FYZSoS9rxFrufvYT/vbf/q/4j/6D/y2jwSgJysE4pjnoVAItRrrmdNbNr6T9L0Dbgo/Stltalv/exl9H/2v4LDbromm6a+IsThyPnj7j9q03E9kKnfbY31PegtSLhhRJ1W76WmUUmqSymV9UFCAHJ44NZUXQrCRZFiQ+S7z5VykvyNJ12yZC8VYNEaEoSwpV0egQZR3KDPqa232NOFoGYg65xVGNJ1TK+9Nbo5loRe18NahSfJ6vKwQ2ltJtsKJY2TVnZw2b8ws+XC54x0FrHEocttlQDYfM965imobRqGF5fsHZakVTb2g3rQ9sA4qyoBqUlLpCCkG0xhhN2xbowdzvPVbA+MVFFCh1yeGlQ548P0daENOAKuhWMM5fjGZ38JoqT68uS5fd2r/3SLIxDjsf0ioHTU2D93tY62iNobUWYz0yUMoXJC/KktYYlIaCeBrBgLZtaNsGR0s5GmOKMW3TsLjwNQ33rpQ4HK0zNMZQt5amadm0luenG7RVLJoNGLhycActpQ8E2rRslmvKSlCVpVk0sDFUehIWoqIxDefnFzx8cJevf+NXMNamJG0RhesdXxOEiXZAiw4H2Eaiz0PiY/1GJ51kigg7Rrp6AUDQjD2BKK2xxnQhj9IJhgAre9cmQSlsrVR2jes2aXy2xDQb8WYf50hBBGfn53zwwYeUZfVKwvnFtpjJ9QUQz3nNK+YAGtsSaQ0H03mFrdaoZu0LZ+N84E3bJiHpNhuoN9hmhd1cIFiGVcV6qWldy/+/vT97tiS70vvA39p7u/s5585xb8xTZmQikchM1MACUSiyJrKqjBStZWpRMsko6Vlv+ldkbW3WZs2WtfGBapm61SWymiIJqlCoQhUK85QTMoGcIjPmiDue0d331A97u59zIxOZNKMVQg+xgci4ce+5Z3Dfew3f+ta3FAatB5jCApY2trRNGtMmkhyy0SYFgUXJcFgwGFQMCsP2mXPJOQWPc22SWfQhyzF2CjT5jEoXUEGzaLDeUS/GbK+XaGUYDEYYNcS3lnDykC9eOUc9X9C4kkEx4OTIsrGeet+MUWytDyiOxrz91pu89/57vPz5lxAtRN8gqswBX0In1KqoQLckXd8eY0XARwIWZWIPB/ZBX59BLj9U6HgDK8FMf+tY1mWFBN1BZG9vj83Nrc8qD/3NLUkIweqO6zPAVXh1FarrDh+nMzxZcTzpeZZZdh+Y5MfG6DGDIpNX8tD2/NPHJwsJ8ZSDW12RmKoBeeiyiCKGDI+vvHbvJHPmmtp6FD7v6RgCUZdoCpSuICwwRUnZFMQsAj8aVIxGQ4J3zN2Mf/Ht1yg2t1mvBGLNyfEREbDWUxSB0DboomTSlhxMYDQ0DDbWCVpojhqcd2ilKIuSsqqoqoqiKClNhVElhSlZG40wKqLclFitAxWxH+a1vD5RNOXWdko4dEY/c6KzzBU6XJ1UJvmMrfEZThK6ocSSqX2iYb5oWL+4QWhTJhLE53FXyUn60MGiyd5ro1NPl9ZZkkslzTwhqY0UJa2tmTeRxdEhtV0wriu2nx+gdWIVtm1L6y2TWc3JSc3NO7d44833ePTwHt571k1JoTXedSm7sLW1zmQ+RbRQDQoa3+KDQwXDaH2EFo0PgenJCQcP73H+wmViHOXouuufzNtZRaIWyrLA1nWvWnLqenWnKst2rJDBlzfysShQiUcyDN0NR032KR+oxwxYMi7SO8DOOeaSN0sIciXV6n89/9JqWtllygpa69g5s8fO7t7SwT+h9UlkiG4lsyp99ByCI+U4GuUD7bsfIpMAI0fQDhWTkxTnwFnEtYhNfb0JDrWISsISVVniXWajZnF7IxqjDNZYWuuw1hN8RJkkvD8cDVGF4KmYLgIX1DpVNUpwrfO5Bp+g1tBnaEsDG0OaHt82juliTvQtWg/RWhgNh4j17H3jT/nvvv5V/vS5G3zdrHP7zj3+1hevsTEaYpuAa6fYxqb2Kh9o3Zy3Xv0xL37uRVRhEqymDWSBgaUG7GmDu6xzL0k3MUaspBqlRvDETuK134OJcLf8Oz/FqUw0JVmnYfSYCZsnJydcuXQlQblPYsUVFSRWUSA59e8+w2N5llcxjk7O75NYw3A6+xQRgjV56ovK/8+YaaR/rm51zvWTnze3cSlFDCo5y9CJSuTrLtKX5FNtPHHzQ6fqqtIEmiCCFY8jEJVQmoJhUVI3DUo0w9EG1y5fYntzHWen/E/f/BEP9w/ZHq0xGikeHD5MyKLzYEisc2sZz1veeHefzVFka61gONCYcshaMaDQkvSJjUEbTWFM1io2DKohRVkmrRXXQGyJWJbtNL3lI0YPN9/HWE9rIHqHkpjKTkmzjyip/SQFqauFsk9enylw3m2OEAJRhUTCaVsunb+Go4EQ8sGPeB/72ktMTUe9LqNojTYF4lxmj3UZTWK3Wt+SuK6OJggnxyeIvoxoRbNoeLQ/5+79+7x380Pu3LrH3fsPOJmMmcwbFFAVJWWRFIFiDBnnLtJHzAIBRpnUFwREFzCp6IISw9GjCbZxfdO3WoFbpXOSStLA2qLCKN11a+SIcAVa7VIDOme5vJaruoQp4Nb9VJXVQyp00+AfM2Af83MdBLsCl8Xlvz/5ROXHZZFsITNam4bLly9TFiX+SRkrWMG8ZPWjnjK+vcuPWQRBCSiFdwu2XtpBRhXBzzHepY6F8LijtIRMqgk5mlSiKUyF0R7nEgRtdBfNK5Q2mCLgwzDVpVXEGziZNYybhvkMhkZ49gXFoBphXcD5VKsP3Tnph4WvZCFIGp3lAvsH+yjlUUaSkfCBw3ff5Pf/4t+xd3LMH7zzDj/927/B5rN7hNbxaHqAjUBwuOiYLCxzm2YU3r71PnUzZ7i+lfrWe8UedcpJ9tmsLEGMZZ01EcQSD6BgGY5lKLbbj+nO9Oe+Jzz1P+lv4hL1yGdgsai5fv2ZRAx8QoNMfUiFuUyhWzG7+a3KcluKLEddL5nCK2zJlXB0NTXuM8gVJ+namqJKetVBFArpR5GlOuVy3z+e0Z5qqZECJQ5FgQomVSx8OtcRnVXSAkGlEE3l6CTEZWYa8t230ynTxRiLRSmhqgbp2sTkwAtTsLt7jku7uygsL547y935jHo2Y38Seeejh9igaKxifaAgtKAL1HCd+/dOmG2V2MWMcqCoBlBVaxil0SqJY2i1LHkZoynLAmNMuhvBQqxBBoBBuoHfQuZnaMyVXfy9YwRDkFQXVaIJQdLczGVMk67lZ+yNf4+a5NLwahQ+akZxzsbmejKksXNMMU8xCKn20uP43cSOpJGqtca5JT6cy8DEUBNEiFrhgmCcZ2ttE8TwaHzCu+//nJ+9/TYnhyccHE04Ppwwbhc4nwyNicL6aJu6aZGs1+K8ULchNdIqUNkhhRgZ1wsW0WNiwEbLo6M7fHTnZ+zsnkkCAt0g5hW4NXgQMUtHlAOA05BmOkyrjL/u552TDDEp4KTqVIr8knK/zuO7uudaHo5TUe5jd1eWX/SPX8Jhy3X6+7kO2T2DQF3XPPf8c/kzPLlMMrCEo5Izz58wG4zV9xczrC8Zndh/cJfN3/syoYXCB6AholIjbohIcGl+aYjJQYbUliSRfDg1pigR65CQeroU+lQGL0rwWKKLTA9OaGcwdnA897zy/FlUWSBFiavHPbLi4+mItYe4cyDVNC0RODo8wBhFIQUDpXHHR8z3H/G1G8/z9955m7+88TkGxSbjyTEPHz2gcXNUNWAyW7C+tc7+yTEupsx6OpkwGR+wvrmTCSnSC/p3TrJHEk4FaPk6h0DIELYiYIrujXMqIOvvS8ZcTwWDHQ4ry3i//yqZDxZ1DcCoHPDZJutvZgXvs45EbgEhMUWlR1ukR3ZODUdecXj991aOZ7dXPwbZdn+LwwwqtEpqRuml8s/zPfmk3139eumWU5akVAAdEXGd/4AO5g0p0UmfrWM7JzuktEGahltvv41r29TDGaAsh+xubLG/v08xGnD9yhW2NrcoqzV05fknf/g7fHhkmdy8ybu3PuT45ADvHQsXiEWBCoJoYWdzAz9bMF0vuFwqoqhUkrAWPyjR0r1ZBST4uaoKjM6qawjJgLegGoSO5LVkvUcBdeYq+8c/YGf3Il5ihlyLvj6ueouZN+BnUFz/vYYupyjDJ+ZnCAyMYzDKTlKSg+zgJB9i7qXxp36/O5RJzi0Nxe3OQwyBQo8IsULhmbcOpzTFaMDh4TEf3rnDowd3GFQFdlTROM/MW2b7LRGPjVnrNQpHxxOCb6nrmsm0pmkWBGzKtnSB0gofAk3T4nJkdXAyY2fHc+f2h1y++ByXr671h6InzEiCMDqdV2MMy9pvXBqMFUeVfhT7vyWme6yyRJ3E9EepDJWsvl4P/yyN2Orh+HjhfuW2ET9R9zA9LH9futpmep4QPFvb230W+UTR1t53L8P3cCoD79oTAiG0CdIn0gRHaE64dv0qyraIU6A8EvPAxhiJ0YFPOsPBZ9ZpjP1LiRbQCl1onLd0VeR+8kxIqErd1JTlgBbBVIZZ03JyeMKF3ZdRgyLJMtpUi8xpVXYK6XlUNgRERRRNu2gIIXAyPcYYRakMIyLNyQGHBwfcKob87Cu/Q7COjz74kICnjY5FCIRmTlUZZpNDrFsAiTSxaOeMT8Zcua6JUWGK1LbUSSp2kzd6ss7jSynEe0TAOhCKLn9Kt0noe0fpE8+lk+zu2SocK1luMpn0NCx9Npty6eKl7E+fDILhre+RrxU/vhJAqB5dSkjA6tzO045tNTp9vLfy1GNFaGrDYGsNI2n8WeykBVUWBIwfP+/LwF1W3nOqx6WRZz7rwS4nCkm+HxIlqe7EvP+UJ0ZHUIr2ZMZrP/khP/7R9/IQasEQiCKcu3yNo0VNtXUGNdriYNLQ4LAnYM68yPbiPh/deo3zssP6wRHf+H/9S278yq8xf+UaF/cM26PA1toa589tcdsnbRiFRkvEe0eUpUZTytNVhl8LtC6yDQ4QHOItoi1Iu7JfckgdhY3d8yATQryIism/iFbp7OcX6vf7v8d++1Qn6UM32SCx+RBonGNoPE4lok6KUDt6Oz3U2h+W1Q2l8lBYrYnO9/UKH9LoLeeT3uu9wykym9O4iBLLbHrIaLTGovGY0ZA4a5nNFggKLZ5WhJP5gu+99TOunz2Lcgt8cNi2xfkaFxKcJVGjioLQaNxigQmRRgIzO+fw8CF7Z7e5desDNjd32Nk9v6zZQFLZcSABSinIRNR+Rlu3eR8nO53a4B3EnCMiFRLATBS0yULqnK47/KIDtnoW+9aSrA27CrX+IoZd9xwREBVZLOq+L/BTodpfwvokiLVbXQQMkvpqg08jjiioF2NeeeESw8EG2noiidAlOSsihjRrLgSCbwk5y+uVcIR+r2qV2ctiWZVYg3TPg2+QWKAo8coxdY5NI1w5e5m14SgJCLiQnKSPyRlmxxglT5EBokrklUXTULc189mEnUFBZUDbBXVdMxwVaDaorWU6OcSGOUZH1quC2BbcOzxhb3uTuXXYmM4oWrDBsZhOkAhFUaILkyGt5ai4x9GIviG9O78hZPjVkUqa2ZqJ5GuabxgB8KccZfd8iRy2zB6lUz7JgbxS6R7pDop+AutkfMKwGvTOm3wNlKTAWInOjii9x5SE50wvHyTVZ0LLw7MKsT6+l0WE0DaMtF6y42VlJuhqdi+nSw/5m30Q2f+ugAwixdDQNIaoDNKhLd2vKCHmGZMZHuPN732Xf/X/+RPKzSGtStwNQxqszdRRzT37dSA0U8ZSsWZGFPN9tBE+ePUt7v3oBwTvqIMn1C1vf+fP+P5f/TnlcMT57W32Lpzl/LUrTKczQhmpN0YM1xSUQ1y9gOwYu3YapRS6Gz4hywHpMST92NT73GabKqQwOQ1UL7e2KaotvAiidOod1T6xsoMQ9cp17CHyX7w+syaZKMIdeccSg+fG1Su0Pk0DCb2TXIkgcy/YqYKodDJIqo9kfUcaj6EXEowx4mcnXN0a4jzcvXUH11oOjmbcf3DEZDZmPKnzvc1QXPA8qBc0DyMv3LjMmcGAGIW6XjCfW6Ztk+aXzRsW0zljG5iH3MAKtN5zOJ6wv3/I3t4xd+/dZLi2ztr6Ft1QWy+BEJsMZ+TPk7feqv/pM8rHLn13SHpx6KBApaGn3vssnJ6ecZUBu/q7p87H4z8/9b3VqLO/m/03+m3RJZXA4cEhFy5cWHm9T9sZf7OrMwar0Orqde0eFUKShws6DTO2h/d56Xd+A0Jqq5HYGfHU/iHExHL1Fu+blb7F5TUTSULRSky6J7ZJ5YD+VdPrlmZARGOAOihOJnBlMKBYX6cshnjb4rynbWG+qLFOEbXC6AJbOz54631YePauXuTiC1dpFg3j2Ql4h9EjVEzCG03dIiGymM+YtzWTeko5LNgYDhMj0NQYPLWt8daxcJ7GO1Kds2U+TaIQqohoNEpLD7d281G79bF9FlPQJqRgROuCvpbdQ4iP7fXYx2rLAK27n90/ur9EaJpFmjF76ge//HX7zi2uXbqSm+oz0zU7LJ2dZO8s85tUKrUS9DDsSgDbI0y/ACrt/q1HkVA5gkqKSd0k60jKtEStNi+s/P0JQW/nLowqEWUQXSWS1ootFq1S4KYghMjhQc13v/VN/uSf/w+Mx8cMd7fYvrhLUZS4zJb1kyn6wSPK0SaOiAuKMBjgcLz97e9w7/W30MHjiMTo0QJGKRQ1D07GPJwfcPn4ER+89gbKCBTCvR9tcPXyOV7+rc+h1mUloYKoBFMWvZ51l8GrSAo4fQp2lbasqmgJgYBC6YovPHOFj24dItUaDg+EpPoZAiqkUVxdf+Qnoigr6zNrks5a2mbBoCrwMeKbGWc2t/E+5KkW0sOtMZLhqyVxJ93PzOfLm0lJFgpXDvEdLqxQ4gHP9b2K569fZLYYI9GiY8lkus+d2w+Y1TOsTe0ggZAp5MtN6e2Cwc5FtNKUww1U1WAnxyysBeNompZHi5a5TaxSSHPy5ouag4NH3L2zxvrGDuO9Q0ajDaIREqcvUJYaJaTBJlLkC7+SvbG86H0FKn+83kB0xATprk86FEpnWFXk9HDk+MnZ4KkbK0sHuXRwjzMgcqaZXZDKAUbM78V6lxq5e1/6ZPHW0/W7FDGnd5/k2YieGD0oRREDjoa94YLPPXcDU4M1FhNUqsuEkKLpkJxlUm5KpYHYE2oSHK4k71cV0VrQ2mBdp7ST3ouzDmOGtM4TFRxOPe+99xEvfeV5xGiMVkxbODie8sOv/4TF5IjgLF4CMRZE59m/+yHOaSo750v/8X+EOXuNg/EjtGoR1pgdzdBG4ectddPgo2c6nXI8HbOzvY6Umhg1UhQUgxFjFzhpPfu1xRIpg9D6wHx2glJQDNI8StGnma2PE+C7zCeEkBnWoJUiWIUul7WfDG4RpDNQy4AxZvivf2wPRZKJEwnmjRLRhWH3zJllhvqEorM7tz/kwvZOEgfJIu5KNFoLQQe0jmidNohkbc2Qr2F/3ldg1M6RrWbUy59JCpCVItoSpQxKp+0Zg0KZdJpVjKezxU/7AJ3qlwjBKmLQ+HC6xScF6Ro3b3n9B6/y9a9+jTff+AmP9j9KUzNwNA/HjE8OWNvaZrS2Tjlco4yetm1R5QBthKZtsIePuPnNv2Z85zZGgSPgSAQ6CSkfr7Qg2jF2jnYauFQNqIJnPGsI8xluWnO4P+Nv/eEzbG8nBxdJ3RCpD/00+1qiJOQotOArUC1dPVEoSLQrg0S49PkbvPOzhxQDlTsz0hAJ50K2e7Fnxn6sdPXY+vRMMngWdY2KLrH5AL+Ys7b7TJpskM3WqTpESA3TPtpTPYDpXidKMgJKg9KKYD1aZbceNVpV/IN/9I8ZVJr33rsN2uFV5P79e0ynExahJbiE3/uYAos0sBZKBcF5Wgdbm+sQAspBEEOMybiKknRDJaBiyhGMSj9zwXM8PuLRvTusjTbZ27uMLot+xBWlAQkUgzI5JSWfHAGfTub6H4fui0iXskACjXt2a75trLaCED/BacXHv46n34PE/qX6A/RJx0xSvW8ynVIURRJ470PhJ7uWhmUJ4XXRctpXAbRgQuDBbM6vXrpAaYZEb9HZMUomlREzNOt97untdCjJtc3QZ+OwZPylw+qTTF0yXXhbU65tEFyKemfjI7bDnJe+cJWyrPAh8uDY8q/+zfeob7+DnUxZ39ygMIAU2Kah3Fnn5P6E69cvce6lF3jwaML44CGayOH9u2zt7nJy7MA52rbBRouuYMeMGI4G1G2Lc7Dwntm85f7JgtvTGbPgewgwBJhMJjjvMUUBOkGHHTGtC5Y+VpPM+02J4JUgQaG8RVTV79/U0xf72KtTSUKWvXwqdtsorNTWs6PItck7d+5w8cLFTJSjV7z5Za+HDx8yX0xRUSGmSCxRrSmMIxaGENK0CnQ3iaIjv+Rr2X1buvDhNHR92oEmayAhIE1LVBHvHO//7G3eee82v/alL3H50jmoEsTbXbPPXJKDOAcQEZ9IZ0F5EM3B3RN+8O0f8td/9jXe/PG3aNsjVNQU0eLxeAI+RKhntPWCY12ii4rR+gOqFw17z7+CYLnzzlt89OZPkfkJShQ2Qow+KUd5hZPk4E00rFHQSsuJn1M0gWujIbXzeNXS+Ib5wQnvvXbAxWuXKLQgojG67OuyHbkIISdeHceghZCHQkjiDhBNQotE2Lp0iYfTAy7s7qa6amwRGeBXBt7/+0jSwWc4SdEwHBqCS/0nJsK6AVOURJ+yuI4tmRxkZ4CyuElYZbl272pJSEnz8RzKgPOeIBqH8Nqr71ENDPuHD1nMHzE+qTkZH+OCTQ0LKkX1PqocIUSKGNksE6RrfaCxKVKzHrzLzDGl0+aOef5dFEQipVIMB1Wf2M3GR0zG+xwf73Nx/SqiwFlBpCBERWE0/Sy4sIJZrl67T4RISb8TE4wRSIQg1xoY6RVMagmpnDJgnwWfr/5u/9/OeZ7ChFd+JTKeTDh79uwn/fiJrCVU1+2tLtCSLNgMyfAqtAR8HHLy6D1e/vu/SvQh9YDlGmSy26k/sSPpdG1KPkR89LkFpMvqOwfJ0tgrDeQaeghok0TttYrgFGa4xu88d5EXLn+eclCxsPBv/upH/Mu/+Cu2ZEFRezb0PV66fhWtLC0O3cL04B47f+9lGhng5RHtdEF7fMzVM2cZDoccn+xzcnSAFklZrRFKvU7bepyztI1j3sw5mjeM53NcrhHGKASV2jHm8wX1Yo42uqfV6/w3ZHMueZ/k5YNCSUjPQyJMxCLNUiWGpCGaRy/lJ8k1tQ6ZyKzQkPGA3O+XOgiW19dLZHdvl+FwkBuRurv/y1+m0NT1IrU5GJN6Y7UmOkMMJVpXScKMCOKJYbCcJpFjyu6arqI/sNxHy6AvkuQNI6aAj372EZOjQ25/+A5v/+w1Pvr5Dzl/4Tm++OXf4/NfuEJRmE8onUUeP9NeQAdJAhbREwlEI4zvHvON/+1r/Ls/+Zc8uPM+dZjiSELlhpakP60oYhqDbCUQg0dZj/MN83rG69894uYbryNBCPMjihzj67CU7UszGiJBIh7BiKJSBQPnscC+b9i2AwRh7j0zFxnInDs/v8v7r57lC791re+np6tFqm6kjU9/YgCfgkdUkjVFdxcn0qnnlFs7XL++k5jsOpGZQnQp8LM+IZe6a4H69MjsU51kiCmaMirJedngGYwgSAHBZaOdY8Vc5F/CWMvoP8ZI6Eaj9OlzjtRFEiXZeZx1zGZzpuNHaGBhGxbzGY8enbCYNykVR6i0wseIDoGtM+uUpaY5mKJipPEBFwO1bRGlsNbirM1RSNrXSRGEBHMqhdEKY1IfZVM7VFkxOT7i/p3bXLh8HpGSEDVKSoLX6LJYsvRU54wea+Dv/s5fd3DwKiyVNHEjSjcoPVhCpt2j4mNHIS5f4xMZrj1BKK6QvgTpcfuwRG/ykyoRmqZmUA1ylpYz2CeYSmZ8IkfgpOgRg1FCjK5niIoIOmjaOOfXrm5y8ZnnO+20PLPudJ08/UkSdiGjCMk9poAvq0fmfZovZ0Y/lFJZ5NlTFAbv8m4M8Pt/+2WuPf+rqeZXjLh9MOdrX/tLYmg48g1GPLWL3Hqwzxk1pBxVNMdjRuK49MLnmR6f8Ohowvvv3+RcKextrmOdR2twztK4NEqtLDWCI8akkdzUSc1nGByXSgPR8FHreiTfhgRhWWeRlR7JfhRctw8BcpdyJEHN87lw64MPuXRhGzOoksaoGCQ6kh5wd62Sg0w9t3mzi/QRPbB0nl0je59VRh49esCZre0cbC5Van7ZazQaUjc1hVJp/qgyEExuMUqO0yuHVqnZHgkEHVYE35eZ4+PB7GoWGTOEGhGcgDORuHjE9//qX/L6j9/i2rPP8Uf/zT8kTm7xxnf+N85d+i85d+5cbxO6bDxdvY4Fn/5N5kuIpPdZKPjpN7/D//jf/1+5/eH7tG6OwlEiLELEkQQDCilSvS8HOkW23YHYB5ChDczdA7SCUhXYkGxx4mYsw/IQUwNXmmwYMEphlGInaKxveGgbdqXE+jlz17CphzSLE97/4XtcfP4C28+ZXO6QFTuVnz+GVGbxFrxPf3Sb68Krj42gFLvDgtsHY4pygJhBFlY3iBacdznz/KzM4zOcZNum+XNGa7SC+aLlXFXhxaO89Jlhb4TyRQqxQ+m7f3cZZY7Xe8Od+heLwlC3joCn8S3WtYhW2Lbl6GDKZDwDD4UyuBhwXnHlyjn2ttdZXx9x/9ERDw5rCm8YnyzY2kr1xoinbhusawjRE1C01hP9MqrVkiPrrMoAkZPjKZcvX+bw6B4nRxO2z53HO4sRRdt61tYGeeMv4990e1YOSGc8up/n6Q99ZkPMLToepe1jxmH1OVfLNJ2TXTrBVUiyd8iZUdjDprJ8zu5xki2pQjh8tM/LL72cHU8K1lanrf+y1ynnH2JSaSqSdFa9mFNoTWkUMTisCCf1AS9vRQqVxCo649xljR2cGmIk+LBs7s9aqh3icTqFluwgY3YwBoUnxpaiHFLPWjCRxWCXNz8c4dyHPP/CNbwK/Nm3XuXR/h1UTGaoVYE2KD44GTPTNbvtgPn0hJd+9yuMww7f/d73+NEPv8f+3Tt84Uuv4K3HWo+KAVNoZvMZzrvMSC1wAaZtgxbhTJUCuDp6Ft6n/ltJGpxKItFbhDTQHEWv2dp9xGW9K9WyT46nvPH6a7z1xk84eHifP/rDf8juhfMUWEQ7PLGXuuyCqtXgsIOwYv6HZEPacRJWHUldL7hy+cqp53lStXAlCufcUmg8E89BUMqjVYt34HUakUe/tz6eMXYs2Mezve6xAZXaMxpP3VR8/pUvc+HqGf7ue69x99ZdtrYvceXFL/OFL9eoaiO3c8nKtKE+xl8GINC36FWjCgnCd776p/wv/+M/4+T4AaVEvERcCFSSZo/6Dh1RmVAY6KFIRKERyph4F0qpVB0KARsyiqAUKnbJT2bmB6GjmXgiSgJDpZgHx7opOHYNe+UGBlgESxtKTmzNwcmY1/7idc5d/G2GgxSoZc+9ZEtn0l1wCtGpfIAvE/wqJKX2PtgLnL1xjQ/uvwNFQRECs+MZZrSW1Hu6rDN+QrLx2PrMFhBrHQNtGG4YptMJO+erJDcUdepbiSETGpK4USdJ52POKIGOudJFk0gSEMhJJCYLhSeWtWZze4PFvEXEUg4Mg4FChwJRmkVrmUwiN28f46VktHkO15xQO88GBfX+nKP1Q7b2wPlAU9dYZ0GgsQ5fO4ba4HEY0RADPgZszkDKQYE2cDyZc+3aWe7d+oidc+cQnyL7pm5Qar13KD3WsrK6YxGJrA5cFjE0znNyeMhAC4OdDYJo2tqgzhRJvDfkY9AzZJdP3gUanWFb/ixFu6dqH1301XvPsOIg6X/mnGN9ba0fi5Qe8xiU80tep5REcm6N9zjb0C5mmEEFWhOiJYSCcLLPc3/vt4jWkTWcST5Pcl08Z5A4XIx4Ii54fFhKKHaPi+G00UvZVtd8ny5e7Oj6QXNwvODo0Wv8+ud/A1MM+cart/iTr36dQjw2JKdFVLRBeBgd8+BoCfg14X/97g9pvvNjvJ2gXMOZaoiJnrqpqRtLa5sUqZeaMGuobUPtFxzbwGHr2a5K5iHyYDZj4l2qBUmkIGAESjG09SLVYkmSaarLivvN0JHuhajgRz/+PqW/y0uv3OBf/8/f5d/8yT/jD//Rf8aF88/mlpe2J/ushL3k6Kz/V+8wpd+J+fvZ0As0bZPc43CZiTyp1TZNHmeWSjBxWVAFkn1Loiep1U31UeonPFn/GU9PB0k/S6G1RuNpGQ5bRBnW9l7ild0X+dUveaSoiGVEy2avviOdV1wNyzvT0yE/KtnP8aND/tn/5Z/yo2/8OfP2kBrHRh6a7DN5RymbJQBTrTVpVWf3EtJd1GgKEUSyGIbSVFIQfCBIFuSQRN5S+c0s466c9YqiwIA41nTJgbPM8VTasIgeS2TqGyZ2yqMPP+LH37zJ7/8nLyaZgFiAckTKtLdiyCQ8m4TLnU4DwrUgygB56DigQuTCs89ivv46DCpqO8OoBldbFBsYU9GpSv0HsVt7irc4ggc7nTNa3+pFBMgZIpElfPUxUYHYg1rL9xJ77eTOmCU1CMHvz9l77iIix1RVyWCkQUdsGyjKislizmBoWSw89+494ODRIzZGJY7IxLX4caR56y6TvSmjvU2CRCQmyKmeN5TeUAZPVSTHEQEbPNprGmuZzaeMhiMQjZaSSB4B4R1lVdC4FqW7aFj1m7X/XDGufLAUHXsXePDwkFs3b3L79jsc7N/li194iZd+/beR0iQ5KQlZGF1Scbnb/Y+tj38/9v9NWefjGRF8nOm6XE3TPHa/09/hCREogL5mvHTwUNczbFsTY4PzEWkMWgTvWy6Xwt7V89CGrAmc9m2//0JMSEL0+EBShup/lttAQhLp7/ZqRp/yqY/930VhsD719bY+cjypqWJgZ+8Cr9054v/2//h/Y8d38qSIlEkFT8+iPbEWP/fY4DipFxRKMAIaxagQgmtoQqCxlrppsiOJKGNovedRa3lY17iYJrg/XMyoszB/gVDqNIl9ICk7WrSuryVKL7DTRUrS/Z/sz/j9P/hdtIN3336T//yf/CPOX/8c2xvP8PD+EaJC3xvZn+cM7T6uMIUsGd7d9I8YIKrcT0hkPD7mmavPIN34MOm64X756+TomHDh4nKeY2+gyPU9nctGKSPreL6dgX2cFPcxJZ64AiVLJKJxXhhubBCURtmW4c4GjQE1t2gGJMH13H6nOtZ6FyCvriT1LR6CBL72//1jvvWn/5Y2LIg64KOwICmmBZImdR80owgxOc8kFSFYyBmWxyqFyUx+6zyFEgqt8NkOhQx19drRInmOY8wS1gotBqM1hMhAaSbeUiqNj5EQHa3zzB1EL7z97dd59uULvPjKmRyUGLrSCyH2TFW8Q3wad5cub0jKZR05NASGm0OqUmOVRoliWGwkURils69K+9Z/in2Ez3CSLgS0hmqgWcwXlLFBG4X1EVHLVDXSYdhZxNmTBAVC6puJGfJKj0s3OEiqU4YszaXjgJOf7TN//z7u2gWMGjBaH1GWFeNJzZwFVRa6LQoBCo6Px0njVSmcaGaSaqfzVnNwp0buH6ErjZEI3uGco40ei2NnM6X8k8mCKBoVhGADA11Rz1uwlno6ZnNzEx8jTgWqUqFd6ptCNCt7ttur2QrFzNJLCvv74yO+/Zf/it29IRevnuXhR+/y13/1HT66e8SzN55hb3ubgKcIJlPqff90XRBCl+nQsTyzCZYV49S/n8e9ZOwf8vhhfvDwARfOXzj96E8PrP7Gl/fZoEcwMREEqkJRFgOEklSjjJgIJ7blV6/vUXhDCLY3/uk6ZRGAEAl0IuPkeaZLmLWrVfaiAvnz9zVKAgFPVJFqWFGP50RRzEPKFl+8tMtBo/jnf/xVmoMPcwaZJpnEEIjiCRLwwROCZX/uiHgM2aCEyIZSnNkoQYS6ramtZb6ombcLfBs5bhx35zVHjaUlUqKYu9DvQQWJ4KNSH1xVaIISGrdYaimzdIxLbkBa3VcKQ9SRZ158ERVepG4CwdYokwlOIctQrgqGxNj/O3Ss99Apt2YnIqQbGaTXIF5fW+9fN7Aimv4EVtOkrD2oVZEz8uVasp2X6/TnXz1WH4OMpX+i/HcK5oIViBXeA+2ED94ec/nlK4jSRBWyOIH0AWMHraaXW0VbOlsAk4eH/OQn32ce57TSUImBALlLOEmyhZj1LSIqeoIk0fpKNCaAI8slZnhWRFFm2cc2uVmMCCEmH6VDun9aJDm2mCXvkBxfRga6oA2ObVOwb1uIyylKlkBtbarzuznf/P/9gCvP/kdUO2HpY0Ika4qmmrt3BOv6yyu5hS5KIuXECGIKauNYOMVmOUxZpzJpoEBI7GSXyy+ftj7VSf709dcYDYfs7W2yPtQMtCdqzXe//UOee/4sG8M9RqNBvjBdtJ6ykK4WmSYfxBxtLveMIhtBAo3X3HvzEdOfP0RJSzuZ0hYGaaEoBmzvnAUOEIGiWKMoFUUxoByUbG9vsb6+ziK8x8G9fYxEqqiI4nChZTGL2eWkgrJTiqBge3Od7Y0RRMVgtMZ83vLo4T4uRHbObNDYKZPJCdfK5/GikyK+UXgPSgpyG/vyDECqtXZ7d4m5sru3w3/6n/0XIIp33n2fqlqwfabk2rWS69d2mUw0SIFXyZhGv6Lz6nOAkTPz/kmlYw4mOHBVqurUUe4g1NUT9diBLsvVsVjyxL1kCKZXL4mZLScaujxDYoqwrcDBRzd59g9+A9uGXB85rVub9mXAE5NjzGWAbiJHCMsg72NKUd33O+iISFFUhDgjxsi08cSoCdu7/N//+b/lo5s/JdIQc/wfQ+rldCHNy3NZUN1HRyGCUjBSgZ3BgEtbu1w8u0PTBCb1gkcnc+4fTZm0C1ofaEJg7j0RSYPmFLm9JWT4LhnROnpKrTBaY0RTaMViPie4DuWA1Q2w2sPYMYpjDBQbI0LjYH6A9UVmeUoO1ljuz67eG0JWMMrtMsFle5BQlzRM3SAmaXIu5i3T2YyzO7t47wiha5v4m99fn7Q21teBVVzmsdXbriV83P/VH73HHSkrZB1WAhPJnthTlikR8S5yZnNKYX1Pmj0VyHQO9lSA3CFHmcQjwp/9r3/Mw/u3COJpYqSIYEMavux9ZN1UNPm+6Jy5h0hmpObP0O1/lUTQXfCU6GQ/Y9Lo1pmFpXJw6aKkiU4SskhFhCi9yloRBasCAyU94qNjctsWoc0BLLHh3gcf8oNvfcAf/p9eSJ/UR6IO9LJyXkAsBMmZZFZ/6qQWM1uX6Hjmxjn+8tVHbF+8jI/rLGrwIdLYpr/L1tpP3Ruf6iRVnHG0v8/DuzUvv/g5zg5LMAUXzm1TaMVsMaGsknImdDXIFbp9L1EHIaoMW6SMM0KPAu7fPOHwzdvoIMwJLPZPUBe2QcHGxi4uRhpb472jKkZELEVRMUQYlJHNjS0+//kbfOfkmMmipgVKDIUUGPEscDjAieCiYq3SnFnfYHd7j8H6BlYKJvce4NQx5WBIZYYM10a0IaBUpFAKrKLQ6wQ/Sxuyl+HudvAyYo6xg7HS44qocGaLGCLXr17jwn/z36L1CF0MCSEwnj7MWUVX80iMOR/SqKXUWrOEtjuKfUJ8kyqH6jQfAz3jNjEVOziig3uWXjKEwHQ2w5jlNugyqycpJmBbR1EUxJhGNBmTVJpStgQKT/COcevYUnN2z15MMocKfKeyQ/r8XXDhJf0sGfOkbNUpXPkYMtMVQkw1x65ekXmadKQS5x1a6zQWTm0ia4Gvffd17t+6hYktTkqSdmbEe0sbkvwdPtC6NDVHS0IAjI68cPYMVy+cR1UD2rZhPJvzYDLh/QeHHDcWm3JYVIYuOycSsrJJX5+WlDGnYQLJkK+VmvXRBieTE5xvgPVlMimZiJH37mm3IEi9YHznHhZBqSGFITu+lCF2oPSqo3Te0dqGtm1wvsGFhCIllS1FWZaYsiAWBhc9O1tbuLZNPddZ2/Yzx8T/Da3NjY3U98iqi4z9n+QAu4kTuc+zh+HTox+HWD+pRzItBaKx3jMYVejS0FYDqtEmvrt/j48x6wvt2bas3LBuGzz84CP+9f/yxzlwImWM+V55AWJgoDTHriVImqGBZBhc0ictSOUe16EAApGAixGjUqN+m6UgKxFMSLNM6T5r1+NGIF+klNxIRHkgaoxSjEPLeVXhYsDGiFEhdWrGgHee7/y77/HrX3mO0cVIiLpn2mofEuyPR4nPQWkeCqF0GijeBSIBLt64Rvj2B5gRyDyyaPIeDj45/7KiKD99du6nOsnR2jobW1vcu3eX+WLO9rlNpidj6sUCObPNaDjAh3yVs3OMMWmxdkICS4Zh7A0PASQkHLyeRu784A7WzqiV5tgu2KxPGMkmzqa+y8FgxPE08HB/zGY1Y23DEMVkAVxhMCy5WF7kzMYZZvaAaFt8tHgEp1LkYAEVhCiOCxfOc+niVcxgnUYU3/7uDzk4OGatErbXKur5jLA5wsUFZliiJKmsSLK0qRlbOEXKIcrS3OSfdaYnQGZqtRSjNTZ3t2gXlkXjQDmMEcjUfu8DPkfk3oc8qSJlDKssTJUPqlIF2ui+1qPUSpNzH8UuHaUsPTtHR0ec21v2R6Z7tHzsk1qihLZt0/sREKn6iTOViuxtjzgen7D/6BG//7kLCAWEls7EdcFEl1GGXHfojLn3kuvmuX7uE9N1iXh0lJTV6xEoC828FUpdYCUigz3mD2/y4P5tPLbDwRDAOYd1FmddatTOJKGOD52EMAzrWyMG1QjRmklo+ejgiJsHRzhv0yCAGMEnma8kn5CCnB6oiF1wJt03EuwqwtrGiLWtDUDRtDaXRJJG5tGdQ/bf+zmf+92v5NaakK91audoW4MepD6z1tZQqBzgLgOpuAJXW29p7IJ6saCu57S2xnubLkkeeTQYDChCRfAlH9y7zeXzF1iE3CPt0lmX02DnL20NRgOatmVQVggJWtRZcahvakd/HLVZ+bN6Hz7uGPPXAolgItgGqkEBtIzWd1Eme6u+eLziINMXvRMXoR9TlpTsIl/743/B7bsfEaJLgukINiTxz9Y7Kq2RCHVIsoWqLxkt+9l1TIz/QNp7SoSIxodEClOSikF1dEgQSqWXHP+MIqKXIhWSna8WzcgItWvZ0JpDaymNZtrWQGRgyhQUhyRqcHT/Dt/6+hv8n//Jr1HqRBxSMaJDKp2JCPhOejISo0oKbqogikndCz5y9swa4mvmC8/OmmD3Z6iyoChLBlqjjaaul7yMT1qf6iT/6ts/YXNzHRdqzm8azp+7ztndM+zubEAkNRwHlyJvlpBqR7dP8Fboi64dExYiXllCI9z8zh3aw2Mc6bDNo2V/MuFi60F7vLNoVbCztc7DR/scHJxwdCjcLx7x0itfYDgYoUSztb7G5vYZFrPEZi1DpMrxd4hCEFDKUAhcv/YMxx7e+uGr7B8f45sZhYpU2iBxTlOfsP8wcunSJRa1xbpAjJ4QW7TyBB1RXtFT3GGpysNqXrlaJ4wghrWBIaDYWjPMpveJrNE2ihAE5y3WRpyzOO9wLmVMCcZKTrRTnekEgLUORAq0TkwzndV70it2yj09eHgKzmpty9po7VS029U+n2QmWQ6qlJk4lzJq73HOoRHW10uqytC4msX4Ab/6yt/FOwf4BLFAn+F0NcZIdpJhCf/3DrITE3gcbl11ljESvMMMSuzM5pFam2ysPctH3/wevp7mkW0B7y3OeVpraW2LzoQhZ5Ph8vnauhBpGs/dccPehsdE4aRp+ejwABMio0LRBJiHiKP3v4ik+pJSkUppWhdwREye9UdM0+OVCFdvPMv6xhYRxXyxSA5XhKAU99//gK/90/+BM89cYO/Z6/3EiTQkIRLEo4eG6Bzt1BOi6YOP1GecSwD53jRty2KxYDGfUNdzrG3wIdeMsl6zD45Bru+ujYbEGJjOp7jW4azNCMaToe5EInVbs8XGqe+y9E99bbJjCHeyaR3zue//XHFqPbFHpJ9PG2KgQNPMxuycXSdIgVaBSDdLcgnqsupsM7y6ejJj6qTj5OEB//tX/zWLYIkERqIptWbqbAoexbOmShbB0cRAqVQSToikrgQSlNrmQVIqe2GVi95BUv+5yUUPGwMLUhdDhekUfkEEFQUdBdHL4CHVMRWlKVhzkQrBKMW8rRERBqbA5bOYssYF3/qLH/Lbf/ASmxeTPYgujQJLijsk4ZDswiQm9Z2oYnaWgvcBg+XCQDM+nnBue5vSgNd5T6qS8ckBj46OPnVvfKqT3FwfMTmZULdzlLrKognUTUgCtiZHtVlvcdUw9bXIsIzeO8IEWQjFR+HRO2MOPryPkwkxlkCkCJ7CDDK0oTAiRKXY291mZ/sVDo+P+PDmAxaLKYJkNQqFwnHpwg4nhwfghtjFAsFTRqFSBiLY6FlozWtvv8fRfMFIoAoLynXFxmiN9eGA4bBAG4+3DYf7h9y9+wGxKBiZIT62mEIynv/YtI7+QHQVg2XdIGR1kkjENx7aI3w1xNnUDEtsaYOjbS3Wepy3tG2LtW3KRLxN42ToRjoplNIU2mAKgw8JxtLapIw1ZviVrl0hH7qV0yUiPHz4iF/54oUcBWbq92OzLJ/Esi5QlAWVMenzO4fWilA3GT48Zr6Ys6UahgOFjy7VRmQZnHQ09pQ9rUCtIeAi+JjnPPqQ+QCZnJPLAWmj0mGAWYBAJVk7BWcv7PL+vUPGB/eQqPDeE4JL9TWfHbxAS6S2FomRMqX+uIziuSj87O4RO5tDLmye4dF0hvWR3YGG6LExz0UQwUn6TAluTvc4hogxGh89KiYqvlFLfeRze9fZPXs+O79I8AI+KbLcv/MuxjS8/Vff5O9cv4xI0V8v8sdOTlARY52dnO77SkPXOhU8rW2pF3Pm8yn1YpazyLZHNAiSxDi0YF0BVnj48CGDosQ2Dc1igXN5nNkTis2apuXjSksqozPLOZJKqUQS6SBRrUFrolKEDHP3Qjw9nN3/I9uCpPZi1gJilrW75euTZfrklJPuv+gQFkBFwevI69/+Dnc/+iDB8zFiYmKihhhxGVo1opgGm4OlLAAD6JgEEhyBVhQmv1zKBtOeUF3wFMnXJgWbdUh9yYXS6CAoOR1gd7VPyRhBpQ3eJ5ZrjJ4jPIWUVKKwru2Z7T7Cyf0H/Pmfv8bl/+q3GMTMeQlpDydENS6HfseQguQQmEyPmMwOufvmbXafe54LF4SfPxrTtg4nhvlsznx+zGQ8Zzw+Yjx59Kl741Od5K//ygt4UXxw80OU8myuDzieLFBFwdHhhHNnt3DtjI31qq+ZENK065AVhELsetHoafCeyPRe4Pbr7+OdJXgDeLRENnRFqD2iHUYNkrHTGVYKwsbaFi+8MGQyPUkSRqpIE+W1YXdvl6DeZzgcsmgayMr0joBXmrmChQqsHx9x9cwO81CzNlxjOCwZjkYYXWKMYTCsKIoC71s++NnPWUwmXLpyheHQUA7WVqK8JfDVwaB9QrnytciyUbr2gtIVDw+OUEVFdBalAo2tsY3F2pbWtrRtnUZ9OZuJDX4ZlebIPGpDDEX+mScWFUvFAt07yvRmOqee3m/btmxsrPfw7KpqSPriU/fN3+i6ff8+W9tbrA1KtGhEa2JwDNYM1UCzf7fGzY946fo2Tmke3n3Ehd01StNJC4b+I4SQmYQd1BpCqkP6pbGPPXTYIR9JaJ8IXgJER4XC1klKMVrH6MwXeffP/pLgGryLxOgS2pBhcucdPkba4NBKUcVIEz1tTO0emsTyPLGOH757ly9e0+wfTIGAE4OnYOobXEhGrxvJZrIxtSExEgsilUjaAwHO7O6wUVXIYsru3i54xcnJPqNyjZ989c8Z373P5PCQ+/feoq3nfPvrf8qZF57nC1/5rR5xSFl1J8IQ8U7QlWGVaRhyMGytZdHMmC+mNPWc1i5wrl2qWuWwI/qAC5oieKazGTvb21jb0tQ1TVPjvT+VuD25tXSUqa6hM9s0Sf0FlUUahDRvcyWjXCVBJSd5unSx1G1N2du8LlBmmIQFOog1r55PsHJBlqWTJdwuEtHW8d2/+HNab/ESaWPS7y1jYjvXpAwQF5hnabYYE0KBJCcJXTCZGvO15CxypRaqMioTSc455ExykVWwKlFZ7WmF+CZZBF+EQtKcjqHRrMdUk12EyFALEkMa8aaESjRETR0WfP/PX+WP/sEXuXp+nRg9PqhekzuxZ7OQgJZELBONtHPWgufy2RHlmuK5Z2/w+oe3+elPf8Kffvt1CrOB1gphQYUg/yEtIIfHEyoTGZlIUW0xmS545sYFQvCcXd+isYFxK9x7OMUUhvm05uzeBsE3lEaywgnErgZEMlaujnzw/Vs0JxN8jk6ISRYO8YzHC7ZnDYPtER6Von3SaJpSF4jWmLKgyCLDKvftDKohujB465KTiBGvhUYrHAJGsztSXDm3R+0s5UIzGpZ9a4loRVVVlOUaplD4UONVy+HJfZ5/8XNUgxGRCgkBL2plSAt9HXJZLFr6GWEJ3QUVcD5SDbdoXUPTwGzeMmgsTb2gsTVt29DaBm8t3rmcRYa8VwWtda98EWOgiBGRSMyMs9UIdKnkE1YiW6FuFhSFXtEtpS9ydJnlk1p3332Lg8E6okqqasRobUhZCUoMO1tpbmSY1Hz+S59jvGj5xtf+LX/rS1+groWttR2uX7uaP39qDvekTLJjC3eoRi9R1zNdIYSUfQef2zei4JzHjEqaqaUU4UCG/E//4qv87LUf4kIg+mXd3XmHDS6TECI2JBLFMBtTay1RSNmkKSBYDhaW7773YWLnAvszm7JdoFCKyiQ9YogYJaT5wCG3PnkMKtWlfeDKhfPMjo8oq4qiUNTjBc/feJkffu3PuPfqD7H1lOnRIS62NAJrReDWW2/w8pe/nNoCYtf0koymSMxN5zqXHLJMWYbDm6ZmsZjRNAtaW+NcGmSdiAdCXDkHwaffd84DkZZI0ySnmh7waR29f7NrMBigJDHf+3rkioxfN1psmWUus83H65KrPADooFJZwZlSLKtcgymSJCZxhQa4At2urt5x97Brur7jR/u8+5Of9HVER4TgEaUpUBAcUSlmuKT2JeRextPOvCtWhNjpta84StK98d3773AzlVpBbPAJ7RcBPAFBY1C5ZhpVGggBoHVkyxfctQ0+QqFTW1HjHRI1ZZFA3Zm07D98yHe+fYtL//Hn8SogUSOSFKTE5/KT6mq5GiSwXmxhG01bWL7/9Z/xpa98Dte8yfjYMTAN6+tDinKIMuuIH3ymqftUJ7m9c4nJ+BCjGwbDEYeHU3bPT8E7RmvrVJXmbDFkd6PCx8B8pGlaz+FJi3WBQWUI3rK+VuXBswHvDLffeMjR7XsJnootSX0nbSInnpmdMZ/NOXNmlyCa6aImOE+phUJrhIgqBzjb5poVlJWiHJQoI8yjTeLrKmBNidUGLZGt9ZJnrl2ktZbFZMxoUDKoKnRhUNpgipLRcANjDCF4lJSUpgQrGLNJMdwmWo/obmJHFnHqvSTZuWSwVUjRt7A8HTFCUMRgidZh/YJAwNY1bVvTtos0isa2Ocv2ubaTSCQdQzVmlmGUmJQyLBjJEWZn7HSSFdRadyhNf53v3bvHlSuX6WiFnTGLK7//pJYeOGx9jBeYzoS79xoCNfPJjFD/Chub66wZOLO3y6wp+fKXvsyZs7soUZRGE4LLhjm1aLiujgY5aIs9AS8xXDvWayeG0bWGpL5Aby1mWNK6OV4qvvXGXd559ybBjvGuJXrwLsO3zuMkpCSEmKo1IjTe4XvZuDSux3jLGYQBKVMZu6S12unISky09i4v9jHSZkm4QoQBCrTgM2HCFCVHxyesF4oLFy6zs7lLGMHNn7zOwXs/52Rywt75PaYP7lNtDRCjMFr43Msv9oScrlzS1aajCFE5lElCDDE/LoRA0zQ09YK2aWhtneqQ3tEz82IuOaB65xsjnJyccP7cWZrFDGvbrI/KE5VCHA1H2NaecngiyzrksvaoeiLPal2yz/o6W8ASRUqx6QqRjkiQlmooeSyW7km9qw1cHTfgFOy6gk4RU63vwzfeYnqwnzLdVBjEhrTBjeSJoDFS4/AxpHYhJLdXLfVfu4wyvRHVecMk05cD7JjvqSf25N5U5kiIXUThSRmjj4E1VJITJTHvEah9QKOZ4rA6UonChcAseEoh8VMkgg3ULPj+N77P7//ec5zfFpz2KL/MIkWrnhyWGK4eJGIqzZm9M/yd3xkyWNvk7LbhxwfHbJ69xLntM9jac3R4zMnshEUXpP2C9alO8sbnbuDaq4wGkcnJIU1omDcRN5lRliVVUSbIQRQShPVKMSo8G8MRrXU4Hzk4aZnMPOPxHDGB5ijw7o/fJbbz3FydNlCIIRmPmCarz+saEYULKZpRqqDrk9MqDSQ15TAV+5XKE6wD3g1QvqaNmrnReG1ACRfObXPl8i62aZicTFmrKoZVRVEOKIoCXVQM19aoBmuIKGw7AytEI7haePU7P2L73HU2qyGi1VI4PkI3JSjEnK2tOBjJB6eLAiOZbek9zre0dk6koW1nNO0C2zQ42+Jcg89ReYwdHVty32SKEntprL6QIUk/cQXm6jAsRaqhhKzbppRQFmU2iCyJKj3a+uScZCHAQCiKAUpHvC+IrHEPS1s3nMTIS89sYKqSV7/7Ks9f2CTupekuiiHBa6KyQNZq7Qw0S0WoBL36rAy1zAR7JnZ2lDZ6og9E55iJ8NrP7/Huu3fwzRzfOpJP6FiznW6sRjLJYV0Jjsg8+tSGpBQmetZi4AKKXRUpypLFzhrh5ISJdclBR8GRhj8XJtXAunF1o0GFimCUgEmqOkqBNiPmreP6hXN85e/8DpeufY4HH91m9uAWi+kJs5N95otjRmslVIa10RqXrl3l6ssvZ0sXe5Jd79RQNDYyUgXRtz1sba2laRraJjlH65KDXGZRqncI4OlUkGIMDIcDvOsGD2S+bkz79Um5ycFgwHg8Bs6sOEm1ktX16uy9UxTFUg9X9Qe9d6ywolfL0umlJUhRJUSqc0bCKaeYxNPpHWTn2FZ7sRWR17/7feZNjc7arQRSDTumiCrBq4GGVJtWXYAfe/CIrnWvROUyTbK1PqY6OCSma7IoPitvJ1WnDkALkrPRzINofBqfVSihJGDxaFHUvuEgtLn1KtV7J65hFmyCTWN6jzFqFr7lwYe3ePOndzn7m+cRBcELojwSVMr40xsB8clqKYGiQMeKzbIimIIb19f59k/f53tvfERlRhyfHDGezbDOYT9j03360OWQbkyhNaNqxHx6xGggPNgfE8MaQQYYMckYSyCqXJSOqXkYPLtbQ5wLbA7WWLQ1+2PH1Ne0KqnQEwNljjK8SlFxS2A2W1CUQ0TS60d8hu0FIykdV9ojojClIErjvcN6RyEWP1K0CBICz167zKWLZ6lnc6aTBbpQVFVJYQYUZcVwuMZwtMZgOESrkqa2WGsJvqVgxHQ84e0fvMaV5y7zm7/1e2m7St5h+QJHVuY1xnjKyQiymqLRC277gHeBpmmpygLbWqyzWNcmAxI77wWdxmIX6cXoVxiP0hdCeshHAlDQ54daI5I2tbeOxXyRDnDP6Fx1lEsCx5NYR5MZw3KI1sJwOEgN/LrkzuEJ3jUMmfErL/8qlS74vd/+AhLTMOxEDUiyzZ2hT5qtOa/ss8UUpPhVgll2ntBdg/w9azFFwcHU8Fc/eJ8Pbx8QnaWuXb5Hubc1OrTJQho+0dsrFxgFR5ACm9mdWzFwNirOiLARIyqA1ZqNvcvohSW049SwTYSoKFVBZQpcsJRaKKtBCsi8x2UoVCgQDYVJhvzlX/sNrtx4BSsF9z+6nYhfOAYkw1/tbBADzI5n+MslyoyWDN+43A9pQzhibHsormMb21w3b9sF1i7wzvYlhXwR6fZeh2BAIshMxmMqo/G2Tdevf0zKUp7E0kYznk640jlFpUEb0IagND6PGOvaZDoItXeYy6OfHObKZ368RSSFsgWujXmSRuyD3A51etypdplj50D79jLb8P5bP2URHQphKAYlMI0ps2t9qvPlmThZEiB1FyqWMz9Dfv+d1lfuCE0ZIzGfr1TWkZiYsFmWmKLLTPMFEBUxkuTuau85ZsHOoErwaACnNEetpSGiY3LEY1ezwFPlVq0E90ZUFOq65sffepPf/PJlRi7idX6jKpUDdEeyy9coeIhSMF947j04YPdciRqd4+GdR9y6eR8xJUURqcqS3a0t1jc3P3VvfMbQ5RTReqcYDivu3Q+MyiEXLt3AhTl+NmNne4fQ3dkgGaP26Gx0hezptWCqkt0LA65dOM/hBzepo2YWPVYLdfAMRLEIgRYQZVC6SDqZWqNVgdIQsShVIkqjlafQaxij8BI4nE5x1mcdTo0A16+e48a16xyf7NMsLFoZqlJTlAVlNWR9bZO1tQ2GwyEhKiazmtn4COvmyej5yPHhAcwX/OCr3+Arv/cPlhBKd51OOZQOg+jRin710GxuKI3BE4OFmITkXabT93Wdx8k0ZBZxWB5E5yUpY+QhupJD0pAPXuy+K4L49PP9/X22d7ZPwWu96EPIDuIJOskfvPFuHoQtDAYFg3JAFEO9mPL87hrXL2ywt7uBD5ZCpx6pSIIGHUDOTsJKhAy57SMqupmn6UE5U+zIO4Fct0wReXAWvTbkBz/Y5613H1KKxbVJpcPnGlsUULnPyzkHJOlCa2BsSggBmVoui2YPxYgkDuCzXnEoS86cv8wLwxE/e/dtHp4cQzZOhTFU1YgiOkQ0McJ8MUvwmNZZUittOB8jwRecu3CDYrDJ8eERR/dvg/e0wYMuKUn1WG0KpBSa6QLvW5TSnGqdoYObU+CbhEE8wYfeQVpXY13bZ5G9f3yssihdjJhPw5mdnVRKyP2/+VHEKH0G80tfAifTSXZQS2SmO4Mf63/Mv7bKBu4gWTKpRYmcfon+OSCGmkGR2uiWWerp11GS9vWq6s6yBSTZoKNHB9y++QENDpdruqVoypi7aru6cMwQqYTkCOMyyw1If94daV5owRI9djE5cyVCicYSaEhN+UUuAZnYOcpk27Tq+i098zCHNnC2qBDX1erTey2AuXfYYAkZBAtEkEhQYEQz84Efvfoeh4eW4RlFxKbezyjUjWO0NuLu/SOOxgtuPH+dN376Dme2t7h29RIiikJ5rpwZ8LkvXOO+FV56/kWGRYlvW5zVRPn03txPdZJlaXojq43HG4OWwLnzG6i4SQiSjUno7jCEND4lRIWEgBKNUgEdMkGkCJx/8SyHtx+h22liFwUYRI0KacaAj4HhaI2HB0dsbGym7LmqkOgxWlMWZYry8GmYMhAp+PDDByAL5lgKiQyHJRcvXWI2a3CtRZnAsKxyY/OQwWjE2nCD0WhEjIHpdMZ4MmZ8coAxsFmt4aPn+OiEIlge3r3JZHzA7uDSyhY6vSKdQkv6V/93PP0nZKZvCCmK7RreffTE6D4Od/b4bo71okpGJfqkSBGS8LL4kMZFoRCx/YETtYSLWmvZ3t7Ce798LyvU/hg4NQ3jl73WqhLnfWpQn9QchSkxBAYC+8cn+Ot7vPVgwZmdLcYnE+rZlO3NETtbayhCajLu7kRMTciRJK8TULhO5CJGfBBsUPiQCAg+RHwg1XR8ZN7U3LzX8NbPP8LaGq0CizqxjiMB0emVAoq2aYBEJNPK4L2haoSynbEXNcMIIknTFSSPZBKuvvQ885CyxF/5jb/LX3znG7TzSbp3OqEWKUgsWCzq3BeaMmPJQZmOFcQEk02nC0xRcfDwXerZMdrb9DwbhnK4jveeZj6nGpYUW4O00+ST0YTg03CBbgZnyiJTD6izDc7VON/Sq0HxOFQfSQpRqeyxf7jP9vYW5AADVqsTyUQ+iSUiVIMqfd29lQ6qWX6w00hLV+fuWl2WWBJanXaQsJIZCjhvMVVB1CrX9uRjDnj5iyvfFICAigVRRb73tb9k/9EjPKm1KWZnlUiNKWgMZOeX8a5Iqml3d6q76klxKukcl0IWPE92xktq5TAxySKaCK1I7tElj81aOnkVoVCaUgtz72hsywTFjhkQW4uTgI/pNU98QmQqpSHGvgRSxIJKaQ7dnOn+A37w+kfo33iOt9+5yc7ODhcv7HLrw3t84fnLXDq/zcW9ddZGnr//WzfShYqeM2tnCKbiZ6+N2Vg7w/kzEzZGCU0L2qJjjZfiU/fGpzrJwrg+9XchYMo1fOtTwTpqujl1qQE406IRdNSESOpty6l6kCRZJBLYu7bD+vY2JwcLdEzqDkqgUIKOkRJBS+Ts7i6tTe9h/+CQwWiIszW7Z/YQ79LUjDBnfTTERnj06AESQYtH6Yq93V3W1zZYxDGmEspijeFgjcFwRFVVGF2k9xiFRdMwm0+YTo5wtqEsRxSqpJnXxFmN84HZeMztd97lzMXL/cSO5Q7OByl0UGVHhskHCbJO4mq0nsZ5WR9TlrwC851K5LqD2tcgI12LQsp8PCH3dAWfBIqXbSq5v0skGSo8+wf7nD9/Pvf2LR1klxkFHzKj8cmsv/Xyc5RmhDIGUdA0gfvjMfOH97h+ZY8vPnuBG+c3qG3LrCN9iWHuNLfvHHDr9n1293a4euUis9mMu3fvUxaayxf2qCrNYl4TvKMqsshyp1MX86gy75HgqBHeutPwnVdvMxkfo4gsbKBxNSHaDP9rBMW8rvGupRqWhOhTb50RRnPLXgyUdHl+Jw2YlhkO2Lx4id21CwS7IJiSZ64+x5tvv4kSj9YmtelEwYdI622SFDMmP1sOVEn7xzvP8cExojXjwwdoHFoJm5sbDIoKhcZ5hyzmtO0C37Z471be1SrknF6zLBNf0bs0rsxm6bmUTbYE73LQ1v3+6t5ZBtCRpGyjO5ZvDsg4dU2eDNwqCFtbW7DyThLaE7pDRowKYjKZnUzaatCrJDezdwmorLrN06/V1tC0mkRhcaedcVcy6bLIfPQ7wfN+ZqJree2v/5rGt0QfsKRqYUdDCQIuBhqSLF03j7IgBV7ZSiVcIzOHOlwiISSaAo0jZvaqz2ICqU3D4dNIRNKfktTar3TKpiNpBvCWqmicx7qGsUS2tWYDxTQGrAjzzOUwSjElUrsaUZpgNI23zKJjIFDPF4yM53d//VmqzAp+bu+ZrBkroAeJXaski8AFptNDzMYuB0czBuUm1WLOzVu3UbKeZiUrTfD/AcSd6JOorEgqEBeDislswZ7sQZYuQiSNuiFmpfYURagYCUGlEVBd461KNZhyEDn34lmm39pHi4eQdCgTPh4YVCXDQYWSiFEgSrF3ZgchEoYmqXvUC6YnM7a312mc59GsZl43BO/RGDCR83tnaOoFxaCiGp1DK01VDglBsC7gfIPRihgVs/mc6XTOfDrD6JiJLgXjRw+QtqUlUEa49dbb/Nrv/G7PRluag+VElFMO8rEMsvtfqiukGM/oBIMsc9B42kmeeiWBKHQlUVTITba5mTndEpzLsIVKQYoj1Q9c21AOB7jgE+HEhyQLlh1mcpy+Zxw+iVWNhpioKUtNVZWEoaLcHLDfTinLEcdHE0oF2njW9tYIsWt9adh+ZpNXrm7miNiyoRWb5VliFExZMp413LpzSGsdZ8+dQZuCD2894uh4zPlzZzizvcls0jKZTDkJiu+/eY/pfILzqebWNHNcsESJaEkQZWtr6nZBZQwoRbAegkYTUNJm1mCuPT12b83mFlaGHNx/QFUWDIeKX/n8y3x0+yMWswlGJ8JajIGmbXBZjDmEgGKp4KO14IKlMppmUeOCY7Z/gDaGShUMi7XM5g3owiBKUaH40h/+PuVo7ZRv62X9YiR6D2Lw3uFcErlo2oamTYQd5+yyNBAlz5jNtlxSRSvJuaVoezyeMCqrDLXGFcdK9+K/jC32CUsYDYY4H5IgQ8brJeYBA13tOctGik+Dk733fZuVqI6s1NUel9lhfol8fCOhqSkLwXhP10cNkssm3cM7Fio9YpAUewAV8FPLo3v3mCmHD+k5ujp1fhNpdmTwuBAJdFrEeTAyp5gUfeacesuzNF/Mw5SRDNkLVRZ5WQtCHcFKRIWsD4uk/kwU+BTAKgrWlcIVChsjcwVnR2vsL2a4ADZmubvce7KmDCYKTQhUqqBAqPSQ55+5yPpQUWiFKJNmSCpFVtzIJFIBArENeL/gh99+i+d/4zdhOma4scULL7/MQbPOzuYWZTnE6JLaTj91Z3w6cQehaRwKR6GFjYFhMlmgdYb6RCOZGKGTDkiCFGIaeqlWCtsp7PaJnaUde8/tcPvVIe6kJskxaTplybXhiPX1IcG5dEPbBkVAaSiNphgM2Fwbsj1cw0VH8JG79+9j6wW+9RS6RGvNaGMDO2+wdcvaaJ2oSc3OQfDBU+iCwhhc66lnc9omHXqdM+PGBY73TwhBaGOgUPD6d7/Nb//jf8zO2bNpi3WSfCsHvYvQ6JxiH23mr0NingkJb9BdWwcdjPM4lLt0WF1NoqPsi6TRSFHFnrlKbhvSPoDPxK9UhWexWDAYlKnh26XJDTaEpCTTa5i6TOV/MqsdexodmC4avD/CFIFFPefKpYsENeRwmjL7+aJOSh+mXKr/CwRDqgPGQFWaNDbK+1TD3BC2P3eWTujc+cjmjbO07gwhJqm4eUgsuZNZy2Q2p6ln1Is6OcS2SQ3XuU4XoqNuGgIe0SaNfyNNc0GV1KZl4hrWovRkCMnONQgML5xNPWva8sEHdwnRE3Xgheeu8u57HxBEJQMXAt61IEl2TkQRXMgT5SOtsymCB6aLBYf3HuAXM6rKYNCJKBItIUqCipXnj/7Jf82N3/xDiKlfFumEy+kZv9a21G2DaoS2aWmahjq3fVjbEoLPDjLxHZcElqwOBT0TdFE3bG9t5d95vB5J94u/rG12ekkSmLDOUhUlqSdU9eUkn2eIJrEIhXiF1j45TBGMNggrmsmn8vLsNIX+51KSgyqPioYoKhNRVh6jlvBrV6sNKaVEx8jELtg/vAuhw/QUJtL3QXZ1xo4Nm5r/wUvs6/Wwoqyjlt/zMavlEDEiNCjaaLNd0AyVyvBoYB4cHmh1QYHOjNUIOtBEUEWVejWjZ6RMas/LbUYKKEVQMaJiYBBhXWsKUbTtnIkPrBVDzm5vcO7sOko8Shm0ivlPSAbOCIgGpfK1rMFHnv/CdbbPwVyEtdEOf/T3X+Htj+ZIESn0CKMUNvwHaLcqramqAd7VqNw5LwuN1kVPlV82yuapGDHgQ5c5ptYQyel9DzhFw2DNsfPMWZrX9/GAJtB4j5EBW2d3GQzSCC6XYbCmrTGFTllTVBRVSTU0DGLBoKzYm8z58MNb1L5JkXVpWFho2ohvFylC1JqyShFIBFxMEbXD41zINbpAiJJo7ZMZB0dHjAJYPAHFyYP7vPHNv+R3//F/Abgs7dRFaKtQ09Lp9WPDYrc5u4cI3kPwKm2qjgRA7A3IJ2modtF3zLhOCk5Sj1LX0kHMWaW1iQiWlYkfPLzPhfMXaNuGmKNilx1kFymHLMb9pNbGmYtYG1PNO7bU7ZR23nLuhT1EFThrscDXv/EzXrq6weXnr6IlUhVDkjh1Chp8nl24hPB0uiZJ1iLPeYxEpVBaIASKQtjZqthYV5g1YXNtRHAtXa9fCD5HKClKb63r2bPJ0KaeVhcsLkDUBWNdUIdAEaEkqeRoUZhhyeDCecpqiCkG6Bsj7ty9zf7hPltbu6yX60hMKijONji7IEjWqwwJAi160keaOO980lF9dOsOqZ94CK2jbWoWizkzP2X9zDp/8J//V9z423+YqfxLiJW43H8xRlo3RxWCayxN21I3M9p2gbOpNppakmAlDe3vYwwKpROjOtmCHD72rClyLTTX9DqM8kmsGJhOxmxtrhPjgBhVVgtLCi/iPUF5nHKp/uY13oWElOU2+078vG/j6JzcioPs/l03gaocguoc3BJx7Uk7caVPMq+uxWtuW/78f/4XHByNk0PMnA/JgxZUlxV2jpKu5BOz+GIqj+mYc8tTgXn+RBEKFdAxMiDiRVHH1JXgglAqQ9BC0MLce6Y41o1BYmAQIyOl2UCjXaBC4WOgDS0jXXC7rnuIuhJFGVObik8tFRiEgWjm3iN4zp3dY2dLIzrJkKbpR0nmMfUEdtqtGk/g9v5N6nbOw5sTPr93jvGsoThXEpzDtXMKNcDHFgenpiB90vqMTBKKoqAoDME1aBTjOM8HMnlN7wMqT83WpIOmtELF2PcPiYREHc6hZZD0s/MvbHH08x38YkoUWFBTDUvOXdoljfKJaGVYtHOMaLRK/ZQ2NMRoqcoRWg+xwbFWFURHIvJoS6kq1kqFamHSBBrrGM9m2UlWDKqCYZmECBo3JwSLUUnNxnrHom1ZTI5o24ZSTIr2Y8RZy19/9X/nS//gHzJcG/Y1g8Cy3/DU2euL/J3xSRGeBDID1aHUso5J7GBY32FW/cbtn5MIkiBaEon8Y840htSQK7kfUAUPQaXo0KiUSXaM2hDyOKel3u6TbAH5/K+8jIREGvGhxbWRc7sjxI159GCfASmK/L3f/zVicwA5RxNJB0dJzDUW1ZNDkpRYpG90V8lQmJhg50SMSpGzE4WKBevqmOeu7fLGzxa0dYNSghaDDz6XIKDQJUYcDkeRB8sWuqTQA0qtGbQzBiFk2Ap8Zh5HiUQtvH3zLjeul4w21zmZnUBh2N7b4+bND2hdw0CXfS0yKkGroh8r1QtqKwExqFhQlIq9s3s8uPsRLS5NEHGWenqMc3Ne+Xu/xd/9h/8J2xc+n1l9AfHLa7/UWo5411LPHbGNtNLSNAvqekHT1jjX4p3LwdzSjHd7MwEiKouBa0Q0+/sPuHzpAsE1fc0zZaDxifnGbkUC8/l8WacXT1CSlJGCQkQnaHu1fUt5lHYp8AoQwlLwPKHrHe4MXTkmvVakbVrWyxE+Copc3llpFenqmUsyz/L7iDD/4D7/9v/5T9mvJ9gERyEhiRcqkSygkQPdvus//UkQfXaosWsLWdY9fYRGlubHKMM8OGYxwbl1SGLnG0qhiSgfGKGoMAxcYKASHIuPKB3R4lh4x8x7toshHqHO70mIDESzY9IUnNTTnIIEnXswI4rLz56jqqpeG1bp7ChzHzzKgFGITmLrl59/BV0V3PhigZ8fMm1Lzg01NiRuhnfgxeKcwxSfTtyRJ2kMn66n6+l6up6up+v/yOsJNSU9XU/X0/V0PV1P1//x11Mn+XQ9XU/X0/V0PV2/YD11kk/X0/V0PV1P19P1C9ZTJ/l0PV1P19P1dD1dv2A9dZJP19P1dD1dT9fT9QvWUyf5dD1dT9fT9XQ9Xb9g/f8B6fFb82dq2B8AAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 576x432 with 9 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls = biwi.dataloaders(path)\\n\",\n    \"dls.show_batch(max_n=9, figsize=(8,6))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's looking good! As well as looking at the batch visually, it's a good idea to also look at the underlying tensors (especially as a student; it will help clarify your understanding of what your model is really seeing):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([64, 3, 240, 320]), torch.Size([64, 1, 2]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xb,yb = dls.one_batch()\\n\",\n    \"xb.shape,yb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Make sure that you understand *why* these are the shapes for our mini-batches.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's an example of one row from the dependent variable:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorPoint([[-0.3375,  0.2193]], device='cuda:6')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"yb[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, we haven't had to use a separate *image regression* application; all we've had to do is label the data, and tell fastai what kinds of data the independent and dependent variables represent.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's the same for creating our `Learner`. We will use the same function as before, with one new parameter, and we will be ready to train our model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As usual, we can use `vision_learner` to create our `Learner`. Remember way back in <<chapter_intro>> how we used `y_range` to tell fastai the range of our targets? We'll do the same here (coordinates in fastai and PyTorch are always rescaled between -1 and +1):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18, y_range=(-1,1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`y_range` is implemented in fastai using `sigmoid_range`, which is defined as:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sigmoid_range(x, lo, hi): return torch.sigmoid(x) * (hi-lo) + lo\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is set as the final layer of the model, if `y_range` is defined. Take a moment to think about what this function does, and why it forces the model to output activations in the range `(lo,hi)`.\\n\",\n    \"\\n\",\n    \"Here's what it looks like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/home/jhoward/anaconda3/lib/python3.7/site-packages/fastbook/__init__.py:55: UserWarning: Not providing a value for linspace's steps is deprecated and will throw a runtime error in a future release. This warning will appear only once per process. (Triggered internally at  /pytorch/aten/src/ATen/native/RangeFactories.cpp:23.)\\n\",\n      \"  x = torch.linspace(min,max)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_function(partial(sigmoid_range,lo=-1,hi=1), min=-4, max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We didn't specify a loss function, which means we're getting whatever fastai chooses as the default. Let's see what it picked for us:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"FlattenedLoss of MSELoss()\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dls.loss_func\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This makes sense, since when coordinates are used as the dependent variable, most of the time we're likely to be trying to predict something as close as possible; that's basically what `MSELoss` (mean squared error loss) does. If you want to use a different loss function, you can pass it to `vision_learner` using the `loss_func` parameter.\\n\",\n    \"\\n\",\n    \"Note also that we didn't specify any metrics. That's because the MSE is already a useful metric for this task (although it's probably more interpretable after we take the square root). \\n\",\n    \"\\n\",\n    \"We can pick a good learning rate with the learning rate finder:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"SuggestedLRs(lr_min=0.005754399299621582, lr_steep=0.033113110810518265)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll try an LR of 1e-2:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.049630</td>\\n\",\n       \"      <td>0.007602</td>\\n\",\n       \"      <td>00:42</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.008714</td>\\n\",\n       \"      <td>0.004291</td>\\n\",\n       \"      <td>00:53</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.003213</td>\\n\",\n       \"      <td>0.000715</td>\\n\",\n       \"      <td>00:53</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.001482</td>\\n\",\n       \"      <td>0.000036</td>\\n\",\n       \"      <td>00:53</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"lr = 1e-2\\n\",\n    \"learn.fine_tune(3, lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Generally when we run this we get a loss of around 0.0001, which corresponds to an average coordinate prediction error of:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.01\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"math.sqrt(0.0001)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This sounds very accurate! But it's important to take a look at our results with `Learner.show_results`. The left side are the actual (*ground truth*) coordinates and the right side are our model's predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x576 with 6 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.show_results(ds_idx=1, nrows=3, figsize=(6,8))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's quite amazing that with just a few minutes of computation we've created such an accurate key points model, and without any special domain-specific application. This is the power of building on flexible APIs, and using transfer learning! It's particularly striking that we've been able to use transfer learning so effectively even between totally different tasks; our pretrained model was trained to do image classification, and we fine-tuned for image regression.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In problems that are at first glance completely different (single-label classification, multi-label classification, and regression), we end up using the same model with just different numbers of outputs. The loss function is the one thing that changes, which is why it's important to double-check that you are using the right loss function for your problem.\\n\",\n    \"\\n\",\n    \"fastai will automatically try to pick the right one from the data you built, but if you are using pure PyTorch to build your `DataLoader`s, make sure you think hard when you have to decide on your choice of loss function, and remember that you most probably want:\\n\",\n    \"\\n\",\n    \"- `nn.CrossEntropyLoss` for single-label classification\\n\",\n    \"- `nn.BCEWithLogitsLoss` for multi-label classification\\n\",\n    \"- `nn.MSELoss` for regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How could multi-label classification improve the usability of the bear classifier?\\n\",\n    \"1. How do we encode the dependent variable in a multi-label classification problem?\\n\",\n    \"1. How do you access the rows and columns of a DataFrame as if it was a matrix?\\n\",\n    \"1. How do you get a column by name from a DataFrame?\\n\",\n    \"1. What is the difference between a `Dataset` and `DataLoader`?\\n\",\n    \"1. What does a `Datasets` object normally contain?\\n\",\n    \"1. What does a `DataLoaders` object normally contain?\\n\",\n    \"1. What does `lambda` do in Python?\\n\",\n    \"1. What are the methods to customize how the independent and dependent variables are created with the data block API?\\n\",\n    \"1. Why is softmax not an appropriate output activation function when using a one hot encoded target?\\n\",\n    \"1. Why is `nll_loss` not an appropriate loss function when using a one-hot-encoded target?\\n\",\n    \"1. What is the difference between `nn.BCELoss` and `nn.BCEWithLogitsLoss`?\\n\",\n    \"1. Why can't we use regular accuracy in a multi-label problem?\\n\",\n    \"1. When is it okay to tune a hyperparameter on the validation set?\\n\",\n    \"1. How is `y_range` implemented in fastai? (See if you can implement it yourself and test it without peeking!)\\n\",\n    \"1. What is a regression problem? What loss function should you use for such a problem?\\n\",\n    \"1. What do you need to do to make sure the fastai library applies the same data augmentation to your input images and your target point coordinates?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Read a tutorial about Pandas DataFrames and experiment with a few methods that look interesting to you. See the book's website for recommended tutorials.\\n\",\n    \"1. Retrain the bear classifier using multi-label classification. See if you can make it work effectively with images that don't contain any bears, including showing that information in the web application. Try an image with two different kinds of bears. Check whether the accuracy on the single-label dataset is impacted using multi-label classification.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "07_sizing_and_tta.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_sizing_and_tta]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Training a State-of-the-Art Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This chapter introduces more advanced techniques for training an image classification model and getting state-of-the-art results. You can skip it if you want to learn more about other applications of deep learning and come back to it later—knowledge of this material will not be assumed in later chapters.\\n\",\n    \"\\n\",\n    \"We will look at what normalization is, a powerful data augmentation technique called mixup, the progressive resizing approach and test time augmentation. To show all of this, we are going to train a model from scratch (not using transfer learning) using a subset of ImageNet called [Imagenette](https://github.com/fastai/imagenette). It contains a subset of 10 very different categories from the original ImageNet dataset, making for quicker training when we want to experiment.\\n\",\n    \"\\n\",\n    \"This is going to be much harder to do well than with our previous datasets because we're using full-size, full-color images, which are photos of objects of different sizes, in different orientations, in different lighting, and so forth. So, in this chapter we're going to introduce some important techniques for getting the most out of your dataset, especially when you're training from scratch, or using transfer learning to train a model on a very different kind of dataset than the pretrained model used.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Imagenette\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When fast.ai first started there were three main datasets that people used for building and testing computer vision models:\\n\",\n    \"\\n\",\n    \"- ImageNet:: 1.3 million images of various sizes around 500 pixels across, in 1,000 categories, which took a few days to train\\n\",\n    \"- MNIST:: 50,000 28×28-pixel grayscale handwritten digits\\n\",\n    \"- CIFAR10:: 60,000 32×32-pixel color images in 10 classes\\n\",\n    \"\\n\",\n    \"The problem was that the smaller datasets didn't actually generalize effectively to the large ImageNet dataset. The approaches that worked well on ImageNet generally had to be developed and trained on ImageNet. This led to many people believing that only researchers with access to giant computing resources could effectively contribute to developing image classification algorithms.\\n\",\n    \"\\n\",\n    \"We thought that seemed very unlikely to be true. We had never actually seen a study that showed that ImageNet happen to be exactly the right size, and that other datasets could not be developed which would provide useful insights. So we thought we would try to create a new dataset that researchers could test their algorithms on quickly and cheaply, but which would also provide insights likely to work on the full ImageNet dataset.\\n\",\n    \"\\n\",\n    \"About three hours later we had created Imagenette. We selected 10 classes from the full ImageNet that looked very different from one another. As we had hoped, we were able to quickly and cheaply create a classifier capable of recognizing these classes. We then tried out a few algorithmic tweaks to see how they impacted Imagenette. We found some that worked pretty well, and tested them on ImageNet as well—and we were very pleased to find that our tweaks worked well on ImageNet too!\\n\",\n    \"\\n\",\n    \"There is an important message here: the dataset you get given is not necessarily the dataset you want. It's particularly unlikely to be the dataset that you want to do your development and prototyping in. You should aim to have an iteration speed of no more than a couple of minutes—that is, when you come up with a new idea you want to try out, you should be able to train a model and see how it goes within a couple of minutes. If it's taking longer to do an experiment, think about how you could cut down your dataset, or simplify your model, to improve your experimentation speed. The more experiments you can do, the better!\\n\",\n    \"\\n\",\n    \"Let's get started with this dataset:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.IMAGENETTE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First we'll get our dataset into a `DataLoaders` object, using the *presizing* trick introduced in <<chapter_pet_breeds>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock(), CategoryBlock()),\\n\",\n    \"                   get_items=get_image_files,\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460),\\n\",\n    \"                   batch_tfms=aug_transforms(size=224, min_scale=0.75))\\n\",\n    \"dls = dblock.dataloaders(path, bs=64)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and do a training run that will serve as a baseline:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.583403</td>\\n\",\n       \"      <td>2.064317</td>\\n\",\n       \"      <td>0.401792</td>\\n\",\n       \"      <td>01:03</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.208877</td>\\n\",\n       \"      <td>1.260106</td>\\n\",\n       \"      <td>0.601568</td>\\n\",\n       \"      <td>01:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.925265</td>\\n\",\n       \"      <td>1.036154</td>\\n\",\n       \"      <td>0.664302</td>\\n\",\n       \"      <td>01:03</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.730190</td>\\n\",\n       \"      <td>0.700906</td>\\n\",\n       \"      <td>0.777819</td>\\n\",\n       \"      <td>01:03</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.585707</td>\\n\",\n       \"      <td>0.541810</td>\\n\",\n       \"      <td>0.825243</td>\\n\",\n       \"      <td>01:03</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's a good baseline, since we are not using a pretrained model, but we can do better. When working with models that are being trained from scratch, or fine-tuned to a very different dataset than the one used for the pretraining, there are some additional techniques that are really important. In the rest of the chapter we'll consider some of the key approaches you'll want to be familiar with. The first one is *normalizing* your data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Normalization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When training a model, it helps if your input data is normalized—that is, has a mean of 0 and a standard deviation of 1. But most images and computer vision libraries use values between 0 and 255 for pixels, or between 0 and 1; in either case, your data is not going to have a mean of 0 and a standard deviation of 1.\\n\",\n    \"\\n\",\n    \"Let's grab a batch of our data and look at those values, by averaging over all axes except for the channel axis, which is axis 1:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(TensorImage([0.4842, 0.4711, 0.4511], device='cuda:5'),\\n\",\n       \" TensorImage([0.2873, 0.2893, 0.3110], device='cuda:5'))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we expected, the mean and standard deviation are not very close to the desired values. Fortunately, normalizing the data is easy to do in fastai by adding the `Normalize` transform. This acts on a whole mini-batch at once, so you can add it to the `batch_tfms` section of your data block. You need to pass to this transform the mean and standard deviation that you want to use; fastai comes with the standard ImageNet mean and standard deviation already defined. (If you do not pass any statistics to the `Normalize` transform, fastai will automatically calculate them from a single batch of your data.)\\n\",\n    \"\\n\",\n    \"Let's add this transform (using `imagenet_stats` as Imagenette is a subset of ImageNet) and take a look at one batch now:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_dls(bs, size):\\n\",\n    \"    dblock = DataBlock(blocks=(ImageBlock, CategoryBlock),\\n\",\n    \"                   get_items=get_image_files,\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460),\\n\",\n    \"                   batch_tfms=[*aug_transforms(size=size, min_scale=0.75),\\n\",\n    \"                               Normalize.from_stats(*imagenet_stats)])\\n\",\n    \"    return dblock.dataloaders(path, bs=bs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_dls(64, 224)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(TensorImage([-0.0787,  0.0525,  0.2136], device='cuda:5'),\\n\",\n       \" TensorImage([1.2330, 1.2112, 1.3031], device='cuda:5'))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's check what effect this had on training our model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.632865</td>\\n\",\n       \"      <td>2.250024</td>\\n\",\n       \"      <td>0.391337</td>\\n\",\n       \"      <td>01:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.294041</td>\\n\",\n       \"      <td>1.579932</td>\\n\",\n       \"      <td>0.517177</td>\\n\",\n       \"      <td>01:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.960535</td>\\n\",\n       \"      <td>1.069164</td>\\n\",\n       \"      <td>0.657207</td>\\n\",\n       \"      <td>01:04</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.730220</td>\\n\",\n       \"      <td>0.767433</td>\\n\",\n       \"      <td>0.771845</td>\\n\",\n       \"      <td>01:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.577889</td>\\n\",\n       \"      <td>0.550673</td>\\n\",\n       \"      <td>0.824496</td>\\n\",\n       \"      <td>01:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Although it only helped a little here, normalization becomes especially important when using pretrained models. The pretrained model only knows how to work with data of the type that it has seen before. If the average pixel value was 0 in the data it was trained with, but your data has 0 as the minimum possible value of a pixel, then the model is going to be seeing something very different to what is intended! \\n\",\n    \"\\n\",\n    \"This means that when you distribute a model, you need to also distribute the statistics used for normalization, since anyone using it for inference, or transfer learning, will need to use the same statistics. By the same token, if you're using a model that someone else has trained, make sure you find out what normalization statistics they used, and match them.\\n\",\n    \"\\n\",\n    \"We didn't have to handle normalization in previous chapters because when using a pretrained model through `vision_learner`, the fastai library automatically adds the proper `Normalize` transform; the model has been pretrained with certain statistics in `Normalize` (usually coming from the ImageNet dataset), so the library can fill those in for you. Note that this only applies with pretrained models, which is why we need to add this information manually here, when training from scratch.\\n\",\n    \"\\n\",\n    \"All our training up until now has been done at size 224. We could have begun training at a smaller size before going to that. This is called *progressive resizing*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Progressive Resizing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When fast.ai and its team of students [won the DAWNBench competition](https://www.theverge.com/2018/5/7/17316010/fast-ai-speed-test-stanford-dawnbench-google-intel) in 2018, one of the most important innovations was something very simple: start training using small images, and end training using large images. Spending most of the epochs training with small images, helps training complete much faster. Completing training using large images makes the final accuracy much higher. We call this approach *progressive resizing*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: progressive resizing: Gradually using larger and larger images as you train.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we have seen, the kinds of features that are learned by convolutional neural networks are not in any way specific to the size of the image—early layers find things like edges and gradients, and later layers may find things like noses and sunsets. So, when we change image size in the middle of training, it doesn't mean that we have to find totally different parameters for our model.\\n\",\n    \"\\n\",\n    \"But clearly there are some differences between small images and big ones, so we shouldn't expect our model to continue working exactly as well, with no changes at all. Does this remind you of something? When we developed this idea, it reminded us of transfer learning! We are trying to get our model to learn to do something a little bit different from what it has learned to do before. Therefore, we should be able to use the `fine_tune` method after we resize our images.\\n\",\n    \"\\n\",\n    \"There is an additional benefit to progressive resizing: it is another form of data augmentation. Therefore, you should expect to see better generalization of your models that are trained with progressive resizing.\\n\",\n    \"\\n\",\n    \"To implement progressive resizing it is most convenient if you first create a `get_dls` function which takes an image size and a batch size as we did in the section before, and returns your `DataLoaders`:\\n\",\n    \"\\n\",\n    \"Now you can create your `DataLoaders` with a small size and use `fit_one_cycle` in the usual way, training for a few less epochs than you might otherwise do:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.902943</td>\\n\",\n       \"      <td>2.447006</td>\\n\",\n       \"      <td>0.401419</td>\\n\",\n       \"      <td>00:30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.315203</td>\\n\",\n       \"      <td>1.572992</td>\\n\",\n       \"      <td>0.525765</td>\\n\",\n       \"      <td>00:30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.001199</td>\\n\",\n       \"      <td>0.767886</td>\\n\",\n       \"      <td>0.759149</td>\\n\",\n       \"      <td>00:30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.765864</td>\\n\",\n       \"      <td>0.665562</td>\\n\",\n       \"      <td>0.797984</td>\\n\",\n       \"      <td>00:30</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls = get_dls(128, 128)\\n\",\n    \"learn = Learner(dls, xresnet50(n_out=dls.c), loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then you can replace the `DataLoaders` inside the `Learner`, and fine-tune:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.985213</td>\\n\",\n       \"      <td>1.654063</td>\\n\",\n       \"      <td>0.565721</td>\\n\",\n       \"      <td>01:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.706869</td>\\n\",\n       \"      <td>0.689622</td>\\n\",\n       \"      <td>0.784541</td>\\n\",\n       \"      <td>01:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.739217</td>\\n\",\n       \"      <td>0.928541</td>\\n\",\n       \"      <td>0.712472</td>\\n\",\n       \"      <td>01:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.629462</td>\\n\",\n       \"      <td>0.788906</td>\\n\",\n       \"      <td>0.764003</td>\\n\",\n       \"      <td>01:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.491912</td>\\n\",\n       \"      <td>0.502622</td>\\n\",\n       \"      <td>0.836445</td>\\n\",\n       \"      <td>01:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.414880</td>\\n\",\n       \"      <td>0.431332</td>\\n\",\n       \"      <td>0.863331</td>\\n\",\n       \"      <td>01:06</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.dls = get_dls(64, 224)\\n\",\n    \"learn.fine_tune(5, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, we're getting much better performance, and the initial training on small images was much faster on each epoch.\\n\",\n    \"\\n\",\n    \"You can repeat the process of increasing size and training more epochs as many times as you like, for as big an image as you wish—but of course, you will not get any benefit by using an image size larger than the size of your images on disk.\\n\",\n    \"\\n\",\n    \"Note that for transfer learning, progressive resizing may actually hurt performance. This is most likely to happen if your pretrained model was quite similar to your transfer learning task and dataset and was trained on similar-sized images, so the weights don't need to be changed much. In that case, training on smaller images may damage the pretrained weights.\\n\",\n    \"\\n\",\n    \"On the other hand, if the transfer learning task is going to use images that are of different sizes, shapes, or styles than those used in the pretraining task, progressive resizing will probably help. As always, the answer to \\\"Will it help?\\\" is \\\"Try it!\\\"\\n\",\n    \"\\n\",\n    \"Another thing we could try is applying data augmentation to the validation set. Up until now, we have only applied it on the training set; the validation set always gets the same images. But maybe we could try to make predictions for a few augmented versions of the validation set and average them. We'll consider this approach next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Test Time Augmentation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have been using random cropping as a way to get some useful data augmentation, which leads to better generalization, and results in a need for less training data. When we use random cropping, fastai will automatically use center cropping for the validation set—that is, it will select the largest square area it can in the center of the image, without going past the image's edges.\\n\",\n    \"\\n\",\n    \"This can often be problematic. For instance, in a multi-label dataset sometimes there are small objects toward the edges of an image; these could be entirely cropped out by center cropping. Even for problems such as our pet breed classification example, it's possible that some critical feature necessary for identifying the correct breed, such as the color of the nose, could be cropped out.\\n\",\n    \"\\n\",\n    \"One solution to this problem is to avoid random cropping entirely. Instead, we could simply squish or stretch the rectangular images to fit into a square space. But then we miss out on a very useful data augmentation, and we also make the image recognition more difficult for our model, because it has to learn how to recognize squished and squeezed images, rather than just correctly proportioned images.\\n\",\n    \"\\n\",\n    \"Another solution is to not just center crop for validation, but instead to select a number of areas to crop from the original rectangular image, pass each of them through our model, and take the maximum or average of the predictions. In fact, we could do this not just for different crops, but for different values across all of our test time augmentation parameters. This is known as *test time augmentation* (TTA).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: test time augmentation (TTA): During inference or validation, creating multiple versions of each image, using data augmentation, and then taking the average or maximum of the predictions for each augmented version of the image.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Depending on the dataset, test time augmentation can result in dramatic improvements in accuracy. It does not change the time required to train at all, but will increase the amount of time required for validation or inference by the number of test-time-augmented images requested. By default, fastai will use the unaugmented center crop image plus four randomly augmented images.\\n\",\n    \"\\n\",\n    \"You can pass any `DataLoader` to fastai's `tta` method; by default, it will use your validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.8737863898277283\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds,targs = learn.tta()\\n\",\n    \"accuracy(preds, targs).item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we can see, using TTA gives us good a boost in performance, with no additional training required. However, it does make inference slower—if you're averaging five images for TTA, inference will be five times slower.\\n\",\n    \"\\n\",\n    \"We've seen examples of how data augmentation helps train better models. Let's now focus on a new data augmentation technique called *Mixup*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Mixup\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Mixup, introduced in the 2017 paper [\\\"*mixup*: Beyond Empirical Risk Minimization\\\"](https://arxiv.org/abs/1710.09412) by Hongyi Zhang et al., is a very powerful data augmentation technique that can provide dramatically higher accuracy, especially when you don't have much data and don't have a pretrained model that was trained on data similar to your dataset. The paper explains: \\\"While data augmentation consistently leads to improved generalization, the procedure is dataset-dependent, and thus requires the use of expert knowledge.\\\" For instance, it's common to flip images as part of data augmentation, but should you flip only horizontally, or also vertically? The answer is that it depends on your dataset. In addition, if flipping (for instance) doesn't provide enough data augmentation for you, you can't \\\"flip more.\\\" It's helpful to have data augmentation techniques where you can \\\"dial up\\\" or \\\"dial down\\\" the amount of change, to see what works best for you.\\n\",\n    \"\\n\",\n    \"Mixup works as follows, for each image:\\n\",\n    \"\\n\",\n    \"1. Select another image from your dataset at random.\\n\",\n    \"1. Pick a weight at random.\\n\",\n    \"1. Take a weighted average (using the weight from step 2) of the selected image with your image; this will be your independent variable.\\n\",\n    \"1. Take a weighted average (with the same weight) of this image's labels with your image's labels; this will be your dependent variable.\\n\",\n    \"\\n\",\n    \"In pseudocode, we're doing this (where `t` is the weight for our weighted average):\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"image2,target2 = dataset[randint(0,len(dataset)]\\n\",\n    \"t = random_float(0.5,1.0)\\n\",\n    \"new_image = t * image1 + (1-t) * image2\\n\",\n    \"new_target = t * target1 + (1-t) * target2\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"For this to work, our targets need to be one-hot encoded. The paper describes this using the equations shown in <<mixup>> where $\\\\lambda$ is the same as `t` in our pseudocode:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/att_00063.png\\\" caption=\\\"An excerpt from the Mixup paper\\\" alt=\\\"An excerpt from the Mixup paper\\\" width=\\\"700\\\" id=\\\"mixup\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Papers and Math\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're going to be looking at more and more research papers from here on in the book. Now that you have the basic jargon, you might be surprised to discover how much of them you can understand, with a little practice! One issue you'll notice is that Greek letters, such as $\\\\lambda$, appear in most papers. It's a very good idea to learn the names of all the Greek letters, since otherwise it's very hard to read the papers to yourself, and remember them (or to read code based on them, since code often uses the names of the Greek letters spelled out, such as `lambda`).\\n\",\n    \"\\n\",\n    \"The bigger issue with papers is that they use math, instead of code, to explain what's going on. If you don't have much of a math background, this will likely be intimidating and confusing at first. But remember: what is being shown in the math, is something that will be implemented in code. It's just another way of talking about the same thing! After reading a few papers, you'll pick up more and more of the notation. If you don't know what a symbol is, try looking it up in Wikipedia's [list of mathematical symbols](https://en.wikipedia.org/wiki/List_of_mathematical_symbols) or drawing it in [Detexify](http://detexify.kirelabs.org/classify.html), which (using machine learning!) will find the name of your hand-drawn symbol. Then you can search online for that name to find out what it's for.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<<mixup_example>> shows what it looks like when we take a *linear combination* of images, as done in Mixup.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x288 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id mixup_example\\n\",\n    \"#caption Mixing a church and a gas station\\n\",\n    \"#alt An image of a church, a gas station and the two mixed up.\\n\",\n    \"church = PILImage.create(get_image_files_sorted(path/'train'/'n03028079')[0])\\n\",\n    \"gas = PILImage.create(get_image_files_sorted(path/'train'/'n03425413')[0])\\n\",\n    \"church = church.resize((256,256))\\n\",\n    \"gas = gas.resize((256,256))\\n\",\n    \"tchurch = tensor(church).float() / 255.\\n\",\n    \"tgas = tensor(gas).float() / 255.\\n\",\n    \"\\n\",\n    \"_,axs = plt.subplots(1, 3, figsize=(12,4))\\n\",\n    \"show_image(tchurch, ax=axs[0]);\\n\",\n    \"show_image(tgas, ax=axs[1]);\\n\",\n    \"show_image((0.3*tchurch + 0.7*tgas), ax=axs[2]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The third image is built by adding 0.3 times the first one and 0.7 times the second. In this example, should the model predict \\\"church\\\" or \\\"gas station\\\"? The right answer is 30% church and 70% gas station, since that's what we'll get if we take the linear combination of the one-hot-encoded targets. For instance, suppose we have 10 classes and \\\"church\\\" is represented by the index 2 and \\\"gas station\\\" is represented by the index 7, the one-hot-encoded representations are:\\n\",\n    \"```\\n\",\n    \"[0, 0, 1, 0, 0, 0, 0, 0, 0, 0] and [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]\\n\",\n    \"```\\n\",\n    \"so our final target is:\\n\",\n    \"```\\n\",\n    \"[0, 0, 0.3, 0, 0, 0, 0, 0.7, 0, 0]\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This all done for us inside fastai by adding a *callback* to our `Learner`. `Callback`s are what is used inside fastai to inject custom behavior in the training loop (like a learning rate schedule, or training in mixed precision). We'll be learning all about callbacks, including how to make your own, in <<chapter_accel_sgd>>. For now, all you need to know is that you use the `cbs` parameter to `Learner` to pass callbacks.\\n\",\n    \"\\n\",\n    \"Here is how we train a model with Mixup:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy, cbs=MixUp())\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What happens when we train a model with data that's \\\"mixed up\\\" in this way? Clearly, it's going to be harder to train, because it's harder to see what's in each image. And the model has to predict two labels per image, rather than just one, as well as figuring out how much each one is weighted. Overfitting seems less likely to be a problem, however, because we're not showing the same image in each epoch, but are instead showing a random combination of two images.\\n\",\n    \"\\n\",\n    \"Mixup requires far more epochs to train to get better accuracy, compared to other augmentation approaches we've seen. You can try training Imagenette with and without Mixup by using the *examples/train_imagenette.py* script in the [fastai repo](https://github.com/fastai/fastai). At the time of writing, the leaderboard in the [Imagenette repo](https://github.com/fastai/imagenette/) is showing that Mixup is used for all leading results for trainings of >80 epochs, and for fewer epochs Mixup is not being used. This is in line with our experience of using Mixup too.\\n\",\n    \"\\n\",\n    \"One of the reasons that Mixup is so exciting is that it can be applied to types of data other than photos. In fact, some people have even shown good results by using Mixup on activations *inside* their models, not just on inputs—this allows Mixup to be used for NLP and other data types too.\\n\",\n    \"\\n\",\n    \"There's another subtle issue that Mixup deals with for us, which is that it's not actually possible with the models we've seen before for our loss to ever be perfect. The problem is that our labels are 1s and 0s, but the outputs of softmax and sigmoid can never equal 1 or 0. This means training our model pushes our activations ever closer to those values, such that the more epochs we do, the more extreme our activations become.\\n\",\n    \"\\n\",\n    \"With Mixup we no longer have that problem, because our labels will only be exactly 1 or 0 if we happen to \\\"mix\\\" with another image of the same class. The rest of the time our labels will be a linear combination, such as the 0.7 and 0.3 we got in the church and gas station example earlier.\\n\",\n    \"\\n\",\n    \"One issue with this, however, is that Mixup is \\\"accidentally\\\" making the labels bigger than 0, or smaller than 1. That is to say, we're not *explicitly* telling our model that we want to change the labels in this way. So, if we want to make the labels closer to, or further away from 0 and 1, we have to change the amount of Mixup—which also changes the amount of data augmentation, which might not be what we want. There is, however, a way to handle this more directly, which is to use *label smoothing*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Label Smoothing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the theoretical expression of loss, in classification problems, our targets are one-hot encoded (in practice we tend to avoid doing this to save memory, but what we compute is the same loss as if we had used one-hot encoding). That means the model is trained to return 0 for all categories but one, for which it is trained to return 1. Even 0.999 is not \\\"good enough\\\", the model will get gradients and learn to predict activations with even higher confidence. This encourages overfitting and gives you at inference time a model that is not going to give meaningful probabilities: it will always say 1 for the predicted category even if it's not too sure, just because it was trained this way.\\n\",\n    \"\\n\",\n    \"This can become very harmful if your data is not perfectly labeled. In the bear classifier we studied in <<chapter_production>>, we saw that some of the images were mislabeled, or contained two different kinds of bears. In general, your data will never be perfect. Even if the labels were manually produced by humans, they could make mistakes, or have differences of opinions on images that are harder to label.\\n\",\n    \"\\n\",\n    \"Instead, we could replace all our 1s with a number a bit less than 1, and our 0s by a number a bit more than 0, and then train. This is called *label smoothing*. By encouraging your model to be less confident, label smoothing will make your training more robust, even if there is mislabeled data. The result will be a model that generalizes better.\\n\",\n    \"\\n\",\n    \"This is how label smoothing works in practice: we start with one-hot-encoded labels, then replace all 0s with $\\\\frac{\\\\epsilon}{N}$ (that's the Greek letter *epsilon*, which is what was used in the [paper that introduced label smoothing](https://arxiv.org/abs/1512.00567) and is used in the fastai code), where $N$ is the number of classes and $\\\\epsilon$ is a parameter (usually 0.1, which would mean we are 10% unsure of our labels). Since we want the labels to add up to 1, replace the 1 by $1-\\\\epsilon + \\\\frac{\\\\epsilon}{N}$. This way, we don't encourage the model to predict something overconfidently. In our Imagenette example where we have 10 classes, the targets become something like (here for a target that corresponds to the index 3):\\n\",\n    \"```\\n\",\n    \"[0.01, 0.01, 0.01, 0.91, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01]\\n\",\n    \"```\\n\",\n    \"In practice, we don't want to one-hot encode the labels, and fortunately we won't need to (the one-hot encoding is just good to explain what label smoothing is and visualize it).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Label Smoothing, the Paper\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is how the reasoning behind label smoothing was explained in the paper by Christian Szegedy et al.:\\n\",\n    \"\\n\",\n    \"> : This maximum is not achievable for finite $z_k$ but is approached if $z_y\\\\gg z_k$ for all $k\\\\neq y$—that is, if the logit corresponding to the ground-truth label is much great than all other logits. This, however, can cause two problems. First, it may result in over-fitting: if the model learns to assign full probability to the ground-truth label for each training example, it is not guaranteed to generalize. Second, it encourages the differences between the largest logit and all others to become large, and this, combined with the bounded gradient $\\\\frac{\\\\partial\\\\ell}{\\\\partial z_k}$, reduces the ability of the model to adapt. Intuitively, this happens because the model becomes too confident about its predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's practice our paper-reading skills to try to interpret this. \\\"This maximum\\\" is refering to the previous part of the paragraph, which talked about the fact that 1 is the value of the label for the positive class. So it's not possible for any value (except infinity) to result in 1 after sigmoid or softmax. In a paper, you won't normally see \\\"any value\\\" written; instead it will get a symbol, which in this case is $z_k$. This shorthand is helpful in a paper, because it can be referred to again later and the reader will know what value is being discussed.\\n\",\n    \"\\n\",\n    \"Then it says \\\"if $z_y\\\\gg z_k$ for all $k\\\\neq y$.\\\" In this case, the paper immediately follows the math with an English description, which is handy because you can just read that. In the math, the $y$ is refering to the target ($y$ is defined earlier in the paper; sometimes it's hard to find where symbols are defined, but nearly all papers will define all their symbols somewhere), and $z_y$ is the activation corresponding to the target. So to get close to 1, this activation needs to be much higher than all the others for that prediction.\\n\",\n    \"\\n\",\n    \"Next, consider the statement \\\"if the model learns to assign full probability to the ground-truth label for each training example, it is not guaranteed to generalize.\\\" This is saying that making $z_y$ really big means we'll need large weights and large activations throughout our model. Large weights lead to \\\"bumpy\\\" functions, where a small change in input results in a big change to predictions. This is really bad for generalization, because it means just one pixel changing a bit could change our prediction entirely!\\n\",\n    \"\\n\",\n    \"Finally, we have \\\"it encourages the differences between the largest logit and all others to become large, and this, combined with the bounded gradient $\\\\frac{\\\\partial\\\\ell}{\\\\partial z_k}$, reduces the ability of the model to adapt.\\\" The gradient of cross-entropy, remember, is basically `output - target`. Both `output` and `target` are between 0 and 1, so the difference is between `-1` and `1`, which is why the paper says the gradient is \\\"bounded\\\" (it can't be infinite). Therefore our SGD steps are bounded too. \\\"Reduces the ability of the model to adapt\\\" means that it is hard for it to be updated in a transfer learning setting. This follows because the difference in loss due to incorrect predictions is unbounded, but we can only take a limited step each time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To use this in practice, we just have to change the loss function in our call to `Learner`:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=LabelSmoothingCrossEntropy(), \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Like with Mixup, you won't generally see significant improvements from label smoothing until you train more epochs. Try it yourself and see: how many epochs do you have to train before label smoothing shows an improvement?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You have now seen everything you need to train a state-of-the-art model in computer vision, whether from scratch or using transfer learning. Now all you have to do is experiment on your own problems! See if training longer with Mixup and/or label smoothing avoids overfitting and gives you better results. Try progressive resizing, and test time augmentation.\\n\",\n    \"\\n\",\n    \"Most importantly, remember that if your dataset is big, there is no point prototyping on the whole thing. Find a small subset that is representative of the whole, like we did with Imagenette, and experiment on it.\\n\",\n    \"\\n\",\n    \"In the next three chapters, we will look at the other applications directly supported by fastai: collaborative filtering, tabular modeling and working with text. We will go back to computer vision in the next section of the book, with a deep dive into convolutional neural networks in <<chapter_convolutions>>. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the difference between ImageNet and Imagenette? When is it better to experiment on one versus the other?\\n\",\n    \"1. What is normalization?\\n\",\n    \"1. Why didn't we have to care about normalization when using a pretrained model?\\n\",\n    \"1. What is progressive resizing?\\n\",\n    \"1. Implement progressive resizing in your own project. Did it help?\\n\",\n    \"1. What is test time augmentation? How do you use it in fastai?\\n\",\n    \"1. Is using TTA at inference slower or faster than regular inference? Why?\\n\",\n    \"1. What is Mixup? How do you use it in fastai?\\n\",\n    \"1. Why does Mixup prevent the model from being too confident?\\n\",\n    \"1. Why does training with Mixup for five epochs end up worse than training without Mixup?\\n\",\n    \"1. What is the idea behind label smoothing?\\n\",\n    \"1. What problems in your data can label smoothing help with?\\n\",\n    \"1. When using label smoothing with five categories, what is the target associated with the index 1?\\n\",\n    \"1. What is the first step to take when you want to prototype quick experiments on a new dataset?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\\n\",\n    \"\\n\",\n    \"1. Use the fastai documentation to build a function that crops an image to a square in each of the four corners, then implement a TTA method that averages the predictions on a center crop and those four crops. Did it help? Is it better than the TTA method of fastai?\\n\",\n    \"1. Find the Mixup paper on arXiv and read it. Pick one or two more recent articles introducing variants of Mixup and read them, then try to implement them on your problem.\\n\",\n    \"1. Find the script training Imagenette using Mixup and use it as an example to build a script for a long training on your own project. Execute it and see if it helps.\\n\",\n    \"1. Read the sidebar \\\"Label Smoothing, the Paper\\\", look at the relevant section of the original paper and see if you can follow it. Don't be afraid to ask for help!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "08_collab.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_collab]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Collaborative Filtering Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One very common problem to solve is when you have a number of users and a number of products, and you want to recommend which products are most likely to be useful for which users. There are many variations of this: for example, recommending movies (such as on Netflix), figuring out what to highlight for a user on a home page, deciding what stories to show in a social media feed, and so forth. There is a general solution to this problem, called *collaborative filtering*, which works like this: look at what products the current user has used or liked, find other users that have used or liked similar products, and then recommend other products that those users have used or liked.\\n\",\n    \"\\n\",\n    \"For example, on Netflix you may have watched lots of movies that are science fiction, full of action, and were made in the 1970s. Netflix may not know these particular properties of the films you have watched, but it will be able to see that other people that have watched the same movies that you watched also tended to watch other movies that are science fiction, full of action, and were made in the 1970s. In other words, to use this approach we don't necessarily need to know anything about the movies, except who like to watch them.\\n\",\n    \"\\n\",\n    \"There is actually a more general class of problems that this approach can solve, not necessarily involving users and products. Indeed, for collaborative filtering we more commonly refer to *items*, rather than *products*. Items could be links that people click on, diagnoses that are selected for patients, and so forth.\\n\",\n    \"\\n\",\n    \"The key foundational idea is that of *latent factors*. In the Netflix example, we started with the assumption that you like old, action-packed sci-fi movies. But you never actually told Netflix that you like these kinds of movies. And Netflix never actually needed to add columns to its movies table saying which movies are of these types. Still, there must be some underlying concept of sci-fi, action, and movie age, and these concepts must be relevant for at least some people's movie watching decisions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For this chapter we are going to work on this movie recommendation problem. We'll start by getting some data suitable for a collaborative filtering model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A First Look at the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We do not have access to Netflix's entire dataset of movie watching history, but there is a great dataset that we can use, called [MovieLens](https://grouplens.org/datasets/movielens/). This dataset contains tens of millions of movie rankings (a combination of a movie ID, a user ID, and a numeric rating), although we will just use a subset of 100,000 of them for our example. If you're interested, it would be a great learning project to try and replicate this approach on the full 25-million recommendation dataset, which you can get from their website.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The dataset is available through the usual fastai function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.collab import *\\n\",\n    \"from fastai.tabular.all import *\\n\",\n    \"path = untar_data(URLs.ML_100k)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"According to the *README*, the main table is in the file *u.data*. It is tab-separated and the columns are, respectively user, movie, rating, and timestamp. Since those names are not encoded, we need to indicate them when reading the file with Pandas. Here is a way to open this table and take a look:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>user</th>\\n\",\n       \"      <th>movie</th>\\n\",\n       \"      <th>rating</th>\\n\",\n       \"      <th>timestamp</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>196</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>881250949</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>186</td>\\n\",\n       \"      <td>302</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>891717742</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>22</td>\\n\",\n       \"      <td>377</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>878887116</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>244</td>\\n\",\n       \"      <td>51</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>880606923</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>166</td>\\n\",\n       \"      <td>346</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>886397596</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   user  movie  rating  timestamp\\n\",\n       \"0   196    242       3  881250949\\n\",\n       \"1   186    302       3  891717742\\n\",\n       \"2    22    377       1  878887116\\n\",\n       \"3   244     51       2  880606923\\n\",\n       \"4   166    346       1  886397596\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ratings = pd.read_csv(path/'u.data', delimiter='\\\\t', header=None,\\n\",\n    \"                      names=['user','movie','rating','timestamp'])\\n\",\n    \"ratings.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Although this has all the information we need, it is not a particularly helpful way for humans to look at this data. <<movie_xtab>> shows the same data cross-tabulated into a human-friendly table.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Crosstab of movies and users\\\" width=\\\"632\\\" caption=\\\"Crosstab of movies and users\\\" id=\\\"movie_xtab\\\" src=\\\"images/att_00040.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have selected just a few of the most popular movies, and users who watch the most movies, for this crosstab example. The empty cells in this table are the things that we would like our model to learn to fill in. Those are the places where a user has not reviewed the movie yet, presumably because they have not watched it. For each user, we would like to figure out which of those movies they might be most likely to enjoy.\\n\",\n    \"\\n\",\n    \"If we knew for each user to what degree they liked each important category that a movie might fall into, such as genre, age, preferred directors and actors, and so forth, and we knew the same information about each movie, then a simple way to fill in this table would be to multiply this information together for each movie and use a combination. For instance, assuming these factors range between -1 and +1, with positive numbers indicating stronger matches and negative numbers weaker ones, and the categories are science-fiction, action, and old movies, then we could represent the movie *The Last Skywalker* as:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"last_skywalker = np.array([0.98,0.9,-0.9])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here, for instance, we are scoring *very science-fiction* as 0.98, *very action* as 0.9, and *very not old* as -0.9. We could represent a user who likes modern sci-fi action movies as:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"user1 = np.array([0.9,0.8,-0.6])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and we can now calculate the match between this combination:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"2.1420000000000003\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(user1*last_skywalker).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we multiply two vectors together and add up the results, this is known as the *dot product*. It is used a lot in machine learning, and forms the basis of matrix multiplication. We will be looking a lot more at matrix multiplication and dot products in <<chapter_foundations>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: dot product: The mathematical operation of multiplying the elements of two vectors together, and then summing up the result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"On the other hand, we might represent the movie *Casablanca* as:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"casablanca = np.array([-0.99,-0.3,0.8])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The match between this combination is:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"-1.611\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(user1*casablanca).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we don't know what the latent factors actually are, and we don't know how to score them for each user and movie, we should learn them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Learning the Latent Factors\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There is surprisingly little difference between specifying the structure of a model, as we did in the last section, and learning one, since we can just use our general gradient descent approach.\\n\",\n    \"\\n\",\n    \"Step 1 of this approach is to randomly initialize some parameters. These parameters will be a set of latent factors for each user and movie. We will have to decide how many to use. We will discuss how to select this shortly, but for illustrative purposes let's use 5 for now. Because each user will have a set of these factors and each movie will have a set of these factors, we can show these randomly initialized values right next to the users and movies in our crosstab, and we can then fill in the dot products for each of these combinations in the middle. For example, <<xtab_latent>> shows what it looks like in Microsoft Excel, with the top-left cell formula displayed as an example.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Latent factors with crosstab\\\" width=\\\"900\\\" caption=\\\"Latent factors with crosstab\\\" id=\\\"xtab_latent\\\" src=\\\"images/att_00041.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Step 2 of this approach is to calculate our predictions. As we've discussed, we can do this by simply taking the dot product of each movie with each user. If, for instance, the first latent user factor represents how much the user likes action movies and the first latent movie factor represents if the movie has a lot of action or not, the product of those will be particularly high if either the user likes action movies and the movie has a lot of action in it or the user doesn't like action movies and the movie doesn't have any action in it. On the other hand, if we have a mismatch (a user loves action movies but the movie isn't an action film, or the user doesn't like action movies and it is one), the product will be very low.\\n\",\n    \"\\n\",\n    \"Step 3 is to calculate our loss. We can use any loss function that we wish; let's pick mean squared error for now, since that is one reasonable way to represent the accuracy of a prediction.\\n\",\n    \"\\n\",\n    \"That's all we need. With this in place, we can optimize our parameters (that is, the latent factors) using stochastic gradient descent, such as to minimize the loss. At each step, the stochastic gradient descent optimizer will calculate the match between each movie and each user using the dot product, and will compare it to the actual rating that each user gave to each movie. It will then calculate the derivative of this value and will step the weights by multiplying this by the learning rate. After doing this lots of times, the loss will get better and better, and the recommendations will also get better and better.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To use the usual `Learner.fit` function we will need to get our data into a `DataLoaders`, so let's focus on that now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating the DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When showing the data, we would rather see movie titles than their IDs. The table `u.item` contains the correspondence of IDs to titles:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>movie</th>\\n\",\n       \"      <th>title</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>Toy Story (1995)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>GoldenEye (1995)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>Four Rooms (1995)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>Get Shorty (1995)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>Copycat (1995)</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   movie              title\\n\",\n       \"0      1   Toy Story (1995)\\n\",\n       \"1      2   GoldenEye (1995)\\n\",\n       \"2      3  Four Rooms (1995)\\n\",\n       \"3      4  Get Shorty (1995)\\n\",\n       \"4      5     Copycat (1995)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"movies = pd.read_csv(path/'u.item',  delimiter='|', encoding='latin-1',\\n\",\n    \"                     usecols=(0,1), names=('movie','title'), header=None)\\n\",\n    \"movies.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can merge this with our `ratings` table to get the user ratings by title:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>user</th>\\n\",\n       \"      <th>movie</th>\\n\",\n       \"      <th>rating</th>\\n\",\n       \"      <th>timestamp</th>\\n\",\n       \"      <th>title</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>196</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>881250949</td>\\n\",\n       \"      <td>Kolya (1996)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>63</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>875747190</td>\\n\",\n       \"      <td>Kolya (1996)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>226</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>883888671</td>\\n\",\n       \"      <td>Kolya (1996)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>154</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>879138235</td>\\n\",\n       \"      <td>Kolya (1996)</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>306</td>\\n\",\n       \"      <td>242</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>876503793</td>\\n\",\n       \"      <td>Kolya (1996)</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   user  movie  rating  timestamp         title\\n\",\n       \"0   196    242       3  881250949  Kolya (1996)\\n\",\n       \"1    63    242       3  875747190  Kolya (1996)\\n\",\n       \"2   226    242       5  883888671  Kolya (1996)\\n\",\n       \"3   154    242       3  879138235  Kolya (1996)\\n\",\n       \"4   306    242       5  876503793  Kolya (1996)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ratings = ratings.merge(movies)\\n\",\n    \"ratings.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can then build a `DataLoaders` object from this table. By default, it takes the first column for the user, the second column for the item (here our movies), and the third column for the ratings. We need to change the value of `item_name` in our case to use the titles instead of the IDs:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>user</th>\\n\",\n       \"      <th>title</th>\\n\",\n       \"      <th>rating</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>542</td>\\n\",\n       \"      <td>My Left Foot (1989)</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>422</td>\\n\",\n       \"      <td>Event Horizon (1997)</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>311</td>\\n\",\n       \"      <td>African Queen, The (1951)</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>595</td>\\n\",\n       \"      <td>Face/Off (1997)</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>617</td>\\n\",\n       \"      <td>Evil Dead II (1987)</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>158</td>\\n\",\n       \"      <td>Jurassic Park (1993)</td>\\n\",\n       \"      <td>5</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>836</td>\\n\",\n       \"      <td>Chasing Amy (1997)</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>474</td>\\n\",\n       \"      <td>Emma (1996)</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>466</td>\\n\",\n       \"      <td>Jackie Chan's First Strike (1996)</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>554</td>\\n\",\n       \"      <td>Scream (1996)</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls = CollabDataLoaders.from_df(ratings, item_name='title', bs=64)\\n\",\n    \"dls.show_batch()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To represent collaborative filtering in PyTorch we can't just use the crosstab representation directly, especially if we want it to fit into our deep learning framework. We can represent our movie and user latent factor tables as simple matrices:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"{'user': (#944) ['#na#',1,2,3,4,5,6,7,8,9...],\\n\",\n       \" 'title': (#1635) ['#na#',\\\"'Til There Was You (1997)\\\",'1-900 (1994)','101 Dalmatians (1996)','12 Angry Men (1957)','187 (1997)','2 Days in the Valley (1996)','20,000 Leagues Under the Sea (1954)','2001: A Space Odyssey (1968)','3 Ninjas: High Noon At Mega Mountain (1998)'...]}\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dls.classes\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"n_users  = len(dls.classes['user'])\\n\",\n    \"n_movies = len(dls.classes['title'])\\n\",\n    \"n_factors = 5\\n\",\n    \"\\n\",\n    \"user_factors = torch.randn(n_users, n_factors)\\n\",\n    \"movie_factors = torch.randn(n_movies, n_factors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To calculate the result for a particular movie and user combination, we have to look up the index of the movie in our movie latent factor matrix and the index of the user in our user latent factor matrix; then we can do our dot product between the two latent factor vectors. But *look up in an index* is not an operation our deep learning models know how to do. They know how to do matrix products, and activation functions.\\n\",\n    \"\\n\",\n    \"Fortunately, it turns out that we can represent *look up in an index* as a matrix product. The trick is to replace our indices with one-hot-encoded vectors. Here is an example of what happens if we multiply a vector by a one-hot-encoded vector representing the index 3:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"one_hot_3 = one_hot(3, n_users).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.4586, -0.9915, -0.4052, -0.3621, -0.5908])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"user_factors.t() @ one_hot_3\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It gives us the same vector as the one at index 3 in the matrix:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([-0.4586, -0.9915, -0.4052, -0.3621, -0.5908])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"user_factors[3]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we do that for a few indices at once, we will have a matrix of one-hot-encoded vectors, and that operation will be a matrix multiplication! This would be a perfectly acceptable way to build models using this kind of architecture, except that it would use a lot more memory and time than necessary. We know that there is no real underlying reason to store the one-hot-encoded vector, or to search through it to find the occurrence of the number one—we should just be able to index into an array directly with an integer. Therefore, most deep learning libraries, including PyTorch, include a special layer that does just this; it indexes into a vector using an integer, but has its derivative calculated in such a way that it is identical to what it would have been if it had done a matrix multiplication with a one-hot-encoded vector. This is called an *embedding*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Embedding: Multiplying by a one-hot-encoded matrix, using the computational shortcut that it can be implemented by simply indexing directly. This is quite a fancy word for a very simple concept. The thing that you multiply the one-hot-encoded matrix by (or, using the computational shortcut, index into directly) is called the _embedding matrix_.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In computer vision, we have a very easy way to get all the information of a pixel through its RGB values: each pixel in a colored image is represented by three numbers. Those three numbers give us the redness, the greenness and the blueness, which is enough to get our model to work afterward.\\n\",\n    \"\\n\",\n    \"For the problem at hand, we don't have the same easy way to characterize a user or a movie. There are probably relations with genres: if a given user likes romance, they are likely to give higher scores to romance movies. Other factors might be whether the movie is more action-oriented versus heavy on dialogue, or the presence of a specific actor that a user might particularly like. \\n\",\n    \"\\n\",\n    \"How do we determine numbers to characterize those? The answer is, we don't. We will let our model *learn* them. By analyzing the existing relations between users and movies, our model can figure out itself the features that seem important or not.\\n\",\n    \"\\n\",\n    \"This is what embeddings are. We will attribute to each of our users and each of our movies a random vector of a certain length (here, `n_factors=5`), and we will make those learnable parameters. That means that at each step, when we compute the loss by comparing our predictions to our targets, we will compute the gradients of the loss with respect to those embedding vectors and update them with the rules of SGD (or another optimizer).\\n\",\n    \"\\n\",\n    \"At the beginning, those numbers don't mean anything since we have chosen them randomly, but by the end of training, they will. By learning on existing data about the relations between users and movies, without having any other information, we will see that they still get some important features, and can isolate blockbusters from independent cinema, action movies from romance, and so on.\\n\",\n    \"\\n\",\n    \"We are now in a position that we can create our whole model from scratch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Collaborative Filtering from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before we can write a model in PyTorch, we first need to learn the basics of object-oriented programming and Python. If you haven't done any object-oriented programming before, we will give you a quick introduction here, but we would recommend looking up a tutorial and getting some practice before moving on.\\n\",\n    \"\\n\",\n    \"The key idea in object-oriented programming is the *class*. We have been using classes throughout this book, such as `DataLoader`, `string`, and `Learner`. Python also makes it easy for us to create new classes. Here is an example of a simple class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Example:\\n\",\n    \"    def __init__(self, a): self.a = a\\n\",\n    \"    def say(self,x): return f'Hello {self.a}, {x}.'\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The most important piece of this is the special method called `__init__` (pronounced *dunder init*). In Python, any method surrounded in double underscores like this is considered special. It indicates that there is some extra behavior associated with this method name. In the case of `__init__`, this is the method Python will call when your new object is created. So, this is where you can set up any state that needs to be initialized upon object creation. Any parameters included when the user constructs an instance of your class will be passed to the `__init__` method as parameters. Note that the first parameter to any method defined inside a class is `self`, so you can use this to set and get any attributes that you will need:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'Hello Sylvain, nice to meet you.'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ex = Example('Sylvain')\\n\",\n    \"ex.say('nice to meet you')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Also note that creating a new PyTorch module requires inheriting from `Module`. *Inheritance* is an important object-oriented concept that we will not discuss in detail here—in short, it means that we can add additional behavior to an existing class. PyTorch already provides a `Module` class, which provides some basic foundations that we want to build on. So, we add the name of this *superclass* after the name of the class that we are defining, as shown in the following example.\\n\",\n    \"\\n\",\n    \"The final thing that you need to know to create a new PyTorch module is that when your module is called, PyTorch will call a method in your class called `forward`, and will pass along to that any parameters that are included in the call. Here is the class defining our dot product model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProduct(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        return (users * movies).sum(dim=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you haven't seen object-oriented programming before, then don't worry, you won't need to use it much in this book. We are just mentioning this approach here, because most online tutorials and documentation will use the object-oriented syntax.\\n\",\n    \"\\n\",\n    \"Note that the input of the model is a tensor of shape `batch_size x 2`, where the first column (`x[:, 0]`) contains the user IDs and the second column (`x[:, 1]`) contains the movie IDs. As explained before, we use the *embedding* layers to represent our matrices of user and movie latent factors:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 2])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have defined our architecture, and created our parameter matrices, we need to create a `Learner` to optimize our model. In the past we have used special functions, such as `vision_learner`, which set up everything for us for a particular application. Since we are doing things from scratch here, we will use the plain `Learner` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProduct(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are now ready to fit our model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.993168</td>\\n\",\n       \"      <td>0.990168</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.884821</td>\\n\",\n       \"      <td>0.911269</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.671865</td>\\n\",\n       \"      <td>0.875679</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.471727</td>\\n\",\n       \"      <td>0.878200</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.361314</td>\\n\",\n       \"      <td>0.884209</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first thing we can do to make this model a little bit better is to force those predictions to be between 0 and 5. For this, we just need to use `sigmoid_range`, like in <<chapter_multicat>>. One thing we discovered empirically is that it's better to have the range go a little bit over 5, so we use `(0, 5.5)`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProduct(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        return sigmoid_range((users * movies).sum(dim=1), *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.973745</td>\\n\",\n       \"      <td>0.993206</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.869132</td>\\n\",\n       \"      <td>0.914323</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.676553</td>\\n\",\n       \"      <td>0.870192</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.485377</td>\\n\",\n       \"      <td>0.873865</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.377866</td>\\n\",\n       \"      <td>0.877610</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = DotProduct(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is a reasonable start, but we can do better. One obvious missing piece is that some users are just more positive or negative in their recommendations than others, and some movies are just plain better or worse than others. But in our dot product representation we do not have any way to encode either of these things. If all you can say about a movie is, for instance, that it is very sci-fi, very action-oriented, and very not old, then you don't really have any way to say whether most people like it. \\n\",\n    \"\\n\",\n    \"That's because at this point we only have weights; we do not have biases. If we have a single number for each user that we can add to our scores, and ditto for each movie, that will handle this missing piece very nicely. So first of all, let's adjust our model architecture:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProductBias(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.user_bias = Embedding(n_users, 1)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        self.movie_bias = Embedding(n_movies, 1)\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        res = (users * movies).sum(dim=1, keepdim=True)\\n\",\n    \"        res += self.user_bias(x[:,0]) + self.movie_bias(x[:,1])\\n\",\n    \"        return sigmoid_range(res, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try training this and see how it goes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.929161</td>\\n\",\n       \"      <td>0.936303</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.820444</td>\\n\",\n       \"      <td>0.861306</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.621612</td>\\n\",\n       \"      <td>0.865306</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.404648</td>\\n\",\n       \"      <td>0.886448</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.292948</td>\\n\",\n       \"      <td>0.892580</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Instead of being better, it ends up being worse (at least at the end of training). Why is that? If we look at both trainings carefully, we can see the validation loss stopped improving in the middle and started to get worse. As we've seen, this is a clear indication of overfitting. In this case, there is no way to use data augmentation, so we will have to use another regularization technique. One approach that can be helpful is *weight decay*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Weight Decay\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Weight decay, or *L2 regularization*, consists in adding to your loss function the sum of all the weights squared. Why do that? Because when we compute the gradients, it will add a contribution to them that will encourage the weights to be as small as possible.\\n\",\n    \"\\n\",\n    \"Why would it prevent overfitting? The idea is that the larger the coefficients are, the sharper canyons we will have in the loss function. If we take the basic example of a parabola, `y = a * (x**2)`, the larger `a` is, the more *narrow* the parabola is (<<parabolas>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 576x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id parabolas\\n\",\n    \"x = np.linspace(-2,2,100)\\n\",\n    \"a_s = [1,2,5,10,50] \\n\",\n    \"ys = [a * x**2 for a in a_s]\\n\",\n    \"_,ax = plt.subplots(figsize=(8,6))\\n\",\n    \"for a,y in zip(a_s,ys): ax.plot(x,y, label=f'a={a}')\\n\",\n    \"ax.set_ylim([0,5])\\n\",\n    \"ax.legend();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, letting our model learn high parameters might cause it to fit all the data points in the training set with an overcomplex function that has very sharp changes, which will lead to overfitting.\\n\",\n    \"\\n\",\n    \"Limiting our weights from growing too much is going to hinder the training of the model, but it will yield a state where it generalizes better. Going back to the theory briefly, weight decay (or just `wd`) is a parameter that controls that sum of squares we add to our loss (assuming `parameters` is a tensor of all parameters):\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"loss_with_wd = loss + wd * (parameters**2).sum()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"In practice, though, it would be very inefficient (and maybe numerically unstable) to compute that big sum and add it to the loss. If you remember a little bit of high school math, you might recall that the derivative of `p**2` with respect to `p` is `2*p`, so adding that big sum to our loss is exactly the same as doing:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"parameters.grad += wd * 2 * parameters\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"In practice, since `wd` is a parameter that we choose, we can just make it twice as big, so we don't even need the `*2` in this equation. To use weight decay in fastai, just pass `wd` in your call to `fit` or `fit_one_cycle`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.972090</td>\\n\",\n       \"      <td>0.962366</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.875591</td>\\n\",\n       \"      <td>0.885106</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.723798</td>\\n\",\n       \"      <td>0.839880</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.586002</td>\\n\",\n       \"      <td>0.823225</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.490980</td>\\n\",\n       \"      <td>0.823060</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Much better!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating Our Own Embedding Module\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So far, we've used `Embedding` without thinking about how it really works. Let's re-create `DotProductBias` *without* using this class. We'll need a randomly initialized weight matrix for each of the embeddings. We have to be careful, however. Recall from <<chapter_mnist_basics>> that optimizers require that they can get all the parameters of a module from the module's `parameters` method. However, this does not happen fully automatically. If we just add a tensor as an attribute to a `Module`, it will not be included in `parameters`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#0) []\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = torch.ones(3)\\n\",\n    \"\\n\",\n    \"L(T().parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To tell `Module` that we want to treat a tensor as a parameter, we have to wrap it in the `nn.Parameter` class. This class doesn't actually add any functionality (other than automatically calling `requires_grad_` for us). It's only used as a \\\"marker\\\" to show what to include in `parameters`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#1) [Parameter containing:\\n\",\n       \"tensor([1., 1., 1.], requires_grad=True)]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = nn.Parameter(torch.ones(3))\\n\",\n    \"\\n\",\n    \"L(T().parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All PyTorch modules use `nn.Parameter` for any trainable parameters, which is why we haven't needed to explicitly use this wrapper up until now:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#1) [Parameter containing:\\n\",\n       \"tensor([[-0.9595],\\n\",\n       \"        [-0.8490],\\n\",\n       \"        [ 0.8159]], requires_grad=True)]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = nn.Linear(1, 3, bias=False)\\n\",\n    \"\\n\",\n    \"t = T()\\n\",\n    \"L(t.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.nn.parameter.Parameter\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"type(t.a.weight)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create a tensor as a parameter, with random initialization, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def create_params(size):\\n\",\n    \"    return nn.Parameter(torch.zeros(*size).normal_(0, 0.01))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's use this to create `DotProductBias` again, but without `Embedding`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProductBias(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = create_params([n_users, n_factors])\\n\",\n    \"        self.user_bias = create_params([n_users])\\n\",\n    \"        self.movie_factors = create_params([n_movies, n_factors])\\n\",\n    \"        self.movie_bias = create_params([n_movies])\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors[x[:,0]]\\n\",\n    \"        movies = self.movie_factors[x[:,1]]\\n\",\n    \"        res = (users*movies).sum(dim=1)\\n\",\n    \"        res += self.user_bias[x[:,0]] + self.movie_bias[x[:,1]]\\n\",\n    \"        return sigmoid_range(res, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then let's train it again to check we get around the same results we saw in the previous section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.962146</td>\\n\",\n       \"      <td>0.936952</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.858084</td>\\n\",\n       \"      <td>0.884951</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.740883</td>\\n\",\n       \"      <td>0.838549</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.592497</td>\\n\",\n       \"      <td>0.823599</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.473570</td>\\n\",\n       \"      <td>0.824263</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now, let's take a look at what our model has learned.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Interpreting Embeddings and Biases\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our model is already useful, in that it can provide us with movie recommendations for our users—but it is also interesting to see what parameters it has discovered. The easiest to interpret are the biases. Here are the movies with the lowest values in the bias vector:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['Children of the Corn: The Gathering (1996)',\\n\",\n       \" 'Lawnmower Man 2: Beyond Cyberspace (1996)',\\n\",\n       \" 'Beautician and the Beast, The (1997)',\\n\",\n       \" 'Crow: City of Angels, The (1996)',\\n\",\n       \" 'Home Alone 3 (1997)']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"movie_bias = learn.model.movie_bias.squeeze()\\n\",\n    \"idxs = movie_bias.argsort()[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Think about what this means. What it's saying is that for each of these movies, even when a user is very well matched to its latent factors (which, as we will see in a moment, tend to represent things like level of action, age of movie, and so forth), they still generally don't like it. We could have simply sorted the movies directly by their average rating, but looking at the learned bias tells us something much more interesting. It tells us not just whether a movie is of a kind that people tend not to enjoy watching, but that people tend not to like watching it even if it is of a kind that they would otherwise enjoy! By the same token, here are the movies with the highest bias:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['L.A. Confidential (1997)',\\n\",\n       \" 'Titanic (1997)',\\n\",\n       \" 'Silence of the Lambs, The (1991)',\\n\",\n       \" 'Shawshank Redemption, The (1994)',\\n\",\n       \" 'Star Wars (1977)']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"idxs = movie_bias.argsort(descending=True)[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, for instance, even if you don't normally enjoy detective movies, you might enjoy *LA Confidential*!\\n\",\n    \"\\n\",\n    \"It is not quite so easy to directly interpret the embedding matrices. There are just too many factors for a human to look at. But there is a technique that can pull out the most important underlying *directions* in such a matrix, called *principal component analysis* (PCA). We will not be going into this in detail in this book, because it is not particularly important for you to understand to be a deep learning practitioner, but if you are interested then we suggest you check out the fast.ai course [Computational Linear Algebra for Coders](https://github.com/fastai/numerical-linear-algebra). <<img_pca_movie>> shows what our movies look like based on two of the strongest PCA components.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x864 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id img_pca_movie\\n\",\n    \"#caption Representation of movies based on two strongest PCA components\\n\",\n    \"#alt Representation of movies based on two strongest PCA components\\n\",\n    \"g = ratings.groupby('title')['rating'].count()\\n\",\n    \"top_movies = g.sort_values(ascending=False).index.values[:1000]\\n\",\n    \"top_idxs = tensor([learn.dls.classes['title'].o2i[m] for m in top_movies])\\n\",\n    \"movie_w = learn.model.movie_factors[top_idxs].cpu().detach()\\n\",\n    \"movie_pca = movie_w.pca(3)\\n\",\n    \"fac0,fac1,fac2 = movie_pca.t()\\n\",\n    \"idxs = list(range(50))\\n\",\n    \"X = fac0[idxs]\\n\",\n    \"Y = fac2[idxs]\\n\",\n    \"plt.figure(figsize=(12,12))\\n\",\n    \"plt.scatter(X, Y)\\n\",\n    \"for i, x, y in zip(top_movies[idxs], X, Y):\\n\",\n    \"    plt.text(x,y,i, color=np.random.rand(3)*0.7, fontsize=11)\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see here that the model seems to have discovered a concept of *classic* versus *pop culture* movies, or perhaps it is *critically acclaimed* that is represented here.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: No matter how many models I train, I never stop getting moved and surprised by how these randomly initialized bunches of numbers, trained with such simple mechanics, manage to discover things about my data all by themselves. It almost seems like cheating, that I can create code that does useful things without ever actually telling it how to do those things!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We defined our model from scratch to teach you what is inside, but you can directly use the fastai library to build it. We'll look at how to do that next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using fastai.collab\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create and train a collaborative filtering model using the exact structure shown earlier by using fastai's `collab_learner`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = collab_learner(dls, n_factors=50, y_range=(0, 5.5))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.931751</td>\\n\",\n       \"      <td>0.953806</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.851826</td>\\n\",\n       \"      <td>0.878119</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.715254</td>\\n\",\n       \"      <td>0.834711</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.583173</td>\\n\",\n       \"      <td>0.821470</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.496625</td>\\n\",\n       \"      <td>0.821688</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The names of the layers can be seen by printing the model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"EmbeddingDotBias(\\n\",\n       \"  (u_weight): Embedding(944, 50)\\n\",\n       \"  (i_weight): Embedding(1635, 50)\\n\",\n       \"  (u_bias): Embedding(944, 1)\\n\",\n       \"  (i_bias): Embedding(1635, 1)\\n\",\n       \")\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use these to replicate any of the analyses we did in the previous section—for instance:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['Titanic (1997)',\\n\",\n       \" \\\"Schindler's List (1993)\\\",\\n\",\n       \" 'Shawshank Redemption, The (1994)',\\n\",\n       \" 'L.A. Confidential (1997)',\\n\",\n       \" 'Silence of the Lambs, The (1991)']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"movie_bias = learn.model.i_bias.weight.squeeze()\\n\",\n    \"idxs = movie_bias.argsort(descending=True)[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another interesting thing we can do with these learned embeddings is to look at _distance_.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Embedding Distance\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"On a two-dimensional map we can calculate the distance between two coordinates using the formula of Pythagoras: $\\\\sqrt{x^{2}+y^{2}}$ (assuming that *x* and *y* are the distances between the coordinates on each axis). For a 50-dimensional embedding we can do exactly the same thing, except that we add up the squares of all 50 of the coordinate distances.\\n\",\n    \"\\n\",\n    \"If there were two movies that were nearly identical, then their embedding vectors would also have to be nearly identical, because the users that would like them would be nearly exactly the same. There is a more general idea here: movie similarity can be defined by the similarity of users that like those movies. And that directly means that the distance between two movies' embedding vectors can define that similarity. We can use this to find the most similar movie to *Silence of the Lambs*:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'Dial M for Murder (1954)'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"movie_factors = learn.model.i_weight.weight\\n\",\n    \"idx = dls.classes['title'].o2i['Silence of the Lambs, The (1991)']\\n\",\n    \"distances = nn.CosineSimilarity(dim=1)(movie_factors, movie_factors[idx][None])\\n\",\n    \"idx = distances.argsort(descending=True)[1]\\n\",\n    \"dls.classes['title'][idx]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have succesfully trained a model, let's see how to deal with the situation where we have no data for a user. How can we make recommendations to new users?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Bootstrapping a Collaborative Filtering Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The biggest challenge with using collaborative filtering models in practice is the *bootstrapping problem*. The most extreme version of this problem is when you have no users, and therefore no history to learn from. What products do you recommend to your very first user?\\n\",\n    \"\\n\",\n    \"But even if you are a well-established company with a long history of user transactions, you still have the question: what do you do when a new user signs up? And indeed, what do you do when you add a new product to your portfolio? There is no magic solution to this problem, and really the solutions that we suggest are just variations of *use your common sense*. You could assign new users the mean of all of the embedding vectors of your other users, but this has the problem that that particular combination of latent factors may be not at all common (for instance, the average for the science-fiction factor may be high, and the average for the action factor may be low, but it is not that common to find people who like science-fiction without action). Better would probably be to pick some particular user to represent *average taste*.\\n\",\n    \"\\n\",\n    \"Better still is to use a tabular model based on user meta data to construct your initial embedding vector. When a user signs up, think about what questions you could ask them that could help you to understand their tastes. Then you can create a model where the dependent variable is a user's embedding vector, and the independent variables are the results of the questions that you ask them, along with their signup metadata. We will see in the next section how to create these kinds of tabular models. (You may have noticed that when you sign up for services such as Pandora and Netflix, they tend to ask you a few questions about what genres of movie or music you like; this is how they come up with your initial collaborative filtering recommendations.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One thing to be careful of is that a small number of extremely enthusiastic users may end up effectively setting the recommendations for your whole user base. This is a very common problem, for instance, in movie recommendation systems. People that watch anime tend to watch a whole lot of it, and don't watch very much else, and spend a lot of time putting their ratings on websites. As a result, anime tends to be heavily overrepresented in a lot of *best ever movies* lists. In this particular case, it can be fairly obvious that you have a problem of representation bias, but if the bias is occurring in the latent factors then it may not be obvious at all.\\n\",\n    \"\\n\",\n    \"Such a problem can change the entire makeup of your user base, and the behavior of your system. This is particularly true because of positive feedback loops. If a small number of your users tend to set the direction of your recommendation system, then they are naturally going to end up attracting more people like them to your system. And that will, of course, amplify the original representation bias. This type of bias has a natural tendency to be amplified exponentially. You may have seen examples of company executives expressing surprise at how their online platforms rapidly deteriorated in such a way that they expressed values at odds with the values of the founders. In the presence of these kinds of feedback loops, it is easy to see how such a divergence can happen both quickly and in a way that is hidden until it is too late.\\n\",\n    \"\\n\",\n    \"In a self-reinforcing system like this, we should probably expect these kinds of feedback loops to be the norm, not the exception. Therefore, you should assume that you will see them, plan for that, and identify up front how you will deal with these issues. Try to think about all of the ways in which feedback loops may be represented in your system, and how you might be able to identify them in your data. In the end, this is coming back to our original advice about how to avoid disaster when rolling out any kind of machine learning system. It's all about ensuring that there are humans in the loop; that there is careful monitoring, and a gradual and thoughtful rollout.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our dot product model works quite well, and it is the basis of many successful real-world recommendation systems. This approach to collaborative filtering is known as *probabilistic matrix factorization* (PMF). Another approach, which generally works similarly well given the same data, is deep learning.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning for Collaborative Filtering\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To turn our architecture into a deep learning model, the first step is to take the results of the embedding lookup and concatenate those activations together. This gives us a matrix which we can then pass through linear layers and nonlinearities in the usual way.\\n\",\n    \"\\n\",\n    \"Since we'll be concatenating the embeddings, rather than taking their dot product, the two embedding matrices can have different sizes (i.e., different numbers of latent factors). fastai has a function `get_emb_sz` that returns recommended sizes for embedding matrices for your data, based on a heuristic that fast.ai has found tends to work well in practice:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[(944, 74), (1635, 101)]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"embs = get_emb_sz(dls)\\n\",\n    \"embs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's implement this class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class CollabNN(Module):\\n\",\n    \"    def __init__(self, user_sz, item_sz, y_range=(0,5.5), n_act=100):\\n\",\n    \"        self.user_factors = Embedding(*user_sz)\\n\",\n    \"        self.item_factors = Embedding(*item_sz)\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(user_sz[1]+item_sz[1], n_act),\\n\",\n    \"            nn.ReLU(),\\n\",\n    \"            nn.Linear(n_act, 1))\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        embs = self.user_factors(x[:,0]),self.item_factors(x[:,1])\\n\",\n    \"        x = self.layers(torch.cat(embs, dim=1))\\n\",\n    \"        return sigmoid_range(x, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And use it to create a model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = CollabNN(*embs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`CollabNN` creates our `Embedding` layers in the same way as previous classes in this chapter, except that we now use the `embs` sizes. `self.layers` is identical to the mini-neural net we created in <<chapter_mnist_basics>> for MNIST. Then, in `forward`, we apply the embeddings, concatenate the results, and pass this through the mini-neural net. Finally, we apply `sigmoid_range` as we have in previous models.\\n\",\n    \"\\n\",\n    \"Let's see if it trains:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.940104</td>\\n\",\n       \"      <td>0.959786</td>\\n\",\n       \"      <td>00:15</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.893943</td>\\n\",\n       \"      <td>0.905222</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.865591</td>\\n\",\n       \"      <td>0.875238</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.800177</td>\\n\",\n       \"      <td>0.867468</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.760255</td>\\n\",\n       \"      <td>0.867455</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.01)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai provides this model in `fastai.collab` if you pass `use_nn=True` in your call to `collab_learner` (including calling `get_emb_sz` for you), and it lets you easily create more layers. For instance, here we're creating two hidden layers, of size 100 and 50, respectively:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.002747</td>\\n\",\n       \"      <td>0.972392</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.926903</td>\\n\",\n       \"      <td>0.922348</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.877160</td>\\n\",\n       \"      <td>0.893401</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.838334</td>\\n\",\n       \"      <td>0.865040</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.781666</td>\\n\",\n       \"      <td>0.864936</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = collab_learner(dls, use_nn=True, y_range=(0, 5.5), layers=[100,50])\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`learn.model` is an object of type `EmbeddingNN`. Let's take a look at fastai's code for this class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"@delegates(TabularModel)\\n\",\n    \"class EmbeddingNN(TabularModel):\\n\",\n    \"    def __init__(self, emb_szs, layers, **kwargs):\\n\",\n    \"        super().__init__(emb_szs, layers=layers, n_cont=0, out_sz=1, **kwargs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Wow, that's not a lot of code! This class *inherits* from `TabularModel`, which is where it gets all its functionality from. In `__init__` it calls the same method in `TabularModel`, passing `n_cont=0` and `out_sz=1`; other than that, it only passes along whatever arguments it received.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: kwargs and Delegates\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`EmbeddingNN` includes `**kwargs` as a parameter to `__init__`. In Python `**kwargs` in a parameter list means \\\"put any additional keyword arguments into a dict called `kwargs`. And `**kwargs` in an argument list means \\\"insert all key/value pairs in the `kwargs` dict as named arguments here\\\". This approach is used in many popular libraries, such as `matplotlib`, in which the main `plot` function simply has the signature `plot(*args, **kwargs)`. The [`plot` documentation](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) says \\\"The `kwargs` are `Line2D` properties\\\" and then lists those properties.\\n\",\n    \"\\n\",\n    \"We're using `**kwargs` in `EmbeddingNN` to avoid having to write all the arguments to `TabularModel` a second time, and keep them in sync. However, this makes our API quite difficult to work with, because now Jupyter Notebook doesn't know what parameters are available. Consequently things like tab completion of parameter names and pop-up lists of signatures won't work.\\n\",\n    \"\\n\",\n    \"fastai resolves this by providing a special `@delegates` decorator, which automatically changes the signature of the class or function (`EmbeddingNN` in this case) to insert all of its keyword arguments into the signature.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Although the results of `EmbeddingNN` are a bit worse than the dot product approach (which shows the power of carefully constructing an architecture for a domain), it does allow us to do something very important: we can now directly incorporate other user and movie information, date and time information, or any other information that may be relevant to the recommendation. That's exactly what `TabularModel` does. In fact, we've now seen that `EmbeddingNN` is just a `TabularModel`, with `n_cont=0` and `out_sz=1`. So, we'd better spend some time learning about `TabularModel`, and how to use it to get great results! We'll do that in the next chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For our first non-computer vision application, we looked at recommendation systems and saw how gradient descent can learn intrinsic factors or biases about items from a history of ratings. Those can then give us information about the data. \\n\",\n    \"\\n\",\n    \"We also built our first model in PyTorch. We will do a lot more of this in the next section of the book, but first, let's finish our dive into the other general applications of deep learning, continuing with tabular data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What problem does collaborative filtering solve?\\n\",\n    \"1. How does it solve it?\\n\",\n    \"1. Why might a collaborative filtering predictive model fail to be a very useful recommendation system?\\n\",\n    \"1. What does a crosstab representation of collaborative filtering data look like?\\n\",\n    \"1. Write the code to create a crosstab representation of the MovieLens data (you might need to do some web searching!).\\n\",\n    \"1. What is a latent factor? Why is it \\\"latent\\\"?\\n\",\n    \"1. What is a dot product? Calculate a dot product manually using pure Python with lists.\\n\",\n    \"1. What does `pandas.DataFrame.merge` do?\\n\",\n    \"1. What is an embedding matrix?\\n\",\n    \"1. What is the relationship between an embedding and a matrix of one-hot-encoded vectors?\\n\",\n    \"1. Why do we need `Embedding` if we could use one-hot-encoded vectors for the same thing?\\n\",\n    \"1. What does an embedding contain before we start training (assuming we're not using a pretained model)?\\n\",\n    \"1. Create a class (without peeking, if possible!) and use it.\\n\",\n    \"1. What does `x[:,0]` return?\\n\",\n    \"1. Rewrite the `DotProduct` class (without peeking, if possible!) and train a model with it.\\n\",\n    \"1. What is a good loss function to use for MovieLens? Why? \\n\",\n    \"1. What would happen if we used cross-entropy loss with MovieLens? How would we need to change the model?\\n\",\n    \"1. What is the use of bias in a dot product model?\\n\",\n    \"1. What is another name for weight decay?\\n\",\n    \"1. Write the equation for weight decay (without peeking!).\\n\",\n    \"1. Write the equation for the gradient of weight decay. Why does it help reduce weights?\\n\",\n    \"1. Why does reducing weights lead to better generalization?\\n\",\n    \"1. What does `argsort` do in PyTorch?\\n\",\n    \"1. Does sorting the movie biases give the same result as averaging overall movie ratings by movie? Why/why not?\\n\",\n    \"1. How do you print the names and details of the layers in a model?\\n\",\n    \"1. What is the \\\"bootstrapping problem\\\" in collaborative filtering?\\n\",\n    \"1. How could you deal with the bootstrapping problem for new users? For new movies?\\n\",\n    \"1. How can feedback loops impact collaborative filtering systems?\\n\",\n    \"1. When using a neural network in collaborative filtering, why can we have different numbers of factors for movies and users?\\n\",\n    \"1. Why is there an `nn.Sequential` in the `CollabNN` model?\\n\",\n    \"1. What kind of model should we use if we want to add metadata about users and items, or information such as date and time, to a collaborative filtering model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\\n\",\n    \"\\n\",\n    \"1. Take a look at all the differences between the `Embedding` version of `DotProductBias` and the `create_params` version, and try to understand why each of those changes is required. If you're not sure, try reverting each change to see what happens. (NB: even the type of brackets used in `forward` has changed!)\\n\",\n    \"1. Find three other areas where collaborative filtering is being used, and find out what the pros and cons of this approach are in those areas.\\n\",\n    \"1. Complete this notebook using the full MovieLens dataset, and compare your results to online benchmarks. See if you can improve your accuracy. Look on the book's website and the fast.ai forum for ideas. Note that there are more columns in the full dataset—see if you can use those too (the next chapter might give you ideas).\\n\",\n    \"1. Create a model for MovieLens that works with cross-entropy loss, and compare it to the model in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "09_tabular.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook kaggle waterfallcharts treeinterpreter dtreeviz==1.4.1\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from pandas.api.types import is_string_dtype, is_numeric_dtype, is_categorical_dtype\\n\",\n    \"from fastai.tabular.all import *\\n\",\n    \"from sklearn.ensemble import RandomForestRegressor\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"from dtreeviz.trees import *\\n\",\n    \"from IPython.display import Image, display_svg, SVG\\n\",\n    \"\\n\",\n    \"pd.options.display.max_rows = 20\\n\",\n    \"pd.options.display.max_columns = 8\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_tabular]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Tabular Modeling Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Tabular modeling takes data in the form of a table (like a spreadsheet or CSV). The objective is to predict the value in one column based on the values in the other columns. In this chapter we will not only look at deep learning but also more general machine learning techniques like random forests, as they can give better results depending on your problem.\\n\",\n    \"\\n\",\n    \"We will look at how we should preprocess and clean the data as well as how to interpret the result of our models after training, but first, we will see how we can feed columns that contain categories into a model that expects numbers by using embeddings.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Categorical Embeddings\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In tabular data some columns may contain numerical data, like \\\"age,\\\" while others contain string values, like \\\"sex.\\\" The numerical data can be directly fed to the model (with some optional preprocessing), but the other columns need to be converted to numbers. Since the values in those correspond to different categories, we often call this type of variables *categorical variables*. The first type are called *continuous variables*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Continuous and Categorical Variables: Continuous variables are numerical data, such as \\\"age,\\\" that can be directly fed to the model, since you can add and multiply them directly. Categorical variables contain a number of discrete levels, such as \\\"movie ID,\\\" for which addition and multiplication don't have meaning (even if they're stored as numbers).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At the end of 2015, the [Rossmann sales competition](https://www.kaggle.com/c/rossmann-store-sales) ran on Kaggle. Competitors were given a wide range of information about various stores in Germany, and were tasked with trying to predict sales on a number of days. The goal was to help the company to manage stock properly and be able to satisfy demand without holding unnecessary inventory. The official training set provided a lot of information about the stores. It was also permitted for competitors to use additional data, as long as that data was made public and available to all participants.\\n\",\n    \"\\n\",\n    \"One of the gold medalists used deep learning, in one of the earliest known examples of a state-of-the-art deep learning tabular model. Their method involved far less feature engineering, based on domain knowledge, than those of the other gold medalists. The paper, [\\\"Entity Embeddings of Categorical Variables\\\"](https://arxiv.org/abs/1604.06737) describes their approach. In an online-only chapter on the [book's website](https://book.fast.ai/) we show how to replicate it from scratch and attain the same accuracy shown in the paper. In the abstract of the paper the authors (Cheng Guo and Felix Berkhahn) say:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Entity embedding not only reduces memory usage and speeds up neural networks compared with one-hot encoding, but more importantly by mapping similar values close to each other in the embedding space it reveals the intrinsic properties of the categorical variables... [It] is especially useful for datasets with lots of high cardinality features, where other methods tend to overfit... As entity embedding defines a distance measure for categorical variables it can be used for visualizing categorical data and for data clustering.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have already noticed all of these points when we built our collaborative filtering model. We can clearly see that these insights go far beyond just collaborative filtering, however.\\n\",\n    \"\\n\",\n    \"The paper also points out that (as we discussed in the last chapter) an embedding layer is exactly equivalent to placing an ordinary linear layer after every one-hot-encoded input layer. The authors used the diagram in <<entity_emb>> to show this equivalence. Note that \\\"dense layer\\\" is a term with the same meaning as \\\"linear layer,\\\" and the one-hot encoding layers represent inputs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Entity embeddings in a neural network\\\" width=\\\"600\\\" caption=\\\"Entity embeddings in a neural network (courtesy of Cheng Guo and Felix Berkhahn)\\\" id=\\\"entity_emb\\\" src=\\\"images/att_00018.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The insight is important because we already know how to train linear layers, so this shows that from the point of view of the architecture and our training algorithm the embedding layer is just another layer. We also saw this in practice in the last chapter, when we built a collaborative filtering neural network that looks exactly like this diagram.\\n\",\n    \"\\n\",\n    \"Where we analyzed the embedding weights for movie reviews, the authors of the entity embeddings paper analyzed the embedding weights for their sales prediction model. What they found was quite amazing, and illustrates their second key insight. This is that the embedding transforms the categorical variables into inputs that are both continuous and meaningful.\\n\",\n    \"\\n\",\n    \"The images in <<state_emb>> illustrate these ideas. They are based on the approaches used in the paper, along with some analysis we have added.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"State embeddings and map\\\" width=\\\"800\\\" caption=\\\"State embeddings and map (courtesy of Cheng Guo and Felix Berkhahn)\\\" id=\\\"state_emb\\\" src=\\\"images/att_00015.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"On the left is a plot of the embedding matrix for the possible values of the `State` category. For a categorical variable we call the possible values of the variable its \\\"levels\\\" (or \\\"categories\\\" or \\\"classes\\\"), so here one level is \\\"Berlin,\\\" another is \\\"Hamburg,\\\" etc. On the right is a map of Germany. The actual physical locations of the German states were not part of the provided data, yet the model itself learned where they must be, based only on the behavior of store sales!\\n\",\n    \"\\n\",\n    \"Do you remember how we talked about *distance* between embeddings? The authors of the paper plotted the distance between store embeddings against the actual geographic distance between the stores (see <<store_emb>>). They found that they matched very closely!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Store distances\\\" width=\\\"600\\\" caption=\\\"Store distances (courtesy of Cheng Guo and Felix Berkhahn)\\\" id=\\\"store_emb\\\" src=\\\"images/att_00016.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've even tried plotting the embeddings for days of the week and months of the year, and found that days and months that are near each other on the calendar ended up close as embeddings too, as shown in <<date_emb>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Date embeddings\\\" width=\\\"900\\\" caption=\\\"Date embeddings\\\" id=\\\"date_emb\\\" src=\\\"images/att_00017.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What stands out in these two examples is that we provide the model fundamentally categorical data about discrete entities (e.g., German states or days of the week), and then the model learns an embedding for these entities that defines a continuous notion of distance between them. Because the embedding distance was learned based on real patterns in the data, that distance tends to match up with our intuitions.\\n\",\n    \"\\n\",\n    \"In addition, it is valuable in its own right that embeddings are continuous, because models are better at understanding continuous variables. This is unsurprising considering models are built of many continuous parameter weights and continuous activation values, which are updated via gradient descent (a learning algorithm for finding the minimums of continuous functions).\\n\",\n    \"\\n\",\n    \"Another benefit is that we can combine our continuous embedding values with truly continuous input data in a straightforward manner: we just concatenate the variables, and feed the concatenation into our first dense layer. In other words, the raw categorical data is transformed by an embedding layer before it interacts with the raw continuous input data. This is how fastai and Guo and Berkhahn handle tabular models containing continuous and categorical variables.\\n\",\n    \"\\n\",\n    \"An example using this concatenation approach is how Google does its recommendations on Google Play, as explained in the paper [\\\"Wide & Deep Learning for Recommender Systems\\\"](https://arxiv.org/abs/1606.07792). <<google_recsys>> illustrates.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The Google Play recommendation system\\\" width=\\\"800\\\" caption=\\\"The Google Play recommendation system\\\" id=\\\"google_recsys\\\" src=\\\"images/att_00019.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Interestingly, the Google team actually combined both approaches we saw in the previous chapter: the dot product (which they call *cross product*) and neural network approaches.\\n\",\n    \"\\n\",\n    \"Let's pause for a moment. So far, the solution to all of our modeling problems has been: *train a deep learning model*. And indeed, that is a pretty good rule of thumb for complex unstructured data like images, sounds, natural language text, and so forth. Deep learning also works very well for collaborative filtering. But it is not always the best starting point for analyzing tabular data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Beyond Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Most machine learning courses will throw dozens of different algorithms at you, with a brief technical description of the math behind them and maybe a toy example. You're left confused by the enormous range of techniques shown and have little practical understanding of how to apply them.\\n\",\n    \"\\n\",\n    \"The good news is that modern machine learning can be distilled down to a couple of key techniques that are widely applicable. Recent studies have shown that the vast majority of datasets can be best modeled with just two methods:\\n\",\n    \"\\n\",\n    \"1. Ensembles of decision trees (i.e., random forests and gradient boosting machines), mainly for structured data (such as you might find in a database table at most companies)\\n\",\n    \"1. Multilayered neural networks learned with SGD (i.e., shallow and/or deep learning), mainly for unstructured data (such as audio, images, and natural language)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Although deep learning is nearly always clearly superior for unstructured data, these two approaches tend to give quite similar results for many kinds of structured data. But ensembles of decision trees tend to train faster, are often easier to interpret, do not require special GPU hardware for inference at scale, and often require less hyperparameter tuning. They have also been popular for quite a lot longer than deep learning, so there is a more mature ecosystem of tooling and documentation around them.\\n\",\n    \"\\n\",\n    \"Most importantly, the critical step of interpreting a model of tabular data is significantly easier for decision tree ensembles. There are tools and methods for answering the pertinent questions, like: Which columns in the dataset were the most important for your predictions? How are they related to the dependent variable? How do they interact with each other? And which particular features were most important for some particular observation?\\n\",\n    \"\\n\",\n    \"Therefore, ensembles of decision trees are our first approach for analyzing a new tabular dataset.\\n\",\n    \"\\n\",\n    \"The exception to this guideline is when the dataset meets one of these conditions:\\n\",\n    \"\\n\",\n    \"- There are some high-cardinality categorical variables that are very important (\\\"cardinality\\\" refers to the number of discrete levels representing categories, so a high-cardinality categorical variable is something like a zip code, which can take on thousands of possible levels).\\n\",\n    \"- There are some columns that contain data that would be best understood with a neural network, such as plain text data.\\n\",\n    \"\\n\",\n    \"In practice, when we deal with datasets that meet these exceptional conditions, we always try both decision tree ensembles and deep learning to see which works best. It is likely that deep learning will be a useful approach in our example of collaborative filtering, as we have at least two high-cardinality categorical variables: the users and the movies. But in practice things tend to be less cut-and-dried, and there will often be a mixture of high- and low-cardinality categorical variables and continuous variables.\\n\",\n    \"\\n\",\n    \"Either way, it's clear that we are going to need to add decision tree ensembles to our modeling toolbox!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Up to now we've used PyTorch and fastai for pretty much all of our heavy lifting. But these libraries are mainly designed for algorithms that do lots of matrix multiplication and derivatives (that is, stuff like deep learning!). Decision trees don't depend on these operations at all, so PyTorch isn't much use.\\n\",\n    \"\\n\",\n    \"Instead, we will be largely relying on a library called scikit-learn (also known as `sklearn`). Scikit-learn is a popular library for creating machine learning models, using approaches that are not covered by deep learning. In addition, we'll need to do some tabular data processing and querying, so we'll want to use the Pandas library. Finally, we'll also need NumPy, since that's the main numeric programming library that both sklearn and Pandas rely on.\\n\",\n    \"\\n\",\n    \"We don't have time to do a deep dive into all these libraries in this book, so we'll just be touching on some of the main parts of each. For a far more in depth discussion, we strongly suggest Wes McKinney's [Python for Data Analysis](http://shop.oreilly.com/product/0636920023784.do) (O'Reilly). Wes is the creator of Pandas, so you can be sure that the information is accurate!\\n\",\n    \"\\n\",\n    \"First, let's gather the data we will use.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Dataset\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The dataset we use in this chapter is from the Blue Book for Bulldozers Kaggle competition, which has the following description: \\\"The goal of the contest is to predict the sale price of a particular piece of heavy equipment at auction based on its usage, equipment type, and configuration.  The data is sourced from auction result postings and includes information on usage and equipment configurations.\\\"\\n\",\n    \"\\n\",\n    \"This is a very common type of dataset and prediction problem, similar to what you may see in your project or workplace. The dataset is available for download on Kaggle, a website that hosts data science competitions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Kaggle Competitions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Kaggle is an awesome resource for aspiring data scientists or anyone looking to improve their machine learning skills.  There is nothing like getting hands-on practice and receiving real-time feedback to help you improve your skills.\\n\",\n    \"\\n\",\n    \"Kaggle provides:\\n\",\n    \"\\n\",\n    \"- Interesting datasets\\n\",\n    \"- Feedback on how you're doing\\n\",\n    \"- A leaderboard to see what's good, what's possible, and what's state-of-the-art\\n\",\n    \"- Blog posts by winning contestants sharing useful tips and techniques\\n\",\n    \"\\n\",\n    \"Until now all our datasets have been available to download through fastai's integrated dataset system. However, the dataset we will be using in this chapter is only available from Kaggle. Therefore, you will need to register on the site, then go to the [page for the competition](https://www.kaggle.com/c/bluebook-for-bulldozers). On that page click \\\"Rules,\\\" then \\\"I Understand and Accept.\\\" (Although the competition has finished, and you will not be entering it, you still have to agree to the rules to be allowed to download the data.)\\n\",\n    \"\\n\",\n    \"The easiest way to download Kaggle datasets is to use the Kaggle API. You can install this using `pip` by running this in a notebook cell:\\n\",\n    \"\\n\",\n    \"    !pip install kaggle\\n\",\n    \"\\n\",\n    \"You need an API key to use the Kaggle API; to get one, click on your profile picture on the Kaggle website, and choose My Account, then click Create New API Token. This will save a file called *kaggle.json* to your PC. You need to copy this key on your GPU server. To do so, open the file you downloaded, copy the contents, and paste them in the following cell in the notebook associated with this chapter (e.g., `creds = '{\\\"username\\\":\\\"xxx\\\",\\\"key\\\":\\\"xxx\\\"}'`):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"creds = ''\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then execute this cell (this only needs to be run once):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cred_path = Path('~/.kaggle/kaggle.json').expanduser()\\n\",\n    \"if not cred_path.exists():\\n\",\n    \"    cred_path.parent.mkdir(exist_ok=True)\\n\",\n    \"    cred_path.write_text(creds)\\n\",\n    \"    cred_path.chmod(0o600)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now you can download datasets from Kaggle! Pick a path to download the dataset to:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Path('/home/jhoward/.fastai/archive/bluebook-for-bulldozers')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"comp = 'bluebook-for-bulldozers'\\n\",\n    \"path = URLs.path(comp)\\n\",\n    \"path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And use the Kaggle API to download the dataset to that path, and extract it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#7) [Path('ValidSolution.csv'),Path('Machine_Appendix.csv'),Path('TrainAndValid.csv'),Path('median_benchmark.csv'),Path('random_forest_benchmark_test.csv'),Path('Test.csv'),Path('Valid.csv')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from kaggle import api\\n\",\n    \"\\n\",\n    \"if not path.exists():\\n\",\n    \"    path.mkdir(parents=true)\\n\",\n    \"    api.competition_download_cli(comp, path=path)\\n\",\n    \"    shutil.unpack_archive(str(path/f'{comp}.zip'), str(path))\\n\",\n    \"\\n\",\n    \"path.ls(file_type='text')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have downloaded our dataset, let's take a look at it!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Look at the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Kaggle provides information about some of the fields of our dataset. The [Data](https://www.kaggle.com/c/bluebook-for-bulldozers/data) explains that the key fields in *train.csv* are:\\n\",\n    \"\\n\",\n    \"- `SalesID`:: The unique identifier of the sale.\\n\",\n    \"- `MachineID`:: The unique identifier of a machine.  A machine can be sold multiple times.\\n\",\n    \"- `saleprice`:: What the machine sold for at auction (only provided in *train.csv*).\\n\",\n    \"- `saledate`:: The date of the sale.\\n\",\n    \"\\n\",\n    \"In any sort of data science work, it's important to *look at your data directly* to make sure you understand the format, how it's stored, what types of values it holds, etc. Even if you've read a description of the data, the actual data may not be what you expect. We'll start by reading the training set into a Pandas DataFrame. Generally it's a good idea to specify `low_memory=False` unless Pandas actually runs out of memory and returns an error. The `low_memory` parameter, which is `True` by default, tells Pandas to only look at a few rows of data at a time to figure out what type of data is in each column. This means that Pandas can actually end up using different data type for different rows, which generally leads to data processing errors or model training problems later.\\n\",\n    \"\\n\",\n    \"Let's load our data and have a look at the columns:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Index(['SalesID', 'SalePrice', 'MachineID', 'ModelID', 'datasource',\\n\",\n       \"       'auctioneerID', 'YearMade', 'MachineHoursCurrentMeter', 'UsageBand',\\n\",\n       \"       'saledate', 'fiModelDesc', 'fiBaseModel', 'fiSecondaryDesc',\\n\",\n       \"       'fiModelSeries', 'fiModelDescriptor', 'ProductSize',\\n\",\n       \"       'fiProductClassDesc', 'state', 'ProductGroup', 'ProductGroupDesc',\\n\",\n       \"       'Drive_System', 'Enclosure', 'Forks', 'Pad_Type', 'Ride_Control',\\n\",\n       \"       'Stick', 'Transmission', 'Turbocharged', 'Blade_Extension',\\n\",\n       \"       'Blade_Width', 'Enclosure_Type', 'Engine_Horsepower', 'Hydraulics',\\n\",\n       \"       'Pushblock', 'Ripper', 'Scarifier', 'Tip_Control', 'Tire_Size',\\n\",\n       \"       'Coupler', 'Coupler_System', 'Grouser_Tracks', 'Hydraulics_Flow',\\n\",\n       \"       'Track_Type', 'Undercarriage_Pad_Width', 'Stick_Length', 'Thumb',\\n\",\n       \"       'Pattern_Changer', 'Grouser_Type', 'Backhoe_Mounting', 'Blade_Type',\\n\",\n       \"       'Travel_Controls', 'Differential_Type', 'Steering_Controls'],\\n\",\n       \"      dtype='object')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df.columns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's a lot of columns for us to look at! Try looking through the dataset to get a sense of what kind of information is in each one. We'll shortly see how to \\\"zero in\\\" on the most interesting bits.\\n\",\n    \"\\n\",\n    \"At this point, a good next step is to handle *ordinal columns*. This refers to columns containing strings or similar, but where those strings have a natural ordering. For instance, here are the levels of `ProductSize`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([nan, 'Medium', 'Small', 'Large / Medium', 'Mini', 'Large', 'Compact'], dtype=object)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df['ProductSize'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can tell Pandas about a suitable ordering of these levels like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sizes = 'Large','Large / Medium','Medium','Small','Mini','Compact'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df['ProductSize'] = df['ProductSize'].astype('category')\\n\",\n    \"df['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The most important data column is the dependent variable—that is, the one we want to predict. Recall that a model's metric is a function that reflects how good the predictions are. It's important to note what metric is being used for a project. Generally, selecting the metric is an important part of the project setup. In many cases, choosing a good metric will require more than just selecting a variable that already exists. It is more like a design process. You should think carefully about which metric, or set of metrics, actually measures the notion of model quality that matters to you. If no variable represents that metric, you should see if you can build the metric from the variables that are available.\\n\",\n    \"\\n\",\n    \"However, in this case Kaggle tells us what metric to use: root mean squared log error (RMSLE) between the actual and predicted auction prices. We need do only a small amount of processing to use this: we take the log of the prices, so that `rmse` of that value will give us what we ultimately need:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dep_var = 'SalePrice'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df[dep_var] = np.log(df[dep_var])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are now ready to explore our first machine learning algorithm for tabular data: decision trees.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decision Trees\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Decision tree ensembles, as the name suggests, rely on decision trees. So let's start there! A decision tree asks a series of binary (that is, yes or no) questions about the data. After each question the data at that part of the tree is split between a \\\"yes\\\" and a \\\"no\\\" branch, as shown in <<decision_tree>>. After one or more questions, either a prediction can be made on the basis of all previous answers or another question is required.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"An example of decision tree\\\" width=\\\"600\\\" caption=\\\"An example of decision tree\\\" id=\\\"decision_tree\\\" src=\\\"images/decision_tree.PNG\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This sequence of questions is now a procedure for taking any data item, whether an item from the training set or a new one, and assigning that item to a group. Namely, after asking and answering the questions, we can say the item belongs to the same group as all the other training data items that yielded the same set of answers to the questions. But what good is this? The goal of our model is to predict values for items, not to assign them into groups from the training dataset. The value is that we can now assign a prediction value for each of these groups—for regression, we take the target mean of the items in the group.\\n\",\n    \"\\n\",\n    \"Let's consider how we find the right questions to ask. Of course, we wouldn't want to have to create all these questions ourselves—that's what computers are for! The basic steps to train a decision tree can be written down very easily:\\n\",\n    \"\\n\",\n    \"1. Loop through each column of the dataset in turn.\\n\",\n    \"1. For each column, loop through each possible level of that column in turn.\\n\",\n    \"1. Try splitting the data into two groups, based on whether they are greater than or less than that value (or if it is a categorical variable, based on whether they are equal to or not equal to that level of that categorical variable).\\n\",\n    \"1. Find the average sale price for each of those two groups, and see how close that is to the actual sale price of each of the items of equipment in that group. That is, treat this as a very simple \\\"model\\\" where our predictions are simply the average sale price of the item's group.\\n\",\n    \"1. After looping through all of the columns and all the possible levels for each, pick the split point that gave the best predictions using that simple model.\\n\",\n    \"1. We now have two different groups for our data, based on this selected split. Treat each of these as separate datasets, and find the best split for each by going back to step 1 for each group.\\n\",\n    \"1. Continue this process recursively, until you have reached some stopping criterion for each group—for instance, stop splitting a group further when it has only 20 items in it.\\n\",\n    \"\\n\",\n    \"Although this is an easy enough algorithm to implement yourself (and it is a good exercise to do so), we can save some time by using the implementation built into sklearn.\\n\",\n    \"\\n\",\n    \"First, however, we need to do a little data preparation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> A: Here's a productive question to ponder. If you consider that the procedure for defining a decision tree essentially chooses one _sequence of splitting questions about variables_, you might ask yourself, how do we know this procedure chooses the _correct sequence_? The rule is to choose the splitting question that produces the best split (i.e., that most accurately separates the items into two distinct categories), and then to apply the same rule to the groups that split produces, and so on. This is known in computer science as a \\\"greedy\\\" approach. Can you imagine a scenario in which asking a “less powerful” splitting question would enable a better split down the road (or should I say down the trunk!) and lead to a better result overall?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Handling Dates\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first piece of data preparation we need to do is to enrich our representation of dates. The fundamental basis of the decision tree that we just described is *bisection*— dividing a group into two. We look at the ordinal variables and divide up the dataset based on whether the variable's value is greater (or lower) than a threshold, and we look at the categorical variables and divide up the dataset based on whether the variable's level is a particular level. So this algorithm has a way of dividing up the dataset based on both ordinal and categorical data.\\n\",\n    \"\\n\",\n    \"But how does this apply to a common data type, the date? You might want to treat a date as an ordinal value, because it is meaningful to say that one date is greater than another. However, dates are a bit different from most ordinal values in that some dates are qualitatively different from others in a way that that is often relevant to the systems we are modeling.\\n\",\n    \"\\n\",\n    \"In order to help our algorithm handle dates intelligently, we'd like our model to know more than whether a date is more recent or less recent than another. We might want our model to make decisions based on that date's day of the week, on whether a day is a holiday, on what month it is in, and so forth. To do this, we replace every date column with a set of date metadata columns, such as holiday, day of week, and month. These columns provide categorical data that we suspect will be useful.\\n\",\n    \"\\n\",\n    \"fastai comes with a function that will do this for us—we just have to pass a column name that contains dates:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = add_datepart(df, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's do the same for the test set while we're there:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_test = pd.read_csv(path/'Test.csv', low_memory=False)\\n\",\n    \"df_test = add_datepart(df_test, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that there are now lots of new columns in our DataFrame:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'saleWeek saleYear saleMonth saleDay saleDayofweek saleDayofyear saleIs_month_end saleIs_month_start saleIs_quarter_end saleIs_quarter_start saleIs_year_end saleIs_year_start saleElapsed'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"' '.join(o for o in df.columns if o.startswith('sale'))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is a good first step, but we will need to do a bit more cleaning. For this, we will use fastai objects called `TabularPandas` and `TabularProc`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using TabularPandas and TabularProc\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A second piece of preparatory processing is to be sure we can handle strings and missing data. Out of the box, sklearn cannot do either. Instead we will use fastai's class `TabularPandas`, which wraps a Pandas DataFrame and provides a few conveniences. To populate a `TabularPandas`, we will use two  `TabularProc`s, `Categorify` and `FillMissing`. A `TabularProc` is like a regular `Transform`, except that:\\n\",\n    \"\\n\",\n    \"- It returns the exact same object that's passed to it, after modifying the object in place.\\n\",\n    \"- It runs the transform once, when data is first passed in, rather than lazily as the data is accessed.\\n\",\n    \"\\n\",\n    \"`Categorify` is a `TabularProc` that replaces a column with a numeric categorical column. `FillMissing` is a `TabularProc` that replaces missing values with the median of the column, and creates a new Boolean column that is set to `True` for any row where the value was missing. These two transforms are needed for nearly every tabular dataset you will use, so this is a good starting point for your data processing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"procs = [Categorify, FillMissing]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`TabularPandas` will also handle splitting the dataset into training and validation sets for us. However we need to be very careful about our validation set. We want to design it so that it is like the *test set* Kaggle will use to judge the contest.\\n\",\n    \"\\n\",\n    \"Recall the distinction between a validation set and a test set, as discussed in <<chapter_intro>>. A validation set is data we hold back from training in order to ensure that the training process does not overfit on the training data. A test set is data that is held back even more deeply, from us ourselves, in order to ensure that *we* don't overfit on the validation data, as we explore various model architectures and hyperparameters.\\n\",\n    \"\\n\",\n    \"We don't get to see the test set. But we do want to define our validation data so that it has the same sort of relationship to the training data as the test set will have.\\n\",\n    \"\\n\",\n    \"In some cases, just randomly choosing a subset of your data points will do that. This is not one of those cases, because it is a time series.\\n\",\n    \"\\n\",\n    \"If you look at the date range represented in the test set, you will discover that it covers a six-month period from May 2012, which is later in time than any date in the training set. This is a good design, because the competition sponsor will want to ensure that a model is able to predict the future. But it means that if we are going to have a useful validation set, we also want the validation set to be later in time than the training set. The Kaggle training data ends in April 2012, so we will define a narrower training dataset which consists only of the Kaggle training data from before November 2011, and we'll define a validation set consisting of data from after November 2011.\\n\",\n    \"\\n\",\n    \"To do this we use `np.where`, a useful function that returns (as the first element of a tuple) the indices of all `True` values:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cond = (df.saleYear<2011) | (df.saleMonth<10)\\n\",\n    \"train_idx = np.where( cond)[0]\\n\",\n    \"valid_idx = np.where(~cond)[0]\\n\",\n    \"\\n\",\n    \"splits = (list(train_idx),list(valid_idx))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`TabularPandas` needs to be told which columns are continuous and which are categorical. We can handle that automatically using the helper function `cont_cat_split`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cont,cat = cont_cat_split(df, 1, dep_var=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to = TabularPandas(df, procs, cat, cont, y_names=dep_var, splits=splits)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `TabularPandas` behaves a lot like a fastai `Datasets` object, including providing `train` and `valid` attributes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(404710, 7988)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(to.train),len(to.valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that the data is still displayed as strings for categories (we only show a few columns here because the full table is too big to fit on a page):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>saleWeek</th>\\n\",\n       \"      <th>UsageBand</th>\\n\",\n       \"      <th>fiModelDesc</th>\\n\",\n       \"      <th>fiBaseModel</th>\\n\",\n       \"      <th>fiSecondaryDesc</th>\\n\",\n       \"      <th>fiModelSeries</th>\\n\",\n       \"      <th>fiModelDescriptor</th>\\n\",\n       \"      <th>ProductSize</th>\\n\",\n       \"      <th>fiProductClassDesc</th>\\n\",\n       \"      <th>state</th>\\n\",\n       \"      <th>ProductGroup</th>\\n\",\n       \"      <th>ProductGroupDesc</th>\\n\",\n       \"      <th>Drive_System</th>\\n\",\n       \"      <th>Enclosure</th>\\n\",\n       \"      <th>Forks</th>\\n\",\n       \"      <th>Pad_Type</th>\\n\",\n       \"      <th>Ride_Control</th>\\n\",\n       \"      <th>Stick</th>\\n\",\n       \"      <th>Transmission</th>\\n\",\n       \"      <th>Turbocharged</th>\\n\",\n       \"      <th>Blade_Extension</th>\\n\",\n       \"      <th>Blade_Width</th>\\n\",\n       \"      <th>Enclosure_Type</th>\\n\",\n       \"      <th>Engine_Horsepower</th>\\n\",\n       \"      <th>Hydraulics</th>\\n\",\n       \"      <th>Pushblock</th>\\n\",\n       \"      <th>Ripper</th>\\n\",\n       \"      <th>Scarifier</th>\\n\",\n       \"      <th>Tip_Control</th>\\n\",\n       \"      <th>Tire_Size</th>\\n\",\n       \"      <th>Coupler</th>\\n\",\n       \"      <th>Coupler_System</th>\\n\",\n       \"      <th>Grouser_Tracks</th>\\n\",\n       \"      <th>Hydraulics_Flow</th>\\n\",\n       \"      <th>Track_Type</th>\\n\",\n       \"      <th>Undercarriage_Pad_Width</th>\\n\",\n       \"      <th>Stick_Length</th>\\n\",\n       \"      <th>Thumb</th>\\n\",\n       \"      <th>Pattern_Changer</th>\\n\",\n       \"      <th>Grouser_Type</th>\\n\",\n       \"      <th>Backhoe_Mounting</th>\\n\",\n       \"      <th>Blade_Type</th>\\n\",\n       \"      <th>Travel_Controls</th>\\n\",\n       \"      <th>Differential_Type</th>\\n\",\n       \"      <th>Steering_Controls</th>\\n\",\n       \"      <th>saleIs_month_end</th>\\n\",\n       \"      <th>saleIs_month_start</th>\\n\",\n       \"      <th>saleIs_quarter_end</th>\\n\",\n       \"      <th>saleIs_quarter_start</th>\\n\",\n       \"      <th>saleIs_year_end</th>\\n\",\n       \"      <th>saleIs_year_start</th>\\n\",\n       \"      <th>saleElapsed</th>\\n\",\n       \"      <th>auctioneerID_na</th>\\n\",\n       \"      <th>MachineHoursCurrentMeter_na</th>\\n\",\n       \"      <th>SalesID</th>\\n\",\n       \"      <th>MachineID</th>\\n\",\n       \"      <th>ModelID</th>\\n\",\n       \"      <th>datasource</th>\\n\",\n       \"      <th>auctioneerID</th>\\n\",\n       \"      <th>YearMade</th>\\n\",\n       \"      <th>MachineHoursCurrentMeter</th>\\n\",\n       \"      <th>saleYear</th>\\n\",\n       \"      <th>saleMonth</th>\\n\",\n       \"      <th>saleDay</th>\\n\",\n       \"      <th>saleDayofweek</th>\\n\",\n       \"      <th>saleDayofyear</th>\\n\",\n       \"      <th>SalePrice</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>46</td>\\n\",\n       \"      <td>Low</td>\\n\",\n       \"      <td>521D</td>\\n\",\n       \"      <td>521</td>\\n\",\n       \"      <td>D</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Wheel Loader - 110.0 to 120.0 Horsepower</td>\\n\",\n       \"      <td>Alabama</td>\\n\",\n       \"      <td>WL</td>\\n\",\n       \"      <td>Wheel Loader</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>EROPS w AC</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>2 Valve</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Standard</td>\\n\",\n       \"      <td>Conventional</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1163635200</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1139246</td>\\n\",\n       \"      <td>999089</td>\\n\",\n       \"      <td>3157</td>\\n\",\n       \"      <td>121</td>\\n\",\n       \"      <td>3.0</td>\\n\",\n       \"      <td>2004</td>\\n\",\n       \"      <td>68.0</td>\\n\",\n       \"      <td>2006</td>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>320</td>\\n\",\n       \"      <td>11.097410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>Low</td>\\n\",\n       \"      <td>950FII</td>\\n\",\n       \"      <td>950</td>\\n\",\n       \"      <td>F</td>\\n\",\n       \"      <td>II</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Medium</td>\\n\",\n       \"      <td>Wheel Loader - 150.0 to 175.0 Horsepower</td>\\n\",\n       \"      <td>North Carolina</td>\\n\",\n       \"      <td>WL</td>\\n\",\n       \"      <td>Wheel Loader</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>EROPS w AC</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>2 Valve</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>23.5</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Standard</td>\\n\",\n       \"      <td>Conventional</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1080259200</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1139248</td>\\n\",\n       \"      <td>117657</td>\\n\",\n       \"      <td>77</td>\\n\",\n       \"      <td>121</td>\\n\",\n       \"      <td>3.0</td>\\n\",\n       \"      <td>1996</td>\\n\",\n       \"      <td>4640.0</td>\\n\",\n       \"      <td>2004</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>26</td>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>86</td>\\n\",\n       \"      <td>10.950807</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>High</td>\\n\",\n       \"      <td>226</td>\\n\",\n       \"      <td>226</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Skid Steer Loader - 1351.0 to 1601.0 Lb Operating Capacity</td>\\n\",\n       \"      <td>New York</td>\\n\",\n       \"      <td>SSL</td>\\n\",\n       \"      <td>Skid Steer Loaders</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>OROPS</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>Auxiliary</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>None or Unspecified</td>\\n\",\n       \"      <td>Standard</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1077753600</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>False</td>\\n\",\n       \"      <td>1139249</td>\\n\",\n       \"      <td>434808</td>\\n\",\n       \"      <td>7009</td>\\n\",\n       \"      <td>121</td>\\n\",\n       \"      <td>3.0</td>\\n\",\n       \"      <td>2001</td>\\n\",\n       \"      <td>2838.0</td>\\n\",\n       \"      <td>2004</td>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>26</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>57</td>\\n\",\n       \"      <td>9.210340</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"to.show(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>state</th>\\n\",\n       \"      <th>ProductGroup</th>\\n\",\n       \"      <th>Drive_System</th>\\n\",\n       \"      <th>Enclosure</th>\\n\",\n       \"      <th>SalePrice</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>Alabama</td>\\n\",\n       \"      <td>WL</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>EROPS w AC</td>\\n\",\n       \"      <td>11.097410</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>North Carolina</td>\\n\",\n       \"      <td>WL</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>EROPS w AC</td>\\n\",\n       \"      <td>10.950807</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>New York</td>\\n\",\n       \"      <td>SSL</td>\\n\",\n       \"      <td>#na#</td>\\n\",\n       \"      <td>OROPS</td>\\n\",\n       \"      <td>9.210340</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"to1 = TabularPandas(df, procs, ['state', 'ProductGroup', 'Drive_System', 'Enclosure'], [], y_names=dep_var, splits=splits)\\n\",\n    \"to1.show(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"However, the underlying items are all numeric:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>SalesID</th>\\n\",\n       \"      <th>SalePrice</th>\\n\",\n       \"      <th>MachineID</th>\\n\",\n       \"      <th>saleWeek</th>\\n\",\n       \"      <th>...</th>\\n\",\n       \"      <th>saleIs_year_start</th>\\n\",\n       \"      <th>saleElapsed</th>\\n\",\n       \"      <th>auctioneerID_na</th>\\n\",\n       \"      <th>MachineHoursCurrentMeter_na</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1139246</td>\\n\",\n       \"      <td>11.097410</td>\\n\",\n       \"      <td>999089</td>\\n\",\n       \"      <td>46</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2647</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>1139248</td>\\n\",\n       \"      <td>10.950807</td>\\n\",\n       \"      <td>117657</td>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2148</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>1139249</td>\\n\",\n       \"      <td>9.210340</td>\\n\",\n       \"      <td>434808</td>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>...</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2131</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"<p>3 rows × 67 columns</p>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   SalesID  SalePrice  MachineID  saleWeek  ...  saleIs_year_start  \\\\\\n\",\n       \"0  1139246  11.097410     999089        46  ...                  1   \\n\",\n       \"1  1139248  10.950807     117657        13  ...                  1   \\n\",\n       \"2  1139249   9.210340     434808         9  ...                  1   \\n\",\n       \"\\n\",\n       \"   saleElapsed  auctioneerID_na  MachineHoursCurrentMeter_na  \\n\",\n       \"0         2647                1                            1  \\n\",\n       \"1         2148                1                            1  \\n\",\n       \"2         2131                1                            1  \\n\",\n       \"\\n\",\n       \"[3 rows x 67 columns]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"to.items.head(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>state</th>\\n\",\n       \"      <th>ProductGroup</th>\\n\",\n       \"      <th>Drive_System</th>\\n\",\n       \"      <th>Enclosure</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>33</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>32</td>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>6</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"   state  ProductGroup  Drive_System  Enclosure\\n\",\n       \"0      1             6             0          3\\n\",\n       \"1     33             6             0          3\\n\",\n       \"2     32             3             0          6\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"to1.items[['state', 'ProductGroup', 'Drive_System', 'Enclosure']].head(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The conversion of categorical columns to numbers is done by simply replacing each unique level with a number. The numbers associated with the levels are chosen consecutively as they are seen in a column, so there's no particular meaning to the numbers in categorical columns after conversion. The exception is if you first convert a column to a Pandas ordered category (as we did for `ProductSize` earlier), in which case the ordering you chose is used. We can see the mapping by looking at the `classes` attribute:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['#na#', 'Large', 'Large / Medium', 'Medium', 'Small', 'Mini', 'Compact']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"to.classes['ProductSize']\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since it takes a minute or so to process the data to get to this point, we should save it—that way in the future we can continue our work from here without rerunning the previous steps. fastai provides a `save` method that uses Python's *pickle* system to save nearly any Python object:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"save_pickle(path/'to.pkl',to)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To read this back later, you would type:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"to = (path/'to.pkl').load()\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that all this preprocessing is done, we are ready to create a decision tree.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Decision Tree\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To begin, we define our independent and dependent variables:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"to = load_pickle(path/'to.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs,y = to.train.xs,to.train.y\\n\",\n    \"valid_xs,valid_y = to.valid.xs,to.valid.y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that our data is all numeric, and there are no missing values, we can create a decision tree:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor(max_leaf_nodes=4)\\n\",\n    \"m.fit(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To keep it simple, we've told sklearn to just create four *leaf nodes*. To see what it's learned, we can display the tree:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n\",\n       \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\"\\n\",\n       \" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\",\n       \"<!-- Generated by graphviz version 2.43.0 (0)\\n\",\n       \" -->\\n\",\n       \"<!-- Title: Tree Pages: 1 -->\\n\",\n       \"<svg width=\\\"629pt\\\" height=\\\"381pt\\\"\\n\",\n       \" viewBox=\\\"0.00 0.00 628.56 380.50\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 376.5)\\\">\\n\",\n       \"<title>Tree</title>\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"transparent\\\" points=\\\"-4,4 -4,-376.5 624.56,-376.5 624.56,4 -4,4\\\"/>\\n\",\n       \"<!-- 0 -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>0</title>\\n\",\n       \"<path fill=\\\"#eda775\\\" stroke=\\\"black\\\" d=\\\"M536.14,-373C536.14,-373 409.14,-373 409.14,-373 403.14,-373 397.14,-367 397.14,-361 397.14,-361 397.14,-317 397.14,-317 397.14,-311 403.14,-305 409.14,-305 409.14,-305 536.14,-305 536.14,-305 542.14,-305 548.14,-311 548.14,-317 548.14,-317 548.14,-361 548.14,-361 548.14,-367 542.14,-373 536.14,-373\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"405.14\\\" y=\\\"-357.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">Coupler_System ≤ 0.5</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"438.14\\\" y=\\\"-342.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.48</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"416.64\\\" y=\\\"-327.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 404710</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"435.14\\\" y=\\\"-312.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 10.1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1 -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>1</title>\\n\",\n       \"<path fill=\\\"#eb9d64\\\" stroke=\\\"black\\\" d=\\\"M370.64,-269C370.64,-269 258.64,-269 258.64,-269 252.64,-269 246.64,-263 246.64,-257 246.64,-257 246.64,-213 246.64,-213 246.64,-207 252.64,-201 258.64,-201 258.64,-201 370.64,-201 370.64,-201 376.64,-201 382.64,-207 382.64,-213 382.64,-213 382.64,-257 382.64,-257 382.64,-263 376.64,-269 370.64,-269\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"254.64\\\" y=\\\"-253.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">YearMade ≤ 1991.5</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"280.14\\\" y=\\\"-238.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.42</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"258.64\\\" y=\\\"-223.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 360847</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"273.64\\\" y=\\\"-208.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 10.21</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;1 -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0&#45;&gt;1</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M421.35,-304.88C406.37,-295.21 389.87,-284.56 374.42,-274.59\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"376.26,-271.61 365.96,-269.12 372.46,-277.49 376.26,-271.61\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"371.22\\\" y=\\\"-289.86\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">True</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2 -->\\n\",\n       \"<g id=\\\"node7\\\" class=\\\"node\\\">\\n\",\n       \"<title>2</title>\\n\",\n       \"<path fill=\\\"#ffffff\\\" stroke=\\\"black\\\" d=\\\"M601.14,-52.5C601.14,-52.5 504.14,-52.5 504.14,-52.5 498.14,-52.5 492.14,-46.5 492.14,-40.5 492.14,-40.5 492.14,-11.5 492.14,-11.5 492.14,-5.5 498.14,0.5 504.14,0.5 504.14,0.5 601.14,0.5 601.14,0.5 607.14,0.5 613.14,-5.5 613.14,-11.5 613.14,-11.5 613.14,-40.5 613.14,-40.5 613.14,-46.5 607.14,-52.5 601.14,-52.5\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"518.14\\\" y=\\\"-37.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.12</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"500.14\\\" y=\\\"-22.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 43863</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"515.14\\\" y=\\\"-7.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 9.21</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;2 -->\\n\",\n       \"<g id=\\\"edge6\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0&#45;&gt;2</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M481.21,-304.72C496.37,-245.76 527.82,-123.49 543.44,-62.79\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"546.88,-63.45 545.98,-52.9 540.1,-61.71 546.88,-63.45\\\"/>\\n\",\n       \"<text text-anchor=\\\"middle\\\" x=\\\"558.7\\\" y=\\\"-70.72\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">False</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 3 -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>3</title>\\n\",\n       \"<path fill=\\\"#f0b48a\\\" stroke=\\\"black\\\" d=\\\"M123.64,-52.5C123.64,-52.5 19.64,-52.5 19.64,-52.5 13.64,-52.5 7.64,-46.5 7.64,-40.5 7.64,-40.5 7.64,-11.5 7.64,-11.5 7.64,-5.5 13.64,0.5 19.64,0.5 19.64,0.5 123.64,0.5 123.64,0.5 129.64,0.5 135.64,-5.5 135.64,-11.5 135.64,-11.5 135.64,-40.5 135.64,-40.5 135.64,-46.5 129.64,-52.5 123.64,-52.5\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"37.14\\\" y=\\\"-37.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.37</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"15.64\\\" y=\\\"-22.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 155724</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"34.14\\\" y=\\\"-7.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 9.97</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;3 -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1&#45;&gt;3</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M275.87,-200.97C230.24,-162.1 154.96,-97.97 109.66,-59.38\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"111.72,-56.54 101.84,-52.72 107.18,-61.87 111.72,-56.54\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4 -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>4</title>\\n\",\n       \"<path fill=\\\"#e78a48\\\" stroke=\\\"black\\\" d=\\\"M366.64,-165C366.64,-165 262.64,-165 262.64,-165 256.64,-165 250.64,-159 250.64,-153 250.64,-153 250.64,-109 250.64,-109 250.64,-103 256.64,-97 262.64,-97 262.64,-97 366.64,-97 366.64,-97 372.64,-97 378.64,-103 378.64,-109 378.64,-109 378.64,-153 378.64,-153 378.64,-159 372.64,-165 366.64,-165\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"261.14\\\" y=\\\"-149.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">ProductSize ≤ 4.5</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"280.14\\\" y=\\\"-134.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.37</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"258.64\\\" y=\\\"-119.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 205123</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"277.14\\\" y=\\\"-104.8\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 10.4</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;4 -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1&#45;&gt;4</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M314.64,-200.88C314.64,-192.78 314.64,-183.98 314.64,-175.47\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"318.15,-175.3 314.64,-165.3 311.15,-175.3 318.15,-175.3\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5 -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>5</title>\\n\",\n       \"<path fill=\\\"#e58139\\\" stroke=\\\"black\\\" d=\\\"M287.64,-52.5C287.64,-52.5 183.64,-52.5 183.64,-52.5 177.64,-52.5 171.64,-46.5 171.64,-40.5 171.64,-40.5 171.64,-11.5 171.64,-11.5 171.64,-5.5 177.64,0.5 183.64,0.5 183.64,0.5 287.64,0.5 287.64,0.5 293.64,0.5 299.64,-5.5 299.64,-11.5 299.64,-11.5 299.64,-40.5 299.64,-40.5 299.64,-46.5 293.64,-52.5 287.64,-52.5\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"201.14\\\" y=\\\"-37.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.31</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"179.64\\\" y=\\\"-22.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 182403</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"198.14\\\" y=\\\"-7.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 10.5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;5 -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4&#45;&gt;5</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M289.21,-96.84C280.36,-85.3 270.42,-72.33 261.52,-60.74\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"264.13,-58.39 255.26,-52.58 258.57,-62.65 264.13,-58.39\\\"/>\\n\",\n       \"</g>\\n\",\n       \"<!-- 6 -->\\n\",\n       \"<g id=\\\"node6\\\" class=\\\"node\\\">\\n\",\n       \"<title>6</title>\\n\",\n       \"<path fill=\\\"#f7d6bf\\\" stroke=\\\"black\\\" d=\\\"M445.14,-52.5C445.14,-52.5 348.14,-52.5 348.14,-52.5 342.14,-52.5 336.14,-46.5 336.14,-40.5 336.14,-40.5 336.14,-11.5 336.14,-11.5 336.14,-5.5 342.14,0.5 348.14,0.5 348.14,0.5 445.14,0.5 445.14,0.5 451.14,0.5 457.14,-5.5 457.14,-11.5 457.14,-11.5 457.14,-40.5 457.14,-40.5 457.14,-46.5 451.14,-52.5 445.14,-52.5\\\"/>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"362.14\\\" y=\\\"-37.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">mse = 0.17</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"344.14\\\" y=\\\"-22.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">samples = 22720</text>\\n\",\n       \"<text text-anchor=\\\"start\\\" x=\\\"359.14\\\" y=\\\"-7.3\\\" font-family=\\\"Helvetica,sans-Serif\\\" font-size=\\\"14.00\\\">value = 9.62</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;6 -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4&#45;&gt;6</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M341.04,-96.84C350.23,-85.3 360.55,-72.33 369.78,-60.74\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"372.79,-62.58 376.28,-52.58 367.31,-58.22 372.79,-62.58\\\"/>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\\n\"\n      ],\n      \"text/plain\": [\n       \"<graphviz.files.Source at 0x7fee5c5f8690>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"draw_tree(m, xs, size=10, leaves_parallel=True, precision=2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Understanding this picture is one of the best ways to understand decision trees, so we will start at the top and explain each part step by step.\\n\",\n    \"\\n\",\n    \"The top node represents the *initial model* before any splits have been done, when all the data is in one group. This is the simplest possible model. It is the result of asking zero questions and will always predict the value to be the average value of the whole dataset. In this case, we can see it predicts a value of 10.10 for the logarithm of the sales price. It gives a mean squared error of 0.48. The square root of this is 0.69. (Remember that unless you see `m_rmse`, or a *root mean squared error*, then the value you are looking at is before taking the square root, so it is just the average of the square of the differences.) We can also see that there are 404,710 auction records in this group—that is the total size of our training set. The final piece of information shown here is the decision criterion for the best split that was found, which is to split based on the `coupler_system` column.\\n\",\n    \"\\n\",\n    \"Moving down and to the left, this node shows us that there were 360,847 auction records for equipment where `coupler_system` was less than 0.5. The average value of our dependent variable in this group is 10.21. Moving down and to the right from the initial model takes us to the records where `coupler_system` was greater than 0.5.\\n\",\n    \"\\n\",\n    \"The bottom row contains our *leaf nodes*: the nodes with no answers coming out of them, because there are no more questions to be answered. At the far right of this row is the node containing records where `coupler_system` was greater than 0.5. The average value here is 9.21, so we can see the decision tree algorithm did find a single binary decision that separated high-value from low-value auction results. Asking only about `coupler_system` predicts an average value of 9.21 versus 10.1.\\n\",\n    \"\\n\",\n    \"Returning back to the top node after the first decision point, we can see that a second binary decision split has been made, based on asking whether `YearMade` is less than or equal to 1991.5. For the group where this is true (remember, this is now following two binary decisions, based on `coupler_system` and `YearMade`) the average value is 9.97, and there are 155,724 auction records in this group. For the group of auctions where this decision is false, the average value is 10.4, and there are 205,123 records. So again, we can see that the decision tree algorithm has successfully split our more expensive auction records into two more groups which differ in value significantly.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can show the same information using Terence Parr's powerful [dtreeviz](https://explained.ai/decision-tree-viz/) library:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:ns2=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" height=\\\"294.40000000000003\\\" viewBox=\\\"0.0 0.0 865.6 294.40000000000003\\\" width=\\\"865.6\\\">\\n\",\n       \"<g class=\\\"graph\\\" id=\\\"graph0\\\" transform=\\\"scale(1.6 1.6) rotate(0) translate(4 180)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" points=\\\"-4,4 -4,-180 537,-180 537,4 -4,4\\\" stroke=\\\"transparent\\\" />\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node1\\\">\\n\",\n       \"<title>node4</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 163.04125 90.073473\\\" width=\\\"123px\\\" x=\\\"319.5\\\" y=\\\"-99.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:53.699571</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.073473  L 163.04125 90.073473  L 163.04125 -0  L 0 -0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  L 156.68 1.856848  L 17.18 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m6db1a78151\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p765033660d)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"24.41215\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.857495\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"28.637075\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.817729\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.287463\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.43\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.039105\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"8.438259\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"13.623403\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.026353\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.077729\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"14.664311\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"23.705224\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"54.20271\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.888399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.966981\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"15.428973\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"13.92966\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"26.107626\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.759643\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"16.937611\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"14.988219\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"14.771673\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.405777\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"27.541343\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"19.525386\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"14.136631\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"17.551806\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"10.721456\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"24.055355\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.692451\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"26.91341\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.43\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"22.110071\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"33.21608\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"11.700538\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"27.971969\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.978431\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"10.377755\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m6db1a78151\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 121.805 61.652848  L 119.294 67.632448  L 124.316 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"m93339456aa\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m93339456aa\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(10.81875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"        <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m93339456aa\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(150.31875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 33.015625 40.375  Q 26.375 40.375 22.484375 35.828125  Q 18.609375 31.296875 18.609375 23.390625  Q 18.609375 15.53125 22.484375 10.953125  Q 26.375 6.390625 33.015625 6.390625  Q 39.65625 6.390625 43.53125 10.953125  Q 47.40625 15.53125 47.40625 23.390625  Q 47.40625 31.296875 43.53125 35.828125  Q 39.65625 40.375 33.015625 40.375  z M 52.59375 71.296875  L 52.59375 62.3125  Q 48.875 64.0625 45.09375 64.984375  Q 41.3125 65.921875 37.59375 65.921875  Q 27.828125 65.921875 22.671875 59.328125  Q 17.53125 52.734375 16.796875 39.40625  Q 19.671875 43.65625 24.015625 45.921875  Q 28.375 48.1875 33.59375 48.1875  Q 44.578125 48.1875 50.953125 41.515625  Q 57.328125 34.859375 57.328125 23.390625  Q 57.328125 12.15625 50.6875 5.359375  Q 44.046875 -1.421875 33.015625 -1.421875  Q 20.359375 -1.421875 13.671875 8.265625  Q 6.984375 17.96875 6.984375 36.375  Q 6.984375 53.65625 15.1875 63.9375  Q 23.390625 74.21875 37.203125 74.21875  Q 40.921875 74.21875 44.703125 73.484375  Q 48.484375 72.75 52.59375 71.296875  z \\\" id=\\\"DejaVuSans-54\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-54\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_3\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"121.805\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m93339456aa\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_3\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(115.44375 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 37.796875 64.3125  L 12.890625 25.390625  L 37.796875 25.390625  z M 35.203125 72.90625  L 47.609375 72.90625  L 47.609375 25.390625  L 58.015625 25.390625  L 58.015625 17.1875  L 47.609375 17.1875  L 47.609375 0  L 37.796875 0  L 37.796875 17.1875  L 4.890625 17.1875  L 4.890625 26.703125  z \\\" id=\\\"DejaVuSans-52\\\" />\\n\",\n       \"        <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-52\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_4\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(57.683906 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 30.609375 48.390625  Q 23.390625 48.390625 19.1875 42.75  Q 14.984375 37.109375 14.984375 27.296875  Q 14.984375 17.484375 19.15625 11.84375  Q 23.34375 6.203125 30.609375 6.203125  Q 37.796875 6.203125 41.984375 11.859375  Q 46.1875 17.53125 46.1875 27.296875  Q 46.1875 37.015625 41.984375 42.703125  Q 37.796875 48.390625 30.609375 48.390625  z M 30.609375 56  Q 42.328125 56 49.015625 48.375  Q 55.71875 40.765625 55.71875 27.296875  Q 55.71875 13.875 49.015625 6.21875  Q 42.328125 -1.421875 30.609375 -1.421875  Q 18.84375 -1.421875 12.171875 6.21875  Q 5.515625 13.875 5.515625 27.296875  Q 5.515625 40.765625 12.171875 48.375  Q 18.84375 56 30.609375 56  z \\\" id=\\\"DejaVuSans-111\\\" />\\n\",\n       \"       <path d=\\\"M 45.40625 46.390625  L 45.40625 75.984375  L 54.390625 75.984375  L 54.390625 0  L 45.40625 0  L 45.40625 8.203125  Q 42.578125 3.328125 38.25 0.953125  Q 33.9375 -1.421875 27.875 -1.421875  Q 17.96875 -1.421875 11.734375 6.484375  Q 5.515625 14.40625 5.515625 27.296875  Q 5.515625 40.1875 11.734375 48.09375  Q 17.96875 56 27.875 56  Q 33.9375 56 38.25 53.625  Q 42.578125 51.265625 45.40625 46.390625  z M 14.796875 27.296875  Q 14.796875 17.390625 18.875 11.75  Q 22.953125 6.109375 30.078125 6.109375  Q 37.203125 6.109375 41.296875 11.75  Q 45.40625 17.390625 45.40625 27.296875  Q 45.40625 37.203125 41.296875 42.84375  Q 37.203125 48.484375 30.078125 48.484375  Q 22.953125 48.484375 18.875 42.84375  Q 14.796875 37.203125 14.796875 27.296875  z \\\" id=\\\"DejaVuSans-100\\\" />\\n\",\n       \"       <path d=\\\"M 8.5 21.578125  L 8.5 54.6875  L 17.484375 54.6875  L 17.484375 21.921875  Q 17.484375 14.15625 20.5 10.265625  Q 23.53125 6.390625 29.59375 6.390625  Q 36.859375 6.390625 41.078125 11.03125  Q 45.3125 15.671875 45.3125 23.6875  L 45.3125 54.6875  L 54.296875 54.6875  L 54.296875 0  L 45.3125 0  L 45.3125 8.40625  Q 42.046875 3.421875 37.71875 1  Q 33.40625 -1.421875 27.6875 -1.421875  Q 18.265625 -1.421875 13.375 4.4375  Q 8.5 10.296875 8.5 21.578125  z M 31.109375 56  z \\\" id=\\\"DejaVuSans-117\\\" />\\n\",\n       \"       <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"       <path d=\\\"M 18.3125 70.21875  L 18.3125 54.6875  L 36.8125 54.6875  L 36.8125 47.703125  L 18.3125 47.703125  L 18.3125 18.015625  Q 18.3125 11.328125 20.140625 9.421875  Q 21.96875 7.515625 27.59375 7.515625  L 36.8125 7.515625  L 36.8125 0  L 27.59375 0  Q 17.1875 0 13.234375 3.875  Q 9.28125 7.765625 9.28125 18.015625  L 9.28125 47.703125  L 2.6875 47.703125  L 2.6875 54.6875  L 9.28125 54.6875  L 9.28125 70.21875  z \\\" id=\\\"DejaVuSans-116\\\" />\\n\",\n       \"       <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"       <path d=\\\"M 5.515625 54.6875  L 48.1875 54.6875  L 48.1875 46.484375  L 14.40625 7.171875  L 48.1875 7.171875  L 48.1875 0  L 4.296875 0  L 4.296875 8.203125  L 38.09375 47.515625  L 5.515625 47.515625  z \\\" id=\\\"DejaVuSans-122\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"      <use x=\\\"58.552734\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"97.416016\\\" xlink:href=\\\"#DejaVuSans-111\\\" />\\n\",\n       \"      <use x=\\\"158.597656\\\" xlink:href=\\\"#DejaVuSans-100\\\" />\\n\",\n       \"      <use x=\\\"222.074219\\\" xlink:href=\\\"#DejaVuSans-117\\\" />\\n\",\n       \"      <use x=\\\"285.453125\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"      <use x=\\\"340.433594\\\" xlink:href=\\\"#DejaVuSans-116\\\" />\\n\",\n       \"      <use x=\\\"379.642578\\\" xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"443.119141\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"      <use x=\\\"470.902344\\\" xlink:href=\\\"#DejaVuSans-122\\\" />\\n\",\n       \"      <use x=\\\"523.392578\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m85ab0ef62f\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.502584\\\" xlink:href=\\\"#m85ab0ef62f\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_5\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m85ab0ef62f\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_6\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p765033660d)\\\" d=\\\"M 17.18 32.022704  L 121.805 32.022704  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p765033660d)\\\" d=\\\"M 121.805 61.652848  L 121.805 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_8\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p765033660d)\\\" d=\\\"M 121.805 48.616988  L 156.68 48.616988  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 17.18 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p765033660d\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"17.18\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node4\\\">\\n\",\n       \"<title>leaf5</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"533,-132 463,-132 463,-73 533,-73 533,-132\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 82.810938 68.293293\\\" width=\\\"62px\\\" x=\\\"467\\\" y=\\\"-127.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:54.310206</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 68.293293  L 82.810938 68.293293  L 82.810938 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 61.830469 45.667355  L 61.830469 2.179355  L 19.980469 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mcffbfa346d\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#pbd4abdd79b)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.395081\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.206504\\\" y=\\\"17.573637\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.6867\\\" y=\\\"29.995574\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.185437\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.177827\\\" y=\\\"18.583211\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.035083\\\" y=\\\"17.452553\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.746138\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.109793\\\" y=\\\"21.655884\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.558444\\\" y=\\\"23.036611\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.237237\\\" y=\\\"15.969087\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.590228\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.464459\\\" y=\\\"14.055719\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.412752\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.765381\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.043599\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.433618\\\" y=\\\"30.614911\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.13544\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.451324\\\" y=\\\"22.856166\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.659944\\\" y=\\\"28.835476\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.480089\\\" y=\\\"16.408577\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.083916\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.962677\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.264948\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.807869\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.641232\\\" y=\\\"23.036611\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.48962\\\" y=\\\"27.016378\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.473541\\\" y=\\\"16.633752\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.453914\\\" y=\\\"25.629792\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.267925\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.649566\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.605602\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.760099\\\" y=\\\"18.847752\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.617117\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.300214\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.32209\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.465849\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.530859\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.089398\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.559644\\\" y=\\\"24.778083\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.162623\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.191843\\\" y=\\\"23.404814\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.990737\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.703006\\\" y=\\\"27.016378\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.447837\\\" y=\\\"27.766451\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.045367\\\" y=\\\"16.187065\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.832301\\\" y=\\\"6.965836\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.968812\\\" y=\\\"15.54333\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.490653\\\" y=\\\"27.261846\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.907706\\\" y=\\\"14.533756\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.754321\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.186599\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.205815\\\" y=\\\"25.629792\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.083518\\\" y=\\\"10.73685\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.103039\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.577021\\\" y=\\\"15.54333\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.351344\\\" y=\\\"32.120814\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.531409\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.610534\\\" y=\\\"31.430905\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.546735\\\" y=\\\"23.404814\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.815819\\\" y=\\\"16.862721\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.351405\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.639691\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.334907\\\" y=\\\"27.261846\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.500784\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"49.625699\\\" y=\\\"16.408577\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.963335\\\" y=\\\"11.493874\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.985301\\\" y=\\\"14.055719\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.255071\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.832902\\\" y=\\\"14.533756\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.031743\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.943948\\\" y=\\\"18.069083\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.130143\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.703755\\\" y=\\\"16.747756\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.487563\\\" y=\\\"16.077634\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.763398\\\" y=\\\"41.741634\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.3108\\\" y=\\\"12.049992\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.771004\\\" y=\\\"24.371397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.027691\\\" y=\\\"35.072532\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.764287\\\" y=\\\"23.976496\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.766201\\\" y=\\\"17.095601\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.70473\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.350336\\\" y=\\\"32.298906\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.141788\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.67205\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.124352\\\" y=\\\"19.673634\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.656351\\\" y=\\\"22.502306\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.168311\\\" y=\\\"10.959583\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.099255\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.671639\\\" y=\\\"24.778083\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.336902\\\" y=\\\"29.995574\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.663228\\\" y=\\\"19.816285\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.874412\\\" y=\\\"23.036611\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.548911\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.789433\\\" y=\\\"28.290479\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.709001\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.467414\\\" y=\\\"28.835476\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.509537\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.894615\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.566584\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.360357\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.103675\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.431258\\\" y=\\\"32.298906\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.494907\\\" y=\\\"17.095601\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.698351\\\" y=\\\"13.147183\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.010987\\\" y=\\\"32.298906\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.55264\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.271992\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.943198\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.360985\\\" y=\\\"34.22081\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.277182\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.109356\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.864453\\\" y=\\\"11.729443\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.269418\\\" y=\\\"29.696163\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.169883\\\" y=\\\"27.51181\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.510901\\\" y=\\\"9.674788\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.76965\\\" y=\\\"11.571955\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.297634\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.09482\\\" y=\\\"16.862721\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.516927\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.970706\\\" y=\\\"25.629792\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.477986\\\" y=\\\"25.851304\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.872097\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.439505\\\" y=\\\"29.403183\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.31808\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.004673\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.166678\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.631435\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.052701\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.954243\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.589348\\\" y=\\\"24.371397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.100514\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.205437\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.152811\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.386666\\\" y=\\\"20.858988\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.616187\\\" y=\\\"23.219471\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.408897\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.649027\\\" y=\\\"30.614911\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.839718\\\" y=\\\"14.928657\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.503841\\\" y=\\\"15.029201\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.007491\\\" y=\\\"35.981068\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.767723\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.410056\\\" y=\\\"11.110107\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.622643\\\" y=\\\"13.59387\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.379155\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.525277\\\" y=\\\"21.331516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.751091\\\" y=\\\"16.633752\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.639329\\\" y=\\\"14.533756\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.688778\\\" y=\\\"34.22081\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.823284\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.51762\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.959981\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.183564\\\" y=\\\"8.626343\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.966554\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.316785\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.110077\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.030533\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.743091\\\" y=\\\"29.995574\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.689337\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.446444\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.021447\\\" y=\\\"9.674788\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.687977\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.786726\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.628169\\\" y=\\\"23.976496\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.926074\\\" y=\\\"21.331516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.115621\\\" y=\\\"23.219471\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.342435\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.0366\\\" y=\\\"18.323724\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.567411\\\" y=\\\"27.261846\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.204235\\\" y=\\\"29.403183\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.773214\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.615571\\\" y=\\\"17.332521\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.048643\\\" y=\\\"23.976496\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.675102\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.573423\\\" y=\\\"20.253423\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.199379\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.093183\\\" y=\\\"25.411814\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.581464\\\" y=\\\"31.945033\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.594223\\\" y=\\\"17.213541\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.079615\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.37564\\\" y=\\\"18.847752\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.131955\\\" y=\\\"16.908972\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.137233\\\" y=\\\"12.71467\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.069783\\\" y=\\\"23.036611\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.74747\\\" y=\\\"24.98607\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.833935\\\" y=\\\"20.253423\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.538197\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.794825\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.981013\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.916324\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.46369\\\" y=\\\"9.338402\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.118874\\\" y=\\\"11.888776\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.175823\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.352252\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"50.331079\\\" y=\\\"23.976496\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.994954\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.199582\\\" y=\\\"27.51181\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.402002\\\" y=\\\"17.213541\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.061201\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.968772\\\" y=\\\"21.17217\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.6551\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.493951\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.712284\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.342933\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.868747\\\" y=\\\"14.631416\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.375615\\\" y=\\\"8.376379\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.364811\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.295485\\\" y=\\\"16.187065\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.811895\\\" y=\\\"12.71467\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.134448\\\" y=\\\"16.187065\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.835163\\\" y=\\\"11.888776\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.980577\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.051815\\\" y=\\\"12.71467\\\" xlink:href=\\\"#mcffbfa346d\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m450a904abb\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"30.285345\\\" xlink:href=\\\"#m450a904abb\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m450a904abb\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pbd4abdd79b)\\\" d=\\\"M 19.980469 24.11816  L 83.810938 24.11816  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 19.980469 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 37.796875 64.3125  L 12.890625 25.390625  L 37.796875 25.390625  z M 35.203125 72.90625  L 47.609375 72.90625  L 47.609375 25.390625  L 58.015625 25.390625  L 58.015625 17.1875  L 47.609375 17.1875  L 47.609375 0  L 37.796875 0  L 37.796875 17.1875  L 4.890625 17.1875  L 4.890625 26.703125  z \\\" id=\\\"DejaVuSans-52\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"669.050781\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-52\\\" />\\n\",\n       \"     <use x=\\\"764.460938\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.503125 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"274.414062\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"pbd4abdd79b\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"19.980469\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge1\\\">\\n\",\n       \"<title>node4-&gt;leaf5</title>\\n\",\n       \"<path d=\\\"M446,-86.16C450.43,-87.58 454.81,-88.99 459.03,-90.34\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"458.62,-91.67 462.85,-91.56 459.47,-89.01 458.62,-91.67\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node5\\\">\\n\",\n       \"<title>leaf6</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"530.5,-59 465.5,-59 465.5,0 530.5,0 530.5,-59\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 76.829219 68.293293\\\" width=\\\"57px\\\" x=\\\"470\\\" y=\\\"-54.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:54.432563</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M -0 68.293293  L 76.829219 68.293293  L 76.829219 0  L -0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 59.03 45.667355  L 59.03 2.179355  L 17.18 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m2b13e9ee18\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p8ef57787c5)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.044519\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.992217\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.762572\\\" y=\\\"29.696163\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.828325\\\" y=\\\"30.614911\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.169788\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.331562\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.703217\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.35287\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.867214\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.127753\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.624115\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.327968\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.654743\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.823813\\\" y=\\\"40.249073\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.052715\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.228671\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.659182\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.225398\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.929898\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.755811\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.02194\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.400491\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.856468\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.288372\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.464417\\\" y=\\\"20.40231\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.641826\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"29.424101\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.895773\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.811486\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.021268\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m2b13e9ee18\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m67b5aa1a7c\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.285345\\\" xlink:href=\\\"#m67b5aa1a7c\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m67b5aa1a7c\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p8ef57787c5)\\\" d=\\\"M 17.18 36.18673  L 77.829219 36.18673  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 17.18 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0.380781 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.984375 1.515625  L 10.984375 10.5  Q 14.703125 8.734375 18.5 7.8125  Q 22.3125 6.890625 25.984375 6.890625  Q 35.75 6.890625 40.890625 13.453125  Q 46.046875 20.015625 46.78125 33.40625  Q 43.953125 29.203125 39.59375 26.953125  Q 35.25 24.703125 29.984375 24.703125  Q 19.046875 24.703125 12.671875 31.3125  Q 6.296875 37.9375 6.296875 49.421875  Q 6.296875 60.640625 12.9375 67.421875  Q 19.578125 74.21875 30.609375 74.21875  Q 43.265625 74.21875 49.921875 64.515625  Q 56.59375 54.828125 56.59375 36.375  Q 56.59375 19.140625 48.40625 8.859375  Q 40.234375 -1.421875 26.421875 -1.421875  Q 22.703125 -1.421875 18.890625 -0.6875  Q 15.09375 0.046875 10.984375 1.515625  z M 30.609375 32.421875  Q 37.25 32.421875 41.125 36.953125  Q 45.015625 41.5 45.015625 49.421875  Q 45.015625 57.28125 41.125 61.84375  Q 37.25 66.40625 30.609375 66.40625  Q 23.96875 66.40625 20.09375 61.84375  Q 16.21875 57.28125 16.21875 49.421875  Q 16.21875 41.5 20.09375 36.953125  Q 23.96875 32.421875 30.609375 32.421875  z \\\" id=\\\"DejaVuSans-57\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"637.214844\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.883906 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"      <path d=\\\"M 40.578125 39.3125  Q 47.65625 37.796875 51.625 33  Q 55.609375 28.21875 55.609375 21.1875  Q 55.609375 10.40625 48.1875 4.484375  Q 40.765625 -1.421875 27.09375 -1.421875  Q 22.515625 -1.421875 17.65625 -0.515625  Q 12.796875 0.390625 7.625 2.203125  L 7.625 11.71875  Q 11.71875 9.328125 16.59375 8.109375  Q 21.484375 6.890625 26.8125 6.890625  Q 36.078125 6.890625 40.9375 10.546875  Q 45.796875 14.203125 45.796875 21.1875  Q 45.796875 27.640625 41.28125 31.265625  Q 36.765625 34.90625 28.71875 34.90625  L 20.21875 34.90625  L 20.21875 43.015625  L 29.109375 43.015625  Q 36.375 43.015625 40.234375 45.921875  Q 44.09375 48.828125 44.09375 54.296875  Q 44.09375 59.90625 40.109375 62.90625  Q 36.140625 65.921875 28.71875 65.921875  Q 24.65625 65.921875 20.015625 65.03125  Q 15.375 64.15625 9.8125 62.3125  L 9.8125 71.09375  Q 15.4375 72.65625 20.34375 73.4375  Q 25.25 74.21875 29.59375 74.21875  Q 40.828125 74.21875 47.359375 69.109375  Q 53.90625 64.015625 53.90625 55.328125  Q 53.90625 49.265625 50.4375 45.09375  Q 46.96875 40.921875 40.578125 39.3125  z \\\" id=\\\"DejaVuSans-51\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-51\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p8ef57787c5\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"17.18\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge2\\\">\\n\",\n       \"<title>node4-&gt;leaf6</title>\\n\",\n       \"<path d=\\\"M446,-45.39C451.25,-43.76 456.42,-42.15 461.35,-40.61\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"462.01,-41.87 465.42,-39.34 461.18,-39.2 462.01,-41.87\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node2\\\">\\n\",\n       \"<title>node1</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 166.86 90.073473\\\" width=\\\"125px\\\" x=\\\"169.5\\\" y=\\\"-148.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:53.856628</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.073473  L 166.86 90.073473  L 166.86 -0  L 0 -0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  L 156.68 1.856848  L 17.18 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m0d597d3693\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p8991d8d114)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.697857\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"24.41215\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"22.857495\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"28.637075\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"39.897178\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"20.817729\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.421071\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.251429\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.282679\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"28.864125\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.144286\\\" y=\\\"57.795434\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"30.287463\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.759643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"18.058103\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.389821\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.389821\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"20.966981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.974643\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"37.039105\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.943393\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"8.438259\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"48.013994\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"18.058103\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"13.623403\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"43.026353\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"42.077729\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.805\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.251429\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.576192\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"14.664311\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"53.087917\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.943393\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"24.41215\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.805\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.541607\\\" y=\\\"23.705224\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.144286\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"37.039105\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"54.20271\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.282679\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.541607\\\" y=\\\"21.888399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"20.966981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"15.428973\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.421071\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"59.01148\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.251429\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"20.522743\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.697857\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.282679\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"13.92966\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.144286\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.113036\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"26.107626\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"37.759643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.389821\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"18.978431\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"16.937611\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.113036\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.220179\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.974643\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.251429\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"14.988219\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.943393\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"32.097446\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"14.771673\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.282679\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"34.405777\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.287463\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"41.847893\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"58.897616\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"27.541343\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.943393\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"26.107626\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.528214\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"49.329023\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.541607\\\" y=\\\"19.525386\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"14.136631\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"17.551806\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.697857\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"17.058835\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.805\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"10.721456\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.83625\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"27.541343\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.113036\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.421071\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.559464\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.541607\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.71125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"24.055355\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"22.692451\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.541607\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"26.91341\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.327321\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"22.110071\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"33.21608\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.83625\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.157679\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.974643\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.7425\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"28.864125\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.358571\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.912143\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"11.700538\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.83625\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"34.872149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.188929\\\" y=\\\"13.123876\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.434464\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.050536\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.081786\\\" y=\\\"58.897616\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.988036\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.635357\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.264821\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.019286\\\" y=\\\"27.971969\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.465714\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.604107\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"18.978431\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.77375\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.126429\\\" y=\\\"10.377755\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.880893\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.666607\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.296071\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.805\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"153.496964\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.403214\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.572857\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"152.805\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"155.849643\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m0d597d3693\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 154.396518 61.652848  L 151.885518 67.632448  L 156.907518 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"mc2565dd003\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"61.652848\\\" xlink:href=\\\"#mc2565dd003\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(7 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"127.246094\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"190.869141\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"61.652848\\\" xlink:href=\\\"#mc2565dd003\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(146.5 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 34.625  Q 24.75 34.625 20.71875 30.859375  Q 16.703125 27.09375 16.703125 20.515625  Q 16.703125 13.921875 20.71875 10.15625  Q 24.75 6.390625 31.78125 6.390625  Q 38.8125 6.390625 42.859375 10.171875  Q 46.921875 13.96875 46.921875 20.515625  Q 46.921875 27.09375 42.890625 30.859375  Q 38.875 34.625 31.78125 34.625  z M 21.921875 38.8125  Q 15.578125 40.375 12.03125 44.71875  Q 8.5 49.078125 8.5 55.328125  Q 8.5 64.0625 14.71875 69.140625  Q 20.953125 74.21875 31.78125 74.21875  Q 42.671875 74.21875 48.875 69.140625  Q 55.078125 64.0625 55.078125 55.328125  Q 55.078125 49.078125 51.53125 44.71875  Q 48 40.375 41.703125 38.8125  Q 48.828125 37.15625 52.796875 32.3125  Q 56.78125 27.484375 56.78125 20.515625  Q 56.78125 9.90625 50.3125 4.234375  Q 43.84375 -1.421875 31.78125 -1.421875  Q 19.734375 -1.421875 13.25 4.234375  Q 6.78125 9.90625 6.78125 20.515625  Q 6.78125 27.484375 10.78125 32.3125  Q 14.796875 37.15625 21.921875 38.8125  z M 18.3125 54.390625  Q 18.3125 48.734375 21.84375 45.5625  Q 25.390625 42.390625 31.78125 42.390625  Q 38.140625 42.390625 41.71875 45.5625  Q 45.3125 48.734375 45.3125 54.390625  Q 45.3125 60.0625 41.71875 63.234375  Q 38.140625 66.40625 31.78125 66.40625  Q 25.390625 66.40625 21.84375 63.234375  Q 18.3125 60.0625 18.3125 54.390625  z \\\" id=\\\"DejaVuSans-56\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"127.246094\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"190.869141\\\" xlink:href=\\\"#DejaVuSans-56\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_3\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(62.713594 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M -0.203125 72.90625  L 10.40625 72.90625  L 30.609375 42.921875  L 50.6875 72.90625  L 61.28125 72.90625  L 35.5 34.71875  L 35.5 0  L 25.59375 0  L 25.59375 34.71875  z \\\" id=\\\"DejaVuSans-89\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"       <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 9.8125 72.90625  L 24.515625 72.90625  L 43.109375 23.296875  L 61.8125 72.90625  L 76.515625 72.90625  L 76.515625 0  L 66.890625 0  L 66.890625 64.015625  L 48.09375 14.015625  L 38.1875 14.015625  L 19.390625 64.015625  L 19.390625 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-77\\\" />\\n\",\n       \"       <path d=\\\"M 45.40625 46.390625  L 45.40625 75.984375  L 54.390625 75.984375  L 54.390625 0  L 45.40625 0  L 45.40625 8.203125  Q 42.578125 3.328125 38.25 0.953125  Q 33.9375 -1.421875 27.875 -1.421875  Q 17.96875 -1.421875 11.734375 6.484375  Q 5.515625 14.40625 5.515625 27.296875  Q 5.515625 40.1875 11.734375 48.09375  Q 17.96875 56 27.875 56  Q 33.9375 56 38.25 53.625  Q 42.578125 51.265625 45.40625 46.390625  z M 14.796875 27.296875  Q 14.796875 17.390625 18.875 11.75  Q 22.953125 6.109375 30.078125 6.109375  Q 37.203125 6.109375 41.296875 11.75  Q 45.40625 17.390625 45.40625 27.296875  Q 45.40625 37.203125 41.296875 42.84375  Q 37.203125 48.484375 30.078125 48.484375  Q 22.953125 48.484375 18.875 42.84375  Q 14.796875 37.203125 14.796875 27.296875  z \\\" id=\\\"DejaVuSans-100\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-89\\\" />\\n\",\n       \"      <use x=\\\"47.833984\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"109.357422\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"170.636719\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"211.75\\\" xlink:href=\\\"#DejaVuSans-77\\\" />\\n\",\n       \"      <use x=\\\"298.029297\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"359.308594\\\" xlink:href=\\\"#DejaVuSans-100\\\" />\\n\",\n       \"      <use x=\\\"422.785156\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"mc25ef0a696\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.502584\\\" xlink:href=\\\"#mc25ef0a696\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_4\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#mc25ef0a696\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_5\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p8991d8d114)\\\" d=\\\"M 17.18 39.138536  L 154.396518 39.138536  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p8991d8d114)\\\" d=\\\"M 154.396518 61.652848  L 154.396518 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p8991d8d114)\\\" d=\\\"M 154.396518 34.079851  L 156.68 34.079851  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 17.18 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p8991d8d114\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"17.18\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge5\\\">\\n\",\n       \"<title>node1-&gt;node4</title>\\n\",\n       \"<path d=\\\"M298.26,-92.58C302.47,-91.18 306.72,-89.76 310.95,-88.35\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"311.47,-89.65 314.82,-87.06 310.59,-87 311.47,-89.65\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node6\\\">\\n\",\n       \"<title>leaf3</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"415.5,-176 345.5,-176 345.5,-117 415.5,-117 415.5,-176\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 82.810938 68.293293\\\" width=\\\"62px\\\" x=\\\"349.5\\\" y=\\\"-171.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:54.186657</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 68.293293  L 82.810938 68.293293  L 82.810938 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 61.830469 45.667355  L 61.830469 2.179355  L 19.980469 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mcae02b627c\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p0b616ee743)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.065431\\\" y=\\\"17.573637\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.261581\\\" y=\\\"41.741634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.124346\\\" y=\\\"22.502306\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.063533\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.133441\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.265378\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.391519\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.154276\\\" y=\\\"29.84505\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.871474\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.372446\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.439763\\\" y=\\\"27.016378\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.598969\\\" y=\\\"25.629792\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.724417\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.332766\\\" y=\\\"21.821011\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.098575\\\" y=\\\"42.861963\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.595667\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.29381\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.877852\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.713126\\\" y=\\\"21.331516\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.848841\\\" y=\\\"16.633752\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.764439\\\" y=\\\"25.629792\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.98869\\\" y=\\\"31.945033\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.113031\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.196574\\\" y=\\\"28.290479\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.418896\\\" y=\\\"13.962087\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.004372\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.913157\\\" y=\\\"27.016378\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.151549\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.895163\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.081524\\\" y=\\\"27.51181\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.669091\\\" y=\\\"19.673634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.704618\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.978542\\\" y=\\\"14.928657\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.499566\\\" y=\\\"16.077634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.632471\\\" y=\\\"34.22081\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.528466\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.179792\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.487289\\\" y=\\\"24.778083\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.95919\\\" y=\\\"22.502306\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.247766\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.903826\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.839297\\\" y=\\\"35.748189\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.361807\\\" y=\\\"17.213541\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.175945\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.13951\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.444414\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.703619\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.692111\\\" y=\\\"17.095601\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.535851\\\" y=\\\"13.962087\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.298912\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.525191\\\" y=\\\"29.403183\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.721395\\\" y=\\\"21.492732\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.501478\\\" y=\\\"20.253423\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.988023\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.867119\\\" y=\\\"22.502306\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.157411\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.01058\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.663709\\\" y=\\\"16.520697\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.633408\\\" y=\\\"39.438314\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.53351\\\" y=\\\"26.538328\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.345286\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.727204\\\" y=\\\"35.072532\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.250844\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.414783\\\" y=\\\"18.583211\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.511992\\\" y=\\\"23.219471\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.474133\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.75938\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.876252\\\" y=\\\"14.928657\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.074577\\\" y=\\\"27.51181\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.545454\\\" y=\\\"19.392736\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.417231\\\" y=\\\"25.411814\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.277431\\\" y=\\\"17.573637\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.148649\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.419688\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.27158\\\" y=\\\"19.673634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.365562\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.700592\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.918448\\\" y=\\\"27.766451\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.435915\\\" y=\\\"39.13889\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.380034\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.250056\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.040416\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.531364\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.19228\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.778858\\\" y=\\\"43.74636\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.752386\\\" y=\\\"23.976496\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.573327\\\" y=\\\"24.778083\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.733124\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.284284\\\" y=\\\"15.754552\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.157036\\\" y=\\\"28.835476\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.574112\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.395138\\\" y=\\\"16.633752\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.906791\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.15168\\\" y=\\\"40.3782\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.715011\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.613754\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.211191\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.221378\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.587863\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.984957\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.90404\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.659888\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.241307\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.005082\\\" y=\\\"14.631416\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.497259\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.23407\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.967727\\\" y=\\\"36.954551\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.783727\\\" y=\\\"16.633752\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.364306\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.173879\\\" y=\\\"27.016378\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.613382\\\" y=\\\"15.54333\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.916983\\\" y=\\\"20.253423\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.827322\\\" y=\\\"35.981068\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"50.52506\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"49.738778\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.565387\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.205513\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.834573\\\" y=\\\"24.172518\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.81899\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.121974\\\" y=\\\"30.614911\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.238507\\\" y=\\\"34.22081\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.983571\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.776373\\\" y=\\\"22.856166\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.050234\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.71812\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.485252\\\" y=\\\"32.298906\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.640309\\\" y=\\\"31.263752\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.903957\\\" y=\\\"28.835476\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.339257\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.146431\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.425139\\\" y=\\\"43.66355\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.541016\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.932076\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.461308\\\" y=\\\"19.816285\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.595958\\\" y=\\\"15.54333\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.474708\\\" y=\\\"36.704574\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.829114\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.973151\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.151479\\\" y=\\\"24.778083\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.485992\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.913608\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.395888\\\" y=\\\"23.219471\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.094252\\\" y=\\\"22.157397\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.844332\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.351624\\\" y=\\\"29.696163\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.622226\\\" y=\\\"23.219471\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.870503\\\" y=\\\"19.117516\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.587558\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.305052\\\" y=\\\"25.197279\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.186647\\\" y=\\\"31.945033\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.486829\\\" y=\\\"13.235346\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.587354\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.730632\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.723202\\\" y=\\\"20.858988\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.960265\\\" y=\\\"27.261846\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.515762\\\" y=\\\"27.261846\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.917532\\\" y=\\\"23.592728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.696596\\\" y=\\\"35.981068\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.3279\\\" y=\\\"19.392736\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.523768\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.94996\\\" y=\\\"35.072532\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.049545\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.227676\\\" y=\\\"30.935459\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.607364\\\" y=\\\"30.301728\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.404882\\\" y=\\\"12.71467\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.896354\\\" y=\\\"29.995574\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.508908\\\" y=\\\"20.253423\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.523067\\\" y=\\\"21.492732\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.426883\\\" y=\\\"41.741634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.682624\\\" y=\\\"19.392736\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.556664\\\" y=\\\"40.3782\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.719285\\\" y=\\\"35.981068\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.540469\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.147547\\\" y=\\\"29.116374\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.916135\\\" y=\\\"28.560256\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.671218\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.428555\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.541146\\\" y=\\\"19.673634\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.748933\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.806836\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.10472\\\" y=\\\"31.600138\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.219984\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.732389\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.652718\\\" y=\\\"21.821011\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.649846\\\" y=\\\"28.025951\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"50.124109\\\" y=\\\"33.035456\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.604352\\\" y=\\\"25.411814\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.036356\\\" y=\\\"32.662199\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.781594\\\" y=\\\"26.190483\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.489331\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.54494\\\" y=\\\"10.373557\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.987863\\\" y=\\\"31.945033\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.085829\\\" y=\\\"43.66355\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.040081\\\" y=\\\"17.819106\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.989398\\\" y=\\\"15.54333\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.76967\\\" y=\\\"26.076492\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.342175\\\" y=\\\"20.552847\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.753023\\\" y=\\\"21.492732\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.617754\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.965202\\\" y=\\\"34.640019\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.942675\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.422628\\\" y=\\\"40.3782\\\" xlink:href=\\\"#mcae02b627c\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"ma6edf917b5\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"30.285345\\\" xlink:href=\\\"#ma6edf917b5\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"3.039375\\\" xlink:href=\\\"#ma6edf917b5\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p0b616ee743)\\\" d=\\\"M 19.980469 29.29331  L 83.810938 29.29331  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 19.980469 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"669.050781\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"764.460938\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.503125 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"274.414062\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p0b616ee743\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"19.980469\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge4\\\">\\n\",\n       \"<title>node1-&gt;leaf3</title>\\n\",\n       \"<path d=\\\"M298.26,-128.82C312.95,-132.01 328.05,-135.3 341.19,-138.16\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"341,-139.55 345.2,-139.03 341.59,-136.82 341,-139.55\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node7\\\">\\n\",\n       \"<title>leaf2</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"264,-63 199,-63 199,-4 264,-4 264,-63\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 76.829219 68.293293\\\" width=\\\"57px\\\" x=\\\"203.5\\\" y=\\\"-58.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:54.543761</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M -0 68.293293  L 76.829219 68.293293  L 76.829219 0  L -0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 59.03 45.667355  L 59.03 2.179355  L 17.18 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m9ff222b6ad\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p9ca1a4aab5)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.187763\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.796123\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.911827\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.434804\\\" y=\\\"48.001841\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.419059\\\" y=\\\"49.187195\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.878303\\\" y=\\\"45.423795\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.074229\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.322641\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.484403\\\" y=\\\"46.911419\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.033805\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.314109\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.779841\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.562291\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.177769\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.127075\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.349069\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.289687\\\" y=\\\"37.679901\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.179463\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.415075\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.560998\\\" y=\\\"44.96196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.980728\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.222109\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.003885\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.826088\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.746116\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.287529\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.545659\\\" y=\\\"48.001841\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.454534\\\" y=\\\"49.187195\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.256847\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.780147\\\" y=\\\"40.3782\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.298851\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.449792\\\" y=\\\"48.001841\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.165787\\\" y=\\\"44.96196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.738714\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.886431\\\" y=\\\"46.911419\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.703401\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.69013\\\" y=\\\"40.3782\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.100161\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.047988\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.852244\\\" y=\\\"42.861963\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.746632\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.673722\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.740213\\\" y=\\\"45.901845\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.004573\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.737516\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.196065\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.47184\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.806089\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.28193\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.315741\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.610934\\\" y=\\\"42.861963\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.740068\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"27.705927\\\" y=\\\"45.708604\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.908691\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.241881\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.013558\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m9ff222b6ad\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m59c5cb1784\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.285345\\\" xlink:href=\\\"#m59c5cb1784\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m59c5cb1784\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p9ca1a4aab5)\\\" d=\\\"M 17.18 41.65069  L 77.829219 41.65069  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 17.18 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0.380781 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.984375 1.515625  L 10.984375 10.5  Q 14.703125 8.734375 18.5 7.8125  Q 22.3125 6.890625 25.984375 6.890625  Q 35.75 6.890625 40.890625 13.453125  Q 46.046875 20.015625 46.78125 33.40625  Q 43.953125 29.203125 39.59375 26.953125  Q 35.25 24.703125 29.984375 24.703125  Q 19.046875 24.703125 12.671875 31.3125  Q 6.296875 37.9375 6.296875 49.421875  Q 6.296875 60.640625 12.9375 67.421875  Q 19.578125 74.21875 30.609375 74.21875  Q 43.265625 74.21875 49.921875 64.515625  Q 56.59375 54.828125 56.59375 36.375  Q 56.59375 19.140625 48.40625 8.859375  Q 40.234375 -1.421875 26.421875 -1.421875  Q 22.703125 -1.421875 18.890625 -0.6875  Q 15.09375 0.046875 10.984375 1.515625  z M 30.609375 32.421875  Q 37.25 32.421875 41.125 36.953125  Q 45.015625 41.5 45.015625 49.421875  Q 45.015625 57.28125 41.125 61.84375  Q 37.25 66.40625 30.609375 66.40625  Q 23.96875 66.40625 20.09375 61.84375  Q 16.21875 57.28125 16.21875 49.421875  Q 16.21875 41.5 20.09375 36.953125  Q 23.96875 32.421875 30.609375 32.421875  z \\\" id=\\\"DejaVuSans-57\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"637.214844\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.883906 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"      <path d=\\\"M 33.015625 40.375  Q 26.375 40.375 22.484375 35.828125  Q 18.609375 31.296875 18.609375 23.390625  Q 18.609375 15.53125 22.484375 10.953125  Q 26.375 6.390625 33.015625 6.390625  Q 39.65625 6.390625 43.53125 10.953125  Q 47.40625 15.53125 47.40625 23.390625  Q 47.40625 31.296875 43.53125 35.828125  Q 39.65625 40.375 33.015625 40.375  z M 52.59375 71.296875  L 52.59375 62.3125  Q 48.875 64.0625 45.09375 64.984375  Q 41.3125 65.921875 37.59375 65.921875  Q 27.828125 65.921875 22.671875 59.328125  Q 17.53125 52.734375 16.796875 39.40625  Q 19.671875 43.65625 24.015625 45.921875  Q 28.375 48.1875 33.59375 48.1875  Q 44.578125 48.1875 50.953125 41.515625  Q 57.328125 34.859375 57.328125 23.390625  Q 57.328125 12.15625 50.6875 5.359375  Q 44.046875 -1.421875 33.015625 -1.421875  Q 20.359375 -1.421875 13.671875 8.265625  Q 6.984375 17.96875 6.984375 36.375  Q 6.984375 53.65625 15.1875 63.9375  Q 23.390625 74.21875 37.203125 74.21875  Q 40.921875 74.21875 44.703125 73.484375  Q 48.484375 72.75 52.59375 71.296875  z \\\" id=\\\"DejaVuSans-54\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-54\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p9ca1a4aab5\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"17.18\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node3\\\">\\n\",\n       \"<title>node0</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 176.719375 90.351598\\\" width=\\\"132px\\\" x=\\\"4\\\" y=\\\"-107.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:54.025401</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.351598  L 176.719375 90.351598  L 176.719375 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 170.358125 61.652848  L 170.358125 1.856848  L 30.858125 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mc4d47adefa\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p4f122c3d3e)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.41215\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.857495\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.637075\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.897178\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.817729\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"66.492628\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.864125\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.317953\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.287463\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"63.363435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.759643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.058103\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.966981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.670098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.039105\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"8.438259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.013994\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"60.682929\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.058103\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.623403\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.026353\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.077729\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.576192\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.664311\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.087917\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.41215\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"66.492628\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.705224\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.039105\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.20271\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.888399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.966981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.428973\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.01148\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.522743\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.92966\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.107626\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.759643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"60.682929\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.978431\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.937611\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"63.363435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.988219\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.097446\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.771673\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.405777\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.287463\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.847893\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.897616\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.541343\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.107626\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.329023\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.525386\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.136631\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"17.551806\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.975271\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"17.058835\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"10.721456\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.541343\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.055355\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.692451\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.91341\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.110071\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.21608\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.864125\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"11.700538\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.872149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.123876\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.897616\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.971969\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.709564\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.978431\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"10.377755\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc4d47adefa\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 65.733125 61.652848  L 63.222125 67.632448  L 68.244125 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"m8d285145fe\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m8d285145fe\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.496875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"        <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m8d285145fe\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(163.996875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_3\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"65.733125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m8d285145fe\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_3\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(59.371875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_4\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(60.047969 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 64.40625 67.28125  L 64.40625 56.890625  Q 59.421875 61.53125 53.78125 63.8125  Q 48.140625 66.109375 41.796875 66.109375  Q 29.296875 66.109375 22.65625 58.46875  Q 16.015625 50.828125 16.015625 36.375  Q 16.015625 21.96875 22.65625 14.328125  Q 29.296875 6.6875 41.796875 6.6875  Q 48.140625 6.6875 53.78125 8.984375  Q 59.421875 11.28125 64.40625 15.921875  L 64.40625 5.609375  Q 59.234375 2.09375 53.4375 0.328125  Q 47.65625 -1.421875 41.21875 -1.421875  Q 24.65625 -1.421875 15.125 8.703125  Q 5.609375 18.84375 5.609375 36.375  Q 5.609375 53.953125 15.125 64.078125  Q 24.65625 74.21875 41.21875 74.21875  Q 47.75 74.21875 53.53125 72.484375  Q 59.328125 70.75 64.40625 67.28125  z \\\" id=\\\"DejaVuSans-67\\\" />\\n\",\n       \"       <path d=\\\"M 30.609375 48.390625  Q 23.390625 48.390625 19.1875 42.75  Q 14.984375 37.109375 14.984375 27.296875  Q 14.984375 17.484375 19.15625 11.84375  Q 23.34375 6.203125 30.609375 6.203125  Q 37.796875 6.203125 41.984375 11.859375  Q 46.1875 17.53125 46.1875 27.296875  Q 46.1875 37.015625 41.984375 42.703125  Q 37.796875 48.390625 30.609375 48.390625  z M 30.609375 56  Q 42.328125 56 49.015625 48.375  Q 55.71875 40.765625 55.71875 27.296875  Q 55.71875 13.875 49.015625 6.21875  Q 42.328125 -1.421875 30.609375 -1.421875  Q 18.84375 -1.421875 12.171875 6.21875  Q 5.515625 13.875 5.515625 27.296875  Q 5.515625 40.765625 12.171875 48.375  Q 18.84375 56 30.609375 56  z \\\" id=\\\"DejaVuSans-111\\\" />\\n\",\n       \"       <path d=\\\"M 8.5 21.578125  L 8.5 54.6875  L 17.484375 54.6875  L 17.484375 21.921875  Q 17.484375 14.15625 20.5 10.265625  Q 23.53125 6.390625 29.59375 6.390625  Q 36.859375 6.390625 41.078125 11.03125  Q 45.3125 15.671875 45.3125 23.6875  L 45.3125 54.6875  L 54.296875 54.6875  L 54.296875 0  L 45.3125 0  L 45.3125 8.40625  Q 42.046875 3.421875 37.71875 1  Q 33.40625 -1.421875 27.6875 -1.421875  Q 18.265625 -1.421875 13.375 4.4375  Q 8.5 10.296875 8.5 21.578125  z M 31.109375 56  z \\\" id=\\\"DejaVuSans-117\\\" />\\n\",\n       \"       <path d=\\\"M 18.109375 8.203125  L 18.109375 -20.796875  L 9.078125 -20.796875  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.390625  Q 20.953125 51.265625 25.265625 53.625  Q 29.59375 56 35.59375 56  Q 45.5625 56 51.78125 48.09375  Q 58.015625 40.1875 58.015625 27.296875  Q 58.015625 14.40625 51.78125 6.484375  Q 45.5625 -1.421875 35.59375 -1.421875  Q 29.59375 -1.421875 25.265625 0.953125  Q 20.953125 3.328125 18.109375 8.203125  z M 48.6875 27.296875  Q 48.6875 37.203125 44.609375 42.84375  Q 40.53125 48.484375 33.40625 48.484375  Q 26.265625 48.484375 22.1875 42.84375  Q 18.109375 37.203125 18.109375 27.296875  Q 18.109375 17.390625 22.1875 11.75  Q 26.265625 6.109375 33.40625 6.109375  Q 40.53125 6.109375 44.609375 11.75  Q 48.6875 17.390625 48.6875 27.296875  z \\\" id=\\\"DejaVuSans-112\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 50.984375 -16.609375  L 50.984375 -23.578125  L -0.984375 -23.578125  L -0.984375 -16.609375  z \\\" id=\\\"DejaVuSans-95\\\" />\\n\",\n       \"       <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"       <path d=\\\"M 32.171875 -5.078125  Q 28.375 -14.84375 24.75 -17.8125  Q 21.140625 -20.796875 15.09375 -20.796875  L 7.90625 -20.796875  L 7.90625 -13.28125  L 13.1875 -13.28125  Q 16.890625 -13.28125 18.9375 -11.515625  Q 21 -9.765625 23.484375 -3.21875  L 25.09375 0.875  L 2.984375 54.6875  L 12.5 54.6875  L 29.59375 11.921875  L 46.6875 54.6875  L 56.203125 54.6875  z \\\" id=\\\"DejaVuSans-121\\\" />\\n\",\n       \"       <path d=\\\"M 44.28125 53.078125  L 44.28125 44.578125  Q 40.484375 46.53125 36.375 47.5  Q 32.28125 48.484375 27.875 48.484375  Q 21.1875 48.484375 17.84375 46.4375  Q 14.5 44.390625 14.5 40.28125  Q 14.5 37.15625 16.890625 35.375  Q 19.28125 33.59375 26.515625 31.984375  L 29.59375 31.296875  Q 39.15625 29.25 43.1875 25.515625  Q 47.21875 21.78125 47.21875 15.09375  Q 47.21875 7.46875 41.1875 3.015625  Q 35.15625 -1.421875 24.609375 -1.421875  Q 20.21875 -1.421875 15.453125 -0.5625  Q 10.6875 0.296875 5.421875 2  L 5.421875 11.28125  Q 10.40625 8.6875 15.234375 7.390625  Q 20.0625 6.109375 24.8125 6.109375  Q 31.15625 6.109375 34.5625 8.28125  Q 37.984375 10.453125 37.984375 14.40625  Q 37.984375 18.0625 35.515625 20.015625  Q 33.0625 21.96875 24.703125 23.78125  L 21.578125 24.515625  Q 13.234375 26.265625 9.515625 29.90625  Q 5.8125 33.546875 5.8125 39.890625  Q 5.8125 47.609375 11.28125 51.796875  Q 16.75 56 26.8125 56  Q 31.78125 56 36.171875 55.265625  Q 40.578125 54.546875 44.28125 53.078125  z \\\" id=\\\"DejaVuSans-115\\\" />\\n\",\n       \"       <path d=\\\"M 18.3125 70.21875  L 18.3125 54.6875  L 36.8125 54.6875  L 36.8125 47.703125  L 18.3125 47.703125  L 18.3125 18.015625  Q 18.3125 11.328125 20.140625 9.421875  Q 21.96875 7.515625 27.59375 7.515625  L 36.8125 7.515625  L 36.8125 0  L 27.59375 0  Q 17.1875 0 13.234375 3.875  Q 9.28125 7.765625 9.28125 18.015625  L 9.28125 47.703125  L 2.6875 47.703125  L 2.6875 54.6875  L 9.28125 54.6875  L 9.28125 70.21875  z \\\" id=\\\"DejaVuSans-116\\\" />\\n\",\n       \"       <path d=\\\"M 52 44.1875  Q 55.375 50.25 60.0625 53.125  Q 64.75 56 71.09375 56  Q 79.640625 56 84.28125 50.015625  Q 88.921875 44.046875 88.921875 33.015625  L 88.921875 0  L 79.890625 0  L 79.890625 32.71875  Q 79.890625 40.578125 77.09375 44.375  Q 74.3125 48.1875 68.609375 48.1875  Q 61.625 48.1875 57.5625 43.546875  Q 53.515625 38.921875 53.515625 30.90625  L 53.515625 0  L 44.484375 0  L 44.484375 32.71875  Q 44.484375 40.625 41.703125 44.40625  Q 38.921875 48.1875 33.109375 48.1875  Q 26.21875 48.1875 22.15625 43.53125  Q 18.109375 38.875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.1875 51.21875 25.484375 53.609375  Q 29.78125 56 35.6875 56  Q 41.65625 56 45.828125 52.96875  Q 50 49.953125 52 44.1875  z \\\" id=\\\"DejaVuSans-109\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-67\\\" />\\n\",\n       \"      <use x=\\\"69.824219\\\" xlink:href=\\\"#DejaVuSans-111\\\" />\\n\",\n       \"      <use x=\\\"131.005859\\\" xlink:href=\\\"#DejaVuSans-117\\\" />\\n\",\n       \"      <use x=\\\"194.384766\\\" xlink:href=\\\"#DejaVuSans-112\\\" />\\n\",\n       \"      <use x=\\\"257.861328\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"      <use x=\\\"285.644531\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"347.167969\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"388.28125\\\" xlink:href=\\\"#DejaVuSans-95\\\" />\\n\",\n       \"      <use x=\\\"438.28125\\\" xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"501.757812\\\" xlink:href=\\\"#DejaVuSans-121\\\" />\\n\",\n       \"      <use x=\\\"560.9375\\\" xlink:href=\\\"#DejaVuSans-115\\\" />\\n\",\n       \"      <use x=\\\"613.037109\\\" xlink:href=\\\"#DejaVuSans-116\\\" />\\n\",\n       \"      <use x=\\\"652.246094\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"713.769531\\\" xlink:href=\\\"#DejaVuSans-109\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m8c835e9f4d\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.502584\\\" xlink:href=\\\"#m8c835e9f4d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(13.678125 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_5\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m8c835e9f4d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_6\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(13.678125 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_7\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(7.598437 54.656411)rotate(-90)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"       <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"       <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"      <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"      <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"      <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"      <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p4f122c3d3e)\\\" d=\\\"M 30.858125 36.381322  L 65.733125 36.381322  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p4f122c3d3e)\\\" d=\\\"M 65.733125 61.652848  L 65.733125 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_8\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p4f122c3d3e)\\\" d=\\\"M 65.733125 56.129934  L 170.358125 56.129934  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 30.858125 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 170.358125 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p4f122c3d3e\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"30.858125\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge7\\\">\\n\",\n       \"<title>node0-&gt;node1</title>\\n\",\n       \"<path d=\\\"M140.03,-91.24C146.86,-93 153.8,-94.78 160.64,-96.54\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"160.67,-97.99 164.89,-97.63 161.36,-95.28 160.67,-97.99\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<text font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" text-anchor=\\\"start\\\" x=\\\"148\\\" y=\\\"-98.3\\\">&lt;</text>\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge8\\\">\\n\",\n       \"<title>node0-&gt;leaf2</title>\\n\",\n       \"<path d=\\\"M140.03,-56.19C158.97,-51.44 178.73,-46.48 194.93,-42.42\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"195.43,-43.74 198.97,-41.41 194.75,-41.02 195.43,-43.74\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<text font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" text-anchor=\\\"start\\\" x=\\\"148.5\\\" y=\\\"-57.3\\\">&#8805;</text>\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"</g>\\n\",\n       \"</svg>\"\n      ],\n      \"text/plain\": [\n       \"<dtreeviz.trees.DTreeViz at 0x7fef7467c4d0>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"samp_idx = np.random.permutation(len(y))[:500]\\n\",\n    \"dtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\\n\",\n    \"        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\\n\",\n    \"        orientation='LR')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This shows a chart of the distribution of the data for each split point. We can clearly see that there's a problem with our `YearMade` data: there are bulldozers made in the year 1000, apparently! Presumably this is actually just a missing value code (a value that doesn't otherwise appear in the data and that is used as a placeholder in cases where a value is missing). For modeling purposes, 1000 is fine, but as you can see this outlier makes visualization of the values we are interested in more difficult. So, let's replace it with 1950:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs.loc[xs['YearMade']<1900, 'YearMade'] = 1950\\n\",\n    \"valid_xs.loc[valid_xs['YearMade']<1900, 'YearMade'] = 1950\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That change makes the split much clearer in the tree visualization, even although it doesn't actually change the result of the model in any significant way. This is a great example of how resilient decision trees are to data issues!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:ns2=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" height=\\\"294.40000000000003\\\" viewBox=\\\"0.0 0.0 870.4000000000001 294.40000000000003\\\" width=\\\"870.4000000000001\\\">\\n\",\n       \"<g class=\\\"graph\\\" id=\\\"graph0\\\" transform=\\\"scale(1.6 1.6) rotate(0) translate(4 180)\\\">\\n\",\n       \"<title>G</title>\\n\",\n       \"<polygon fill=\\\"white\\\" points=\\\"-4,4 -4,-180 540,-180 540,4 -4,4\\\" stroke=\\\"transparent\\\" />\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node1\\\">\\n\",\n       \"<title>node4</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 163.04125 90.073473\\\" width=\\\"123px\\\" x=\\\"322.5\\\" y=\\\"-99.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:57.319038</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.073473  L 163.04125 90.073473  L 163.04125 -0  L 0 -0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  L 156.68 1.856848  L 17.18 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mc498155ec5\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p74911323ba)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"24.41215\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.857495\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"28.637075\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.817729\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.287463\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.43\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.039105\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"8.438259\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"13.623403\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.026353\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.077729\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"14.664311\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"23.705224\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"54.20271\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.888399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"20.966981\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"15.428973\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"13.92966\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"26.107626\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.759643\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"16.937611\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"14.988219\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"14.771673\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.405777\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"27.541343\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"19.525386\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"14.136631\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"17.551806\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"10.721456\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"24.055355\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"22.692451\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"26.91341\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.43\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"22.110071\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.18\\\" y=\\\"33.21608\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"11.700538\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"27.971969\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"133.43\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"18.978431\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"10.377755\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"63.68\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mc498155ec5\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 121.805 61.652848  L 119.294 67.632448  L 124.316 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"m5c1f52e45d\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m5c1f52e45d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(10.81875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"        <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m5c1f52e45d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(150.31875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 33.015625 40.375  Q 26.375 40.375 22.484375 35.828125  Q 18.609375 31.296875 18.609375 23.390625  Q 18.609375 15.53125 22.484375 10.953125  Q 26.375 6.390625 33.015625 6.390625  Q 39.65625 6.390625 43.53125 10.953125  Q 47.40625 15.53125 47.40625 23.390625  Q 47.40625 31.296875 43.53125 35.828125  Q 39.65625 40.375 33.015625 40.375  z M 52.59375 71.296875  L 52.59375 62.3125  Q 48.875 64.0625 45.09375 64.984375  Q 41.3125 65.921875 37.59375 65.921875  Q 27.828125 65.921875 22.671875 59.328125  Q 17.53125 52.734375 16.796875 39.40625  Q 19.671875 43.65625 24.015625 45.921875  Q 28.375 48.1875 33.59375 48.1875  Q 44.578125 48.1875 50.953125 41.515625  Q 57.328125 34.859375 57.328125 23.390625  Q 57.328125 12.15625 50.6875 5.359375  Q 44.046875 -1.421875 33.015625 -1.421875  Q 20.359375 -1.421875 13.671875 8.265625  Q 6.984375 17.96875 6.984375 36.375  Q 6.984375 53.65625 15.1875 63.9375  Q 23.390625 74.21875 37.203125 74.21875  Q 40.921875 74.21875 44.703125 73.484375  Q 48.484375 72.75 52.59375 71.296875  z \\\" id=\\\"DejaVuSans-54\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-54\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_3\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"121.805\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m5c1f52e45d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_3\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(115.44375 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 37.796875 64.3125  L 12.890625 25.390625  L 37.796875 25.390625  z M 35.203125 72.90625  L 47.609375 72.90625  L 47.609375 25.390625  L 58.015625 25.390625  L 58.015625 17.1875  L 47.609375 17.1875  L 47.609375 0  L 37.796875 0  L 37.796875 17.1875  L 4.890625 17.1875  L 4.890625 26.703125  z \\\" id=\\\"DejaVuSans-52\\\" />\\n\",\n       \"        <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-52\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_4\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(57.683906 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 30.609375 48.390625  Q 23.390625 48.390625 19.1875 42.75  Q 14.984375 37.109375 14.984375 27.296875  Q 14.984375 17.484375 19.15625 11.84375  Q 23.34375 6.203125 30.609375 6.203125  Q 37.796875 6.203125 41.984375 11.859375  Q 46.1875 17.53125 46.1875 27.296875  Q 46.1875 37.015625 41.984375 42.703125  Q 37.796875 48.390625 30.609375 48.390625  z M 30.609375 56  Q 42.328125 56 49.015625 48.375  Q 55.71875 40.765625 55.71875 27.296875  Q 55.71875 13.875 49.015625 6.21875  Q 42.328125 -1.421875 30.609375 -1.421875  Q 18.84375 -1.421875 12.171875 6.21875  Q 5.515625 13.875 5.515625 27.296875  Q 5.515625 40.765625 12.171875 48.375  Q 18.84375 56 30.609375 56  z \\\" id=\\\"DejaVuSans-111\\\" />\\n\",\n       \"       <path d=\\\"M 45.40625 46.390625  L 45.40625 75.984375  L 54.390625 75.984375  L 54.390625 0  L 45.40625 0  L 45.40625 8.203125  Q 42.578125 3.328125 38.25 0.953125  Q 33.9375 -1.421875 27.875 -1.421875  Q 17.96875 -1.421875 11.734375 6.484375  Q 5.515625 14.40625 5.515625 27.296875  Q 5.515625 40.1875 11.734375 48.09375  Q 17.96875 56 27.875 56  Q 33.9375 56 38.25 53.625  Q 42.578125 51.265625 45.40625 46.390625  z M 14.796875 27.296875  Q 14.796875 17.390625 18.875 11.75  Q 22.953125 6.109375 30.078125 6.109375  Q 37.203125 6.109375 41.296875 11.75  Q 45.40625 17.390625 45.40625 27.296875  Q 45.40625 37.203125 41.296875 42.84375  Q 37.203125 48.484375 30.078125 48.484375  Q 22.953125 48.484375 18.875 42.84375  Q 14.796875 37.203125 14.796875 27.296875  z \\\" id=\\\"DejaVuSans-100\\\" />\\n\",\n       \"       <path d=\\\"M 8.5 21.578125  L 8.5 54.6875  L 17.484375 54.6875  L 17.484375 21.921875  Q 17.484375 14.15625 20.5 10.265625  Q 23.53125 6.390625 29.59375 6.390625  Q 36.859375 6.390625 41.078125 11.03125  Q 45.3125 15.671875 45.3125 23.6875  L 45.3125 54.6875  L 54.296875 54.6875  L 54.296875 0  L 45.3125 0  L 45.3125 8.40625  Q 42.046875 3.421875 37.71875 1  Q 33.40625 -1.421875 27.6875 -1.421875  Q 18.265625 -1.421875 13.375 4.4375  Q 8.5 10.296875 8.5 21.578125  z M 31.109375 56  z \\\" id=\\\"DejaVuSans-117\\\" />\\n\",\n       \"       <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"       <path d=\\\"M 18.3125 70.21875  L 18.3125 54.6875  L 36.8125 54.6875  L 36.8125 47.703125  L 18.3125 47.703125  L 18.3125 18.015625  Q 18.3125 11.328125 20.140625 9.421875  Q 21.96875 7.515625 27.59375 7.515625  L 36.8125 7.515625  L 36.8125 0  L 27.59375 0  Q 17.1875 0 13.234375 3.875  Q 9.28125 7.765625 9.28125 18.015625  L 9.28125 47.703125  L 2.6875 47.703125  L 2.6875 54.6875  L 9.28125 54.6875  L 9.28125 70.21875  z \\\" id=\\\"DejaVuSans-116\\\" />\\n\",\n       \"       <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"       <path d=\\\"M 5.515625 54.6875  L 48.1875 54.6875  L 48.1875 46.484375  L 14.40625 7.171875  L 48.1875 7.171875  L 48.1875 0  L 4.296875 0  L 4.296875 8.203125  L 38.09375 47.515625  L 5.515625 47.515625  z \\\" id=\\\"DejaVuSans-122\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"      <use x=\\\"58.552734\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"97.416016\\\" xlink:href=\\\"#DejaVuSans-111\\\" />\\n\",\n       \"      <use x=\\\"158.597656\\\" xlink:href=\\\"#DejaVuSans-100\\\" />\\n\",\n       \"      <use x=\\\"222.074219\\\" xlink:href=\\\"#DejaVuSans-117\\\" />\\n\",\n       \"      <use x=\\\"285.453125\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"      <use x=\\\"340.433594\\\" xlink:href=\\\"#DejaVuSans-116\\\" />\\n\",\n       \"      <use x=\\\"379.642578\\\" xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"443.119141\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"      <use x=\\\"470.902344\\\" xlink:href=\\\"#DejaVuSans-122\\\" />\\n\",\n       \"      <use x=\\\"523.392578\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"mf70f5bb794\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.502584\\\" xlink:href=\\\"#mf70f5bb794\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_5\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#mf70f5bb794\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_6\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p74911323ba)\\\" d=\\\"M 17.18 32.022704  L 121.805 32.022704  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p74911323ba)\\\" d=\\\"M 121.805 61.652848  L 121.805 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_8\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p74911323ba)\\\" d=\\\"M 121.805 48.616988  L 156.68 48.616988  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 17.18 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p74911323ba\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"17.18\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node4\\\">\\n\",\n       \"<title>leaf5</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"536,-132 466,-132 466,-73 536,-73 536,-132\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 82.810938 68.293293\\\" width=\\\"62px\\\" x=\\\"470\\\" y=\\\"-127.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:57.938839</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 68.293293  L 82.810938 68.293293  L 82.810938 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 61.830469 45.667355  L 61.830469 2.179355  L 19.980469 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m6966baf248\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#pe271ad1f4f)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.172562\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.370403\\\" y=\\\"17.573637\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.264915\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.462814\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.231685\\\" y=\\\"18.583211\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.844193\\\" y=\\\"17.452553\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.773602\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.216394\\\" y=\\\"21.655884\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.358567\\\" y=\\\"23.036611\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.560633\\\" y=\\\"15.969087\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.56327\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.270185\\\" y=\\\"14.055719\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.559385\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.098605\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.291838\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.446772\\\" y=\\\"30.614911\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.903764\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.941766\\\" y=\\\"22.856166\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.729261\\\" y=\\\"28.835476\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.418948\\\" y=\\\"16.408577\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.952974\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.501671\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.194156\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.693913\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.928267\\\" y=\\\"23.036611\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.08109\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.096969\\\" y=\\\"16.633752\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.254711\\\" y=\\\"25.629792\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.656744\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.454311\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.044604\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.203246\\\" y=\\\"18.847752\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.689311\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.412378\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.09758\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.556326\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.393852\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.549922\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.794616\\\" y=\\\"24.778083\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.712361\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.428883\\\" y=\\\"23.404814\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.548566\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.866623\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.258641\\\" y=\\\"27.766451\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.886834\\\" y=\\\"16.187065\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.339773\\\" y=\\\"6.965836\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.896094\\\" y=\\\"15.54333\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.345384\\\" y=\\\"27.261846\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.797187\\\" y=\\\"14.533756\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.432699\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.705087\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.575154\\\" y=\\\"25.629792\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.104807\\\" y=\\\"10.73685\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.643507\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.403224\\\" y=\\\"15.54333\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.304969\\\" y=\\\"32.120814\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.828506\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.533868\\\" y=\\\"31.430905\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.580309\\\" y=\\\"23.404814\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.913591\\\" y=\\\"16.862721\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.663596\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.131721\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.976716\\\" y=\\\"27.261846\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.766992\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.4095\\\" y=\\\"16.408577\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.917039\\\" y=\\\"11.493874\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.596218\\\" y=\\\"14.055719\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.728377\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.902071\\\" y=\\\"14.533756\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.82951\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.779751\\\" y=\\\"18.069083\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.206944\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.849493\\\" y=\\\"16.747756\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.77125\\\" y=\\\"16.077634\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.726495\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.285726\\\" y=\\\"12.049992\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.707684\\\" y=\\\"24.371397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.557885\\\" y=\\\"35.072532\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.015643\\\" y=\\\"23.976496\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.835769\\\" y=\\\"17.095601\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.720106\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.197272\\\" y=\\\"32.298906\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.327683\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.096669\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.51585\\\" y=\\\"19.673634\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.854684\\\" y=\\\"22.502306\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.059433\\\" y=\\\"10.959583\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.471468\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.133781\\\" y=\\\"24.778083\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.003266\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.798155\\\" y=\\\"19.816285\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.764693\\\" y=\\\"23.036611\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.629499\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.410814\\\" y=\\\"28.290479\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.482301\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.091748\\\" y=\\\"28.835476\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.020949\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.464846\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.326758\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.701234\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.854963\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.955853\\\" y=\\\"32.298906\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.678805\\\" y=\\\"17.095601\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.428618\\\" y=\\\"13.147183\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.183881\\\" y=\\\"32.298906\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.983706\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.00923\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.682154\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.03412\\\" y=\\\"34.22081\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.94645\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.833667\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.324609\\\" y=\\\"11.729443\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.236398\\\" y=\\\"29.696163\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.89555\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.80469\\\" y=\\\"9.674788\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.511745\\\" y=\\\"11.571955\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.903606\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.0186\\\" y=\\\"16.862721\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.452352\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.981497\\\" y=\\\"25.629792\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.325995\\\" y=\\\"25.851304\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.987816\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.814148\\\" y=\\\"29.403183\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.627176\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.60619\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.887359\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.447407\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.898149\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.025733\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.615571\\\" y=\\\"24.371397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.440873\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.883023\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.63446\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.729313\\\" y=\\\"20.858988\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.435063\\\" y=\\\"23.219471\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.546965\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.125209\\\" y=\\\"30.614911\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.800769\\\" y=\\\"14.928657\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.279198\\\" y=\\\"15.029201\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.582368\\\" y=\\\"35.981068\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.765389\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.996272\\\" y=\\\"11.110107\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.07853\\\" y=\\\"13.59387\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.431196\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.605016\\\" y=\\\"21.331516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.784762\\\" y=\\\"16.633752\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.949172\\\" y=\\\"14.533756\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.845183\\\" y=\\\"34.22081\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.540563\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.315811\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.068477\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.889184\\\" y=\\\"8.626343\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.025038\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.094837\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.452423\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.336595\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.183268\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.987598\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.41714\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.493749\\\" y=\\\"9.674788\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.357552\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.529462\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.108889\\\" y=\\\"23.976496\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.899548\\\" y=\\\"21.331516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.114152\\\" y=\\\"23.219471\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.660892\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.54601\\\" y=\\\"18.323724\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.00524\\\" y=\\\"27.261846\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.490763\\\" y=\\\"29.403183\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.415026\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.54057\\\" y=\\\"17.332521\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.942584\\\" y=\\\"23.976496\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.526776\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.253228\\\" y=\\\"20.253423\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.465821\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.661924\\\" y=\\\"25.411814\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.364407\\\" y=\\\"31.945033\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.231654\\\" y=\\\"17.213541\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.436464\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.184444\\\" y=\\\"18.847752\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.30495\\\" y=\\\"16.908972\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.843365\\\" y=\\\"12.71467\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.682997\\\" y=\\\"23.036611\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.543314\\\" y=\\\"24.98607\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.359051\\\" y=\\\"20.253423\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.797522\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.697117\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.396342\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.356554\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.718414\\\" y=\\\"9.338402\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.729302\\\" y=\\\"11.888776\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.037174\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.450924\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.877155\\\" y=\\\"23.976496\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.935267\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.074494\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.257084\\\" y=\\\"17.213541\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.899542\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.699732\\\" y=\\\"21.17217\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.362187\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.431723\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.229171\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.711131\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.244809\\\" y=\\\"14.631416\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.774409\\\" y=\\\"8.376379\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.600342\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.528369\\\" y=\\\"16.187065\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.871288\\\" y=\\\"12.71467\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.605772\\\" y=\\\"16.187065\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.826401\\\" y=\\\"11.888776\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.291554\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.80656\\\" y=\\\"12.71467\\\" xlink:href=\\\"#m6966baf248\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m829847a4e6\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"30.285345\\\" xlink:href=\\\"#m829847a4e6\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m829847a4e6\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pe271ad1f4f)\\\" d=\\\"M 19.980469 24.11816  L 83.810938 24.11816  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 19.980469 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 37.796875 64.3125  L 12.890625 25.390625  L 37.796875 25.390625  z M 35.203125 72.90625  L 47.609375 72.90625  L 47.609375 25.390625  L 58.015625 25.390625  L 58.015625 17.1875  L 47.609375 17.1875  L 47.609375 0  L 37.796875 0  L 37.796875 17.1875  L 4.890625 17.1875  L 4.890625 26.703125  z \\\" id=\\\"DejaVuSans-52\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"669.050781\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-52\\\" />\\n\",\n       \"     <use x=\\\"764.460938\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.503125 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"274.414062\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"pe271ad1f4f\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"19.980469\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge1\\\">\\n\",\n       \"<title>node4-&gt;leaf5</title>\\n\",\n       \"<path d=\\\"M449,-86.16C453.43,-87.58 457.81,-88.99 462.03,-90.34\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"461.62,-91.67 465.85,-91.56 462.47,-89.01 461.62,-91.67\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node5\\\">\\n\",\n       \"<title>leaf6</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"533.5,-59 468.5,-59 468.5,0 533.5,0 533.5,-59\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 76.829219 68.293293\\\" width=\\\"57px\\\" x=\\\"473\\\" y=\\\"-54.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:58.061366</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M -0 68.293293  L 76.829219 68.293293  L 76.829219 0  L -0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 59.03 45.667355  L 59.03 2.179355  L 17.18 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m4bb85d2f85\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#pbeed6639e9)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.699528\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.894712\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.649546\\\" y=\\\"29.696163\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.215818\\\" y=\\\"30.614911\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.691837\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.035389\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.426255\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.155859\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.12128\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.06503\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.416309\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.660352\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.393141\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.350991\\\" y=\\\"40.249073\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.943103\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.968604\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"31.81733\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.341741\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.683195\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.700408\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.966673\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.279779\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.728679\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.169781\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.809464\\\" y=\\\"20.40231\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.429948\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.376954\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.52498\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.283861\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.147515\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m4bb85d2f85\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"mee6d64c634\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.285345\\\" xlink:href=\\\"#mee6d64c634\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#mee6d64c634\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pbeed6639e9)\\\" d=\\\"M 17.18 36.18673  L 77.829219 36.18673  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 17.18 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0.380781 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.984375 1.515625  L 10.984375 10.5  Q 14.703125 8.734375 18.5 7.8125  Q 22.3125 6.890625 25.984375 6.890625  Q 35.75 6.890625 40.890625 13.453125  Q 46.046875 20.015625 46.78125 33.40625  Q 43.953125 29.203125 39.59375 26.953125  Q 35.25 24.703125 29.984375 24.703125  Q 19.046875 24.703125 12.671875 31.3125  Q 6.296875 37.9375 6.296875 49.421875  Q 6.296875 60.640625 12.9375 67.421875  Q 19.578125 74.21875 30.609375 74.21875  Q 43.265625 74.21875 49.921875 64.515625  Q 56.59375 54.828125 56.59375 36.375  Q 56.59375 19.140625 48.40625 8.859375  Q 40.234375 -1.421875 26.421875 -1.421875  Q 22.703125 -1.421875 18.890625 -0.6875  Q 15.09375 0.046875 10.984375 1.515625  z M 30.609375 32.421875  Q 37.25 32.421875 41.125 36.953125  Q 45.015625 41.5 45.015625 49.421875  Q 45.015625 57.28125 41.125 61.84375  Q 37.25 66.40625 30.609375 66.40625  Q 23.96875 66.40625 20.09375 61.84375  Q 16.21875 57.28125 16.21875 49.421875  Q 16.21875 41.5 20.09375 36.953125  Q 23.96875 32.421875 30.609375 32.421875  z \\\" id=\\\"DejaVuSans-57\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"637.214844\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.883906 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"      <path d=\\\"M 40.578125 39.3125  Q 47.65625 37.796875 51.625 33  Q 55.609375 28.21875 55.609375 21.1875  Q 55.609375 10.40625 48.1875 4.484375  Q 40.765625 -1.421875 27.09375 -1.421875  Q 22.515625 -1.421875 17.65625 -0.515625  Q 12.796875 0.390625 7.625 2.203125  L 7.625 11.71875  Q 11.71875 9.328125 16.59375 8.109375  Q 21.484375 6.890625 26.8125 6.890625  Q 36.078125 6.890625 40.9375 10.546875  Q 45.796875 14.203125 45.796875 21.1875  Q 45.796875 27.640625 41.28125 31.265625  Q 36.765625 34.90625 28.71875 34.90625  L 20.21875 34.90625  L 20.21875 43.015625  L 29.109375 43.015625  Q 36.375 43.015625 40.234375 45.921875  Q 44.09375 48.828125 44.09375 54.296875  Q 44.09375 59.90625 40.109375 62.90625  Q 36.140625 65.921875 28.71875 65.921875  Q 24.65625 65.921875 20.015625 65.03125  Q 15.375 64.15625 9.8125 62.3125  L 9.8125 71.09375  Q 15.4375 72.65625 20.34375 73.4375  Q 25.25 74.21875 29.59375 74.21875  Q 40.828125 74.21875 47.359375 69.109375  Q 53.90625 64.015625 53.90625 55.328125  Q 53.90625 49.265625 50.4375 45.09375  Q 46.96875 40.921875 40.578125 39.3125  z \\\" id=\\\"DejaVuSans-51\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-51\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"pbeed6639e9\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"17.18\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge2\\\">\\n\",\n       \"<title>node4-&gt;leaf6</title>\\n\",\n       \"<path d=\\\"M449,-45.39C454.25,-43.76 459.42,-42.15 464.35,-40.61\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"465.01,-41.87 468.42,-39.34 464.18,-39.2 465.01,-41.87\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node2\\\">\\n\",\n       \"<title>node1</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 170.67625 90.073473\\\" width=\\\"128px\\\" x=\\\"169\\\" y=\\\"-148.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:57.481070</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.073473  L 170.67625 90.073473  L 170.67625 -0  L 0 -0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  L 156.68 1.856848  L 17.18 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mf82f624915\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p2cd5f31023)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"70.093793\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"24.41215\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"22.857495\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"28.637075\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"39.897178\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"20.817729\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"65.283448\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"79.714483\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"62.878276\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"28.864125\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"60.473103\\\" y=\\\"57.795434\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"30.287463\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"37.759643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"18.058103\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"82.119655\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"82.119655\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"20.966981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"74.904138\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"37.039105\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"91.740345\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"8.438259\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"48.013994\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"18.058103\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"13.623403\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"43.026353\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"42.077729\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"31.041853\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"89.335172\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"79.714483\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"21.576192\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"21.422027\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"14.664311\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"53.087917\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"18.186848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"91.740345\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"24.41215\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"23.023986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"89.335172\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.274828\\\" y=\\\"23.705224\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"60.473103\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"37.039105\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"54.20271\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"62.878276\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.274828\\\" y=\\\"21.888399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"20.966981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"15.428973\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"65.283448\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"59.01148\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"79.714483\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"20.522743\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"70.093793\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"62.878276\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"29.800905\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"13.92966\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"60.473103\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"77.30931\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"26.107626\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"37.759643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"82.119655\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"22.366685\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"18.978431\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"16.937611\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"77.30931\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"96.55069\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"74.904138\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"79.714483\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"14.988219\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"91.740345\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"32.097446\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"14.771673\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"22.046476\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"58.338424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"62.878276\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"34.101198\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"34.405777\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"51.114336\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.287463\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"43.271231\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"36.007754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"41.847893\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"32.370906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"38.509014\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"58.897616\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"27.541343\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"91.740345\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"26.107626\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"84.524828\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"49.329023\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"32.930098\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"40.955736\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"19.387138\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.274828\\\" y=\\\"19.525386\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"14.136631\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"29.326656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"17.551806\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"39.692458\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"21.731643\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"18.844148\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"70.093793\\\" y=\\\"51.878998\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"45.913848\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"17.058835\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"89.335172\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"10.721456\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"72.498966\\\" y=\\\"59.474011\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"27.541343\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"77.30931\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"33.506493\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"65.283448\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"67.688621\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.084966\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"55.294174\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.274828\\\" y=\\\"12.163069\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"57.267754\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"28.191069\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"139.843793\\\" y=\\\"30.787008\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"24.055355\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"36.345273\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"39.289611\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"22.692451\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"56.254981\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"25.525246\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"48.334203\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"154.274828\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"38.130586\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"53.50886\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"26.91341\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"24.775893\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"48.991504\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"115.792069\\\" y=\\\"25.911481\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"22.110071\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"47.699161\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"30.535574\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"33.21608\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"26.708691\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"42.310424\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"72.498966\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"130.223103\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"74.904138\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"123.007586\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"28.864125\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"49.672741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"38.895248\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"98.955862\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"44.283986\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"108.576552\\\" y=\\\"33.801479\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"11.700538\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"72.498966\\\" y=\\\"43.770758\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"34.872149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"113.386897\\\" y=\\\"13.123876\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"135.033448\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"40.52511\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"31.827916\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"110.981724\\\" y=\\\"42.784655\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"37.395918\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"94.145517\\\" y=\\\"58.897616\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"144.654138\\\" y=\\\"36.688974\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"103.766207\\\" y=\\\"23.361505\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"20.232313\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"40.104149\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"22.528853\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"149.464483\\\" y=\\\"31.300236\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"127.817931\\\" y=\\\"27.971969\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"34.715411\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"118.197241\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"25.146818\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"52.676208\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"120.602414\\\" y=\\\"41.396491\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"18.978431\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"106.171379\\\" y=\\\"27.120399\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"147.05931\\\" y=\\\"10.377755\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"125.412759\\\" y=\\\"45.354656\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"86.93\\\" y=\\\"28.412741\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"132.628276\\\" y=\\\"21.117448\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"89.335172\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"101.361034\\\" y=\\\"46.490261\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"151.869655\\\" y=\\\"15.207301\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"137.438621\\\" y=\\\"35.350435\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"50.379668\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"89.335172\\\" y=\\\"54.380259\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"142.248966\\\" y=\\\"16.342906\\\" xlink:href=\\\"#mf82f624915\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 116.994655 61.652848  L 114.483655 67.632448  L 119.505655 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"mfb3618d64e\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"61.652848\\\" xlink:href=\\\"#mfb3618d64e\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(3.18375 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 10.984375 1.515625  L 10.984375 10.5  Q 14.703125 8.734375 18.5 7.8125  Q 22.3125 6.890625 25.984375 6.890625  Q 35.75 6.890625 40.890625 13.453125  Q 46.046875 20.015625 46.78125 33.40625  Q 43.953125 29.203125 39.59375 26.953125  Q 35.25 24.703125 29.984375 24.703125  Q 19.046875 24.703125 12.671875 31.3125  Q 6.296875 37.9375 6.296875 49.421875  Q 6.296875 60.640625 12.9375 67.421875  Q 19.578125 74.21875 30.609375 74.21875  Q 43.265625 74.21875 49.921875 64.515625  Q 56.59375 54.828125 56.59375 36.375  Q 56.59375 19.140625 48.40625 8.859375  Q 40.234375 -1.421875 26.421875 -1.421875  Q 22.703125 -1.421875 18.890625 -0.6875  Q 15.09375 0.046875 10.984375 1.515625  z M 30.609375 32.421875  Q 37.25 32.421875 41.125 36.953125  Q 45.015625 41.5 45.015625 49.421875  Q 45.015625 57.28125 41.125 61.84375  Q 37.25 66.40625 30.609375 66.40625  Q 23.96875 66.40625 20.09375 61.84375  Q 16.21875 57.28125 16.21875 49.421875  Q 16.21875 41.5 20.09375 36.953125  Q 23.96875 32.421875 30.609375 32.421875  z \\\" id=\\\"DejaVuSans-57\\\" />\\n\",\n       \"        <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"        <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"       <use x=\\\"127.246094\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"       <use x=\\\"190.869141\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"254.492188\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"286.279297\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"156.68\\\" y=\\\"61.652848\\\" xlink:href=\\\"#mfb3618d64e\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(142.68375 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 34.625  Q 24.75 34.625 20.71875 30.859375  Q 16.703125 27.09375 16.703125 20.515625  Q 16.703125 13.921875 20.71875 10.15625  Q 24.75 6.390625 31.78125 6.390625  Q 38.8125 6.390625 42.859375 10.171875  Q 46.921875 13.96875 46.921875 20.515625  Q 46.921875 27.09375 42.890625 30.859375  Q 38.875 34.625 31.78125 34.625  z M 21.921875 38.8125  Q 15.578125 40.375 12.03125 44.71875  Q 8.5 49.078125 8.5 55.328125  Q 8.5 64.0625 14.71875 69.140625  Q 20.953125 74.21875 31.78125 74.21875  Q 42.671875 74.21875 48.875 69.140625  Q 55.078125 64.0625 55.078125 55.328125  Q 55.078125 49.078125 51.53125 44.71875  Q 48 40.375 41.703125 38.8125  Q 48.828125 37.15625 52.796875 32.3125  Q 56.78125 27.484375 56.78125 20.515625  Q 56.78125 9.90625 50.3125 4.234375  Q 43.84375 -1.421875 31.78125 -1.421875  Q 19.734375 -1.421875 13.25 4.234375  Q 6.78125 9.90625 6.78125 20.515625  Q 6.78125 27.484375 10.78125 32.3125  Q 14.796875 37.15625 21.921875 38.8125  z M 18.3125 54.390625  Q 18.3125 48.734375 21.84375 45.5625  Q 25.390625 42.390625 31.78125 42.390625  Q 38.140625 42.390625 41.71875 45.5625  Q 45.3125 48.734375 45.3125 54.390625  Q 45.3125 60.0625 41.71875 63.234375  Q 38.140625 66.40625 31.78125 66.40625  Q 25.390625 66.40625 21.84375 63.234375  Q 18.3125 60.0625 18.3125 54.390625  z \\\" id=\\\"DejaVuSans-56\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"127.246094\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"190.869141\\\" xlink:href=\\\"#DejaVuSans-56\\\" />\\n\",\n       \"       <use x=\\\"254.492188\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"286.279297\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_3\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"116.994655\\\" y=\\\"61.652848\\\" xlink:href=\\\"#mfb3618d64e\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_3\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(102.998405 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"       <use x=\\\"127.246094\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"       <use x=\\\"190.869141\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"254.492188\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"286.279297\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_4\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(62.713594 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M -0.203125 72.90625  L 10.40625 72.90625  L 30.609375 42.921875  L 50.6875 72.90625  L 61.28125 72.90625  L 35.5 34.71875  L 35.5 0  L 25.59375 0  L 25.59375 34.71875  z \\\" id=\\\"DejaVuSans-89\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"       <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 9.8125 72.90625  L 24.515625 72.90625  L 43.109375 23.296875  L 61.8125 72.90625  L 76.515625 72.90625  L 76.515625 0  L 66.890625 0  L 66.890625 64.015625  L 48.09375 14.015625  L 38.1875 14.015625  L 19.390625 64.015625  L 19.390625 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-77\\\" />\\n\",\n       \"       <path d=\\\"M 45.40625 46.390625  L 45.40625 75.984375  L 54.390625 75.984375  L 54.390625 0  L 45.40625 0  L 45.40625 8.203125  Q 42.578125 3.328125 38.25 0.953125  Q 33.9375 -1.421875 27.875 -1.421875  Q 17.96875 -1.421875 11.734375 6.484375  Q 5.515625 14.40625 5.515625 27.296875  Q 5.515625 40.1875 11.734375 48.09375  Q 17.96875 56 27.875 56  Q 33.9375 56 38.25 53.625  Q 42.578125 51.265625 45.40625 46.390625  z M 14.796875 27.296875  Q 14.796875 17.390625 18.875 11.75  Q 22.953125 6.109375 30.078125 6.109375  Q 37.203125 6.109375 41.296875 11.75  Q 45.40625 17.390625 45.40625 27.296875  Q 45.40625 37.203125 41.296875 42.84375  Q 37.203125 48.484375 30.078125 48.484375  Q 22.953125 48.484375 18.875 42.84375  Q 14.796875 37.203125 14.796875 27.296875  z \\\" id=\\\"DejaVuSans-100\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-89\\\" />\\n\",\n       \"      <use x=\\\"47.833984\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"109.357422\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"170.636719\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"211.75\\\" xlink:href=\\\"#DejaVuSans-77\\\" />\\n\",\n       \"      <use x=\\\"298.029297\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"359.308594\\\" xlink:href=\\\"#DejaVuSans-100\\\" />\\n\",\n       \"      <use x=\\\"422.785156\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"mc7916073a2\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"40.502584\\\" xlink:href=\\\"#mc7916073a2\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_5\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#mc7916073a2\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_6\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p2cd5f31023)\\\" d=\\\"M 17.18 39.138536  L 116.994655 39.138536  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p2cd5f31023)\\\" d=\\\"M 116.994655 61.652848  L 116.994655 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_8\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p2cd5f31023)\\\" d=\\\"M 116.994655 34.079851  L 156.68 34.079851  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 17.18 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 17.18 61.652848  L 156.68 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p2cd5f31023\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"17.18\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge5\\\">\\n\",\n       \"<title>node1-&gt;node4</title>\\n\",\n       \"<path d=\\\"M301.3,-92.29C305.53,-90.9 309.79,-89.49 314.02,-88.09\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"314.55,-89.4 317.91,-86.81 313.67,-86.74 314.55,-89.4\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node6\\\">\\n\",\n       \"<title>leaf3</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"418.5,-176 348.5,-176 348.5,-117 418.5,-117 418.5,-176\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 82.810938 68.293293\\\" width=\\\"62px\\\" x=\\\"352.5\\\" y=\\\"-171.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:57.817648</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 68.293293  L 82.810938 68.293293  L 82.810938 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 61.830469 45.667355  L 61.830469 2.179355  L 19.980469 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m367fa7d3dc\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p5a61290e3b)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.227311\\\" y=\\\"17.573637\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.343812\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.453751\\\" y=\\\"22.502306\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.083763\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.41516\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.64113\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.742184\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.3812\\\" y=\\\"29.84505\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.628112\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.796075\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.51682\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.435737\\\" y=\\\"25.629792\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.82921\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.150534\\\" y=\\\"21.821011\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.463307\\\" y=\\\"42.861963\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.38727\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.703452\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.203583\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.978278\\\" y=\\\"21.331516\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.710691\\\" y=\\\"16.633752\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.481422\\\" y=\\\"25.629792\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.85561\\\" y=\\\"31.945033\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.759077\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.292967\\\" y=\\\"28.290479\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.756868\\\" y=\\\"13.962087\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.442509\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.546639\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.288865\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.974866\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.226208\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.937567\\\" y=\\\"19.673634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.530432\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.0749\\\" y=\\\"14.928657\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.728945\\\" y=\\\"16.077634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.380431\\\" y=\\\"34.22081\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.74967\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.140559\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.481761\\\" y=\\\"24.778083\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.797413\\\" y=\\\"22.502306\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.094088\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.936464\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.375962\\\" y=\\\"35.748189\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.947962\\\" y=\\\"17.213541\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.548886\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.481859\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.942278\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.100997\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.720955\\\" y=\\\"17.095601\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.227288\\\" y=\\\"13.962087\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.452915\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.050765\\\" y=\\\"29.403183\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.635762\\\" y=\\\"21.492732\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.895481\\\" y=\\\"20.253423\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.030428\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.729119\\\" y=\\\"22.502306\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.83327\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"51.798982\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.49158\\\" y=\\\"16.520697\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.86529\\\" y=\\\"39.438314\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.934228\\\" y=\\\"26.538328\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.968692\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.434705\\\" y=\\\"35.072532\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.985959\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.016178\\\" y=\\\"18.583211\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.752435\\\" y=\\\"23.219471\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.367877\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.163263\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.914468\\\" y=\\\"14.928657\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.716623\\\" y=\\\"27.51181\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.178778\\\" y=\\\"19.392736\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.956125\\\" y=\\\"25.411814\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.862327\\\" y=\\\"17.573637\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.601725\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"49.368695\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.039893\\\" y=\\\"19.673634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.928565\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.937188\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.292648\\\" y=\\\"27.766451\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.130316\\\" y=\\\"39.13889\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.927358\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.066349\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.906183\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.252927\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.256619\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.226732\\\" y=\\\"43.74636\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.365932\\\" y=\\\"23.976496\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.828319\\\" y=\\\"24.778083\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.099381\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.998685\\\" y=\\\"15.754552\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.390624\\\" y=\\\"28.835476\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.852755\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.676744\\\" y=\\\"16.633752\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.866153\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.076589\\\" y=\\\"40.3782\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.485207\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.405487\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.653281\\\" y=\\\"42.478196\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.044423\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.77691\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.662937\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.324049\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.201281\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.316396\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.233972\\\" y=\\\"14.631416\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.8626\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.908236\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.371949\\\" y=\\\"36.954551\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.599833\\\" y=\\\"16.633752\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.91016\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.871587\\\" y=\\\"27.016378\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.382665\\\" y=\\\"15.54333\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.844331\\\" y=\\\"20.253423\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.629858\\\" y=\\\"35.981068\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.385049\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.902979\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.678069\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.128612\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.068363\\\" y=\\\"24.172518\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.373889\\\" y=\\\"43.256865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.896039\\\" y=\\\"30.614911\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.361356\\\" y=\\\"34.22081\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.088368\\\" y=\\\"38.002983\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.477141\\\" y=\\\"22.856166\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.385291\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.340531\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.211315\\\" y=\\\"32.298906\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.999593\\\" y=\\\"31.263752\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.88356\\\" y=\\\"28.835476\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.693896\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.481186\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.308675\\\" y=\\\"43.66355\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.410564\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.890428\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.470394\\\" y=\\\"19.816285\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.659887\\\" y=\\\"15.54333\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.611178\\\" y=\\\"36.704574\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.19496\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.351387\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.248777\\\" y=\\\"24.778083\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.192426\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.607557\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.404107\\\" y=\\\"23.219471\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.463885\\\" y=\\\"22.157397\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.381213\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.811216\\\" y=\\\"29.696163\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.200263\\\" y=\\\"23.219471\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.62939\\\" y=\\\"19.117516\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.225668\\\" y=\\\"38.559101\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.99544\\\" y=\\\"25.197279\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.875964\\\" y=\\\"31.945033\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.477195\\\" y=\\\"13.235346\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.007167\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.703345\\\" y=\\\"44.082746\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.905441\\\" y=\\\"20.858988\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.992066\\\" y=\\\"27.261846\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.493515\\\" y=\\\"27.261846\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.791352\\\" y=\\\"23.592728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.449706\\\" y=\\\"35.981068\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.819169\\\" y=\\\"19.392736\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.333704\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.395719\\\" y=\\\"35.072532\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.309055\\\" y=\\\"41.042865\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.551208\\\" y=\\\"30.935459\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.928002\\\" y=\\\"30.301728\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.374691\\\" y=\\\"12.71467\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.563667\\\" y=\\\"29.995574\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.190252\\\" y=\\\"20.253423\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.857833\\\" y=\\\"21.492732\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.155947\\\" y=\\\"41.741634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.45957\\\" y=\\\"19.392736\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.430618\\\" y=\\\"40.3782\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.048442\\\" y=\\\"35.981068\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.915527\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.62825\\\" y=\\\"29.116374\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.32045\\\" y=\\\"28.560256\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.181427\\\" y=\\\"39.744455\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"49.477819\\\" y=\\\"36.459105\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.966448\\\" y=\\\"19.673634\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.117015\\\" y=\\\"35.519219\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"48.520881\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.959314\\\" y=\\\"31.600138\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.137361\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.09627\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.820667\\\" y=\\\"21.821011\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.247738\\\" y=\\\"28.025951\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.877438\\\" y=\\\"33.035456\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.766972\\\" y=\\\"25.411814\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.379718\\\" y=\\\"32.662199\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"37.089116\\\" y=\\\"26.190483\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.506233\\\" y=\\\"33.814125\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.145493\\\" y=\\\"10.373557\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.582284\\\" y=\\\"31.945033\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.303716\\\" y=\\\"43.66355\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.186681\\\" y=\\\"17.819106\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"46.257199\\\" y=\\\"15.54333\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.843291\\\" y=\\\"26.076492\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.942839\\\" y=\\\"20.552847\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.922907\\\" y=\\\"21.492732\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.984814\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.254741\\\" y=\\\"34.640019\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"45.819619\\\" y=\\\"37.468679\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.437089\\\" y=\\\"40.3782\\\" xlink:href=\\\"#m367fa7d3dc\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"maf5b70b14c\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"30.285345\\\" xlink:href=\\\"#maf5b70b14c\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"19.980469\\\" y=\\\"3.039375\\\" xlink:href=\\\"#maf5b70b14c\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(2.800469 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p5a61290e3b)\\\" d=\\\"M 19.980469 29.29331  L 83.810938 29.29331  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 19.980469 45.667355  L 19.980469 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"669.050781\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"764.460938\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.503125 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"     <use x=\\\"274.414062\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p5a61290e3b\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"19.980469\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge4\\\">\\n\",\n       \"<title>node1-&gt;leaf3</title>\\n\",\n       \"<path d=\\\"M301.3,-129C316.04,-132.18 331.15,-135.44 344.28,-138.26\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"344.09,-139.65 348.29,-139.13 344.68,-136.92 344.09,-139.65\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node7\\\">\\n\",\n       \"<title>leaf2</title>\\n\",\n       \"<polygon fill=\\\"none\\\" points=\\\"265.5,-63 200.5,-63 200.5,-4 265.5,-4 265.5,-63\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0\\\" />\\n\",\n       \"<svg height=\\\"51px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 76.829219 68.293293\\\" width=\\\"57px\\\" x=\\\"205\\\" y=\\\"-58.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:58.171854</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M -0 68.293293  L 76.829219 68.293293  L 76.829219 0  L -0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 59.03 45.667355  L 59.03 2.179355  L 17.18 2.179355  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"mee9184ae1d\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#p699762c8fc)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.730752\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.581976\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.842195\\\" y=\\\"39.13889\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.684581\\\" y=\\\"48.001841\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.546363\\\" y=\\\"49.187195\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.611467\\\" y=\\\"45.423795\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.936656\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.834501\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.736163\\\" y=\\\"46.911419\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.45854\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.612508\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.854909\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.542908\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.605999\\\" y=\\\"35.519219\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.251787\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.73602\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.557017\\\" y=\\\"37.679901\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.21069\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.345019\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.255359\\\" y=\\\"44.96196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.628571\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.251839\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.274001\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.827903\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.642584\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.001745\\\" y=\\\"38.559101\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.501797\\\" y=\\\"48.001841\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.060949\\\" y=\\\"49.187195\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.906656\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.611571\\\" y=\\\"40.3782\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.17709\\\" y=\\\"43.256865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.846335\\\" y=\\\"48.001841\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.603492\\\" y=\\\"44.96196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.889619\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.578871\\\" y=\\\"46.911419\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.199582\\\" y=\\\"39.744455\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.87371\\\" y=\\\"40.3782\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"47.971982\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.370901\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"32.430609\\\" y=\\\"42.861963\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.090816\\\" y=\\\"36.459105\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.333382\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"33.741111\\\" y=\\\"45.901845\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"43.37236\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"40.371324\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"36.456268\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.029921\\\" y=\\\"33.814125\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"39.058067\\\" y=\\\"38.002983\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.56146\\\" y=\\\"41.042865\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"42.245288\\\" y=\\\"37.468679\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"44.094707\\\" y=\\\"42.861963\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.657897\\\" y=\\\"41.741634\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"41.250881\\\" y=\\\"45.708604\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"38.070983\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"34.623759\\\" y=\\\"42.478196\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"35.166722\\\" y=\\\"44.082746\\\" xlink:href=\\\"#mee9184ae1d\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\" />\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m362fedad1d\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"30.285345\\\" xlink:href=\\\"#m362fedad1d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 33.32472)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"17.18\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m362fedad1d\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_3\\\">\\n\",\n       \"    <path clip-path=\\\"url(#p699762c8fc)\\\" d=\\\"M 17.18 41.65069  L 77.829219 41.65069  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 17.18 45.667355  L 17.18 2.179355  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"text_3\\\">\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(0.380781 55.015793)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"      <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"      <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"      <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"      <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"      <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"      <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      <path d=\\\"M 10.59375 45.40625  L 73.1875 45.40625  L 73.1875 37.203125  L 10.59375 37.203125  z M 10.59375 25.484375  L 73.1875 25.484375  L 73.1875 17.1875  L 10.59375 17.1875  z \\\" id=\\\"DejaVuSans-61\\\" />\\n\",\n       \"      <path d=\\\"M 10.984375 1.515625  L 10.984375 10.5  Q 14.703125 8.734375 18.5 7.8125  Q 22.3125 6.890625 25.984375 6.890625  Q 35.75 6.890625 40.890625 13.453125  Q 46.046875 20.015625 46.78125 33.40625  Q 43.953125 29.203125 39.59375 26.953125  Q 35.25 24.703125 29.984375 24.703125  Q 19.046875 24.703125 12.671875 31.3125  Q 6.296875 37.9375 6.296875 49.421875  Q 6.296875 60.640625 12.9375 67.421875  Q 19.578125 74.21875 30.609375 74.21875  Q 43.265625 74.21875 49.921875 64.515625  Q 56.59375 54.828125 56.59375 36.375  Q 56.59375 19.140625 48.40625 8.859375  Q 40.234375 -1.421875 26.421875 -1.421875  Q 22.703125 -1.421875 18.890625 -0.6875  Q 15.09375 0.046875 10.984375 1.515625  z M 30.609375 32.421875  Q 37.25 32.421875 41.125 36.953125  Q 45.015625 41.5 45.015625 49.421875  Q 45.015625 57.28125 41.125 61.84375  Q 37.25 66.40625 30.609375 66.40625  Q 23.96875 66.40625 20.09375 61.84375  Q 16.21875 57.28125 16.21875 49.421875  Q 16.21875 41.5 20.09375 36.953125  Q 23.96875 32.421875 30.609375 32.421875  z \\\" id=\\\"DejaVuSans-57\\\" />\\n\",\n       \"      <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"      <path d=\\\"M 8.203125 72.90625  L 55.078125 72.90625  L 55.078125 68.703125  L 28.609375 0  L 18.3125 0  L 43.21875 64.59375  L 8.203125 64.59375  z \\\" id=\\\"DejaVuSans-55\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"     <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"     <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"     <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"     <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"     <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"     <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"     <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     <use x=\\\"458.015625\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"541.804688\\\" xlink:href=\\\"#DejaVuSans-57\\\" />\\n\",\n       \"     <use x=\\\"605.427734\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"     <use x=\\\"637.214844\\\" xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"     <use x=\\\"700.837891\\\" xlink:href=\\\"#DejaVuSans-55\\\" />\\n\",\n       \"    </g>\\n\",\n       \"    \\n\",\n       \"    <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.883906 66.213605)scale(0.1 -0.1)\\\">\\n\",\n       \"     <defs>\\n\",\n       \"      <path d=\\\"M 54.890625 33.015625  L 54.890625 0  L 45.90625 0  L 45.90625 32.71875  Q 45.90625 40.484375 42.875 44.328125  Q 39.84375 48.1875 33.796875 48.1875  Q 26.515625 48.1875 22.3125 43.546875  Q 18.109375 38.921875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.34375 51.125 25.703125 53.5625  Q 30.078125 56 35.796875 56  Q 45.21875 56 50.046875 50.171875  Q 54.890625 44.34375 54.890625 33.015625  z \\\" id=\\\"DejaVuSans-110\\\" />\\n\",\n       \"      <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"      <path d=\\\"M 33.015625 40.375  Q 26.375 40.375 22.484375 35.828125  Q 18.609375 31.296875 18.609375 23.390625  Q 18.609375 15.53125 22.484375 10.953125  Q 26.375 6.390625 33.015625 6.390625  Q 39.65625 6.390625 43.53125 10.953125  Q 47.40625 15.53125 47.40625 23.390625  Q 47.40625 31.296875 43.53125 35.828125  Q 39.65625 40.375 33.015625 40.375  z M 52.59375 71.296875  L 52.59375 62.3125  Q 48.875 64.0625 45.09375 64.984375  Q 41.3125 65.921875 37.59375 65.921875  Q 27.828125 65.921875 22.671875 59.328125  Q 17.53125 52.734375 16.796875 39.40625  Q 19.671875 43.65625 24.015625 45.921875  Q 28.375 48.1875 33.59375 48.1875  Q 44.578125 48.1875 50.953125 41.515625  Q 57.328125 34.859375 57.328125 23.390625  Q 57.328125 12.15625 50.6875 5.359375  Q 44.046875 -1.421875 33.015625 -1.421875  Q 20.359375 -1.421875 13.671875 8.265625  Q 6.984375 17.96875 6.984375 36.375  Q 6.984375 53.65625 15.1875 63.9375  Q 23.390625 74.21875 37.203125 74.21875  Q 40.921875 74.21875 44.703125 73.484375  Q 48.484375 72.75 52.59375 71.296875  z \\\" id=\\\"DejaVuSans-54\\\" />\\n\",\n       \"     </defs>\\n\",\n       \"     <use xlink:href=\\\"#DejaVuSans-110\\\" />\\n\",\n       \"     <use x=\\\"63.378906\\\" xlink:href=\\\"#DejaVuSans-61\\\" />\\n\",\n       \"     <use x=\\\"147.167969\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"     <use x=\\\"210.791016\\\" xlink:href=\\\"#DejaVuSans-54\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"p699762c8fc\\\">\\n\",\n       \"   <rect height=\\\"43.488\\\" width=\\\"41.85\\\" x=\\\"17.18\\\" y=\\\"2.179355\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"<g class=\\\"node\\\" id=\\\"node3\\\">\\n\",\n       \"<title>node0</title>\\n\",\n       \"<svg height=\\\"68px\\\" preserveAspectRatio=\\\"xMinYMin meet\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 176.719375 90.351598\\\" width=\\\"132px\\\" x=\\\"4\\\" y=\\\"-107.5\\\">\\n\",\n       \" <metadata>\\n\",\n       \"  <rdf:RDF>\\n\",\n       \"   <ns2:Work>\\n\",\n       \"    <dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" />\\n\",\n       \"    <dc:date>2020-11-29T10:27:57.657715</dc:date>\\n\",\n       \"    <dc:format>image/svg+xml</dc:format>\\n\",\n       \"    <dc:creator>\\n\",\n       \"     <ns2:Agent>\\n\",\n       \"      <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\\n\",\n       \"     </ns2:Agent>\\n\",\n       \"    </dc:creator>\\n\",\n       \"   </ns2:Work>\\n\",\n       \"  </rdf:RDF>\\n\",\n       \" </metadata>\\n\",\n       \" <defs>\\n\",\n       \"  <style type=\\\"text/css\\\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\\n\",\n       \" </defs>\\n\",\n       \" <g id=\\\"figure_1\\\">\\n\",\n       \"  <g id=\\\"patch_1\\\">\\n\",\n       \"   <path d=\\\"M 0 90.351598  L 176.719375 90.351598  L 176.719375 0  L 0 0  z \\\" style=\\\"fill:none;\\\" />\\n\",\n       \"  </g>\\n\",\n       \"  <g id=\\\"axes_1\\\">\\n\",\n       \"   <g id=\\\"patch_2\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 170.358125 61.652848  L 170.358125 1.856848  L 30.858125 1.856848  z \\\" style=\\\"fill:#ffffff;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"PathCollection_1\\\">\\n\",\n       \"    <defs>\\n\",\n       \"     <path d=\\\"M 0 1.118034  C 0.296506 1.118034 0.580908 1.000231 0.790569 0.790569  C 1.000231 0.580908 1.118034 0.296506 1.118034 0  C 1.118034 -0.296506 1.000231 -0.580908 0.790569 -0.790569  C 0.580908 -1.000231 0.296506 -1.118034 0 -1.118034  C -0.296506 -1.118034 -0.580908 -1.000231 -0.790569 -0.790569  C -1.000231 -0.580908 -1.118034 -0.296506 -1.118034 0  C -1.118034 0.296506 -1.000231 0.580908 -0.790569 0.790569  C -0.580908 1.000231 -0.296506 1.118034 0 1.118034  z \\\" id=\\\"m9c71167006\\\" style=\\\"stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" />\\n\",\n       \"    </defs>\\n\",\n       \"    <g clip-path=\\\"url(#pf5a874a370)\\\">\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.41215\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.857495\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.637075\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.897178\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.817729\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"66.492628\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.864125\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.317953\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.287463\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"63.363435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.759643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.058103\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.966981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.670098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.039105\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"8.438259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.013994\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"60.682929\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.058103\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.623403\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.026353\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.077729\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.041853\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.576192\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.422027\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.664311\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.087917\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.186848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.41215\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.023986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"66.492628\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.705224\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.039105\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.20271\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.888399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.966981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.428973\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.01148\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.522743\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.800905\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.92966\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.107626\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.759643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"64.862766\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"60.682929\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.366685\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.978431\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.937611\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"63.363435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.988219\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.097446\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.771673\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.046476\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.338424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.101198\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.405777\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.287463\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.271231\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.007754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.847893\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.370906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.509014\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.897616\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.541343\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.107626\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.329023\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"32.930098\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.955736\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.387138\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"19.525386\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"14.136631\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"29.326656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"17.551806\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.975271\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.692458\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.731643\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.844148\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"51.878998\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.913848\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"17.058835\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"10.721456\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.541343\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.506493\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.084966\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"12.163069\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.191069\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.787008\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.055355\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.345273\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"39.289611\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.692451\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.525246\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.334203\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"51.114336\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"55.294174\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.795434\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.130586\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"53.50886\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.91341\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"24.775893\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"48.991504\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.911481\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.110071\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"47.699161\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"30.535574\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.21608\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"26.708691\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.310424\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.864125\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"49.672741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"38.895248\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"44.283986\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"33.801479\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"11.700538\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"43.770758\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.872149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"13.123876\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.52511\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.827916\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"42.784655\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"37.395918\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"58.897616\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"36.688974\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"23.361505\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"20.232313\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.104149\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"56.254981\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"22.528853\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"31.300236\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.971969\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"61.709564\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"34.715411\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"25.146818\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"52.676208\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"41.396491\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"18.978431\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"27.120399\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"10.377755\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"45.354656\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"28.412741\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"21.117448\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"46.490261\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"15.207301\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"35.350435\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"50.379668\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"54.380259\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"57.267754\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"100.608125\\\" y=\\\"59.474011\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"     <use style=\\\"fill:#4575b4;fill-opacity:0.5;stroke:#4575b4;stroke-opacity:0.5;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"16.342906\\\" xlink:href=\\\"#m9c71167006\\\" />\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_3\\\">\\n\",\n       \"    <path d=\\\"M 65.733125 61.652848  L 63.222125 67.632448  L 68.244125 67.632448  z \\\" style=\\\"fill:#444443;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_1\\\">\\n\",\n       \"    <g id=\\\"xtick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_1\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L 0 3.5  \\\" id=\\\"m80fc7febc5\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m80fc7febc5\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_1\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(24.496875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 31.78125 66.40625  Q 24.171875 66.40625 20.328125 58.90625  Q 16.5 51.421875 16.5 36.375  Q 16.5 21.390625 20.328125 13.890625  Q 24.171875 6.390625 31.78125 6.390625  Q 39.453125 6.390625 43.28125 13.890625  Q 47.125 21.390625 47.125 36.375  Q 47.125 51.421875 43.28125 58.90625  Q 39.453125 66.40625 31.78125 66.40625  z M 31.78125 74.21875  Q 44.046875 74.21875 50.515625 64.515625  Q 56.984375 54.828125 56.984375 36.375  Q 56.984375 17.96875 50.515625 8.265625  Q 44.046875 -1.421875 31.78125 -1.421875  Q 19.53125 -1.421875 13.0625 8.265625  Q 6.59375 17.96875 6.59375 36.375  Q 6.59375 54.828125 13.0625 64.515625  Q 19.53125 74.21875 31.78125 74.21875  z \\\" id=\\\"DejaVuSans-48\\\" />\\n\",\n       \"        <path d=\\\"M 10.6875 12.40625  L 21 12.40625  L 21 0  L 10.6875 0  z \\\" id=\\\"DejaVuSans-46\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_2\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"170.358125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m80fc7febc5\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_2\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(163.996875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 19.1875 8.296875  L 53.609375 8.296875  L 53.609375 0  L 7.328125 0  L 7.328125 8.296875  Q 12.9375 14.109375 22.625 23.890625  Q 32.328125 33.6875 34.8125 36.53125  Q 39.546875 41.84375 41.421875 45.53125  Q 43.3125 49.21875 43.3125 52.78125  Q 43.3125 58.59375 39.234375 62.25  Q 35.15625 65.921875 28.609375 65.921875  Q 23.96875 65.921875 18.8125 64.3125  Q 13.671875 62.703125 7.8125 59.421875  L 7.8125 69.390625  Q 13.765625 71.78125 18.9375 73  Q 24.125 74.21875 28.421875 74.21875  Q 39.75 74.21875 46.484375 68.546875  Q 53.21875 62.890625 53.21875 53.421875  Q 53.21875 48.921875 51.53125 44.890625  Q 49.859375 40.875 45.40625 35.40625  Q 44.1875 33.984375 37.640625 27.21875  Q 31.109375 20.453125 19.1875 8.296875  z \\\" id=\\\"DejaVuSans-50\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"xtick_3\\\">\\n\",\n       \"     <g id=\\\"line2d_3\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"65.733125\\\" y=\\\"61.652848\\\" xlink:href=\\\"#m80fc7febc5\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_3\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(59.371875 74.731598)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 10.796875 72.90625  L 49.515625 72.90625  L 49.515625 64.59375  L 19.828125 64.59375  L 19.828125 46.734375  Q 21.96875 47.46875 24.109375 47.828125  Q 26.265625 48.1875 28.421875 48.1875  Q 40.625 48.1875 47.75 41.5  Q 54.890625 34.8125 54.890625 23.390625  Q 54.890625 11.625 47.5625 5.09375  Q 40.234375 -1.421875 26.90625 -1.421875  Q 22.3125 -1.421875 17.546875 -0.640625  Q 12.796875 0.140625 7.71875 1.703125  L 7.71875 11.625  Q 12.109375 9.234375 16.796875 8.0625  Q 21.484375 6.890625 26.703125 6.890625  Q 35.15625 6.890625 40.078125 11.328125  Q 45.015625 15.765625 45.015625 23.390625  Q 45.015625 31 40.078125 35.4375  Q 35.15625 39.890625 26.703125 39.890625  Q 22.75 39.890625 18.8125 39.015625  Q 14.890625 38.140625 10.796875 36.28125  z \\\" id=\\\"DejaVuSans-53\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-46\\\" />\\n\",\n       \"       <use x=\\\"95.410156\\\" xlink:href=\\\"#DejaVuSans-53\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_4\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(60.047969 87.993786)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 64.40625 67.28125  L 64.40625 56.890625  Q 59.421875 61.53125 53.78125 63.8125  Q 48.140625 66.109375 41.796875 66.109375  Q 29.296875 66.109375 22.65625 58.46875  Q 16.015625 50.828125 16.015625 36.375  Q 16.015625 21.96875 22.65625 14.328125  Q 29.296875 6.6875 41.796875 6.6875  Q 48.140625 6.6875 53.78125 8.984375  Q 59.421875 11.28125 64.40625 15.921875  L 64.40625 5.609375  Q 59.234375 2.09375 53.4375 0.328125  Q 47.65625 -1.421875 41.21875 -1.421875  Q 24.65625 -1.421875 15.125 8.703125  Q 5.609375 18.84375 5.609375 36.375  Q 5.609375 53.953125 15.125 64.078125  Q 24.65625 74.21875 41.21875 74.21875  Q 47.75 74.21875 53.53125 72.484375  Q 59.328125 70.75 64.40625 67.28125  z \\\" id=\\\"DejaVuSans-67\\\" />\\n\",\n       \"       <path d=\\\"M 30.609375 48.390625  Q 23.390625 48.390625 19.1875 42.75  Q 14.984375 37.109375 14.984375 27.296875  Q 14.984375 17.484375 19.15625 11.84375  Q 23.34375 6.203125 30.609375 6.203125  Q 37.796875 6.203125 41.984375 11.859375  Q 46.1875 17.53125 46.1875 27.296875  Q 46.1875 37.015625 41.984375 42.703125  Q 37.796875 48.390625 30.609375 48.390625  z M 30.609375 56  Q 42.328125 56 49.015625 48.375  Q 55.71875 40.765625 55.71875 27.296875  Q 55.71875 13.875 49.015625 6.21875  Q 42.328125 -1.421875 30.609375 -1.421875  Q 18.84375 -1.421875 12.171875 6.21875  Q 5.515625 13.875 5.515625 27.296875  Q 5.515625 40.765625 12.171875 48.375  Q 18.84375 56 30.609375 56  z \\\" id=\\\"DejaVuSans-111\\\" />\\n\",\n       \"       <path d=\\\"M 8.5 21.578125  L 8.5 54.6875  L 17.484375 54.6875  L 17.484375 21.921875  Q 17.484375 14.15625 20.5 10.265625  Q 23.53125 6.390625 29.59375 6.390625  Q 36.859375 6.390625 41.078125 11.03125  Q 45.3125 15.671875 45.3125 23.6875  L 45.3125 54.6875  L 54.296875 54.6875  L 54.296875 0  L 45.3125 0  L 45.3125 8.40625  Q 42.046875 3.421875 37.71875 1  Q 33.40625 -1.421875 27.6875 -1.421875  Q 18.265625 -1.421875 13.375 4.4375  Q 8.5 10.296875 8.5 21.578125  z M 31.109375 56  z \\\" id=\\\"DejaVuSans-117\\\" />\\n\",\n       \"       <path d=\\\"M 18.109375 8.203125  L 18.109375 -20.796875  L 9.078125 -20.796875  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.390625  Q 20.953125 51.265625 25.265625 53.625  Q 29.59375 56 35.59375 56  Q 45.5625 56 51.78125 48.09375  Q 58.015625 40.1875 58.015625 27.296875  Q 58.015625 14.40625 51.78125 6.484375  Q 45.5625 -1.421875 35.59375 -1.421875  Q 29.59375 -1.421875 25.265625 0.953125  Q 20.953125 3.328125 18.109375 8.203125  z M 48.6875 27.296875  Q 48.6875 37.203125 44.609375 42.84375  Q 40.53125 48.484375 33.40625 48.484375  Q 26.265625 48.484375 22.1875 42.84375  Q 18.109375 37.203125 18.109375 27.296875  Q 18.109375 17.390625 22.1875 11.75  Q 26.265625 6.109375 33.40625 6.109375  Q 40.53125 6.109375 44.609375 11.75  Q 48.6875 17.390625 48.6875 27.296875  z \\\" id=\\\"DejaVuSans-112\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 0  L 9.421875 0  z \\\" id=\\\"DejaVuSans-108\\\" />\\n\",\n       \"       <path d=\\\"M 56.203125 29.59375  L 56.203125 25.203125  L 14.890625 25.203125  Q 15.484375 15.921875 20.484375 11.0625  Q 25.484375 6.203125 34.421875 6.203125  Q 39.59375 6.203125 44.453125 7.46875  Q 49.3125 8.734375 54.109375 11.28125  L 54.109375 2.78125  Q 49.265625 0.734375 44.1875 -0.34375  Q 39.109375 -1.421875 33.890625 -1.421875  Q 20.796875 -1.421875 13.15625 6.1875  Q 5.515625 13.8125 5.515625 26.8125  Q 5.515625 40.234375 12.765625 48.109375  Q 20.015625 56 32.328125 56  Q 43.359375 56 49.78125 48.890625  Q 56.203125 41.796875 56.203125 29.59375  z M 47.21875 32.234375  Q 47.125 39.59375 43.09375 43.984375  Q 39.0625 48.390625 32.421875 48.390625  Q 24.90625 48.390625 20.390625 44.140625  Q 15.875 39.890625 15.1875 32.171875  z \\\" id=\\\"DejaVuSans-101\\\" />\\n\",\n       \"       <path d=\\\"M 41.109375 46.296875  Q 39.59375 47.171875 37.8125 47.578125  Q 36.03125 48 33.890625 48  Q 26.265625 48 22.1875 43.046875  Q 18.109375 38.09375 18.109375 28.8125  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 20.953125 51.171875 25.484375 53.578125  Q 30.03125 56 36.53125 56  Q 37.453125 56 38.578125 55.875  Q 39.703125 55.765625 41.0625 55.515625  z \\\" id=\\\"DejaVuSans-114\\\" />\\n\",\n       \"       <path d=\\\"M 50.984375 -16.609375  L 50.984375 -23.578125  L -0.984375 -23.578125  L -0.984375 -16.609375  z \\\" id=\\\"DejaVuSans-95\\\" />\\n\",\n       \"       <path d=\\\"M 53.515625 70.515625  L 53.515625 60.890625  Q 47.90625 63.578125 42.921875 64.890625  Q 37.9375 66.21875 33.296875 66.21875  Q 25.25 66.21875 20.875 63.09375  Q 16.5 59.96875 16.5 54.203125  Q 16.5 49.359375 19.40625 46.890625  Q 22.3125 44.4375 30.421875 42.921875  L 36.375 41.703125  Q 47.40625 39.59375 52.65625 34.296875  Q 57.90625 29 57.90625 20.125  Q 57.90625 9.515625 50.796875 4.046875  Q 43.703125 -1.421875 29.984375 -1.421875  Q 24.8125 -1.421875 18.96875 -0.25  Q 13.140625 0.921875 6.890625 3.21875  L 6.890625 13.375  Q 12.890625 10.015625 18.65625 8.296875  Q 24.421875 6.59375 29.984375 6.59375  Q 38.421875 6.59375 43.015625 9.90625  Q 47.609375 13.234375 47.609375 19.390625  Q 47.609375 24.75 44.3125 27.78125  Q 41.015625 30.8125 33.5 32.328125  L 27.484375 33.5  Q 16.453125 35.6875 11.515625 40.375  Q 6.59375 45.0625 6.59375 53.421875  Q 6.59375 63.09375 13.40625 68.65625  Q 20.21875 74.21875 32.171875 74.21875  Q 37.3125 74.21875 42.625 73.28125  Q 47.953125 72.359375 53.515625 70.515625  z \\\" id=\\\"DejaVuSans-83\\\" />\\n\",\n       \"       <path d=\\\"M 32.171875 -5.078125  Q 28.375 -14.84375 24.75 -17.8125  Q 21.140625 -20.796875 15.09375 -20.796875  L 7.90625 -20.796875  L 7.90625 -13.28125  L 13.1875 -13.28125  Q 16.890625 -13.28125 18.9375 -11.515625  Q 21 -9.765625 23.484375 -3.21875  L 25.09375 0.875  L 2.984375 54.6875  L 12.5 54.6875  L 29.59375 11.921875  L 46.6875 54.6875  L 56.203125 54.6875  z \\\" id=\\\"DejaVuSans-121\\\" />\\n\",\n       \"       <path d=\\\"M 44.28125 53.078125  L 44.28125 44.578125  Q 40.484375 46.53125 36.375 47.5  Q 32.28125 48.484375 27.875 48.484375  Q 21.1875 48.484375 17.84375 46.4375  Q 14.5 44.390625 14.5 40.28125  Q 14.5 37.15625 16.890625 35.375  Q 19.28125 33.59375 26.515625 31.984375  L 29.59375 31.296875  Q 39.15625 29.25 43.1875 25.515625  Q 47.21875 21.78125 47.21875 15.09375  Q 47.21875 7.46875 41.1875 3.015625  Q 35.15625 -1.421875 24.609375 -1.421875  Q 20.21875 -1.421875 15.453125 -0.5625  Q 10.6875 0.296875 5.421875 2  L 5.421875 11.28125  Q 10.40625 8.6875 15.234375 7.390625  Q 20.0625 6.109375 24.8125 6.109375  Q 31.15625 6.109375 34.5625 8.28125  Q 37.984375 10.453125 37.984375 14.40625  Q 37.984375 18.0625 35.515625 20.015625  Q 33.0625 21.96875 24.703125 23.78125  L 21.578125 24.515625  Q 13.234375 26.265625 9.515625 29.90625  Q 5.8125 33.546875 5.8125 39.890625  Q 5.8125 47.609375 11.28125 51.796875  Q 16.75 56 26.8125 56  Q 31.78125 56 36.171875 55.265625  Q 40.578125 54.546875 44.28125 53.078125  z \\\" id=\\\"DejaVuSans-115\\\" />\\n\",\n       \"       <path d=\\\"M 18.3125 70.21875  L 18.3125 54.6875  L 36.8125 54.6875  L 36.8125 47.703125  L 18.3125 47.703125  L 18.3125 18.015625  Q 18.3125 11.328125 20.140625 9.421875  Q 21.96875 7.515625 27.59375 7.515625  L 36.8125 7.515625  L 36.8125 0  L 27.59375 0  Q 17.1875 0 13.234375 3.875  Q 9.28125 7.765625 9.28125 18.015625  L 9.28125 47.703125  L 2.6875 47.703125  L 2.6875 54.6875  L 9.28125 54.6875  L 9.28125 70.21875  z \\\" id=\\\"DejaVuSans-116\\\" />\\n\",\n       \"       <path d=\\\"M 52 44.1875  Q 55.375 50.25 60.0625 53.125  Q 64.75 56 71.09375 56  Q 79.640625 56 84.28125 50.015625  Q 88.921875 44.046875 88.921875 33.015625  L 88.921875 0  L 79.890625 0  L 79.890625 32.71875  Q 79.890625 40.578125 77.09375 44.375  Q 74.3125 48.1875 68.609375 48.1875  Q 61.625 48.1875 57.5625 43.546875  Q 53.515625 38.921875 53.515625 30.90625  L 53.515625 0  L 44.484375 0  L 44.484375 32.71875  Q 44.484375 40.625 41.703125 44.40625  Q 38.921875 48.1875 33.109375 48.1875  Q 26.21875 48.1875 22.15625 43.53125  Q 18.109375 38.875 18.109375 30.90625  L 18.109375 0  L 9.078125 0  L 9.078125 54.6875  L 18.109375 54.6875  L 18.109375 46.1875  Q 21.1875 51.21875 25.484375 53.609375  Q 29.78125 56 35.6875 56  Q 41.65625 56 45.828125 52.96875  Q 50 49.953125 52 44.1875  z \\\" id=\\\"DejaVuSans-109\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-67\\\" />\\n\",\n       \"      <use x=\\\"69.824219\\\" xlink:href=\\\"#DejaVuSans-111\\\" />\\n\",\n       \"      <use x=\\\"131.005859\\\" xlink:href=\\\"#DejaVuSans-117\\\" />\\n\",\n       \"      <use x=\\\"194.384766\\\" xlink:href=\\\"#DejaVuSans-112\\\" />\\n\",\n       \"      <use x=\\\"257.861328\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"      <use x=\\\"285.644531\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"347.167969\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"388.28125\\\" xlink:href=\\\"#DejaVuSans-95\\\" />\\n\",\n       \"      <use x=\\\"438.28125\\\" xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"501.757812\\\" xlink:href=\\\"#DejaVuSans-121\\\" />\\n\",\n       \"      <use x=\\\"560.9375\\\" xlink:href=\\\"#DejaVuSans-115\\\" />\\n\",\n       \"      <use x=\\\"613.037109\\\" xlink:href=\\\"#DejaVuSans-116\\\" />\\n\",\n       \"      <use x=\\\"652.246094\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"713.769531\\\" xlink:href=\\\"#DejaVuSans-109\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"matplotlib.axis_2\\\">\\n\",\n       \"    <g id=\\\"ytick_1\\\">\\n\",\n       \"     <g id=\\\"line2d_4\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 0 0  L -3.5 0  \\\" id=\\\"m96f05fbee4\\\" style=\\\"stroke:#444443;stroke-width:0.3;\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"40.502584\\\" xlink:href=\\\"#m96f05fbee4\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_5\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(13.678125 43.541959)scale(0.08 -0.08)\\\">\\n\",\n       \"       <defs>\\n\",\n       \"        <path d=\\\"M 12.40625 8.296875  L 28.515625 8.296875  L 28.515625 63.921875  L 10.984375 60.40625  L 10.984375 69.390625  L 28.421875 72.90625  L 38.28125 72.90625  L 38.28125 8.296875  L 54.390625 8.296875  L 54.390625 0  L 12.40625 0  z \\\" id=\\\"DejaVuSans-49\\\" />\\n\",\n       \"       </defs>\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-48\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"ytick_2\\\">\\n\",\n       \"     <g id=\\\"line2d_5\\\">\\n\",\n       \"      <g>\\n\",\n       \"       <use style=\\\"fill:#444443;stroke:#444443;stroke-width:0.3;\\\" x=\\\"30.858125\\\" y=\\\"3.039375\\\" xlink:href=\\\"#m96f05fbee4\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"     <g id=\\\"text_6\\\">\\n\",\n       \"      \\n\",\n       \"      <g style=\\\"fill:#444443;\\\" transform=\\\"translate(13.678125 6.07875)scale(0.08 -0.08)\\\">\\n\",\n       \"       <use xlink:href=\\\"#DejaVuSans-49\\\" />\\n\",\n       \"       <use x=\\\"63.623047\\\" xlink:href=\\\"#DejaVuSans-50\\\" />\\n\",\n       \"      </g>\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"    <g id=\\\"text_7\\\">\\n\",\n       \"     \\n\",\n       \"     <g style=\\\"fill:#444443;\\\" transform=\\\"translate(7.598437 54.656411)rotate(-90)scale(0.1 -0.1)\\\">\\n\",\n       \"      <defs>\\n\",\n       \"       <path d=\\\"M 34.28125 27.484375  Q 23.390625 27.484375 19.1875 25  Q 14.984375 22.515625 14.984375 16.5  Q 14.984375 11.71875 18.140625 8.90625  Q 21.296875 6.109375 26.703125 6.109375  Q 34.1875 6.109375 38.703125 11.40625  Q 43.21875 16.703125 43.21875 25.484375  L 43.21875 27.484375  z M 52.203125 31.203125  L 52.203125 0  L 43.21875 0  L 43.21875 8.296875  Q 40.140625 3.328125 35.546875 0.953125  Q 30.953125 -1.421875 24.3125 -1.421875  Q 15.921875 -1.421875 10.953125 3.296875  Q 6 8.015625 6 15.921875  Q 6 25.140625 12.171875 29.828125  Q 18.359375 34.515625 30.609375 34.515625  L 43.21875 34.515625  L 43.21875 35.40625  Q 43.21875 41.609375 39.140625 45  Q 35.0625 48.390625 27.6875 48.390625  Q 23 48.390625 18.546875 47.265625  Q 14.109375 46.140625 10.015625 43.890625  L 10.015625 52.203125  Q 14.9375 54.109375 19.578125 55.046875  Q 24.21875 56 28.609375 56  Q 40.484375 56 46.34375 49.84375  Q 52.203125 43.703125 52.203125 31.203125  z \\\" id=\\\"DejaVuSans-97\\\" />\\n\",\n       \"       <path d=\\\"M 19.671875 64.796875  L 19.671875 37.40625  L 32.078125 37.40625  Q 38.96875 37.40625 42.71875 40.96875  Q 46.484375 44.53125 46.484375 51.125  Q 46.484375 57.671875 42.71875 61.234375  Q 38.96875 64.796875 32.078125 64.796875  z M 9.8125 72.90625  L 32.078125 72.90625  Q 44.34375 72.90625 50.609375 67.359375  Q 56.890625 61.8125 56.890625 51.125  Q 56.890625 40.328125 50.609375 34.8125  Q 44.34375 29.296875 32.078125 29.296875  L 19.671875 29.296875  L 19.671875 0  L 9.8125 0  z \\\" id=\\\"DejaVuSans-80\\\" />\\n\",\n       \"       <path d=\\\"M 9.421875 54.6875  L 18.40625 54.6875  L 18.40625 0  L 9.421875 0  z M 9.421875 75.984375  L 18.40625 75.984375  L 18.40625 64.59375  L 9.421875 64.59375  z \\\" id=\\\"DejaVuSans-105\\\" />\\n\",\n       \"       <path d=\\\"M 48.78125 52.59375  L 48.78125 44.1875  Q 44.96875 46.296875 41.140625 47.34375  Q 37.3125 48.390625 33.40625 48.390625  Q 24.65625 48.390625 19.8125 42.84375  Q 14.984375 37.3125 14.984375 27.296875  Q 14.984375 17.28125 19.8125 11.734375  Q 24.65625 6.203125 33.40625 6.203125  Q 37.3125 6.203125 41.140625 7.25  Q 44.96875 8.296875 48.78125 10.40625  L 48.78125 2.09375  Q 45.015625 0.34375 40.984375 -0.53125  Q 36.96875 -1.421875 32.421875 -1.421875  Q 20.0625 -1.421875 12.78125 6.34375  Q 5.515625 14.109375 5.515625 27.296875  Q 5.515625 40.671875 12.859375 48.328125  Q 20.21875 56 33.015625 56  Q 37.15625 56 41.109375 55.140625  Q 45.0625 54.296875 48.78125 52.59375  z \\\" id=\\\"DejaVuSans-99\\\" />\\n\",\n       \"      </defs>\\n\",\n       \"      <use xlink:href=\\\"#DejaVuSans-83\\\" />\\n\",\n       \"      <use x=\\\"63.476562\\\" xlink:href=\\\"#DejaVuSans-97\\\" />\\n\",\n       \"      <use x=\\\"124.755859\\\" xlink:href=\\\"#DejaVuSans-108\\\" />\\n\",\n       \"      <use x=\\\"152.539062\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"      <use x=\\\"214.0625\\\" xlink:href=\\\"#DejaVuSans-80\\\" />\\n\",\n       \"      <use x=\\\"272.615234\\\" xlink:href=\\\"#DejaVuSans-114\\\" />\\n\",\n       \"      <use x=\\\"313.728516\\\" xlink:href=\\\"#DejaVuSans-105\\\" />\\n\",\n       \"      <use x=\\\"341.511719\\\" xlink:href=\\\"#DejaVuSans-99\\\" />\\n\",\n       \"      <use x=\\\"396.492188\\\" xlink:href=\\\"#DejaVuSans-101\\\" />\\n\",\n       \"     </g>\\n\",\n       \"    </g>\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_6\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pf5a874a370)\\\" d=\\\"M 30.858125 36.381322  L 65.733125 36.381322  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_7\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pf5a874a370)\\\" d=\\\"M 65.733125 61.652848  L 65.733125 1.856848  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"line2d_8\\\">\\n\",\n       \"    <path clip-path=\\\"url(#pf5a874a370)\\\" d=\\\"M 65.733125 56.129934  L 170.358125 56.129934  \\\" style=\\\"fill:none;stroke:#444443;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_4\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 30.858125 1.856848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"   <g id=\\\"patch_5\\\">\\n\",\n       \"    <path d=\\\"M 30.858125 61.652848  L 170.358125 61.652848  \\\" style=\\\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.3;\\\" />\\n\",\n       \"   </g>\\n\",\n       \"  </g>\\n\",\n       \" </g>\\n\",\n       \" <defs>\\n\",\n       \"  <clipPath id=\\\"pf5a874a370\\\">\\n\",\n       \"   <rect height=\\\"59.796\\\" width=\\\"139.5\\\" x=\\\"30.858125\\\" y=\\\"1.856848\\\" />\\n\",\n       \"  </clipPath>\\n\",\n       \" </defs>\\n\",\n       \"</svg></g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge7\\\">\\n\",\n       \"<title>node0-&gt;node1</title>\\n\",\n       \"<path d=\\\"M140.21,-91.13C146.99,-92.85 153.87,-94.6 160.67,-96.33\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"160.67,-97.78 164.89,-97.41 161.36,-95.07 160.67,-97.78\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<text font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" text-anchor=\\\"start\\\" x=\\\"148\\\" y=\\\"-98.3\\\">&lt;</text>\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"<g class=\\\"edge\\\" id=\\\"edge8\\\">\\n\",\n       \"<title>node0-&gt;leaf2</title>\\n\",\n       \"<path d=\\\"M140.21,-56.3C159.54,-51.5 179.75,-46.48 196.28,-42.38\\\" fill=\\\"none\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<polygon fill=\\\"#444443\\\" points=\\\"196.85,-43.68 200.4,-41.35 196.18,-40.96 196.85,-43.68\\\" stroke=\\\"#444443\\\" stroke-width=\\\"0.3\\\" />\\n\",\n       \"<text font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\" text-anchor=\\\"start\\\" x=\\\"148.5\\\" y=\\\"-57.3\\\">&#8805;</text>\\n\",\n       \"</g>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"</g>\\n\",\n       \"</svg>\"\n      ],\n      \"text/plain\": [\n       \"<dtreeviz.trees.DTreeViz at 0x7fef746828d0>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = DecisionTreeRegressor(max_leaf_nodes=4).fit(xs, y)\\n\",\n    \"\\n\",\n    \"dtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\\n\",\n    \"        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\\n\",\n    \"        orientation='LR')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now have the decision tree algorithm build a bigger tree. Here, we are not passing in any stopping criteria such as `max_leaf_nodes`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor()\\n\",\n    \"m.fit(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll create a little function to check the root mean squared error of our model (`m_rmse`), since that's how the competition was judged:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def r_mse(pred,y): return round(math.sqrt(((pred-y)**2).mean()), 6)\\n\",\n    \"def m_rmse(m, xs, y): return r_mse(m.predict(xs), y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.0\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m_rmse(m, xs, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, our model is perfect, right? Not so fast... remember we really need to check the validation set, to ensure we're not overfitting:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.331466\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Oops—it looks like we might be overfitting pretty badly. Here's why:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(324544, 404710)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m.get_n_leaves(), len(xs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've got nearly as many leaf nodes as data points! That seems a little over-enthusiastic. Indeed, sklearn's default settings allow it to continue splitting nodes until there is only one item in each leaf node. Let's change the stopping rule to tell sklearn to ensure every leaf node contains at least 25 auction records:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.248562, 0.323396)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = DecisionTreeRegressor(min_samples_leaf=25)\\n\",\n    \"m.fit(to.train.xs, to.train.y)\\n\",\n    \"m_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That looks much better. Let's check the number of leaves again:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"12397\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m.get_n_leaves()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Much more reasonable!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> A: Here's my intuition for an overfitting decision tree with more leaf nodes than data items. Consider the game Twenty Questions. In that game, the chooser secretly imagines an object (like, \\\"our television set\\\"), and the guesser gets to pose 20 yes or no questions to try to guess what the object is (like \\\"Is it bigger than a breadbox?\\\"). The guesser is not trying to predict a numerical value, but just to identify a particular object out of the set of all imaginable objects. When your decision tree has more leaves than there are possible objects in your domain, then it is essentially a well-trained guesser. It has learned the sequence of questions needed to identify a particular data item in the training set, and it is \\\"predicting\\\" only by describing that item's value. This is a way of memorizing the training set—i.e., of overfitting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Building a decision tree is a good way to create a model of our data. It is very flexible, since it can clearly handle nonlinear relationships and interactions between variables. But we can see there is a fundamental compromise between how well it generalizes (which we can achieve by creating small trees) and how accurate it is on the training set (which we can achieve by using large trees).\\n\",\n    \"\\n\",\n    \"So how do we get the best of both worlds? We'll show you right after we handle an important missing detail: how to handle categorical variables.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Categorical Variables\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the previous chapter, when working with deep learning networks, we dealt with categorical variables by one-hot encoding them and feeding them to an embedding layer. The embedding layer helped the model to discover the meaning of the different levels of these variables (the levels of a categorical variable do not have an intrinsic meaning, unless we manually specify an ordering using Pandas). In a decision tree, we don't have embeddings layers—so how can these untreated categorical variables do anything useful in a decision tree? For instance, how could something like a product code be used?\\n\",\n    \"\\n\",\n    \"The short answer is: it just works! Think about a situation where there is one product code that is far more expensive at auction than any other one. In that case, any binary split will result in that one product code being in some group, and that group will be more expensive than the other group. Therefore, our simple decision tree building algorithm will choose that split. Later during training the algorithm will be able to further split the subgroup that contains the expensive product code, and over time, the tree will home in on that one expensive product.\\n\",\n    \"\\n\",\n    \"It is also possible to use one-hot encoding to replace a single categorical variable with multiple one-hot-encoded columns, where each column represents a possible level of the variable. Pandas has a `get_dummies` method which does just that.\\n\",\n    \"\\n\",\n    \"However, there is not really any evidence that such an approach improves the end result. So, we generally avoid it where possible, because it does end up making your dataset harder to work with. In 2019 this issue was explored in the paper [\\\"Splitting on Categorical Predictors in Random Forests\\\"](https://peerj.com/articles/6339/) by Marvin Wright and Inke König, which said:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : The standard approach for nominal predictors is to consider all $2^{k-1} − 1$ 2-partitions of the *k* predictor categories. However, this exponential relationship produces a large number of potential splits to be evaluated, increasing computational complexity and restricting the possible number of categories in most implementations. For binary classification and regression, it was shown that ordering the predictor categories in each split leads to exactly the same splits as the standard approach. This reduces computational complexity because only *k* − 1 splits have to be considered for a nominal predictor with *k* categories.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that you understand how decisions tree work, it's time for the best-of-both-worlds solution: random forests.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Random Forests\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In 1994 Berkeley professor Leo Breiman, one year after his retirement, published a small technical report called [\\\"Bagging Predictors\\\"](https://www.stat.berkeley.edu/~breiman/bagging.pdf), which turned out to be one of the most influential ideas in modern machine learning. The report began:\\n\",\n    \"\\n\",\n    \"> : Bagging predictors is a method for generating multiple versions of a predictor and using these to get an aggregated predictor. The aggregation averages over the versions... The multiple versions are formed by making bootstrap replicates of the learning set and using these as new learning sets. Tests… show that bagging can give substantial gains in accuracy. The vital element is the instability of the prediction method. If perturbing the learning set can cause significant changes in the predictor constructed, then bagging can improve accuracy.\\n\",\n    \"\\n\",\n    \"Here is the procedure that Breiman is proposing:\\n\",\n    \"\\n\",\n    \"1. Randomly choose a subset of the rows of your data (i.e., \\\"bootstrap replicates of your learning set\\\").\\n\",\n    \"1. Train a model using this subset.\\n\",\n    \"1. Save that model, and then return to step 1 a few times.\\n\",\n    \"1. This will give you a number of trained models. To make a prediction, predict using all of the models, and then take the average of each of those model's predictions.\\n\",\n    \"\\n\",\n    \"This procedure is known as \\\"bagging.\\\" It is based on a deep and important insight: although each of the models trained on a subset of data will make more errors than a model trained on the full dataset, those errors will not be correlated with each other. Different models will make different errors. The average of those errors, therefore, is: zero! So if we take the average of all of the models' predictions, then we should end up with a prediction that gets closer and closer to the correct answer, the more models we have. This is an extraordinary result—it means that we can improve the accuracy of nearly any kind of machine learning algorithm by training it multiple times, each time on a different random subset of the data, and averaging its predictions.\\n\",\n    \"\\n\",\n    \"In 2001 Leo Breiman went on to demonstrate that this approach to building models, when applied to decision tree building algorithms, was particularly powerful. He went even further than just randomly choosing rows for each model's training, but also randomly selected from a subset of columns when choosing each split in each decision tree. He called this method the *random forest*. Today it is, perhaps, the most widely used and practically important machine learning method.\\n\",\n    \"\\n\",\n    \"In essence a random forest is a model that averages the predictions of a large number of decision trees, which are generated by randomly varying various parameters that specify what data is used to train the tree and other tree parameters. Bagging is a particular approach to \\\"ensembling,\\\" or combining the results of multiple models together. To see how it works in practice, let's get started on creating our own random forest!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# pip install —pre -f https://sklearn-nightly.scdn8.secure.raxcdn.com scikit-learn —U\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Random Forest\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create a random forest just like we created a decision tree, except now, we are also specifying parameters that indicate how many trees should be in the forest, how we should subset the data items (the rows), and how we should subset the fields (the columns).\\n\",\n    \"\\n\",\n    \"In the following function definition `n_estimators` defines the number of trees we want, `max_samples` defines how many rows to sample for training each tree, and `max_features` defines how many columns to sample at each split point (where `0.5` means \\\"take half the total number of columns\\\"). We can also specify when to stop splitting the tree nodes, effectively limiting the depth of the tree, by including the same `min_samples_leaf` parameter we used in the last section. Finally, we pass `n_jobs=-1` to tell sklearn to use all our CPUs to build the trees in parallel. By creating a little function for this, we can more quickly try different variations in the rest of this chapter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rf(xs, y, n_estimators=40, max_samples=200_000,\\n\",\n    \"       max_features=0.5, min_samples_leaf=5, **kwargs):\\n\",\n    \"    return RandomForestRegressor(n_jobs=-1, n_estimators=n_estimators,\\n\",\n    \"        max_samples=max_samples, max_features=max_features,\\n\",\n    \"        min_samples_leaf=min_samples_leaf, oob_score=True).fit(xs, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our validation RMSE is now much improved over our last result produced by the `DecisionTreeRegressor`, which made just one tree using all the available data:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.170917, 0.233975)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the most important properties of random forests is that they aren't very sensitive to the hyperparameter choices, such as `max_features`. You can set `n_estimators` to as high a number as you have time to train—the more trees you have, the more accurate the model will be. `max_samples` can often be left at its default, unless you have over 200,000 data points, in which case setting it to 200,000 will make it train faster with little impact on accuracy. `max_features=0.5` and `min_samples_leaf=4` both tend to work well, although sklearn's defaults work well too.\\n\",\n    \"\\n\",\n    \"The sklearn docs [show an example](http://scikit-learn.org/stable/auto_examples/ensemble/plot_ensemble_oob.html) of the effects of different `max_features` choices, with increasing numbers of trees. In the plot, the blue plot line uses the fewest features and the green line uses the most (it uses all the features). As you can see in <<max_features>>, the models with the lowest error result from using a subset of features but with a larger number of trees.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"source\": [\n    \"<img alt=\\\"sklearn max_features chart\\\" width=\\\"500\\\" caption=\\\"Error based on max features and number of trees (source: https://scikit-learn.org/stable/auto_examples/ensemble/plot_ensemble_oob.html)\\\" src=\\\"images/sklearn_features.png\\\" id=\\\"max_features\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To see the impact of `n_estimators`, let's get the predictions from each individual tree in our forest (these are in the `estimators_` attribute):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = np.stack([t.predict(valid_xs) for t in m.estimators_])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, `preds.mean(0)` gives the same results as our random forest:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.233975\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"r_mse(preds.mean(0), valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see what happens to the RMSE as we add more and more trees. As you can see, the improvement levels off quite a bit after around 30 trees:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot([r_mse(preds[:i+1].mean(0), valid_y) for i in range(40)]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The performance on our validation set is worse than on our training set. But is that because we're overfitting, or because the validation set covers a different time period, or a bit of both? With the existing information we've seen, we can't tell. However, random forests have a very clever trick called *out-of-bag* (OOB) error that can help us with this (and more!).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Out-of-Bag Error\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Recall that in a random forest, each tree is trained on a different subset of the training data. The OOB error is a way of measuring prediction error on the training set by only including in the calculation of a row's error trees where that row was *not* included in training. This allows us to see whether the model is overfitting, without needing a separate validation set.\\n\",\n    \"\\n\",\n    \"> A: My intuition for this is that, since every tree was trained with a different randomly selected subset of rows, out-of-bag error is a little like imagining that every tree therefore also has its own validation set. That validation set is simply the rows that were not selected for that tree's training.\\n\",\n    \"\\n\",\n    \"This is particularly beneficial in cases where we have only a small amount of training data, as it allows us to see whether our model generalizes without removing items to create a validation set. The OOB predictions are available in the `oob_prediction_` attribute. Note that we compare them to the training labels, since this is being calculated on trees using the training set.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.210681\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"r_mse(m.oob_prediction_, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see that our OOB error is much lower than our validation set error. This means that something else is causing that error, in *addition* to normal generalization error. We'll discuss the reasons for this later in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is one way to interpret our model's predictions—let's focus on more of those now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Model Interpretation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For tabular data, model interpretation is particularly important. For a given model, the things we are most likely to be interested in are:\\n\",\n    \"\\n\",\n    \"- How confident are we in our predictions using a particular row of data?\\n\",\n    \"- For predicting with a particular row of data, what were the most important factors, and how did they influence that prediction?\\n\",\n    \"- Which columns are the strongest predictors, which can we ignore?\\n\",\n    \"- Which columns are effectively redundant with each other, for purposes of prediction?\\n\",\n    \"- How do predictions vary, as we vary these columns?\\n\",\n    \"\\n\",\n    \"As we will see, random forests are particularly well suited to answering these questions. Let's start with the first one!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tree Variance for Prediction Confidence\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We saw how the model averages the individual tree's predictions to get an overall prediction—that is, an estimate of the value. But how can we know the confidence of the estimate? One simple way is to use the standard deviation of predictions across the trees, instead of just the mean. This tells us the *relative* confidence of predictions. In general, we would want to be more cautious of using the results for rows where trees give very different results (higher standard deviations), compared to cases where they are more consistent (lower standard deviations).\\n\",\n    \"\\n\",\n    \"In the earlier section on creating a random forest, we saw how to get predictions over the validation set, using a Python list comprehension to do this for each tree in the forest:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = np.stack([t.predict(valid_xs) for t in m.estimators_])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(40, 7988)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we have a prediction for every tree and every auction (40 trees and 7,988 auctions) in the validation set.\\n\",\n    \"\\n\",\n    \"Using this we can get the standard deviation of the predictions over all the trees, for each auction:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds_std = preds.std(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here are the standard deviations for the predictions for the first five auctions—that is, the first five rows of the validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"array([0.25065395, 0.11043862, 0.08242067, 0.26988508, 0.15730173])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds_std[:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, the confidence in the predictions varies widely. For some auctions, there is a low standard deviation because the trees agree. For others it's higher, as the trees don't agree. This is information that would be useful in a production setting; for instance, if you were using this model to decide what items to bid on at auction, a low-confidence prediction might cause you to look more carefully at an item before you made a bid.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feature Importance\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's not normally enough just to know that a model can make accurate predictions—we also want to know *how* it's making predictions. *feature importance* gives us insight into this. We can get these directly from sklearn's random forest by looking in the `feature_importances_` attribute. Here's a simple function we can use to pop them into a DataFrame and sort them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rf_feat_importance(m, df):\\n\",\n    \"    return pd.DataFrame({'cols':df.columns, 'imp':m.feature_importances_}\\n\",\n    \"                       ).sort_values('imp', ascending=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The feature importances for our model show that the first few most important columns have much higher importance scores than the rest, with (not surprisingly) `YearMade` and `ProductSize` being at the top of the list:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>cols</th>\\n\",\n       \"      <th>imp</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>59</th>\\n\",\n       \"      <td>YearMade</td>\\n\",\n       \"      <td>0.180070</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>ProductSize</td>\\n\",\n       \"      <td>0.113915</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>31</th>\\n\",\n       \"      <td>Coupler_System</td>\\n\",\n       \"      <td>0.104699</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>fiProductClassDesc</td>\\n\",\n       \"      <td>0.064118</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>33</th>\\n\",\n       \"      <td>Hydraulics_Flow</td>\\n\",\n       \"      <td>0.059110</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>56</th>\\n\",\n       \"      <td>ModelID</td>\\n\",\n       \"      <td>0.059087</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>51</th>\\n\",\n       \"      <td>saleElapsed</td>\\n\",\n       \"      <td>0.051231</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>fiSecondaryDesc</td>\\n\",\n       \"      <td>0.041778</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>32</th>\\n\",\n       \"      <td>Grouser_Tracks</td>\\n\",\n       \"      <td>0.037560</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>fiModelDesc</td>\\n\",\n       \"      <td>0.030933</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"                  cols       imp\\n\",\n       \"59            YearMade  0.180070\\n\",\n       \"7          ProductSize  0.113915\\n\",\n       \"31      Coupler_System  0.104699\\n\",\n       \"8   fiProductClassDesc  0.064118\\n\",\n       \"33     Hydraulics_Flow  0.059110\\n\",\n       \"56             ModelID  0.059087\\n\",\n       \"51         saleElapsed  0.051231\\n\",\n       \"4      fiSecondaryDesc  0.041778\\n\",\n       \"32      Grouser_Tracks  0.037560\\n\",\n       \"2          fiModelDesc  0.030933\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"fi = rf_feat_importance(m, xs)\\n\",\n    \"fi[:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A plot of the feature importances shows the relative importances more clearly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x504 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"def plot_fi(fi):\\n\",\n    \"    return fi.plot('cols', 'imp', 'barh', figsize=(12,7), legend=False)\\n\",\n    \"\\n\",\n    \"plot_fi(fi[:30]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The way these importances are calculated is quite simple yet elegant. The feature importance algorithm loops through each tree, and then recursively explores each branch. At each branch, it looks to see what feature was used for that split, and how much the model improves as a result of that split. The improvement (weighted by the number of rows in that group) is added to the importance score for that feature. This is summed across all branches of all trees, and finally the scores are normalized such that they add to 1.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Removing Low-Importance Variables\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It seems likely that we could use just a subset of the columns by removing the variables of low importance and still get good results. Let's try just keeping those with a feature importance greater than 0.005:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"21\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"to_keep = fi[fi.imp>0.005].cols\\n\",\n    \"len(to_keep)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can retrain our model using just this subset of the columns:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_imp = xs[to_keep]\\n\",\n    \"valid_xs_imp = valid_xs[to_keep]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs_imp, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And here's the result:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.181204, 0.230329)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m_rmse(m, xs_imp, y), m_rmse(m, valid_xs_imp, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our accuracy is about the same, but we have far fewer columns to study:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(66, 21)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"len(xs.columns), len(xs_imp.columns)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've found that generally the first step to improving a model is simplifying it—78 columns was too many for us to study them all in depth! Furthermore, in practice often a simpler, more interpretable model is easier to roll out and maintain.\\n\",\n    \"\\n\",\n    \"This also makes our feature importance plot easier to interpret. Let's look at it again:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x504 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_fi(rf_feat_importance(m, xs_imp));\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One thing that makes this harder to interpret is that there seem to be some variables with very similar meanings: for example, `ProductGroup` and `ProductGroupDesc`. Let's try to remove any redundent features. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Removing Redundant Features\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's start with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 720x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"cluster_columns(xs_imp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chart, the pairs of columns that are most similar are the ones that were merged together early, far from the \\\"root\\\" of the tree at the left. Unsurprisingly, the fields `ProductGroup` and `ProductGroupDesc` were merged quite early, as were `saleYear` and `saleElapsed` and `fiModelDesc` and `fiBaseModel`. These might be so closely correlated they are practically synonyms for each other.\\n\",\n    \"\\n\",\n    \"> note: Determining Similarity: The most similar pairs are found by calculating the _rank correlation_, which means that all the values are replaced with their _rank_ (i.e., first, second, third, etc. within the column), and then the _correlation_ is calculated. (Feel free to skip over this minor detail though, since it's not going to come up again in the book!)\\n\",\n    \"\\n\",\n    \"Let's try removing some of these closely related features to see if the model can be simplified without impacting the accuracy. First, we create a function that quickly trains a random forest and returns the OOB score, by using a lower `max_samples` and higher `min_samples_leaf`. The OOB score is a number returned by sklearn that ranges between 1.0 for a perfect model and 0.0 for a random model. (In statistics it's called *R^2*, although the details aren't important for this explanation.) We don't need it to be very accurate—we're just going to use it to compare different models, based on removing some of the possibly redundant columns:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_oob(df):\\n\",\n    \"    m = RandomForestRegressor(n_estimators=40, min_samples_leaf=15,\\n\",\n    \"        max_samples=50000, max_features=0.5, n_jobs=-1, oob_score=True)\\n\",\n    \"    m.fit(df, y)\\n\",\n    \"    return m.oob_score_\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's our baseline:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.8768243241012634\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"get_oob(xs_imp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we try removing each of our potentially redundant variables, one at a time:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"{'saleYear': 0.8766429216799364,\\n\",\n       \" 'saleElapsed': 0.8725120463477113,\\n\",\n       \" 'ProductGroupDesc': 0.8773289113713139,\\n\",\n       \" 'ProductGroup': 0.8768277447901079,\\n\",\n       \" 'fiModelDesc': 0.8760365396140016,\\n\",\n       \" 'fiBaseModel': 0.8769194097714894,\\n\",\n       \" 'Hydraulics_Flow': 0.8775975083138958,\\n\",\n       \" 'Grouser_Tracks': 0.8780246481379101,\\n\",\n       \" 'Coupler_System': 0.8780158691125818}\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"{c:get_oob(xs_imp.drop(c, axis=1)) for c in (\\n\",\n    \"    'saleYear', 'saleElapsed', 'ProductGroupDesc','ProductGroup',\\n\",\n    \"    'fiModelDesc', 'fiBaseModel',\\n\",\n    \"    'Hydraulics_Flow','Grouser_Tracks', 'Coupler_System')}\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's try dropping multiple variables. We'll drop one from each of the tightly aligned pairs we noticed earlier. Let's see what that does:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.8747772191306009\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"to_drop = ['saleYear', 'ProductGroupDesc', 'fiBaseModel', 'Grouser_Tracks']\\n\",\n    \"get_oob(xs_imp.drop(to_drop, axis=1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking good! This is really not much worse than the model with all the fields. Let's create DataFrames without these columns, and save them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_final = xs_imp.drop(to_drop, axis=1)\\n\",\n    \"valid_xs_final = valid_xs_imp.drop(to_drop, axis=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"save_pickle(path/'xs_final.pkl', xs_final)\\n\",\n    \"save_pickle(path/'valid_xs_final.pkl', valid_xs_final)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can load them back later with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_final = load_pickle(path/'xs_final.pkl')\\n\",\n    \"valid_xs_final = load_pickle(path/'valid_xs_final.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can check our RMSE again, to confirm that the accuracy hasn't substantially changed.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.183426, 0.231894)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = rf(xs_final, y)\\n\",\n    \"m_rmse(m, xs_final, y), m_rmse(m, valid_xs_final, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By focusing on the most important variables, and removing some redundant ones, we've greatly simplified our model. Now, let's see how those variables affect our predictions using partial dependence plots.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Partial Dependence\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've seen, the two most important predictors are `ProductSize` and `YearMade`. We'd like to understand the relationship between these predictors and sale price. It's a good idea to first check the count of values per category (provided by the Pandas `value_counts` method), to see how common each category is:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"p = valid_xs_final['ProductSize'].value_counts(sort=False).plot.barh()\\n\",\n    \"c = to.classes['ProductSize']\\n\",\n    \"plt.yticks(range(len(c)), c);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The largrest group is `#na#`, which is the label fastai applies to missing values.\\n\",\n    \"\\n\",\n    \"Let's do the same thing for `YearMade`. Since this is a numeric feature, we'll need to draw a histogram, which groups the year values into a few discrete bins:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"ax = valid_xs_final['YearMade'].hist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Other than the special value 1950 which we used for coding missing year values, most of the data is from after 1990.\\n\",\n    \"\\n\",\n    \"Now we're ready to look at *partial dependence plots*. Partial dependence plots try to answer the question: if a row varied on nothing other than the feature in question, how would it impact the dependent variable?\\n\",\n    \"\\n\",\n    \"For instance, how does `YearMade` impact sale price, all other things being equal?\\n\",\n    \"\\n\",\n    \"To answer this question, we can't just take the average sale price for each `YearMade`. The problem with that approach is that many other things vary from year to year as well, such as which products are sold, how many products have air-conditioning, inflation, and so forth. So, merely averaging over all the auctions that have the same `YearMade` would also capture the effect of how every other field also changed along with `YearMade` and how that overall change affected price.\\n\",\n    \"\\n\",\n    \"Instead, what we do is replace every single value in the `YearMade` column with 1950, and then calculate the predicted sale price for every auction, and take the average over all auctions. Then we do the same for 1951, 1952, and so forth until our final year of 2011. This isolates the effect of only `YearMade` (even if it does so by averaging over some imagined records where we assign a `YearMade` value that might never actually exist alongside some other values). \\n\",\n    \"\\n\",\n    \"> A: If you are philosophically minded it is somewhat dizzying to contemplate the different kinds of hypotheticality that we are juggling to make this calculation. First, there's the fact that _every_ prediction is hypothetical, because we are not noting empirical data. Second, there's the point that we're _not_ merely interested in asking how sale price would change if we changed `YearMade` and everything else along with it. Rather, we're very specifically asking, how sale price would change in a hypothetical world where only `YearMade` changed. Phew! It is impressive that we can ask such questions. I recommend Judea Pearl and Dana Mackenzie's recent book on causality, _The Book of Why_ (Basic Books), if you're interested in more deeply exploring formalisms for analyzing these subtleties.\\n\",\n    \"\\n\",\n    \"With these averages, we can then plot each of these years on the x-axis, and each of the predictions on the y-axis. This, finally, is a partial dependence plot. Let's take a look:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x288 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from sklearn.inspection import plot_partial_dependence\\n\",\n    \"\\n\",\n    \"fig,ax = plt.subplots(figsize=(12, 4))\\n\",\n    \"plot_partial_dependence(m, valid_xs_final, ['YearMade','ProductSize'],\\n\",\n    \"                        grid_resolution=20, ax=ax);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking first of all at the `YearMade` plot, and specifically at the section covering the years after 1990 (since as we noted this is where we have the most data), we can see a nearly linear relationship between year and price. Remember that our dependent variable is after taking the logarithm, so this means that in practice there is an exponential increase in price. This is what we would expect: depreciation is generally recognized as being a multiplicative factor over time, so, for a given sale date, varying year made ought to show an exponential relationship with sale price.\\n\",\n    \"\\n\",\n    \"The `ProductSize` partial plot is a bit concerning. It shows that the final group, which we saw is for missing values, has the lowest price. To use this insight in practice, we would want to find out *why* it's missing so often, and what that *means*. Missing values can sometimes be useful predictors—it entirely depends on what causes them to be missing. Sometimes, however, they can indicate *data leakage*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Data Leakage\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In  the paper [\\\"Leakage in Data Mining: Formulation, Detection, and Avoidance\\\"](https://dl.acm.org/doi/10.1145/2020408.2020496), Shachar Kaufman, Saharon Rosset, and Claudia Perlich describe leakage as: \\n\",\n    \"\\n\",\n    \"> : The introduction of information about the target of a data mining problem, which should not be legitimately available to mine from. A trivial example of leakage would be a model that uses the target itself as an input, thus concluding for example that 'it rains on rainy days'. In practice, the introduction of this illegitimate information is unintentional, and facilitated by the data collection, aggregation and preparation process.\\n\",\n    \"\\n\",\n    \"They give as an example:\\n\",\n    \"\\n\",\n    \"> : A real-life business intelligence project at IBM where potential customers for certain products were identified, among other things, based on keywords found on their websites. This turned out to be leakage since the website content used for training had been sampled at the point in time where the potential customer has already become a customer, and where the website contained traces of the IBM products purchased, such as the word 'Websphere' (e.g., in a press release about the purchase or a specific product feature the client uses).\\n\",\n    \"\\n\",\n    \"Data leakage is subtle and can take many forms. In particular, missing values often represent data leakage.\\n\",\n    \"\\n\",\n    \"For instance, Jeremy competed in a Kaggle competition designed to predict which researchers would end up receiving research grants. The information was provided by a university and included thousands of examples of research projects, along with information about the researchers involved and data on whether or not each grant was eventually accepted. The university hoped to be able to use the models developed in this competition to rank which grant applications were most likely to succeed, so it could prioritize its processing.\\n\",\n    \"\\n\",\n    \"Jeremy used a random forest to model the data, and then used feature importance to find out which features were most predictive. He noticed three surprising things:\\n\",\n    \"\\n\",\n    \"- The model was able to correctly predict who would receive grants over 95% of the time.\\n\",\n    \"- Apparently meaningless identifier columns were the most important predictors.\\n\",\n    \"- The day of week and day of year columns were also highly predictive; for instance, the vast majority of grant applications dated on a Sunday were accepted, and many accepted grant applications were dated on January 1.\\n\",\n    \"\\n\",\n    \"For the identifier columns, one partial dependence plot per column showed that when the information was missing the application was almost always rejected. It turned out that in practice, the university only filled out much of this information *after* a grant application was accepted. Often, for applications that were not accepted, it was just left blank. Therefore, this information was not something that was actually available at the time that the application was received, and it would not be available for a predictive model—it was data leakage.\\n\",\n    \"\\n\",\n    \"In the same way, the final processing of successful applications was often done automatically as a batch at the end of the week, or the end of the year. It was this final processing date which ended up in the data, so again, this information, while predictive, was not actually available at the time that the application was received.\\n\",\n    \"\\n\",\n    \"This example showcases the most practical and simple approaches to identifying data leakage, which are to build a model and then:\\n\",\n    \"\\n\",\n    \"- Check whether the accuracy of the model is *too good to be true*.\\n\",\n    \"- Look for important predictors that don't make sense in practice.\\n\",\n    \"- Look for partial dependence plot results that don't make sense in practice.\\n\",\n    \"\\n\",\n    \"Thinking back to our bear detector, this mirrors the advice that we provided in <<chapter_production>>—it is often a good idea to build a model first and then do your data cleaning, rather than vice versa. The model can help you identify potentially problematic data issues.\\n\",\n    \"\\n\",\n    \"It can also help you identify which factors influence specific predictions, with tree interpreters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tree Interpreter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"import warnings\\n\",\n    \"warnings.simplefilter('ignore', FutureWarning)\\n\",\n    \"\\n\",\n    \"from treeinterpreter import treeinterpreter\\n\",\n    \"from waterfall_chart import plot as waterfall\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At the start of this section, we said that we wanted to be able to answer five questions:\\n\",\n    \"\\n\",\n    \"- How confident are we in our predictions using a particular row of data?\\n\",\n    \"- For predicting with a particular row of data, what were the most important factors, and how did they influence that prediction?\\n\",\n    \"- Which columns are the strongest predictors?\\n\",\n    \"- Which columns are effectively redundant with each other, for purposes of prediction?\\n\",\n    \"- How do predictions vary, as we vary these columns?\\n\",\n    \"\\n\",\n    \"We've handled four of these already; only the second question remains. To answer this question, we need to use the `treeinterpreter` library. We'll also use the `waterfallcharts` library to draw the chart of the results.\\n\",\n    \"\\n\",\n    \"    !pip install treeinterpreter\\n\",\n    \"    !pip install waterfallcharts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have already seen how to compute feature importances across the entire random forest. The basic idea was to look at the contribution of each variable to improving the model, at each branch of every tree, and then add up all of these contributions per variable.\\n\",\n    \"\\n\",\n    \"We can do exactly the same thing, but for just a single row of data. For instance, let's say we are looking at some particular item at auction. Our model might predict that this item will be very expensive, and we want to know why. So, we take that one row of data and put it through the first decision tree, looking to see what split is used at each point throughout the tree. For each split, we see what the increase or decrease in the addition is, compared to the parent node of the tree. We do this for every tree, and add up the total change in importance by split variable.\\n\",\n    \"\\n\",\n    \"For instance, let's pick the first few rows of our validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"row = valid_xs_final.iloc[:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can then pass these to `treeinterpreter`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"prediction,bias,contributions = treeinterpreter.predict(m, row.values)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`prediction` is simply the prediction that the random forest makes. `bias` is the prediction based on taking the mean of the dependent variable (i.e., the *model* that is the root of every tree). `contributions` is the most interesting bit—it tells us the total change in predicition due to each of the independent variables. Therefore, the sum of `contributions` plus `bias` must equal the `prediction`, for each row. Let's look just at the first row:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(array([10.01216396]), 10.104746057831765, -0.0925820990266335)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"prediction[0], bias[0], contributions[0].sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The clearest way to display the contributions is with a *waterfall plot*. This shows how the positive and negative contributions from all the independent variables sum up to create the final prediction, which is the righthand column labeled \\\"net\\\" here:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAaQAAAEUCAYAAABkhkJAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABIMUlEQVR4nO2debhe0/XHP9/MkZCBiKkhRAxBaGMoItGoWVFTCU0IKTG3za9mRZVSWrMiRELNcwltkZIiFVM0rcbUpEKIJEIic9bvj7Xf3HOvO765977nJuvzPOd5z9l7n332Pue8Z+1h7bVkZgRBEARBqWlW6gIEQRAEAYRACoIgCHJCCKQgCIIgF4RACoIgCHJBCKQgCIIgF4RACoIgCHJBCKQgCIIgFxQlkCR1lvSIpHmSpkg6qop0W0l6RtLnkr6x4KmmfCQNkPSOpK8lPS9pw2LKGwRBEOSfYntINwCLgK7AQOAmSb0qSbcYuB8YUtd8JK0FPAycD3QGJgD3FVneIAiCIOeorpYaJLUDZgNbmdnkFDYamGZmZ1VxTg/gXTNTbfORNBQYbGY7Z9J/DmxnZu9UV8a11lrLNtpoozrVKwiCIGh4Xnvttc/NrEtlcS2KyK8nsLQgRBJvAf3qOZ9e6RgAM5sn6f0U/g2BlATYUIBu3boxYcKEOhYnCIIgaGgkTakqrpghu/bAnAphc4DV6zmfOl3HzG4xsz5m1qdLl0qFbxAEQZBjihFIc4E1KoStAXxVz/nU13WCIAiCJkAxAmky0ELSppmw3sCkes5nUjoGls8hbVLEdYIgCIImQJ0FkpnNw7XfLpbUTtIuwIHA6Ipp5bQBWqXjNpJa1zKfR4CtJB2S8rgAmFiTQkMQBEHQNClW7XsY0Bb4DLgHOMnMJknqJmmupG4p3YbAfMp6NfOB/9SUD4CZzQAOAS7FtfF2BH5UZHmDIAiCnFOMlh1mNgs4qJLwqbgyQuH4v4Aqpqspn0z8X4HNiyljEARB0LQI00FBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLgiBFARBEOSCEEhBEARBLihKIEnqLOkRSfMkTZF0VDVpz5Q0XdIcSbdLal3bfCQNkPSOpK8lPS9pw2LKGwRBEOSfYntINwCLgK7AQOAmSb0qJpK0F3AWMADYCNgYuKg2+UhaC3gYOB/oDEwA7iuyvEEQBEHOqbNAktQOOAQ438zmmtk44HHgmEqSDwJGmNkkM5sNXAIMrmU+PwQmmdkDZrYA+CXQW9LmdS1zEARBkH9aFHFOT2CpmU3OhL0F9KskbS/gsQrpukpaE+hWQz690jEAZjZP0vsp/J2KF5I0FBgK0KVLF4YOHUqvXr3o27cvN998Mx06dGD48OGcd955AFx11VWcffbZLFq0iDPPPJNHH32UDz/8kMMPP5yPTr6EcXOm8901urJh6/bcO+N9urVuz2FdunPVR2/TXM24svsO/PSDVwC4cMNvc93Hk5i1eCFD1tmMf3w1g7fnzWLvThsA8PTsj9i6XWd2WL0LI6b/h84tW3Pqer24pPfqAPz+97/nZz/7GUuXLmX48OHcd999TJ06lSOPPJIpU6bw0ksv0bdvX9Zdd13uv/9+unfvzkEHHcTvfvc7WrVqxWWXXcbPfvYzAH71q19x5ZVXMmfOHE488URefPFFJk2axAEHHMDChQv585//zHbbbcd2223H7bffTpcuXTjppJO4+OKLAbjuuus49dRTATjrrLMYPXo006ZN4+ijj+bdd99l/Pjx9O/fnzXXXJOHHnqIHj16sO+++3LttdfStm1bLrroIv7v//4PgMsuu4xLL72UuXPncvLJJ/Pss8/yzjvvcNBBB/HVV1/x7LPP0qdPH3r16sWdd97JOuusw5AhQ7j00ku/UZZzzz2XESNGMH36dAYNGsSkSZOYMGECAwYMYPXVV+fRRx9l8803Z8CAAdxwww20b9+ec889l7PPPhuAK664ggsvvJD58+dz2mmn8dRTT/Hee+9xyCGHMHPmTMaOHcuOO+7Ipptuyl133cX666/PMcccw+WXX/6NslxwwQXcdNNNzJgxg+OOO4433niDN954gz333JPWrVvzxBNPFP3uffLJJ7z44ovsvPPObLjhhtxzzz1069aNI444giuvvJLmzZtz1VVXccYZZwBw0UUXcc011zBr1ixOOOEExo8fz8SJE9lnn30AGDNmDNtssw077rgjt956K507d+b000/nwgsvjHdvJXv3TpvamnkvPkGrjXvRZtu+fPnwzTRr34GORw9n1s3+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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"waterfall(valid_xs_final.columns, contributions[0], threshold=0.08, \\n\",\n    \"          rotation_value=45,formatting='{:,.3f}');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This kind of information is most useful in production, rather than during model development. You can use it to provide useful information to users of your data product about the underlying reasoning behind the predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we covered some classic machine learning techniques to solve this problem, let's see how deep learning can help!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Extrapolation and Neural Networks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A problem with random forests, like all machine learning or deep learning algorithms, is that they don't always generalize well to new data. We will see in which situations neural networks generalize better, but first, let's look at the extrapolation problem that random forests have.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Extrapolation Problem\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"np.random.seed(42)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's consider the simple task of making predictions from 40 data points showing a slightly noisy linear relationship:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"x_lin = torch.linspace(0,20, steps=40)\\n\",\n    \"y_lin = x_lin + torch.randn_like(x_lin)\\n\",\n    \"plt.scatter(x_lin, y_lin);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Although we only have a single independent variable, sklearn expects a matrix of independent variables, not a single vector. So we have to turn our vector into a matrix with one column. In other words, we have to change the *shape* from `[40]` to `[40,1]`. One way to do that is with the `unsqueeze` method, which adds a new unit axis to a tensor at the requested dimension:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([40]), torch.Size([40, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xs_lin = x_lin.unsqueeze(1)\\n\",\n    \"x_lin.shape,xs_lin.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A more flexible approach is to slice an array or tensor with the special value `None`, which introduces an additional unit axis at that location:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([40, 1])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x_lin[:,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create a random forest for this data. We'll use only the first 30 rows to train the model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_lin = RandomForestRegressor().fit(xs_lin[:30],y_lin[:30])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we'll test the model on the full dataset. The blue dots are the training data, and the red dots are the predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.scatter(x_lin, y_lin, 20)\\n\",\n    \"plt.scatter(x_lin, m_lin.predict(xs_lin), color='red', alpha=0.5);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have a big problem! Our predictions outside of the domain that our training data covered are all too low. Why do you suppose this is?\\n\",\n    \"\\n\",\n    \"Remember, a random forest just averages the predictions of a number of trees. And a tree simply predicts the average value of the rows in a leaf. Therefore, a tree and a random forest can never predict values outside of the range of the training data. This is particularly problematic for data where there is a trend over time, such as inflation, and you wish to make predictions for a future time. Your predictions will be systematically too low.\\n\",\n    \"\\n\",\n    \"But the problem extends beyond time variables. Random forests are not able to extrapolate outside of the types of data they have seen, in a more general sense. That's why we need to make sure our validation set does not contain out-of-domain data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding Out-of-Domain Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Sometimes it is hard to know whether your test set is distributed in the same way as your training data, or, if it is different, what columns reflect that difference. There's actually an easy way to figure this out, which is to use a random forest!\\n\",\n    \"\\n\",\n    \"But in this case we don't use the random forest to predict our actual dependent variable. Instead, we try to predict whether a row is in the validation set or the training set. To see this in action, let's combine our training and validation sets together, create a dependent variable that represents which dataset each row comes from, build a random forest using that data, and get its feature importance:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>cols</th>\\n\",\n       \"      <th>imp</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>saleElapsed</td>\\n\",\n       \"      <td>0.891571</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>SalesID</td>\\n\",\n       \"      <td>0.091174</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>14</th>\\n\",\n       \"      <td>MachineID</td>\\n\",\n       \"      <td>0.012950</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>YearMade</td>\\n\",\n       \"      <td>0.001520</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>Enclosure</td>\\n\",\n       \"      <td>0.000430</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>ModelID</td>\\n\",\n       \"      <td>0.000395</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"           cols       imp\\n\",\n       \"6   saleElapsed  0.891571\\n\",\n       \"9       SalesID  0.091174\\n\",\n       \"14    MachineID  0.012950\\n\",\n       \"0      YearMade  0.001520\\n\",\n       \"10    Enclosure  0.000430\\n\",\n       \"5       ModelID  0.000395\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df_dom = pd.concat([xs_final, valid_xs_final])\\n\",\n    \"is_valid = np.array([0]*len(xs_final) + [1]*len(valid_xs_final))\\n\",\n    \"\\n\",\n    \"m = rf(df_dom, is_valid)\\n\",\n    \"rf_feat_importance(m, df_dom)[:6]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This shows that there are three columns that differ significantly between the training and validation sets: `saleElapsed`, `SalesID`, and `MachineID`. It's fairly obvious why this is the case for `saleElapsed`: it's the number of days between the start of the dataset and each row, so it directly encodes the date. The difference in `SalesID` suggests that identifiers for auction sales might increment over time. `MachineID` suggests something similar might be happening for individual items sold in those auctions.\\n\",\n    \"\\n\",\n    \"Let's get a baseline of the original random forest model's RMSE, then see what the effect is of removing each of these columns in turn:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"orig 0.232883\\n\",\n      \"SalesID 0.230347\\n\",\n      \"saleElapsed 0.235529\\n\",\n      \"MachineID 0.230735\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"m = rf(xs_final, y)\\n\",\n    \"print('orig', m_rmse(m, valid_xs_final, valid_y))\\n\",\n    \"\\n\",\n    \"for c in ('SalesID','saleElapsed','MachineID'):\\n\",\n    \"    m = rf(xs_final.drop(c,axis=1), y)\\n\",\n    \"    print(c, m_rmse(m, valid_xs_final.drop(c,axis=1), valid_y))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It looks like we should be able to remove `SalesID` and `MachineID` without losing any accuracy. Let's check:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.229498\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"time_vars = ['SalesID','MachineID']\\n\",\n    \"xs_final_time = xs_final.drop(time_vars, axis=1)\\n\",\n    \"valid_xs_time = valid_xs_final.drop(time_vars, axis=1)\\n\",\n    \"\\n\",\n    \"m = rf(xs_final_time, y)\\n\",\n    \"m_rmse(m, valid_xs_time, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Removing these variables has slightly improved the model's accuracy; but more importantly, it should make it more resilient over time, and easier to maintain and understand. We recommend that for all datasets you try building a model where your dependent variable is `is_valid`, like we did here. It can often uncover subtle *domain shift* issues that you may otherwise miss.\\n\",\n    \"\\n\",\n    \"One thing that might help in our case is to simply avoid using old data. Often, old data shows relationships that just aren't valid any more. Let's try just using the most recent few years of the data:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"xs['saleYear'].hist();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's the result of training on this subset:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"filt = xs['saleYear']>2004\\n\",\n    \"xs_filt = xs_final_time[filt]\\n\",\n    \"y_filt = y[filt]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.177284, 0.228008)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = rf(xs_filt, y_filt)\\n\",\n    \"m_rmse(m, xs_filt, y_filt), m_rmse(m, valid_xs_time, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's a tiny bit better, which shows that you shouldn't always just use your entire dataset; sometimes a subset can be better.\\n\",\n    \"\\n\",\n    \"Let's see if using a neural network helps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using a Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use the same approach to build a neural network model. Let's first replicate the steps we took to set up the `TabularPandas` object:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_nn = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\\n\",\n    \"df_nn['ProductSize'] = df_nn['ProductSize'].astype('category')\\n\",\n    \"df_nn['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\\n\",\n    \"df_nn[dep_var] = np.log(df_nn[dep_var])\\n\",\n    \"df_nn = add_datepart(df_nn, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can leverage the work we did to trim unwanted columns in the random forest by using the same set of columns for our neural network:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_nn_final = df_nn[list(xs_final_time.columns) + [dep_var]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Categorical columns are handled very differently in neural networks, compared to decision tree approaches. As we saw in <<chapter_collab>>, in a neural net a great way to handle categorical variables is by using embeddings. To create embeddings, fastai needs to determine which columns should be treated as categorical variables. It does this by comparing the number of distinct levels in the variable to the value of the `max_card` parameter. If it's lower, fastai will treat the variable as categorical. Embedding sizes larger than 10,000 should generally only be used after you've tested whether there are better ways to group the variable, so we'll use 9,000 as our `max_card`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cont_nn,cat_nn = cont_cat_split(df_nn_final, max_card=9000, dep_var=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this case, there's one variable that we absolutely do not want to treat as categorical: the `saleElapsed` variable. A categorical variable cannot, by definition, extrapolate outside the range of values that it has seen, but we want to be able to predict auction sale prices in the future. Let's verify that `cont_cat_split` did the correct thing.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['saleElapsed']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"cont_nn\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at the cardinality of each of the categorical variables that we have chosen so far:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"YearMade                73\\n\",\n       \"ProductSize              6\\n\",\n       \"Coupler_System           2\\n\",\n       \"fiProductClassDesc      74\\n\",\n       \"Hydraulics_Flow          3\\n\",\n       \"ModelID               5281\\n\",\n       \"fiSecondaryDesc        177\\n\",\n       \"fiModelDesc           5059\\n\",\n       \"Enclosure                6\\n\",\n       \"Hydraulics              12\\n\",\n       \"ProductGroup             6\\n\",\n       \"Drive_System             4\\n\",\n       \"Tire_Size               17\\n\",\n       \"dtype: int64\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"df_nn_final[cat_nn].nunique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The fact that there are two variables pertaining to the \\\"model\\\" of the equipment, both with similar very high cardinalities, suggests that they may contain similar, redundant information. Note that we would not necessarily see this when analyzing redundant features, since that relies on similar variables being sorted in the same order (that is, they need to have similarly named levels). Having a column with 5,000 levels means needing 5,000 columns in our embedding matrix, which would be nice to avoid if possible. Let's see what the impact of removing one of these model columns has on the random forest:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.176713, 0.230195)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xs_filt2 = xs_filt.drop('fiModelDescriptor', axis=1)\\n\",\n    \"valid_xs_time2 = valid_xs_time.drop('fiModelDescriptor', axis=1)\\n\",\n    \"m2 = rf(xs_filt2, y_filt)\\n\",\n    \"m_rmse(m2, xs_filt2, y_filt), m_rmse(m2, valid_xs_time2, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's minimal impact, so we will remove it as a predictor for our neural network:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cat_nn.remove('fiModelDescriptor')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create our `TabularPandas` object in the same way as when we created our random forest, with one very important addition: normalization. A random forest does not need any normalization—the tree building procedure cares only about the order of values in a variable, not at all about how they are scaled. But as we have seen, a neural network definitely does care about this. Therefore, we add the `Normalize` processor when we build our `TabularPandas` object:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"procs_nn = [Categorify, FillMissing, Normalize]\\n\",\n    \"to_nn = TabularPandas(df_nn_final, procs_nn, cat_nn, cont_nn,\\n\",\n    \"                      splits=splits, y_names=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Tabular models and data don't generally require much GPU RAM, so we can use larger batch sizes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = to_nn.dataloaders(1024)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've discussed, it's a good idea to set `y_range` for regression models, so let's find the min and max of our dependent variable:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(8.465899467468262, 11.863582611083984)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"y = to_nn.train.y\\n\",\n    \"y.min(),y.max()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create the `Learner` to create this tabular model. As usual, we use the application-specific learner function, to take advantage of its application-customized defaults. We set the loss function to MSE, since that's what this competition uses.\\n\",\n    \"\\n\",\n    \"By default, for tabular data fastai creates a neural network with two hidden layers, with 200 and 100 activations, respectively. This works quite well for small datasets, but here we've got quite a large dataset, so we increase the layer sizes to 500 and 250:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = tabular_learner(dls, y_range=(8,12), layers=[500,250],\\n\",\n    \"                        n_out=1, loss_func=F.mse_loss)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"SuggestedLRs(lr_min=0.002754228748381138, lr_steep=0.00015848931798245758)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's no need to use `fine_tune`, so we'll train with `fit_one_cycle` for a few epochs and see how it looks:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.068459</td>\\n\",\n       \"      <td>0.061185</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.056469</td>\\n\",\n       \"      <td>0.058471</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.048689</td>\\n\",\n       \"      <td>0.052404</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.044529</td>\\n\",\n       \"      <td>0.052138</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.040860</td>\\n\",\n       \"      <td>0.051236</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use our `r_mse` function to compare the result to the random forest result we got earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.226353\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"preds,targs = learn.get_preds()\\n\",\n    \"r_mse(preds,targs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's quite a bit better than the random forest (although it took longer to train, and it's fussier about hyperparameter tuning).\\n\",\n    \"\\n\",\n    \"Before we move on, let's save our model in case we want to come back to it again later:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Path('models/nn.pth')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.save('nn')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: fastai's Tabular Classes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In fastai, a tabular model is simply a model that takes columns of continuous or categorical data, and predicts a category (a classification model) or a continuous value (a regression model). Categorical independent variables are passed through an embedding, and concatenated, as we saw in the neural net we used for collaborative filtering, and then continuous variables are concatenated as well.\\n\",\n    \"\\n\",\n    \"The model created in `tabular_learner` is an object of class `TabularModel`. Take a look at the source for `tabular_learner` now (remember, that's `tabular_learner??` in Jupyter). You'll see that like `collab_learner`, it first calls `get_emb_sz` to calculate appropriate embedding sizes (you can override these by using the `emb_szs` parameter, which is a dictionary containing any column names you want to set sizes for manually), and it sets a few other defaults. Other than that, it just creates the `TabularModel`, and passes that to `TabularLearner` (note that `TabularLearner` is identical to `Learner`, except for a customized `predict` method).\\n\",\n    \"\\n\",\n    \"That means that really all the work is happening in `TabularModel`, so take a look at the source for that now. With the exception of the `BatchNorm1d` and `Dropout` layers (which we'll be learning about shortly), you now have the knowledge required to understand this whole class. Take a look at the discussion of `EmbeddingNN` at the end of the last chapter. Recall that it passed `n_cont=0` to `TabularModel`. We now can see why that was: because there are zero continuous variables (in fastai the `n_` prefix means \\\"number of,\\\" and `cont` is an abbreviation for \\\"continuous\\\").\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another thing that can help with generalization is to use several models and average their predictions—a technique, as mentioned earlier, known as *ensembling*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Ensembling\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Think back to the original reasoning behind why random forests work so well: each tree has errors, but those errors are not correlated with each other, so the average of those errors should tend towards zero once there are enough trees. Similar reasoning could be used to consider averaging the predictions of models trained using different algorithms.\\n\",\n    \"\\n\",\n    \"In our case, we have two very different models, trained using very different algorithms: a random forest, and a neural network. It would be reasonable to expect that the kinds of errors that each one makes would be quite different. Therefore, we might expect that the average of their predictions would be better than either one's individual predictions.\\n\",\n    \"\\n\",\n    \"As we saw earlier, a random forest is itself an ensemble. But we can then include a random forest in *another* ensemble—an ensemble of the random forest and the neural network! While ensembling won't make the difference between a successful and an unsuccessful modeling process, it can certainly add a nice little boost to any models that you have built.\\n\",\n    \"\\n\",\n    \"One minor issue we have to be aware of is that our PyTorch model and our sklearn model create data of different types: PyTorch gives us a rank-2 tensor (i.e, a column matrix), whereas NumPy gives us a rank-1 array (a vector). `squeeze` removes any unit axes from a tensor, and `to_np` converts it into a NumPy array:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rf_preds = m.predict(valid_xs_time)\\n\",\n    \"ens_preds = (to_np(preds.squeeze()) + rf_preds) /2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This gives us a better result than either model achieved on its own:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"0.222134\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"r_mse(ens_preds,valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In fact, this result is better than any score shown on the Kaggle leaderboard. It's not directly comparable, however, because the Kaggle leaderboard uses a separate dataset that we do not have access to. Kaggle does not allow us to submit to this old competition to find out how we would have done, but our results certainly look very encouraging!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Boosting\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So far our approach to ensembling has been to use *bagging*, which involves combining many models (each trained on a different data subset) together by averaging them. As we saw, when this is applied to decision trees, this is called a *random forest*.\\n\",\n    \"\\n\",\n    \"There is another important approach to ensembling, called *boosting*, where we add models instead of averaging them. Here is how boosting works:\\n\",\n    \"\\n\",\n    \"- Train a small model that underfits your dataset.\\n\",\n    \"- Calculate the predictions in the training set for this model.\\n\",\n    \"- Subtract the predictions from the targets; these are called the \\\"residuals\\\" and represent the error for each point in the training set.\\n\",\n    \"- Go back to step 1, but instead of using the original targets, use the residuals as the targets for the training.\\n\",\n    \"- Continue doing this until you reach some stopping criterion, such as a maximum number of trees, or you observe your validation set error getting worse.\\n\",\n    \"\\n\",\n    \"Using this approach, each new tree will be attempting to fit the error of all of the previous trees combined. Because we are continually creating new residuals, by subtracting the predictions of each new tree from the residuals from the previous tree, the residuals will get smaller and smaller.\\n\",\n    \"\\n\",\n    \"To make predictions with an ensemble of boosted trees, we calculate the predictions from each tree, and then add them all together. There are many models following this basic approach, and many names for the same models. *Gradient boosting machines* (GBMs) and *gradient boosted decision trees* (GBDTs) are the terms you're most likely to come across, or you may see the names of specific libraries implementing these; at the time of writing, *XGBoost* is the most popular.\\n\",\n    \"\\n\",\n    \"Note that, unlike with random forests, with this approach there is nothing to stop us from overfitting. Using more trees in a random forest does not lead to overfitting, because each tree is independent of the others. But in a boosted ensemble, the more trees you have, the better the training error becomes, and eventually you will see overfitting on the validation set.\\n\",\n    \"\\n\",\n    \"We are not going to go into detail on how to train a gradient boosted tree ensemble here, because the field is moving rapidly, and any guidance we give will almost certainly be outdated by the time you read this. As we write this, sklearn has just added a `HistGradientBoostingRegressor` class that provides excellent performance. There are many hyperparameters to tweak for this class, and for all gradient boosted tree methods we have seen. Unlike random forests, gradient boosted trees are extremely sensitive to the choices of these hyperparameters; in practice, most people use a loop that tries a range of different hyperparameters to find the ones that work best.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One more technique that has gotten great results is to use embeddings learned by a neural net in a machine learning model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Combining Embeddings with Other Methods\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The abstract of the entity embedding paper we mentioned at the start of this chapter states: \\\"the embeddings obtained from the trained neural network boost the performance of all tested machine learning methods considerably when used as the input features instead\\\". It includes the very interesting table in <<embedding_mixed>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"source\": [\n    \"<img alt=\\\"Embeddings combined with other methods\\\" width=\\\"500\\\" id=\\\"embedding_mixed\\\" caption=\\\"Effects of using neural network embeddings as input to other machine learning methods (courtesy of Cheng Guo and Felix Berkhahn)\\\" src=\\\"images/att_00054.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is showing the mean average percent error (MAPE) compared among four different modeling techniques, three of which we have already seen, along with *k*-nearest neighbors (KNN), which is a very simple baseline method. The first numeric column contains the results of using the methods on the data provided in the competition; the second column shows what happens if you first train a neural network with categorical embeddings, and then use those categorical embeddings instead of the raw categorical columns in the model. As you see, in every case, the models are dramatically improved by using the embeddings instead of the raw categories.\\n\",\n    \"\\n\",\n    \"This is a really important result, because it shows that you can get much of the performance improvement of a neural network without actually having to use a neural network at inference time. You could just use an embedding, which is literally just an array lookup, along with a small decision tree ensemble.\\n\",\n    \"\\n\",\n    \"These embeddings need not even be necessarily learned separately for each model or task in an organization. Instead, once a set of embeddings are learned for some column for some task, they could be stored in a central place, and reused across multiple models. In fact, we know from private communication with other practitioners at large companies that this is already happening in many places.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion: Our Advice for Tabular Modeling\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have dicussed two approaches to tabular modeling: decision tree ensembles and neural networks. We've also mentioned two different decision tree ensembles: random forests, and gradient boosting machines. Each is very effective, but each also has compromises:\\n\",\n    \"\\n\",\n    \"- *Random forests* are the easiest to train, because they are extremely resilient to hyperparameter choices and require very little preprocessing. They are very fast to train, and should not overfit if you have enough trees. But they can be a little less accurate, especially if extrapolation is required, such as predicting future time periods.\\n\",\n    \"\\n\",\n    \"- *Gradient boosting machines* in theory are just as fast to train as random forests, but in practice you will have to try lots of different hyperparameters. They can overfit, but they are often a little more accurate than random forests.\\n\",\n    \"\\n\",\n    \"- *Neural networks* take the longest time to train, and require extra preprocessing, such as normalization; this normalization needs to be used at inference time as well. They can provide great results and extrapolate well, but only if you are careful with your hyperparameters and take care to avoid overfitting.\\n\",\n    \"\\n\",\n    \"We suggest starting your analysis with a random forest. This will give you a strong baseline, and you can be confident that it's a reasonable starting point. You can then use that model for feature selection and partial dependence analysis, to get a better understanding of your data.\\n\",\n    \"\\n\",\n    \"From that foundation, you can try neural nets and GBMs, and if they give you significantly better results on your validation set in a reasonable amount of time, you can use them. If decision tree ensembles are working well for you, try adding the embeddings for the categorical variables to the data, and see if that helps your decision trees learn better.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a continuous variable?\\n\",\n    \"1. What is a categorical variable?\\n\",\n    \"1. Provide two of the words that are used for the possible values of a categorical variable.\\n\",\n    \"1. What is a \\\"dense layer\\\"?\\n\",\n    \"1. How do entity embeddings reduce memory usage and speed up neural networks?\\n\",\n    \"1. What kinds of datasets are entity embeddings especially useful for?\\n\",\n    \"1. What are the two main families of machine learning algorithms?\\n\",\n    \"1. Why do some categorical columns need a special ordering in their classes? How do you do this in Pandas?\\n\",\n    \"1. Summarize what a decision tree algorithm does.\\n\",\n    \"1. Why is a date different from a regular categorical or continuous variable, and how can you preprocess it to allow it to be used in a model?\\n\",\n    \"1. Should you pick a random validation set in the bulldozer competition? If no, what kind of validation set should you pick?\\n\",\n    \"1. What is pickle and what is it useful for?\\n\",\n    \"1. How are `mse`, `samples`, and `values` calculated in the decision tree drawn in this chapter?\\n\",\n    \"1. How do we deal with outliers, before building a decision tree?\\n\",\n    \"1. How do we handle categorical variables in a decision tree?\\n\",\n    \"1. What is bagging?\\n\",\n    \"1. What is the difference between `max_samples` and `max_features` when creating a random forest?\\n\",\n    \"1. If you increase `n_estimators` to a very high value, can that lead to overfitting? Why or why not?\\n\",\n    \"1. In the section \\\"Creating a Random Forest\\\", just after <<max_features>>, why did `preds.mean(0)` give the same result as our random forest?\\n\",\n    \"1. What is \\\"out-of-bag-error\\\"?\\n\",\n    \"1. Make a list of reasons why a model's validation set error might be worse than the OOB error. How could you test your hypotheses?\\n\",\n    \"1. Explain why random forests are well suited to answering each of the following question:\\n\",\n    \"   - How confident are we in our predictions using a particular row of data?\\n\",\n    \"   - For predicting with a particular row of data, what were the most important factors, and how did they influence that prediction?\\n\",\n    \"   - Which columns are the strongest predictors?\\n\",\n    \"   - How do predictions vary as we vary these columns?\\n\",\n    \"1. What's the purpose of removing unimportant variables?\\n\",\n    \"1. What's a good type of plot for showing tree interpreter results?\\n\",\n    \"1. What is the \\\"extrapolation problem\\\"?\\n\",\n    \"1. How can you tell if your test or validation set is distributed in a different way than your training set?\\n\",\n    \"1. Why do we ensure `saleElapsed` is a continuous variable, even although it has less than 9,000 distinct values?\\n\",\n    \"1. What is \\\"boosting\\\"?\\n\",\n    \"1. How could we use embeddings with a random forest? Would we expect this to help?\\n\",\n    \"1. Why might we not always use a neural net for tabular modeling?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Pick a competition on Kaggle with tabular data (current or past) and try to adapt the techniques seen in this chapter to get the best possible results. Compare your results to the private leaderboard.\\n\",\n    \"1. Implement the decision tree algorithm in this chapter from scratch yourself, and try it on the dataset you used in the first exercise.\\n\",\n    \"1. Use the embeddings from the neural net in this chapter in a random forest, and see if you can improve on the random forest results we saw.\\n\",\n    \"1. Explain what each line of the source of `TabularModel` does (with the exception of the `BatchNorm1d` and `Dropout` layers).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "10_nlp.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from IPython.display import display,HTML\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_nlp]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# NLP Deep Dive: RNNs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In <<chapter_intro>> we saw that deep learning can be used to get great results with natural language datasets. Our example relied on using a pretrained language model and fine-tuning it to classify reviews. That example highlighted a difference between transfer learning in NLP and computer vision: in general in NLP the pretrained model is trained on a different task.\\n\",\n    \"\\n\",\n    \"What we call a language model is a model that has been trained to guess what the next word in a text is (having read the ones before). This kind of task is called *self-supervised learning*: we do not need to give labels to our model, just feed it lots and lots of texts. It has a process to automatically get labels from the data, and this task isn't trivial: to properly guess the next word in a sentence, the model will have to develop an understanding of the English (or other) language. Self-supervised learning can also be used in other domains; for instance, see [\\\"Self-Supervised Learning and Computer Vision\\\"](https://www.fast.ai/2020/01/13/self_supervised/) for an introduction to vision applications. Self-supervised learning is not usually used for the model that is trained directly, but instead is used for pretraining a model used for transfer learning.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Self-supervised learning: Training a model using labels that are embedded in the independent variable, rather than requiring external labels. For instance, training a model to predict the next word in a text.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The language model we used in <<chapter_intro>> to classify IMDb reviews was pretrained on Wikipedia. We got great results by directly fine-tuning this language model to a movie review classifier, but with one extra step, we can do even better. The Wikipedia English is slightly different from the IMDb English, so instead of jumping directly to the classifier, we could fine-tune our pretrained language model to the IMDb corpus and then use *that* as the base for our classifier.\\n\",\n    \"\\n\",\n    \"Even if our language model knows the basics of the language we are using in the task (e.g., our pretrained model is in English), it helps to get used to the style of the corpus we are targeting. It may be more informal language, or more technical, with new words to learn or different ways of composing sentences. In the case of the IMDb dataset, there will be lots of names of movie directors and actors, and often a less formal style of language than that seen in Wikipedia.\\n\",\n    \"\\n\",\n    \"We already saw that with fastai, we can download a pretrained English language model and use it to get state-of-the-art results for NLP classification. (We expect pretrained models in many more languages to be available soon—they might well be available by the time you are reading this book, in fact.) So, why are we learning how to train a language model in detail?\\n\",\n    \"\\n\",\n    \"One reason, of course, is that it is helpful to understand the foundations of the models that you are using. But there is another very practical reason, which is that you get even better results if you fine-tune the (sequence-based) language model prior to fine-tuning the classification model. For instance, for the IMDb sentiment analysis task, the dataset includes 50,000 additional movie reviews that do not have any positive or negative labels attached. Since there are 25,000 labeled reviews in the training set and 25,000 in the validation set, that makes 100,000 movie reviews altogether. We can use all of these reviews to fine-tune the pretrained language model, which was trained only on Wikipedia articles; this will result in a language model that is particularly good at predicting the next word of a movie review.\\n\",\n    \"\\n\",\n    \"This is known as the Universal Language Model Fine-tuning (ULMFit) approach. The [paper](https://arxiv.org/abs/1801.06146) showed that this extra stage of fine-tuning of the language model, prior to transfer learning to a classification task, resulted in significantly better predictions. Using this approach, we have three stages for transfer learning in NLP, as summarized in <<ulmfit_process>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Diagram of the ULMFiT process\\\" width=\\\"700\\\" caption=\\\"The ULMFiT process\\\" id=\\\"ulmfit_process\\\" src=\\\"images/att_00027.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll now explore how to apply a neural network to this language modeling problem, using the concepts introduced in the last two chapters. But before reading further, pause and think about how *you* would approach this.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Text Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's not at all obvious how we're going to use what we've learned so far to build a language model. Sentences can be different lengths, and documents can be very long. So, how can we predict the next word of a sentence using a neural network? Let's find out!\\n\",\n    \"\\n\",\n    \"We've already seen how categorical variables can be used as independent variables for a neural network. The approach we took for a single categorical variable was to:\\n\",\n    \"\\n\",\n    \"1. Make a list of all possible levels of that categorical variable (we'll call this list the *vocab*).\\n\",\n    \"1. Replace each level with its index in the vocab.\\n\",\n    \"1. Create an embedding matrix for this containing a row for each level (i.e., for each item of the vocab).\\n\",\n    \"1. Use this embedding matrix as the first layer of a neural network. (A dedicated embedding matrix can take as inputs the raw vocab indexes created in step 2; this is equivalent to but faster and more efficient than a matrix that takes as input one-hot-encoded vectors representing the indexes.)\\n\",\n    \"\\n\",\n    \"We can do nearly the same thing with text! What is new is the idea of a sequence. First we concatenate all of the documents in our dataset into one big long string and split it into words, giving us a very long list of words (or \\\"tokens\\\"). Our independent variable will be the sequence of words starting with the first word in our very long list and ending with the second to last, and our dependent variable will be the sequence of words starting with the second word and ending with the last word. \\n\",\n    \"\\n\",\n    \"Our vocab will consist of a mix of common words that are already in the vocabulary of our pretrained model and new words specific to our corpus (cinematographic terms or actors names, for instance). Our embedding matrix will be built accordingly: for words that are in the vocabulary of our pretrained model, we will take the corresponding row in the embedding matrix of the pretrained model; but for new words we won't have anything, so we will just initialize the corresponding row with a random vector.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Each of the steps necessary to create a language model has jargon associated with it from the world of natural language processing, and fastai and PyTorch classes available to help. The steps are:\\n\",\n    \"\\n\",\n    \"- Tokenization:: Convert the text into a list of words (or characters, or substrings, depending on the granularity of your model)\\n\",\n    \"- Numericalization:: Make a list of all of the unique words that appear (the vocab), and convert each word into a number, by looking up its index in the vocab\\n\",\n    \"- Language model data loader creation:: fastai provides an `LMDataLoader` class which automatically handles creating a dependent variable that is offset from the independent variable by one token. It also handles some important details, such as how to shuffle the training data in such a way that the dependent and independent variables maintain their structure as required\\n\",\n    \"- Language model creation:: We need a special kind of model that does something we haven't seen before: handles input lists which could be arbitrarily big or small. There are a number of ways to do this; in this chapter we will be using a *recurrent neural network* (RNN). We will get to the details of these RNNs in the <<chapter_nlp_dive>>, but for now, you can think of it as just another deep neural network.\\n\",\n    \"\\n\",\n    \"Let's take a look at how each step works in detail.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tokenization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we said \\\"convert the text into a list of words,\\\" we left out a lot of details. For instance, what do we do with punctuation? How do we deal with a word like \\\"don't\\\"? Is it one word, or two? What about long medical or chemical words? Should they be split into their separate pieces of meaning? How about hyphenated words? What about languages like German and Polish where we can create really long words from many, many pieces? What about languages like Japanese and Chinese that don't use bases at all, and don't really have a well-defined idea of *word*?\\n\",\n    \"\\n\",\n    \"Because there is no one correct answer to these questions, there is no one approach to tokenization. There are three main approaches:\\n\",\n    \"\\n\",\n    \"- Word-based:: Split a sentence on spaces, as well as applying language-specific rules to try to separate parts of meaning even when there are no spaces (such as turning \\\"don't\\\" into \\\"do n't\\\"). Generally, punctuation marks are also split into separate tokens.\\n\",\n    \"- Subword based:: Split words into smaller parts, based on the most commonly occurring substrings. For instance, \\\"occasion\\\" might be tokenized as \\\"o c ca sion.\\\"\\n\",\n    \"- Character-based:: Split a sentence into its individual characters.\\n\",\n    \"\\n\",\n    \"We'll be looking at word and subword tokenization here, and we'll leave character-based tokenization for you to implement in the questionnaire at the end of this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: token: One element of a list created by the tokenization process. It could be a word, part of a word (a _subword_), or a single character.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Word Tokenization with fastai\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Rather than providing its own tokenizers, fastai instead provides a consistent interface to a range of tokenizers in external libraries. Tokenization is an active field of research, and new and improved tokenizers are coming out all the time, so the defaults that fastai uses change too. However, the API and options shouldn't change too much, since fastai tries to maintain a consistent API even as the underlying technology changes.\\n\",\n    \"\\n\",\n    \"Let's try it out with the IMDb dataset that we used in <<chapter_intro>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"path = untar_data(URLs.IMDB)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll need to grab the text files in order to try out a tokenizer. Just like `get_image_files`, which we've used many times already, gets all the image files in a path, `get_text_files` gets all the text files in a path. We can also optionally pass `folders` to restrict the search to a particular list of subfolders:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"files = get_text_files(path, folders = ['train', 'test', 'unsup'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's a review that we'll tokenize (we'll just print the start of it here to save space):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'This movie, which I just discovered at the video store, has apparently sit '\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"txt = files[0].open().read(); txt[:75]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we write this book, the default English word tokenizer for fastai uses a library called *spaCy*. It has a sophisticated rules engine with special rules for URLs, individual special English words, and much more. Rather than directly using `SpacyTokenizer`, however, we'll use `WordTokenizer`, since that will always point to fastai's current default word tokenizer (which may not necessarily be spaCy, depending when you're reading this).\\n\",\n    \"\\n\",\n    \"Let's try it out. We'll use fastai's `coll_repr(collection, n)` function to display the results. This displays the first *`n`* items of *`collection`*, along with the full size—it's what `L` uses by default. Note that fastai's tokenizers take a collection of documents to tokenize, so we have to wrap `txt` in a list:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"(#201) ['This','movie',',','which','I','just','discovered','at','the','video','store',',','has','apparently','sit','around','for','a','couple','of','years','without','a','distributor','.','It',\\\"'s\\\",'easy','to','see'...]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"spacy = WordTokenizer()\\n\",\n    \"toks = first(spacy([txt]))\\n\",\n    \"print(coll_repr(toks, 30))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, spaCy has mainly just separated out the words and punctuation. But it does something else here too: it has split \\\"it's\\\" into \\\"it\\\" and \\\"'s\\\". That makes intuitive sense; these are separate words, really. Tokenization is a surprisingly subtle task, when you think about all the little details that have to be handled. Fortunately, spaCy handles these pretty well for us—for instance, here we see that \\\".\\\" is separated when it terminates a sentence, but not in an acronym or number:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#9) ['The','U.S.','dollar','$','1','is','$','1.00','.']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"first(spacy(['The U.S. dollar $1 is $1.00.']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai then adds some additional functionality to the tokenization process with the `Tokenizer` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"(#228) ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at','the','video','store',',','has','apparently','sit','around','for','a','couple','of','years','without','a','distributor','.','xxmaj','it',\\\"'s\\\",'easy'...]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"tkn = Tokenizer(spacy)\\n\",\n    \"print(coll_repr(tkn(txt), 31))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice that there are now some tokens that start with the characters \\\"xx\\\", which is not a common word prefix in English. These are *special tokens*.\\n\",\n    \"\\n\",\n    \"For example, the first item in the list, `xxbos`, is a special token that indicates the start of a new text (\\\"BOS\\\" is a standard NLP acronym that means \\\"beginning of stream\\\"). By recognizing this start token, the model will be able to learn it needs to \\\"forget\\\" what was said previously and focus on upcoming words.\\n\",\n    \"\\n\",\n    \"These special tokens don't come from spaCy directly. They are there because fastai adds them by default, by applying a number of rules when processing text. These rules are designed to make it easier for a model to recognize the important parts of a sentence. In a sense, we are translating the original English language sequence into a simplified tokenized language—a language that is designed to be easy for a model to learn.\\n\",\n    \"\\n\",\n    \"For instance, the rules will replace a sequence of four exclamation points with a special *repeated character* token, followed by the number four, and then a single exclamation point. In this way, the model's embedding matrix can encode information about general concepts such as repeated punctuation rather than requiring a separate token for every number of repetitions of every punctuation mark. Similarly, a capitalized word will be replaced with a special capitalization token, followed by the lowercase version of the word. This way, the embedding matrix only needs the lowercase versions of the words, saving compute and memory resources, but can still learn the concept of capitalization.\\n\",\n    \"\\n\",\n    \"Here are some of the main special tokens you'll see:\\n\",\n    \"\\n\",\n    \"- `xxbos`:: Indicates the beginning of a text (here, a review)\\n\",\n    \"- `xxmaj`:: Indicates the next word begins with a capital (since we lowercased everything)\\n\",\n    \"- `xxunk`:: Indicates the word is unknown\\n\",\n    \"\\n\",\n    \"To see the rules that were used, you can check the default rules:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<function fastai.text.core.fix_html(x)>,\\n\",\n       \" <function fastai.text.core.replace_rep(t)>,\\n\",\n       \" <function fastai.text.core.replace_wrep(t)>,\\n\",\n       \" <function fastai.text.core.spec_add_spaces(t)>,\\n\",\n       \" <function fastai.text.core.rm_useless_spaces(t)>,\\n\",\n       \" <function fastai.text.core.replace_all_caps(t)>,\\n\",\n       \" <function fastai.text.core.replace_maj(t)>,\\n\",\n       \" <function fastai.text.core.lowercase(t, add_bos=True, add_eos=False)>]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"defaults.text_proc_rules\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As always, you can look at the source code of each of them in a notebook by typing:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"??replace_rep\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Here is a brief summary of what each does:\\n\",\n    \"\\n\",\n    \"- `fix_html`:: Replaces special HTML characters with a readable version (IMDb reviews have quite a few of these)\\n\",\n    \"- `replace_rep`:: Replaces any character repeated three times or more with a special token for repetition (`xxrep`), the number of times it's repeated, then the character\\n\",\n    \"- `replace_wrep`:: Replaces any word repeated three times or more with a special token for word repetition (`xxwrep`), the number of times it's repeated, then the word\\n\",\n    \"- `spec_add_spaces`:: Adds spaces around / and #\\n\",\n    \"- `rm_useless_spaces`:: Removes all repetitions of the space character\\n\",\n    \"- `replace_all_caps`:: Lowercases a word written in all caps and adds a special token for all caps (`xxup`) in front of it\\n\",\n    \"- `replace_maj`:: Lowercases a capitalized word and adds a special token for capitalized (`xxmaj`) in front of it\\n\",\n    \"- `lowercase`:: Lowercases all text and adds a special token at the beginning (`xxbos`) and/or the end (`xxeos`)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at a few of them in action:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"(#11) ['xxbos','©','xxmaj','fast.ai','xxrep','3','w','.fast.ai','/','xxup','index'...]\\\"\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"coll_repr(tkn('&copy;   Fast.ai www.fast.ai/INDEX'), 31)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's take a look at how subword tokenization would work.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Subword Tokenization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In addition to the *word tokenization* approach seen in the last section, another popular tokenization method is *subword tokenization*. Word tokenization relies on an assumption that spaces provide a useful separation of components of meaning in a sentence. However, this assumption is not always appropriate. For instance, consider this sentence: 我的名字是郝杰瑞 (\\\"My name is Jeremy Howard\\\" in Chinese). That's not going to work very well with a word tokenizer, because there are no spaces in it! Languages like Chinese and Japanese don't use spaces, and in fact they don't even have a well-defined concept of a \\\"word.\\\" There are also languages, like Turkish and Hungarian, that can add many subwords together without spaces, creating very long words that include a lot of separate pieces of information.\\n\",\n    \"\\n\",\n    \"To handle these cases, it's generally best to use subword tokenization. This proceeds in two steps:\\n\",\n    \"\\n\",\n    \"1. Analyze a corpus of documents to find the most commonly occurring groups of letters. These become the vocab.\\n\",\n    \"2. Tokenize the corpus using this vocab of *subword units*.\\n\",\n    \"\\n\",\n    \"Let's look at an example. For our corpus, we'll use the first 2,000 movie reviews:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"txts = L(o.open().read() for o in files[:2000])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We instantiate our tokenizer, passing in the size of the vocab we want to create, and then we need to \\\"train\\\" it. That is, we need to have it read our documents and find the common sequences of characters to create the vocab. This is done with `setup`. As we'll see shortly, `setup` is a special fastai method that is called automatically in our usual data processing pipelines. Since we're doing everything manually at the moment, however, we have to call it ourselves. Here's a function that does these steps for a given vocab size, and shows an example output:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def subword(sz):\\n\",\n    \"    sp = SubwordTokenizer(vocab_sz=sz)\\n\",\n    \"    sp.setup(txts)\\n\",\n    \"    return ' '.join(first(sp([txt]))[:40])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try it out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'▁This ▁movie , ▁which ▁I ▁just ▁dis c over ed ▁at ▁the ▁video ▁st or e , ▁has ▁a p par ent ly ▁s it ▁around ▁for ▁a ▁couple ▁of ▁years ▁without ▁a ▁dis t ri but or . ▁It'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"subword(1000)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When using fastai's subword tokenizer, the special character `▁` represents a space character in the original text.\\n\",\n    \"\\n\",\n    \"If we use a smaller vocab, then each token will represent fewer characters, and it will take more tokens to represent a sentence:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'▁ T h i s ▁movie , ▁w h i ch ▁I ▁ j us t ▁ d i s c o ver ed ▁a t ▁the ▁ v id e o ▁ st or e , ▁h a s'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"subword(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"On the other hand, if we use a larger vocab, then most common English words will end up in the vocab themselves, and we will not need as many to represent a sentence:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"▁This ▁movie , ▁which ▁I ▁just ▁discover ed ▁at ▁the ▁video ▁store , ▁has ▁apparently ▁sit ▁around ▁for ▁a ▁couple ▁of ▁years ▁without ▁a ▁distributor . ▁It ' s ▁easy ▁to ▁see ▁why . ▁The ▁story ▁of ▁two ▁friends ▁living\\\"\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"subword(10000)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Picking a subword vocab size represents a compromise: a larger vocab means fewer tokens per sentence, which means faster training, less memory, and less state for the model to remember; but on the downside, it means larger embedding matrices, which require more data to learn.\\n\",\n    \"\\n\",\n    \"Overall, subword tokenization provides a way to easily scale between character tokenization (i.e., using a small subword vocab) and word tokenization (i.e., using a large subword vocab), and handles every human language without needing language-specific algorithms to be developed. It can even handle other \\\"languages\\\" such as genomic sequences or MIDI music notation! For this reason, in the last year its popularity has soared, and it seems likely to become the most common tokenization approach (it may well already be, by the time you read this!).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once our texts have been split into tokens, we need to convert them to numbers. We'll look at that next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Numericalization with fastai\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Numericalization* is the process of mapping tokens to integers. The steps are basically identical to those necessary to create a `Category` variable, such as the dependent variable of digits in MNIST:\\n\",\n    \"\\n\",\n    \"1. Make a list of all possible levels of that categorical variable (the vocab).\\n\",\n    \"1. Replace each level with its index in the vocab.\\n\",\n    \"\\n\",\n    \"Let's take a look at this in action on the word-tokenized text we saw earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"(#228) ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at','the','video','store',',','has','apparently','sit','around','for','a','couple','of','years','without','a','distributor','.','xxmaj','it',\\\"'s\\\",'easy'...]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"toks = tkn(txt)\\n\",\n    \"print(coll_repr(tkn(txt), 31))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Just like with `SubwordTokenizer`, we need to call `setup` on `Numericalize`; this is how we create the vocab. That means we'll need our tokenized corpus first. Since tokenization takes a while, it's done in parallel by fastai; but for this manual walkthrough, we'll use a small subset:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#228) ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at'...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"toks200 = txts[:200].map(tkn)\\n\",\n    \"toks200[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can pass this to `setup` to create our vocab:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"\\\"(#2000) ['xxunk','xxpad','xxbos','xxeos','xxfld','xxrep','xxwrep','xxup','xxmaj','the','.',',','a','and','of','to','is','in','i','it'...]\\\"\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"num = Numericalize()\\n\",\n    \"num.setup(toks200)\\n\",\n    \"coll_repr(num.vocab,20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our special rules tokens appear first, and then every word appears once, in frequency order. The defaults to `Numericalize` are `min_freq=3,max_vocab=60000`. `max_vocab=60000` results in fastai replacing all words other than the most common 60,000 with a special *unknown word* token, `xxunk`. This is useful to avoid having an overly large embedding matrix, since that can slow down training and use up too much memory, and can also mean that there isn't enough data to train useful representations for rare words. However, this last issue is better handled by setting `min_freq`; the default `min_freq=3` means that any word appearing less than three times is replaced with `xxunk`.\\n\",\n    \"\\n\",\n    \"fastai can also numericalize your dataset using a vocab that you provide, by passing a list of words as the `vocab` parameter.\\n\",\n    \"\\n\",\n    \"Once we've created our `Numericalize` object, we can use it as if it were a function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([  2,   8,  21,  28,  11,  90,  18,  59,   0,  45,   9, 351, 499,  11,  72, 533, 584, 146,  29,  12])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"nums = num(toks)[:20]; nums\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This time, our tokens have been converted to a tensor of integers that our model can receive. We can check that they map back to the original text:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxbos xxmaj this movie , which i just xxunk at the video store , has apparently sit around for a'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in nums)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have numbers, we need to put them in batches for our model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Putting Our Texts into Batches for a Language Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When dealing with images, we needed to resize them all to the same height and width before grouping them together in a mini-batch so they could stack together efficiently in a single tensor. Here it's going to be a little different, because one cannot simply resize text to a desired length. Also, we want our language model to read text in order, so that it can efficiently predict what the next word is. This means that each new batch should begin precisely where the previous one left off.\\n\",\n    \"\\n\",\n    \"Suppose we have the following text:\\n\",\n    \"\\n\",\n    \"> : In this chapter, we will go back over the example of classifying movie reviews we studied in chapter 1 and dig deeper under the surface. First we will look at the processing steps necessary to convert text into numbers and how to customize it. By doing this, we'll have another example of the PreProcessor used in the data block API.\\\\nThen we will study how we build a language model and train it for a while.\\n\",\n    \"\\n\",\n    \"The tokenization process will add special tokens and deal with punctuation to return this text:\\n\",\n    \"\\n\",\n    \"> : xxbos xxmaj in this chapter , we will go back over the example of classifying movie reviews we studied in chapter 1 and dig deeper under the surface . xxmaj first we will look at the processing steps necessary to convert text into numbers and how to customize it . xxmaj by doing this , we 'll have another example of the preprocessor used in the data block xxup api . \\\\n xxmaj then we will study how we build a language model and train it for a while .\\n\",\n    \"\\n\",\n    \"We now have 90 tokens, separated by spaces. Let's say we want a batch size of 6. We need to break this text into 6 contiguous parts of length 15:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>xxbos</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"      <td>this</td>\\n\",\n       \"      <td>chapter</td>\\n\",\n       \"      <td>,</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>go</td>\\n\",\n       \"      <td>back</td>\\n\",\n       \"      <td>over</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>example</td>\\n\",\n       \"      <td>of</td>\\n\",\n       \"      <td>classifying</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>movie</td>\\n\",\n       \"      <td>reviews</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>studied</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"      <td>chapter</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"      <td>dig</td>\\n\",\n       \"      <td>deeper</td>\\n\",\n       \"      <td>under</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>surface</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>first</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>look</td>\\n\",\n       \"      <td>at</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>processing</td>\\n\",\n       \"      <td>steps</td>\\n\",\n       \"      <td>necessary</td>\\n\",\n       \"      <td>to</td>\\n\",\n       \"      <td>convert</td>\\n\",\n       \"      <td>text</td>\\n\",\n       \"      <td>into</td>\\n\",\n       \"      <td>numbers</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>how</td>\\n\",\n       \"      <td>to</td>\\n\",\n       \"      <td>customize</td>\\n\",\n       \"      <td>it</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>by</td>\\n\",\n       \"      <td>doing</td>\\n\",\n       \"      <td>this</td>\\n\",\n       \"      <td>,</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>'ll</td>\\n\",\n       \"      <td>have</td>\\n\",\n       \"      <td>another</td>\\n\",\n       \"      <td>example</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>of</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>preprocessor</td>\\n\",\n       \"      <td>used</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>data</td>\\n\",\n       \"      <td>block</td>\\n\",\n       \"      <td>xxup</td>\\n\",\n       \"      <td>api</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"      <td>\\\\n</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>then</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>study</td>\\n\",\n       \"      <td>how</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>build</td>\\n\",\n       \"      <td>a</td>\\n\",\n       \"      <td>language</td>\\n\",\n       \"      <td>model</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"      <td>train</td>\\n\",\n       \"      <td>it</td>\\n\",\n       \"      <td>for</td>\\n\",\n       \"      <td>a</td>\\n\",\n       \"      <td>while</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"stream = \\\"In this chapter, we will go back over the example of classifying movie reviews we studied in chapter 1 and dig deeper under the surface. First we will look at the processing steps necessary to convert text into numbers and how to customize it. By doing this, we'll have another example of the PreProcessor used in the data block API.\\\\nThen we will study how we build a language model and train it for a while.\\\"\\n\",\n    \"tokens = tkn(stream)\\n\",\n    \"bs,seq_len = 6,15\\n\",\n    \"d_tokens = np.array([tokens[i*seq_len:(i+1)*seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In a perfect world, we could then give this one batch to our model. But that approach doesn't scale, because outside of this toy example it's unlikely that a single batch containing all the texts would fit in our GPU memory (here we have 90 tokens, but all the IMDb reviews together give several million).\\n\",\n    \"\\n\",\n    \"So, we need to divide this array more finely into subarrays of a fixed sequence length. It is important to maintain order within and across these subarrays, because we will use a model that maintains a state so that it remembers what it read previously when predicting what comes next. \\n\",\n    \"\\n\",\n    \"Going back to our previous example with 6 batches of length 15, if we chose a sequence length of 5, that would mean we first feed the following array:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>xxbos</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"      <td>this</td>\\n\",\n       \"      <td>chapter</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>movie</td>\\n\",\n       \"      <td>reviews</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>studied</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>first</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>look</td>\\n\",\n       \"      <td>at</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>how</td>\\n\",\n       \"      <td>to</td>\\n\",\n       \"      <td>customize</td>\\n\",\n       \"      <td>it</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>of</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>preprocessor</td>\\n\",\n       \"      <td>used</td>\\n\",\n       \"      <td>in</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>study</td>\\n\",\n       \"      <td>how</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>build</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15:i*15+seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then this one:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>,</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>will</td>\\n\",\n       \"      <td>go</td>\\n\",\n       \"      <td>back</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>chapter</td>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"      <td>dig</td>\\n\",\n       \"      <td>deeper</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>processing</td>\\n\",\n       \"      <td>steps</td>\\n\",\n       \"      <td>necessary</td>\\n\",\n       \"      <td>to</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>by</td>\\n\",\n       \"      <td>doing</td>\\n\",\n       \"      <td>this</td>\\n\",\n       \"      <td>,</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>data</td>\\n\",\n       \"      <td>block</td>\\n\",\n       \"      <td>xxup</td>\\n\",\n       \"      <td>api</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>a</td>\\n\",\n       \"      <td>language</td>\\n\",\n       \"      <td>model</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"      <td>train</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15+seq_len:i*15+2*seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And finally:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>over</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>example</td>\\n\",\n       \"      <td>of</td>\\n\",\n       \"      <td>classifying</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>under</td>\\n\",\n       \"      <td>the</td>\\n\",\n       \"      <td>surface</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>convert</td>\\n\",\n       \"      <td>text</td>\\n\",\n       \"      <td>into</td>\\n\",\n       \"      <td>numbers</td>\\n\",\n       \"      <td>and</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>we</td>\\n\",\n       \"      <td>'ll</td>\\n\",\n       \"      <td>have</td>\\n\",\n       \"      <td>another</td>\\n\",\n       \"      <td>example</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>.</td>\\n\",\n       \"      <td>\\\\n</td>\\n\",\n       \"      <td>xxmaj</td>\\n\",\n       \"      <td>then</td>\\n\",\n       \"      <td>we</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>it</td>\\n\",\n       \"      <td>for</td>\\n\",\n       \"      <td>a</td>\\n\",\n       \"      <td>while</td>\\n\",\n       \"      <td>.</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15+10:i*15+15] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Going back to our movie reviews dataset, the first step is to transform the individual texts into a stream by concatenating them together. As with images, it's best to randomize the order of the inputs, so at the beginning of each epoch we will shuffle the entries to make a new stream (we shuffle the order of the documents, not the order of the words inside them, or the texts would not make sense anymore!).\\n\",\n    \"\\n\",\n    \"We then cut this stream into a certain number of batches (which is our *batch size*). For instance, if the stream has 50,000 tokens and we set a batch size of 10, this will give us 10 mini-streams of 5,000 tokens. What is important is that we preserve the order of the tokens (so from 1 to 5,000 for the first mini-stream, then from 5,001 to 10,000...), because we want the model to read continuous rows of text (as in the preceding example). An `xxbos` token is added at the start of each during preprocessing, so that the model knows when it reads the stream when a new entry is beginning.\\n\",\n    \"\\n\",\n    \"So to recap, at every epoch we shuffle our collection of documents and concatenate them into a stream of tokens. We then cut that stream into a batch of fixed-size consecutive mini-streams. Our model will then read the mini-streams in order, and thanks to an inner state, it will produce the same activation whatever sequence length we picked.\\n\",\n    \"\\n\",\n    \"This is all done behind the scenes by the fastai library when we create an `LMDataLoader`. We do this by first applying our `Numericalize` object to the tokenized texts:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums200 = toks200.map(num)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and then passing that to `LMDataLoader`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dl = LMDataLoader(nums200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's confirm that this gives the expected results, by grabbing the first batch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([64, 72]), torch.Size([64, 72]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = first(dl)\\n\",\n    \"x.shape,y.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and then looking at the first row of the independent variable, which should be the start of the first text:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxbos xxmaj this movie , which i just xxunk at the video store , has apparently sit around for a'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in x[0][:20])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The dependent variable is the same thing offset by one token:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxmaj this movie , which i just xxunk at the video store , has apparently sit around for a couple'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in y[0][:20])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This concludes all the preprocessing steps we need to apply to our data. We are now ready to train our text classifier.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training a Text Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we saw at the beginning of this chapter, there are two steps to training a state-of-the-art text classifier using transfer learning: first we need to fine-tune our language model pretrained on Wikipedia to the corpus of IMDb reviews, and then we can use that model to train a classifier.\\n\",\n    \"\\n\",\n    \"As usual, let's start with assembling our data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Language Model Using DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai handles tokenization and numericalization automatically when `TextBlock` is passed to `DataBlock`. All of the arguments that can be passed to `Tokenize` and `Numericalize` can also be passed to `TextBlock`. In the next chapter we'll discuss the easiest ways to run each of these steps separately, to ease debugging—but you can always just debug by running them manually on a subset of your data as shown in the previous sections. And don't forget about `DataBlock`'s handy `summary` method, which is very useful for debugging data issues.\\n\",\n    \"\\n\",\n    \"Here's how we use `TextBlock` to create a language model, using fastai's defaults:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"get_imdb = partial(get_text_files, folders=['train', 'test', 'unsup'])\\n\",\n    \"\\n\",\n    \"dls_lm = DataBlock(\\n\",\n    \"    blocks=TextBlock.from_folder(path, is_lm=True),\\n\",\n    \"    get_items=get_imdb, splitter=RandomSplitter(0.1)\\n\",\n    \").dataloaders(path, path=path, bs=128, seq_len=80)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One thing that's different to previous types we've used in `DataBlock` is that we're not just using the class directly (i.e., `TextBlock(...)`, but instead are calling a *class method*. A class method is a Python method that, as the name suggests, belongs to a *class* rather than an *object*. (Be sure to search online for more information about class methods if you're not familiar with them, since they're commonly used in many Python libraries and applications; we've used them a few times previously in the book, but haven't called attention to them.) The reason that `TextBlock` is special is that setting up the numericalizer's vocab can take a long time (we have to read and tokenize every document to get the vocab). To be as efficient as possible it performs a few optimizations: \\n\",\n    \"\\n\",\n    \"- It saves the tokenized documents in a temporary folder, so it doesn't have to tokenize them more than once\\n\",\n    \"- It runs multiple tokenization processes in parallel, to take advantage of your computer's CPUs\\n\",\n    \"\\n\",\n    \"We need to tell `TextBlock` how to access the texts, so that it can do this initial preprocessing—that's what `from_folder` does.\\n\",\n    \"\\n\",\n    \"`show_batch` then works in the usual way:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>text</th>\\n\",\n       \"      <th>text_</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>xxbos xxmaj it 's awesome ! xxmaj in xxmaj story xxmaj mode , your going from punk to pro . xxmaj you have to complete goals that involve skating , driving , and walking . xxmaj you create your own skater and give it a name , and you can make it look stupid or realistic . xxmaj you are with your friend xxmaj eric throughout the game until he betrays you and gets you kicked off of the skateboard</td>\\n\",\n       \"      <td>xxmaj it 's awesome ! xxmaj in xxmaj story xxmaj mode , your going from punk to pro . xxmaj you have to complete goals that involve skating , driving , and walking . xxmaj you create your own skater and give it a name , and you can make it look stupid or realistic . xxmaj you are with your friend xxmaj eric throughout the game until he betrays you and gets you kicked off of the skateboard xxunk</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>what xxmaj i 've read , xxmaj death xxmaj bed is based on an actual dream , xxmaj george xxmaj barry , the director , successfully transferred dream to film , only a genius could accomplish such a task . \\\\n\\\\n xxmaj old mansions make for good quality horror , as do portraits , not sure what to make of the killer bed with its killer yellow liquid , quite a bizarre dream , indeed . xxmaj also , this</td>\\n\",\n       \"      <td>xxmaj i 've read , xxmaj death xxmaj bed is based on an actual dream , xxmaj george xxmaj barry , the director , successfully transferred dream to film , only a genius could accomplish such a task . \\\\n\\\\n xxmaj old mansions make for good quality horror , as do portraits , not sure what to make of the killer bed with its killer yellow liquid , quite a bizarre dream , indeed . xxmaj also , this is</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls_lm.show_batch(max_n=2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that our data is ready, we can fine-tune the pretrained language model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fine-Tuning the Language Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To convert the integer word indices into activations that we can use for our neural network, we will use embeddings, just like we did for collaborative filtering and tabular modeling. Then we'll feed those embeddings into a *recurrent neural network* (RNN), using an architecture called *AWD-LSTM* (we will show you how to write such a model from scratch in <<chapter_nlp_dive>>). As we discussed earlier, the embeddings in the pretrained model are merged with random embeddings added for words that weren't in the pretraining vocabulary. This is handled automatically inside `language_model_learner`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = language_model_learner(\\n\",\n    \"    dls_lm, AWD_LSTM, drop_mult=0.3, \\n\",\n    \"    metrics=[accuracy, Perplexity()]).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The loss function used by default is cross-entropy loss, since we essentially have a classification problem (the different categories being the words in our vocab). The *perplexity* metric used here is often used in NLP for language models: it is the exponential of the loss (i.e., `torch.exp(cross_entropy)`). We  also include the accuracy metric, to see how many times our model is right when trying to predict the next word, since cross-entropy (as we've seen) is both hard to interpret, and tells us more about the model's confidence than its accuracy.\\n\",\n    \"\\n\",\n    \"Let's go back to the process diagram from the beginning of this chapter. The first arrow has been completed for us and made available as a pretrained model in fastai, and we've just built the `DataLoaders` and `Learner` for the second stage. Now we're ready to fine-tune our language model!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Diagram of the ULMFiT process\\\" width=\\\"450\\\" src=\\\"images/att_00027.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It takes quite a while to train each epoch, so we'll be saving the intermediate model results during the training process. Since `fine_tune` doesn't do that for us, we'll use `fit_one_cycle`. Just like `vision_learner`, `language_model_learner` automatically calls `freeze` when using a pretrained model (which is the default), so this will only train the embeddings (the only part of the model that contains randomly initialized weights—i.e., embeddings for words that are in our IMDb vocab, but aren't in the pretrained model vocab):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>perplexity</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>4.120048</td>\\n\",\n       \"      <td>3.912788</td>\\n\",\n       \"      <td>0.299565</td>\\n\",\n       \"      <td>50.038246</td>\\n\",\n       \"      <td>11:39</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(1, 2e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model takes a while to train, so it's a good opportunity to talk about saving intermediary results. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Saving and Loading Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can easily save the state of your model like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.save('1epoch')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This will create a file in `learn.path/models/` named *1epoch.pth*. If you want to load your model in another machine after creating your `Learner` the same way, or resume training later, you can load the content of this file with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = learn.load('1epoch')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once the initial training has completed, we can continue fine-tuning the model after unfreezing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>perplexity</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3.893486</td>\\n\",\n       \"      <td>3.772820</td>\\n\",\n       \"      <td>0.317104</td>\\n\",\n       \"      <td>43.502548</td>\\n\",\n       \"      <td>12:37</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>3.820479</td>\\n\",\n       \"      <td>3.717197</td>\\n\",\n       \"      <td>0.323790</td>\\n\",\n       \"      <td>41.148880</td>\\n\",\n       \"      <td>12:30</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>3.735622</td>\\n\",\n       \"      <td>3.659760</td>\\n\",\n       \"      <td>0.330321</td>\\n\",\n       \"      <td>38.851997</td>\\n\",\n       \"      <td>12:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>3.677086</td>\\n\",\n       \"      <td>3.624794</td>\\n\",\n       \"      <td>0.333960</td>\\n\",\n       \"      <td>37.516987</td>\\n\",\n       \"      <td>12:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>3.636646</td>\\n\",\n       \"      <td>3.601300</td>\\n\",\n       \"      <td>0.337017</td>\\n\",\n       \"      <td>36.645859</td>\\n\",\n       \"      <td>12:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>3.553636</td>\\n\",\n       \"      <td>3.584241</td>\\n\",\n       \"      <td>0.339355</td>\\n\",\n       \"      <td>36.026001</td>\\n\",\n       \"      <td>12:04</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>3.507634</td>\\n\",\n       \"      <td>3.571892</td>\\n\",\n       \"      <td>0.341353</td>\\n\",\n       \"      <td>35.583862</td>\\n\",\n       \"      <td>12:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>3.444101</td>\\n\",\n       \"      <td>3.565988</td>\\n\",\n       \"      <td>0.342194</td>\\n\",\n       \"      <td>35.374371</td>\\n\",\n       \"      <td>12:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>3.398597</td>\\n\",\n       \"      <td>3.566283</td>\\n\",\n       \"      <td>0.342647</td>\\n\",\n       \"      <td>35.384815</td>\\n\",\n       \"      <td>12:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>3.375563</td>\\n\",\n       \"      <td>3.568166</td>\\n\",\n       \"      <td>0.342528</td>\\n\",\n       \"      <td>35.451500</td>\\n\",\n       \"      <td>12:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(10, 2e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once this is done, we save all of our model except the final layer that converts activations to probabilities of picking each token in our vocabulary. The model not including the final layer is called the *encoder*. We can save it with `save_encoder`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.save_encoder('finetuned')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Encoder: The model not including the task-specific final layer(s). This term means much the same thing as _body_ when applied to vision CNNs, but \\\"encoder\\\" tends to be more used for NLP and generative models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This completes the second stage of the text classification process: fine-tuning the language model. We can now use it to fine-tune a classifier using the IMDb sentiment labels.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Text Generation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before we move on to fine-tuning the classifier, let's quickly try something different: using our model to generate random reviews. Since it's trained to guess what the next word of the sentence is, we can use the model to write new reviews:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"TEXT = \\\"I liked this movie because\\\"\\n\",\n    \"N_WORDS = 40\\n\",\n    \"N_SENTENCES = 2\\n\",\n    \"preds = [learn.predict(TEXT, N_WORDS, temperature=0.75) \\n\",\n    \"         for _ in range(N_SENTENCES)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"i liked this movie because of its story and characters . The story line was very strong , very good for a sci - fi film . The main character , Alucard , was very well developed and brought the whole story\\n\",\n      \"i liked this movie because i like the idea of the premise of the movie , the ( very ) convenient virus ( which , when you have to kill a few people , the \\\" evil \\\" machine has to be used to protect\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"\\\\n\\\".join(preds))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, we add some randomness (we pick a random word based on the probabilities returned by the model) so we don't get exactly the same review twice. Our model doesn't have any programmed knowledge of the structure of a sentence or grammar rules, yet it has clearly learned a lot about English sentences: we can see it capitalizes properly (*I* is just transformed to *i* because our rules require two characters or more to consider a word as capitalized, so it's normal to see it lowercased) and is using consistent tense. The general review makes sense at first glance, and it's only if you read carefully that you can notice something is a bit off. Not bad for a model trained in a couple of hours! \\n\",\n    \"\\n\",\n    \"But our end goal wasn't to train a model to generate reviews, but to classify them... so let's use this model to do just that.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Classifier DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're now moving from language model fine-tuning to classifier fine-tuning. To recap, a language model predicts the next word of a document, so it doesn't need any external labels. A classifier, however, predicts some external label—in the case of IMDb, it's the sentiment of a document.\\n\",\n    \"\\n\",\n    \"This means that the structure of our `DataBlock` for NLP classification will look very familiar. It's actually nearly the same as we've seen for the many image classification datasets we've worked with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls_clas = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path, vocab=dls_lm.vocab),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path, path=path, bs=128, seq_len=72)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Just like with image classification, `show_batch` shows the dependent variable (sentiment, in this case) with each independent variable (movie review text):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>text</th>\\n\",\n       \"      <th>category</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>xxbos i rate this movie with 3 skulls , only coz the girls knew how to scream , this could 've been a better movie , if actors were better , the twins were xxup ok , i believed they were evil , but the eldest and youngest brother , they sucked really bad , it seemed like they were reading the scripts instead of acting them … . spoiler : if they 're vampire 's why do they freeze the blood ? vampires ca n't drink frozen blood , the sister in the movie says let 's drink her while she is alive … .but then when they 're moving to another house , they take on a cooler they 're frozen blood . end of spoiler \\\\n\\\\n it was a huge waste of time , and that made me mad coz i read all the reviews of how</td>\\n\",\n       \"      <td>neg</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>xxbos i have read all of the xxmaj love xxmaj come xxmaj softly books . xxmaj knowing full well that movies can not use all aspects of the book , but generally they at least have the main point of the book . i was highly disappointed in this movie . xxmaj the only thing that they have in this movie that is in the book is that xxmaj missy 's father comes to xxunk in the book both parents come ) . xxmaj that is all . xxmaj the story line was so twisted and far fetch and yes , sad , from the book , that i just could n't enjoy it . xxmaj even if i did n't read the book it was too sad . i do know that xxmaj pioneer life was rough , but the whole movie was a downer . xxmaj the rating</td>\\n\",\n       \"      <td>neg</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>xxbos xxmaj this , for lack of a better term , movie is lousy . xxmaj where do i start … … \\\\n\\\\n xxmaj cinemaphotography - xxmaj this was , perhaps , the worst xxmaj i 've seen this year . xxmaj it looked like the camera was being tossed from camera man to camera man . xxmaj maybe they only had one camera . xxmaj it gives you the sensation of being a volleyball . \\\\n\\\\n xxmaj there are a bunch of scenes , haphazardly , thrown in with no continuity at all . xxmaj when they did the ' split screen ' , it was absurd . xxmaj everything was squished flat , it looked ridiculous . \\\\n\\\\n xxmaj the color tones were way off . xxmaj these people need to learn how to balance a camera . xxmaj this ' movie ' is poorly made , and</td>\\n\",\n       \"      <td>neg</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls_clas.show_batch(max_n=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking at the `DataBlock` definition, every piece is familiar from previous data blocks we've built, with two important exceptions:\\n\",\n    \"\\n\",\n    \"- `TextBlock.from_folder` no longer has the `is_lm=True` parameter.\\n\",\n    \"- We pass the `vocab` we created for the language model fine-tuning.\\n\",\n    \"\\n\",\n    \"The reason that we pass the `vocab` of the language model is to make sure we use the same correspondence of token to index. Otherwise the embeddings we learned in our fine-tuned language model won't make any sense to this model, and the fine-tuning step won't be of any use.\\n\",\n    \"\\n\",\n    \"By passing `is_lm=False` (or not passing `is_lm` at all, since it defaults to `False`) we tell `TextBlock` that we have regular labeled data, rather than using the next tokens as labels. There is one challenge we have to deal with, however, which is to do with collating multiple documents into a mini-batch. Let's see with an example, by trying to create a mini-batch containing the first 10 documents. First we'll numericalize them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums_samp = toks200[:10].map(num)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now look at how many tokens each of these 10 movie reviews have:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#10) [228,238,121,290,196,194,533,124,581,155]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"nums_samp.map(len)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Remember, PyTorch `DataLoader`s need to collate all the items in a batch into a single tensor, and a single tensor has a fixed shape (i.e., it has some particular length on every axis, and all items must be consistent). This should sound familiar: we had the same issue with images. In that case, we used cropping, padding, and/or squishing to make all the inputs the same size. Cropping might not be a good idea for documents, because it seems likely we'd remove some key information (having said that, the same issue is true for images, and we use cropping there; data augmentation hasn't been well explored for NLP yet, so perhaps there are actually opportunities to use cropping in NLP too!). You can't really \\\"squish\\\" a document. So that leaves padding!\\n\",\n    \"\\n\",\n    \"We will expand the shortest texts to make them all the same size. To do this, we use a special padding token that will be ignored by our model. Additionally, to avoid memory issues and improve performance, we will batch together texts that are roughly the same lengths (with some shuffling for the training set). We do this by (approximately, for the training set) sorting the documents by length prior to each epoch. The result of this is that the documents collated into a single batch will tend to be of similar lengths. We won't pad every batch to the same size, but will instead use the size of the largest document in each batch as the target size. (It is possible to do something similar with images, which is especially useful for irregularly sized rectangular images, but at the time of writing no library provides good support for this yet, and there aren't any papers covering it. It's something we're planning to add to fastai soon, however, so keep an eye on the book's website; we'll add information about this as soon as we have it working well.)\\n\",\n    \"\\n\",\n    \"The sorting and padding are automatically done by the data block API for us when using a `TextBlock`, with `is_lm=False`. (We don't have this same issue for language model data, since we concatenate all the documents together first, and then split them into equally sized sections.)\\n\",\n    \"\\n\",\n    \"We can now create a model to classify our texts:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = text_classifier_learner(dls_clas, AWD_LSTM, drop_mult=0.5, \\n\",\n    \"                                metrics=accuracy).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The final step prior to training the classifier is to load the encoder from our fine-tuned language model. We use `load_encoder` instead of `load` because we only have pretrained weights available for the encoder; `load` by default raises an exception if an incomplete model is loaded:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = learn.load_encoder('finetuned')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fine-Tuning the Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The last step is to train with discriminative learning rates and *gradual unfreezing*. In computer vision we often unfreeze the model all at once, but for NLP classifiers, we find that unfreezing a few layers at a time makes a real difference:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.347427</td>\\n\",\n       \"      <td>0.184480</td>\\n\",\n       \"      <td>0.929320</td>\\n\",\n       \"      <td>00:33</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(1, 2e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In just one epoch we get the same result as our training in <<chapter_intro>>: not too bad! We can pass `-2` to `freeze_to` to freeze all except the last two parameter groups:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.247763</td>\\n\",\n       \"      <td>0.171683</td>\\n\",\n       \"      <td>0.934640</td>\\n\",\n       \"      <td>00:37</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.freeze_to(-2)\\n\",\n    \"learn.fit_one_cycle(1, slice(1e-2/(2.6**4),1e-2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can unfreeze a bit more, and continue training:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.193377</td>\\n\",\n       \"      <td>0.156696</td>\\n\",\n       \"      <td>0.941200</td>\\n\",\n       \"      <td>00:45</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.freeze_to(-3)\\n\",\n    \"learn.fit_one_cycle(1, slice(5e-3/(2.6**4),5e-3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And finally, the whole model!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.172888</td>\\n\",\n       \"      <td>0.153770</td>\\n\",\n       \"      <td>0.943120</td>\\n\",\n       \"      <td>01:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.161492</td>\\n\",\n       \"      <td>0.155567</td>\\n\",\n       \"      <td>0.942640</td>\\n\",\n       \"      <td>00:57</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(2, slice(1e-3/(2.6**4),1e-3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We reached 94.3% accuracy, which was state-of-the-art performance just three years ago. By training another model on all the texts read backwards and averaging the predictions of those two models, we can even get to 95.1% accuracy, which was the state of the art introduced by the ULMFiT paper. It was only beaten a few months ago, by fine-tuning a much bigger model and using expensive data augmentation techniques (translating sentences in another language and back, using another model for translation).\\n\",\n    \"\\n\",\n    \"Using a pretrained model let us build a fine-tuned language model that was pretty powerful, to either generate fake reviews or help classify them. This is exciting stuff, but it's good to remember that this technology can also be used for malign purposes.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Disinformation and Language Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Even simple algorithms based on rules, before the days of widely available deep learning language models, could be used to create fraudulent accounts and try to influence policymakers. Jeff Kao, now a computational journalist at ProPublica, analyzed the comments that were sent to the US Federal Communications Commission (FCC) regarding a 2017 proposal to repeal net neutrality. In his article [\\\"More than a Million Pro-Repeal Net Neutrality Comments Were Likely Faked\\\"](https://hackernoon.com/more-than-a-million-pro-repeal-net-neutrality-comments-were-likely-faked-e9f0e3ed36a6), he reports how he discovered a large cluster of comments opposing net neutrality that seemed to have been generated by some sort of Mad Libs-style mail merge. In <<disinformation>>, the fake comments have been helpfully color-coded by Kao to highlight their formulaic nature.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image16.png\\\" width=\\\"700\\\" id=\\\"disinformation\\\" caption=\\\"Comments received by the FCC during the net neutrality debate\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Kao estimated that \\\"less than 800,000 of the 22M+ comments… could be considered truly unique\\\" and that \\\"more than 99% of the truly unique comments were in favor of keeping net neutrality.\\\"\\n\",\n    \"\\n\",\n    \"Given advances in language modeling that have occurred since 2017, such fraudulent campaigns could be nearly impossible to catch now.  You now have all the necessary tools at your disposal to create a compelling language model—that is, something that can generate context-appropriate, believable text. It won't necessarily be perfectly accurate or correct, but it will be plausible. Think about what this technology would mean when put together with the kinds of disinformation campaigns we have learned about in recent years. Take a look at the Reddit dialogue shown in <<ethics_reddit>>, where a language model based on OpenAI's GPT-2 algorithm is having a conversation with itself about whether the US government should cut defense spending.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image14.png\\\" id=\\\"ethics_reddit\\\" caption=\\\"An algorithm talking to itself on Reddit\\\" alt=\\\"An algorithm talking to itself on Reddit\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this case, it was explicitly said that an algorithm was used, but imagine what would happen if a bad actor decided to release such an algorithm across social networks. They could do it slowly and carefully, allowing the algorithm to gradually develop followers and trust over time. It would not take many resources to have literally millions of accounts doing this. In such a situation we could easily imagine getting to a point where the vast majority of discourse online was from bots, and nobody would have any idea that it was happening.\\n\",\n    \"\\n\",\n    \"We are already starting to see examples of machine learning being used to generate identities. For example, <<katie_jones>> shows a LinkedIn profile for Katie Jones.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/ethics/image15.jpeg\\\" width=\\\"400\\\" id=\\\"katie_jones\\\" caption=\\\"Katie Jones's LinkedIn profile\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Katie Jones was connected on LinkedIn to several members of mainstream Washington think tanks. But she didn't exist. That image you see was auto-generated by a generative adversarial network, and somebody named Katie Jones has not, in fact, graduated from the Center for Strategic and International Studies.\\n\",\n    \"\\n\",\n    \"Many people assume or hope that algorithms will come to our defense here—that we will develop classification algorithms that can automatically recognise autogenerated content. The problem, however, is that this will always be an arms race, in which better classification (or discriminator) algorithms can be used to create better generation algorithms.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chapter we explored the last application covered out of the box by the fastai library: text. We saw two types of models: language models that can generate texts, and a classifier that determines if a review is positive or negative. To build a state-of-the art classifier, we used a pretrained language model, fine-tuned it to the corpus of our task, then used its body (the encoder) with a new head to do the classification.\\n\",\n    \"\\n\",\n    \"Before we end this section, we'll take a look at how the fastai library can help you assemble your data for your specific problems.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is \\\"self-supervised learning\\\"?\\n\",\n    \"1. What is a \\\"language model\\\"?\\n\",\n    \"1. Why is a language model considered self-supervised?\\n\",\n    \"1. What are self-supervised models usually used for?\\n\",\n    \"1. Why do we fine-tune language models?\\n\",\n    \"1. What are the three steps to create a state-of-the-art text classifier?\\n\",\n    \"1. How do the 50,000 unlabeled movie reviews help us create a better text classifier for the IMDb dataset?\\n\",\n    \"1. What are the three steps to prepare your data for a language model?\\n\",\n    \"1. What is \\\"tokenization\\\"? Why do we need it?\\n\",\n    \"1. Name three different approaches to tokenization.\\n\",\n    \"1. What is `xxbos`?\\n\",\n    \"1. List four rules that fastai applies to text during tokenization.\\n\",\n    \"1. Why are repeated characters replaced with a token showing the number of repetitions and the character that's repeated?\\n\",\n    \"1. What is \\\"numericalization\\\"?\\n\",\n    \"1. Why might there be words that are replaced with the \\\"unknown word\\\" token?\\n\",\n    \"1. With a batch size of 64, the first row of the tensor representing the first batch contains the first 64 tokens for the dataset. What does the second row of that tensor contain? What does the first row of the second batch contain? (Careful—students often get this one wrong! Be sure to check your answer on the book's website.)\\n\",\n    \"1. Why do we need padding for text classification? Why don't we need it for language modeling?\\n\",\n    \"1. What does an embedding matrix for NLP contain? What is its shape?\\n\",\n    \"1. What is \\\"perplexity\\\"?\\n\",\n    \"1. Why do we have to pass the vocabulary of the language model to the classifier data block?\\n\",\n    \"1. What is \\\"gradual unfreezing\\\"?\\n\",\n    \"1. Why is text generation always likely to be ahead of automatic identification of machine-generated texts?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. See what you can learn about language models and disinformation. What are the best language models today? Take a look at some of their outputs. Do you find them convincing? How could a bad actor best use such a model to create conflict and uncertainty?\\n\",\n    \"1. Given the limitation that models are unlikely to be able to consistently recognize machine-generated texts, what other approaches may be needed to handle large-scale disinformation campaigns that leverage deep learning?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "11_midlevel_data.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from IPython.display import display,HTML\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_midlevel_data]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Munging with fastai's Mid-Level API\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have seen what `Tokenizer` and `Numericalize` do to a collection of texts, and how they're used inside the data block API, which handles those transforms for us directly using the `TextBlock`. But what if we want to only apply one of those transforms, either to see intermediate results or because we have already tokenized texts? More generally, what can we do when the data block API is not flexible enough to accommodate our particular use case? For this, we need to use fastai's *mid-level API* for processing data. The data block API is built on top of that layer, so it will allow you to do everything the data block API does, and much much more.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Going Deeper into fastai's Layered API\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The fastai library is built on a *layered API*. In the very top layer there are *applications* that allow us to train a model in five lines of codes, as we saw in <<chapter_intro>>. In the case of creating `DataLoaders` for a text classifier, for instance, we used the line:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The factory method `TextDataLoaders.from_folder` is very convenient when your data is arranged the exact same way as the IMDb dataset, but in practice, that often won't be the case. The data block API offers more flexibility. As we saw in the last chapter, we can get the same result with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMDB)\\n\",\n    \"dls = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But it's sometimes not flexible enough. For debugging purposes, for instance, we might need to apply just parts of the transforms that come with this data block. Or we might want to create a `DataLoaders` for some application that isn't directly supported by fastai. In this section, we'll dig into the pieces that are used inside fastai to implement the data block API. Understanding these will enable you to leverage the power and flexibility of this mid-tier API.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Mid-Level API: The mid-level API does not only contain functionality for creating `DataLoaders`. It also has the _callback_ system, which allows us to customize the training loop any way we like, and the _general optimizer_. Both will be covered in <<chapter_accel_sgd>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transforms\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we studied tokenization and numericalization in the last chapter, we started by grabbing a bunch of texts:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"files = get_text_files(path, folders = ['train', 'test'])\\n\",\n    \"txts = L(o.open().read() for o in files[:2000])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We then showed how to tokenize them with a `Tokenizer`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#374) ['xxbos','xxmaj','well',',','\\\"','cube','\\\"','(','1997',')'...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tok = Tokenizer.from_folder(path)\\n\",\n    \"tok.setup(txts)\\n\",\n    \"toks = txts.map(tok)\\n\",\n    \"toks[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and how to numericalize, including automatically creating the vocab for our corpus:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([   2,    8,   76,   10,   23, 3112,   23,   34, 3113,   33])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"num = Numericalize()\\n\",\n    \"num.setup(toks)\\n\",\n    \"nums = toks.map(num)\\n\",\n    \"nums[0][:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The classes also have a `decode` method. For instance, `Numericalize.decode` gives us back the string tokens:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#10) ['xxbos','xxmaj','well',',','\\\"','cube','\\\"','(','1997',')']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"nums_dec = num.decode(nums[0][:10]); nums_dec\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and `Tokenizer.decode` turns this back into a single string (it may not, however, be exactly the same as the original string; this depends on whether the tokenizer is *reversible*, which the default word tokenizer is not at the time we're writing this book):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxbos xxmaj well , \\\" cube \\\" ( 1997 )'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tok.decode(nums_dec)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`decode` is used by fastai's `show_batch` and `show_results`, as well as some other inference methods, to convert predictions and mini-batches into a human-understandable representation.\\n\",\n    \"\\n\",\n    \"For each of `tok` or `num` in the preceding example, we created an object, called the `setup` method (which trains the tokenizer if needed for `tok` and creates the vocab for `num`), applied it to our raw texts (by calling the object as a function), and then finally decoded the result back to an understandable representation. These steps are needed for most data preprocessing tasks, so fastai provides a class that encapsulates them. This is the `Transform` class. Both `Tokenize` and `Numericalize` are `Transform`s.\\n\",\n    \"\\n\",\n    \"In general, a `Transform` is an object that behaves like a function and has an optional `setup` method that will initialize some inner state (like the vocab inside `num`) and an optional `decode` that will reverse the function (this reversal may not be perfect, as we saw with `tok`).\\n\",\n    \"\\n\",\n    \"A good example of `decode` is found in the `Normalize` transform that we saw in <<chapter_sizing_and_tta>>: to be able to plot the images its `decode` method undoes the normalization (i.e., it multiplies by the standard deviation and adds back the mean). On the other hand, data augmentation transforms do not have a `decode` method, since we want to show the effects on images to make sure the data augmentation is working as we want.\\n\",\n    \"\\n\",\n    \"A special behavior of `Transform`s is that they always get applied over tuples. In general, our data is always a tuple `(input,target)` (sometimes with more than one input or more than one target). When applying a transform on an item like this, such as `Resize`, we don't want to resize the tuple as a whole; instead, we want to resize the input (if applicable) and the target (if applicable) separately. It's the same for batch transforms that do data augmentation: when the input is an image and the target is a segmentation mask, the transform needs to be applied (the same way) to the input and the target.\\n\",\n    \"\\n\",\n    \"We can see this behavior if we pass a tuple of texts to `tok`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((#374) ['xxbos','xxmaj','well',',','\\\"','cube','\\\"','(','1997',')'...],\\n\",\n       \" (#207) ['xxbos','xxmaj','conrad','xxmaj','hall','went','out','with','a','bang'...])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tok((txts[0], txts[1]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Writing Your Own Transform\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you want to write a custom transform to apply to your data, the easiest way is to write a function. As you can see in this example, a `Transform` will only be applied to a matching type, if a type is provided (otherwise it will always be applied). In the following code, the `:int` in the function signature means that `f` only gets applied to `int`s. That's why `tfm(2.0)` returns `2.0`, but `tfm(2)` returns `3` here:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(3, 2.0)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def f(x:int): return x+1\\n\",\n    \"tfm = Transform(f)\\n\",\n    \"tfm(2),tfm(2.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here, `f` is converted to a `Transform` with no `setup` and no `decode` method.\\n\",\n    \"\\n\",\n    \"Python has a special syntax for passing a function (like `f`) to another function (or something that behaves like a function, known as a *callable* in Python), called a *decorator*. A decorator is used by prepending a callable with `@` and placing it before a function definition (there are lots of good online tutorials about Python decorators, so take a look at one if this is a new concept for you). The following is identical to the previous code:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(3, 2.0)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"@Transform\\n\",\n    \"def f(x:int): return x+1\\n\",\n    \"f(2),f(2.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you need either `setup` or `decode`, you will need to subclass `Transform` to implement the actual encoding behavior in `encodes`, then (optionally), the setup behavior in `setups` and the decoding behavior in `decodes`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class NormalizeMean(Transform):\\n\",\n    \"    def setups(self, items): self.mean = sum(items)/len(items)\\n\",\n    \"    def encodes(self, x): return x-self.mean\\n\",\n    \"    def decodes(self, x): return x+self.mean\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here, `NormalizeMean` will initialize some state during the setup (the mean of all elements passed), then the transformation is to subtract that mean. For decoding purposes, we implement the reverse of that transformation by adding the mean. Here is an example of `NormalizeMean` in action:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(3.0, -1.0, 2.0)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tfm = NormalizeMean()\\n\",\n    \"tfm.setup([1,2,3,4,5])\\n\",\n    \"start = 2\\n\",\n    \"y = tfm(start)\\n\",\n    \"z = tfm.decode(y)\\n\",\n    \"tfm.mean,y,z\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that the method called and the method implemented are different, for each of these methods:\\n\",\n    \"\\n\",\n    \"```asciidoc\\n\",\n    \"[options=\\\"header\\\"]\\n\",\n    \"|======\\n\",\n    \"| Class | To call | To implement\\n\",\n    \"| `nn.Module` (PyTorch) | `()` (i.e., call as function) | `forward`\\n\",\n    \"| `Transform` | `()` | `encodes`\\n\",\n    \"| `Transform` | `decode()` | `decodes`\\n\",\n    \"| `Transform` | `setup()` | `setups`\\n\",\n    \"|======\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"So, for instance, you would never call `setups` directly, but instead would call `setup`. The reason for this is that `setup` does some work before and after calling `setups` for you. To learn more about `Transform`s and how you can use them to implement different behavior depending on the type of the input, be sure to check the tutorials in the fastai docs.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Pipeline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To compose several transforms together, fastai provides the `Pipeline` class. We define a `Pipeline` by passing it a list of `Transform`s; it will then compose the transforms inside it. When you call `Pipeline` on an object, it will automatically call the transforms inside, in order:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([   2,    8,   76,   10,   23, 3112,   23,   34, 3113,   33,   10,    8, 4477,   22,   88,   32,   10,   27,   42,   14])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tfms = Pipeline([tok, num])\\n\",\n    \"t = tfms(txts[0]); t[:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And you can call `decode` on the result of your encoding, to get back something you can display and analyze:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxbos xxmaj well , \\\" cube \\\" ( 1997 ) , xxmaj vincenzo \\\\'s first movie , was one of the most interesti'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tfms.decode(t)[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The only part that doesn't work the same way as in `Transform` is the setup. To properly set up a `Pipeline` of `Transform`s on some data, you need to use a `TfmdLists`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## TfmdLists and Datasets: Transformed Collections\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Your data is usually a set of raw items (like filenames, or rows in a DataFrame) to which you want to apply a succession of transformations. We just saw that a succession of transformations is represented by a `Pipeline` in fastai. The class that groups together this `Pipeline` with your raw items is called `TfmdLists`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### TfmdLists\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is the short way of doing the transformation we saw in the previous section:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At initialization, the `TfmdLists` will automatically call the `setup` method of each `Transform` in order, providing them not with the raw items but the items transformed by all the previous `Transform`s in order. We can get the result of our `Pipeline` on any raw element just by indexing into the `TfmdLists`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([    2,     8,    91,    11,    22,  5793,    22,    37,  4910,    34,    11,     8, 13042,    23,   107,    30,    11,    25,    44,    14])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = tls[0]; t[:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And the `TfmdLists` knows how to decode for show purposes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'xxbos xxmaj well , \\\" cube \\\" ( 1997 ) , xxmaj vincenzo \\\\'s first movie , was one of the most interesti'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tls.decode(t)[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In fact, it even has a `show` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"xxbos xxmaj well , \\\" cube \\\" ( 1997 ) , xxmaj vincenzo 's first movie , was one of the most interesting and tricky ideas that xxmaj i 've ever seen when talking about movies . xxmaj they had just one scenery , a bunch of actors and a plot . xxmaj so , what made it so special were all the effective direction , great dialogs and a bizarre condition that characters had to deal like rats in a labyrinth . xxmaj his second movie , \\\" cypher \\\" ( 2002 ) , was all about its story , but it was n't so good as \\\" cube \\\" but here are the characters being tested like rats again . \\n\",\n      \"\\n\",\n      \" \\\" nothing \\\" is something very interesting and gets xxmaj vincenzo coming back to his ' cube days ' , locking the characters once again in a very different space with no time once more playing with the characters like playing with rats in an experience room . xxmaj but instead of a thriller sci - fi ( even some of the promotional teasers and trailers erroneous seemed like that ) , \\\" nothing \\\" is a loose and light comedy that for sure can be called a modern satire about our society and also about the intolerant world we 're living . xxmaj once again xxmaj xxunk amaze us with a great idea into a so small kind of thing . 2 actors and a blinding white scenario , that 's all you got most part of time and you do n't need more than that . xxmaj while \\\" cube \\\" is a claustrophobic experience and \\\" cypher \\\" confusing , \\\" nothing \\\" is completely the opposite but at the same time also desperate . \\n\",\n      \"\\n\",\n      \" xxmaj this movie proves once again that a smart idea means much more than just a millionaire budget . xxmaj of course that the movie fails sometimes , but its prime idea means a lot and offsets any flaws . xxmaj there 's nothing more to be said about this movie because everything is a brilliant surprise and a totally different experience that i had in movies since \\\" cube \\\" .\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"tls.show(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `TfmdLists` is named with an \\\"s\\\" because it can handle a training and a validation set with a `splits` argument. You just need to pass the indices of which elements are in the training set, and which are in the validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cut = int(len(files)*0.8)\\n\",\n    \"splits = [list(range(cut)), list(range(cut,len(files)))]\\n\",\n    \"tls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize], \\n\",\n    \"                splits=splits)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can then access them through the `train` and `valid` attributes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([    2,     8,    20,    30,    87,   510,  1570,    12,   408,   379,  4196,    10,     8,    20,    30,    16,    13, 12216,   202,   509])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tls.valid[0][:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you have manually written a `Transform` that performs all of your preprocessing at once, turning raw items into a tuple with inputs and targets, then `TfmdLists` is the class you need. You can directly convert it to a `DataLoaders` object with the `dataloaders` method. This is what we will do in our Siamese example later in this chapter.\\n\",\n    \"\\n\",\n    \"In general, though, you will have two (or more) parallel pipelines of transforms: one for processing your raw items into inputs and one to process your raw items into targets. For instance, here, the pipeline we defined only processes the raw text into inputs. If we want to do text classification, we also have to process the labels into targets. \\n\",\n    \"\\n\",\n    \"For this we need to do two things. First we take the label name from the parent folder. There is a function, `parent_label`, for this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#50000) ['pos','pos','pos','pos','pos','pos','pos','pos','pos','pos'...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lbls = files.map(parent_label)\\n\",\n    \"lbls\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we need a `Transform` that will grab the unique items and build a vocab with them during setup, then transform the string labels into integers when called. fastai provides this for us; it's called `Categorize`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((#2) ['neg','pos'], TensorCategory(1))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"cat = Categorize()\\n\",\n    \"cat.setup(lbls)\\n\",\n    \"cat.vocab, cat(lbls[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To do the whole setup automatically on our list of files, we can create a `TfmdLists` as before:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"TensorCategory(1)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tls_y = TfmdLists(files, [parent_label, Categorize()])\\n\",\n    \"tls_y[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But then we end up with two separate objects for our inputs and targets, which is not what we want. This is where `Datasets` comes to the rescue.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Datasets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`Datasets` will apply two (or more) pipelines in parallel to the same raw object and build a tuple with the result. Like `TfmdLists`, it will automatically do the setup for us, and when we index into a `Datasets`, it will return us a tuple with the results of each pipeline:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_tfms = [Tokenizer.from_folder(path), Numericalize]\\n\",\n    \"y_tfms = [parent_label, Categorize()]\\n\",\n    \"dsets = Datasets(files, [x_tfms, y_tfms])\\n\",\n    \"x,y = dsets[0]\\n\",\n    \"x[:20],y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Like a `TfmdLists`, we can pass along `splits` to a `Datasets` to split our data between training and validation sets:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor([    2,     8,    20,    30,    87,   510,  1570,    12,   408,   379,  4196,    10,     8,    20,    30,    16,    13, 12216,   202,   509]),\\n\",\n       \" TensorCategory(0))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x_tfms = [Tokenizer.from_folder(path), Numericalize]\\n\",\n    \"y_tfms = [parent_label, Categorize()]\\n\",\n    \"dsets = Datasets(files, [x_tfms, y_tfms], splits=splits)\\n\",\n    \"x,y = dsets.valid[0]\\n\",\n    \"x[:20],y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It can also decode any processed tuple or show it directly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"('xxbos xxmaj this movie had horrible lighting and terrible camera movements . xxmaj this movie is a jumpy horror flick with no meaning at all . xxmaj the slashes are totally fake looking . xxmaj it looks like some 17 year - old idiot wrote this movie and a 10 year old kid shot it . xxmaj with the worst acting you can ever find . xxmaj people are tired of knives . xxmaj at least move on to guns or fire . xxmaj it has almost exact lines from \\\" when a xxmaj stranger xxmaj calls \\\" . xxmaj with gruesome killings , only crazy people would enjoy this movie . xxmaj it is obvious the writer does n\\\\'t have kids or even care for them . i mean at show some mercy . xxmaj just to sum it up , this movie is a \\\" b \\\" movie and it sucked . xxmaj just for your own sake , do n\\\\'t even think about wasting your time watching this crappy movie .',\\n\",\n       \" 'neg')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = dsets.valid[0]\\n\",\n    \"dsets.decode(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The last step is to convert our `Datasets` object to a `DataLoaders`, which can be done with the `dataloaders` method. Here we need to pass along a special argument to take care of the padding problem (as we saw in the last chapter). This needs to happen just before we batch the elements, so we pass it to `before_batch`: \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = dsets.dataloaders(bs=64, before_batch=pad_input)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`dataloaders` directly calls `DataLoader` on each subset of our `Datasets`. fastai's `DataLoader` expands the PyTorch class of the same name and is responsible for collating the items from our datasets into batches. It has a lot of points of customization, but the most important ones that you should know are:\\n\",\n    \"\\n\",\n    \"- `after_item`:: Applied on each item after grabbing it inside the dataset. This is the equivalent of `item_tfms` in `DataBlock`.\\n\",\n    \"- `before_batch`:: Applied on the list of items before they are collated. This is the ideal place to pad items to the same size.\\n\",\n    \"- `after_batch`:: Applied on the batch as a whole after its construction. This is the equivalent of `batch_tfms` in `DataBlock`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As a conclusion, here is the full code necessary to prepare the data for text classification:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tfms = [[Tokenizer.from_folder(path), Numericalize], [parent_label, Categorize]]\\n\",\n    \"files = get_text_files(path, folders = ['train', 'test'])\\n\",\n    \"splits = GrandparentSplitter(valid_name='test')(files)\\n\",\n    \"dsets = Datasets(files, tfms, splits=splits)\\n\",\n    \"dls = dsets.dataloaders(dl_type=SortedDL, before_batch=pad_input)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The two differences from the previous code are the use of `GrandparentSplitter` to split our training and validation data, and the `dl_type` argument. This is to tell `dataloaders` to use the `SortedDL` class of `DataLoader`, and not the usual one. `SortedDL` constructs batches by putting samples of roughly the same lengths into batches.\\n\",\n    \"\\n\",\n    \"This does the exact same thing as our previous `DataBlock`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMDB)\\n\",\n    \"dls = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But now, you know how to customize every single piece of it!\\n\",\n    \"\\n\",\n    \"Let's practice what we just learned about this mid-level API for data preprocessing, using a computer vision example now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Applying the Mid-Level Data API: SiamesePair\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A *Siamese model* takes two images and has to determine if they are of the same class or not. For this example, we will use the Pet dataset again and prepare the data for a model that will have to predict if two images of pets are of the same breed or not. We will explain here how to prepare the data for such a model, then we will train that model in <<chapter_arch_details>>.\\n\",\n    \"\\n\",\n    \"First things first, let's get the images in our dataset:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\\n\",\n    \"files = get_image_files(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we didn't care about showing our objects at all, we could directly create one transform to completely preprocess that list of files. We will want to look at those images though, so we need to create a custom type. When you call the `show` method on a `TfmdLists` or a `Datasets` object, it will decode items until it reaches a type that contains a `show` method and use it to show the object. That `show` method gets passed a `ctx`, which could be a `matplotlib` axis for images, or a row of a DataFrame for texts.\\n\",\n    \"\\n\",\n    \"Here we create a `SiameseImage` object that subclasses `fastuple` and is intended to contain three things: two images, and a Boolean that's `True` if the images are of the same breed. We also implement the special `show` method, such that it concatenates the two images with a black line in the middle. Don't worry too much about the part that is in the `if` test (which is to show the `SiameseImage` when the images are Python images, not tensors); the important part is in the last three lines:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseImage(fastuple):\\n\",\n    \"    def show(self, ctx=None, **kwargs): \\n\",\n    \"        img1,img2,same_breed = self\\n\",\n    \"        if not isinstance(img1, Tensor):\\n\",\n    \"            if img2.size != img1.size: img2 = img2.resize(img1.size)\\n\",\n    \"            t1,t2 = tensor(img1),tensor(img2)\\n\",\n    \"            t1,t2 = t1.permute(2,0,1),t2.permute(2,0,1)\\n\",\n    \"        else: t1,t2 = img1,img2\\n\",\n    \"        line = t1.new_zeros(t1.shape[0], t1.shape[1], 10)\\n\",\n    \"        return show_image(torch.cat([t1,line,t2], dim=2), \\n\",\n    \"                          title=same_breed, ctx=ctx)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's create a first `SiameseImage` and check our `show` method works:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"img = PILImage.create(files[0])\\n\",\n    \"s = SiameseImage(img, img, True)\\n\",\n    \"s.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also try with a second image that's not from the same class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"img1 = PILImage.create(files[1])\\n\",\n    \"s1 = SiameseImage(img, img1, False)\\n\",\n    \"s1.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The important thing with transforms that we saw before is that they dispatch over tuples or their subclasses. That's precisely why we chose to subclass `fastuple` in this instance—this way we can apply any transform that works on images to our `SiameseImage` and it will be applied on each image in the tuple:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"s2 = Resize(224)(s1)\\n\",\n    \"s2.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here the `Resize` transform is applied to each of the two images, but not the Boolean flag. Even if we have a custom type, we can thus benefit from all the data augmentation transforms inside the library.\\n\",\n    \"\\n\",\n    \"We are now ready to build the `Transform` that we will use to get our data ready for a Siamese model. First, we will need a function to determine the classes of all our images:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def label_func(fname):\\n\",\n    \"    return re.match(r'^(.*)_\\\\d+.jpg$', fname.name).groups()[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For each image our tranform will, with a probability of 0.5, draw an image from the same class and return a `SiameseImage` with a true label, or draw an image from another class and return a `SiameseImage` with a false label. This is all done in the private `_draw` function. There is one difference between the training and validation sets, which is why the transform needs to be initialized with the splits: on the training set we will make that random pick each time we read an image, whereas on the validation set we make this random pick once and for all at initialization. This way, we get more varied samples during training, but always the same validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseTransform(Transform):\\n\",\n    \"    def __init__(self, files, label_func, splits):\\n\",\n    \"        self.labels = files.map(label_func).unique()\\n\",\n    \"        self.lbl2files = {l: L(f for f in files if label_func(f) == l) \\n\",\n    \"                          for l in self.labels}\\n\",\n    \"        self.label_func = label_func\\n\",\n    \"        self.valid = {f: self._draw(f) for f in files[splits[1]]}\\n\",\n    \"        \\n\",\n    \"    def encodes(self, f):\\n\",\n    \"        f2,t = self.valid.get(f, self._draw(f))\\n\",\n    \"        img1,img2 = PILImage.create(f),PILImage.create(f2)\\n\",\n    \"        return SiameseImage(img1, img2, t)\\n\",\n    \"    \\n\",\n    \"    def _draw(self, f):\\n\",\n    \"        same = random.random() < 0.5\\n\",\n    \"        cls = self.label_func(f)\\n\",\n    \"        if not same: \\n\",\n    \"            cls = random.choice(L(l for l in self.labels if l != cls)) \\n\",\n    \"        return random.choice(self.lbl2files[cls]),same\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can then create our main transform:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"splits = RandomSplitter()(files)\\n\",\n    \"tfm = SiameseTransform(files, label_func, splits)\\n\",\n    \"tfm(files[0]).show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the mid-level API for data collection we have two objects that can help us apply transforms on a set of items, `TfmdLists` and `Datasets`. If you remember what we have just seen, one applies a `Pipeline` of transforms and the other applies several `Pipeline`s of transforms in parallel, to build tuples. Here, our main transform already builds the tuples, so we use `TfmdLists`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"tls = TfmdLists(files, tfm, splits=splits)\\n\",\n    \"show_at(tls.valid, 0);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we can finally get our data in `DataLoaders` by calling the `dataloaders` method. One thing to be careful of here is that this method does not take `item_tfms` and `batch_tfms` like a `DataBlock`. The fastai `DataLoader` has several hooks that are named after events; here what we apply on the items after they are grabbed is called `after_item`, and what we apply on the batch once it's built is called `after_batch`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = tls.dataloaders(after_item=[Resize(224), ToTensor], \\n\",\n    \"    after_batch=[IntToFloatTensor, Normalize.from_stats(*imagenet_stats)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that we need to pass more transforms than usual—that's because the data block API usually adds them automatically:\\n\",\n    \"\\n\",\n    \"- `ToTensor` is the one that converts images to tensors (again, it's applied on every part of the tuple).\\n\",\n    \"- `IntToFloatTensor` converts the tensor of images containing integers from 0 to 255 to a tensor of floats, and divides by 255 to make the values between 0 and 1.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now train a model using this `DataLoaders`. It will need a bit more customization than the usual model provided by `vision_learner` since it has to take two images instead of one, but we will see how to create such a model and train it in <<chapter_arch_dtails>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai provides a layered API. It takes one line of code to grab the data when it's in one of the usual settings, making it easy for beginners to focus on training a model without spending too much time assembling the data. Then, the high-level data block API gives you more flexibility by allowing you to mix and match some building blocks. Underneath it, the mid-level API gives you greater flexibility to apply any transformations on your items. In your real-world problems, this is probably what you will need to use, and we hope it makes the step of data-munging as easy as possible.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why do we say that fastai has a \\\"layered\\\" API? What does it mean?\\n\",\n    \"1. Why does a `Transform` have a `decode` method? What does it do?\\n\",\n    \"1. Why does a `Transform` have a `setup` method? What does it do?\\n\",\n    \"1. How does a `Transform` work when called on a tuple?\\n\",\n    \"1. Which methods do you need to implement when writing your own `Transform`?\\n\",\n    \"1. Write a `Normalize` transform that fully normalizes items (subtract the mean and divide by the standard deviation of the dataset), and that can decode that behavior. Try not to peek!\\n\",\n    \"1. Write a `Transform` that does the numericalization of tokenized texts (it should set its vocab automatically from the dataset seen and have a `decode` method). Look at the source code of fastai if you need help.\\n\",\n    \"1. What is a `Pipeline`?\\n\",\n    \"1. What is a `TfmdLists`? \\n\",\n    \"1. What is a `Datasets`? How is it different from a `TfmdLists`?\\n\",\n    \"1. Why are `TfmdLists` and `Datasets` named with an \\\"s\\\"?\\n\",\n    \"1. How can you build a `DataLoaders` from a `TfmdLists` or a `Datasets`?\\n\",\n    \"1. How do you pass `item_tfms` and `batch_tfms` when building a `DataLoaders` from a `TfmdLists` or a `Datasets`?\\n\",\n    \"1. What do you need to do when you want to have your custom items work with methods like `show_batch` or `show_results`?\\n\",\n    \"1. Why can we easily apply fastai data augmentation transforms to the `SiamesePair` we built?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Use the mid-level API to prepare the data in `DataLoaders` on your own datasets. Try this with the Pet dataset and the Adult dataset from Chapter 1.\\n\",\n    \"1. Look at the Siamese tutorial in the fastai documentation to learn how to customize the behavior of `show_batch` and `show_results` for new type of items. Implement it in your own project.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Understanding fastai's Applications: Wrap Up\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations—you've completed all of the chapters in this book that cover the key practical parts of training models and using deep learning! You know how to use all of fastai's built-in applications, and how to customize them using the data block API and loss functions. You even know how to create a neural network from scratch, and train it! (And hopefully you now know some of the questions to ask to make sure your creations help improve society too.)\\n\",\n    \"\\n\",\n    \"The knowledge you already have is enough to create full working prototypes of many types of neural network applications. More importantly, it will help you understand the capabilities and limitations of deep learning models, and how to design a system that's well adapted to them.\\n\",\n    \"\\n\",\n    \"In the rest of this book we will be pulling apart those applications, piece by piece, to understand the foundations they are built on. This is important knowledge for a deep learning practitioner, because it is what allows you to inspect and debug models that you build and create new applications that are customized for your particular projects.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "12_nlp_dive.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_nlp_dive]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A Language Model from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're now ready to go deep... deep into deep learning! You already learned how to train a basic neural network, but how do you go from there to creating state-of-the-art models? In this part of the book we're going to uncover all of the mysteries, starting with language models.\\n\",\n    \"\\n\",\n    \"You saw in <<chapter_nlp>> how to fine-tune a pretrained language model to build a text classifier. In this chapter, we will explain to you what exactly is inside that model, and what an RNN is. First, let's gather some data that will allow us to quickly prototype our various models. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Whenever we start working on a new problem, we always first try to think of the simplest dataset we can that will allow us to try out methods quickly and easily, and interpret the results. When we started working on language modeling a few years ago we didn't find any datasets that would allow for quick prototyping, so we made one. We call it *Human Numbers*, and it simply contains the first 10,000 numbers written out in English.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: One of the most common practical mistakes I see even amongst highly experienced practitioners is failing to use appropriate datasets at appropriate times during the analysis process. In particular, most people tend to start with datasets that are too big and too complicated.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can download, extract, and take a look at our dataset in the usual way:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"path = untar_data(URLs.HUMAN_NUMBERS)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [Path('train.txt'),Path('valid.txt')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's open those two files and see what's inside. At first we'll join all of the texts together and ignore the train/valid split given by the dataset (we'll come back to that later):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#9998) ['one \\\\n','two \\\\n','three \\\\n','four \\\\n','five \\\\n','six \\\\n','seven \\\\n','eight \\\\n','nine \\\\n','ten \\\\n'...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lines = L()\\n\",\n    \"with open(path/'train.txt') as f: lines += L(*f.readlines())\\n\",\n    \"with open(path/'valid.txt') as f: lines += L(*f.readlines())\\n\",\n    \"lines\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We take all those lines and concatenate them in one big stream. To mark when we go from one number to the next, we use a `.` as a separator:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"'one . two . three . four . five . six . seven . eight . nine . ten . eleven . twelve . thirteen . fo'\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"text = ' . '.join([l.strip() for l in lines])\\n\",\n    \"text[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can tokenize this dataset by splitting on spaces:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"['one', '.', 'two', '.', 'three', '.', 'four', '.', 'five', '.']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"tokens = text.split(' ')\\n\",\n    \"tokens[:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To numericalize, we have to create a list of all the unique tokens (our *vocab*):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#30) ['one','.','two','three','four','five','six','seven','eight','nine'...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"vocab = L(*tokens).unique()\\n\",\n    \"vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can convert our tokens into numbers by looking up the index of each in the vocab:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#63095) [0,1,2,1,3,1,4,1,5,1...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"word2idx = {w:i for i,w in enumerate(vocab)}\\n\",\n    \"nums = L(word2idx[i] for i in tokens)\\n\",\n    \"nums\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a small dataset on which language modeling should be an easy task, we can build our first model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Our First Language Model from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One simple way to turn this into a neural network would be to specify that we are going to predict each word based on the previous three words. We could create a list of every sequence of three words as our independent variables, and the next word after each sequence as the dependent variable. \\n\",\n    \"\\n\",\n    \"We can do that with plain Python. Let's do it first with tokens just to confirm what it looks like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#21031) [(['one', '.', 'two'], '.'),(['.', 'three', '.'], 'four'),(['four', '.', 'five'], '.'),(['.', 'six', '.'], 'seven'),(['seven', '.', 'eight'], '.'),(['.', 'nine', '.'], 'ten'),(['ten', '.', 'eleven'], '.'),(['.', 'twelve', '.'], 'thirteen'),(['thirteen', '.', 'fourteen'], '.'),(['.', 'fifteen', '.'], 'sixteen')...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"L((tokens[i:i+3], tokens[i+3]) for i in range(0,len(tokens)-4,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we will do it with tensors of the numericalized values, which is what the model will actually use:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#21031) [(tensor([0, 1, 2]), 1),(tensor([1, 3, 1]), 4),(tensor([4, 1, 5]), 1),(tensor([1, 6, 1]), 7),(tensor([7, 1, 8]), 1),(tensor([1, 9, 1]), 10),(tensor([10,  1, 11]), 1),(tensor([ 1, 12,  1]), 13),(tensor([13,  1, 14]), 1),(tensor([ 1, 15,  1]), 16)...]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"seqs = L((tensor(nums[i:i+3]), nums[i+3]) for i in range(0,len(nums)-4,3))\\n\",\n    \"seqs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can batch those easily using the `DataLoader` class. For now we will split the sequences randomly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bs = 64\\n\",\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(seqs[:cut], seqs[cut:], bs=64, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create a neural network architecture that takes three words as input, and returns a prediction of the probability of each possible next word in the vocab. We will use three standard linear layers, but with two tweaks.\\n\",\n    \"\\n\",\n    \"The first tweak is that the first linear layer will use only the first word's embedding as activations, the second layer will use the second word's embedding plus the first layer's output activations, and the third layer will use the third word's embedding plus the second layer's output activations. The key effect of this is that every word is interpreted in the information context of any words preceding it. \\n\",\n    \"\\n\",\n    \"The second tweak is that each of these three layers will use the same weight matrix. The way that one word impacts the activations from previous words should not change depending on the position of a word. In other words, activation values will change as data moves through the layers, but the layer weights themselves will not change from layer to layer. So, a layer does not learn one sequence position; it must learn to handle all positions.\\n\",\n    \"\\n\",\n    \"Since layer weights do not change, you might think of the sequential layers as \\\"the same layer\\\" repeated. In fact, PyTorch makes this concrete; we can just create one layer, and use it multiple times.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Our Language Model in PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create the language model module that we described earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel1(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        h = F.relu(self.h_h(self.i_h(x[:,0])))\\n\",\n    \"        h = h + self.i_h(x[:,1])\\n\",\n    \"        h = F.relu(self.h_h(h))\\n\",\n    \"        h = h + self.i_h(x[:,2])\\n\",\n    \"        h = F.relu(self.h_h(h))\\n\",\n    \"        return self.h_o(h)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, we have created three layers:\\n\",\n    \"\\n\",\n    \"- The embedding layer (`i_h`, for *input* to *hidden*)\\n\",\n    \"- The linear layer to create the activations for the next word (`h_h`, for *hidden* to *hidden*)\\n\",\n    \"- A final linear layer to predict the fourth word (`h_o`, for *hidden* to *output*)\\n\",\n    \"\\n\",\n    \"This might be easier to represent in pictorial form, so let's define a simple pictorial representation of basic neural networks. <<img_simple_nn>> shows how we're going to represent a neural net with one hidden layer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Pictorial representation of simple neural network\\\" width=\\\"400\\\" src=\\\"images/att_00020.png\\\" caption=\\\"Pictorial representation of a simple neural network\\\" id=\\\"img_simple_nn\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Each shape represents activations: rectangle for input, circle for hidden (inner) layer activations, and triangle for output activations. We will use those shapes (summarized in <<img_shapes>>) in all the diagrams in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Shapes used in our pictorial representations\\\" width=\\\"200\\\" src=\\\"images/att_00021.png\\\" id=\\\"img_shapes\\\" caption=\\\"Shapes used in our pictorial representations\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"An arrow represents the actual layer computation—i.e., the linear layer followed by the activation function. Using this notation, <<lm_rep>> shows what our simple language model looks like.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Representation of our basic language model\\\" width=\\\"500\\\" caption=\\\"Representation of our basic language model\\\" id=\\\"lm_rep\\\" src=\\\"images/att_00022.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To simplify things, we've removed the details of the layer computation from each arrow. We've also color-coded the arrows, such that all arrows with the same color have the same weight matrix. For instance, all the input layers use the same embedding matrix, so they all have the same color (green).\\n\",\n    \"\\n\",\n    \"Let's try training this model and see how it goes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.824297</td>\\n\",\n       \"      <td>1.970941</td>\\n\",\n       \"      <td>0.467554</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.386973</td>\\n\",\n       \"      <td>1.823242</td>\\n\",\n       \"      <td>0.467554</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.417556</td>\\n\",\n       \"      <td>1.654497</td>\\n\",\n       \"      <td>0.494414</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.376440</td>\\n\",\n       \"      <td>1.650849</td>\\n\",\n       \"      <td>0.494414</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel1(len(vocab), 64), loss_func=F.cross_entropy, \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To see if this is any good, let's check what a very simple model would give us. In this case we could always predict the most common token, so let's find out which token is most often the target in our validation set:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(29), 'thousand', 0.15165200855716662)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"n,counts = 0,torch.zeros(len(vocab))\\n\",\n    \"for x,y in dls.valid:\\n\",\n    \"    n += y.shape[0]\\n\",\n    \"    for i in range_of(vocab): counts[i] += (y==i).long().sum()\\n\",\n    \"idx = torch.argmax(counts)\\n\",\n    \"idx, vocab[idx.item()], counts[idx].item()/n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The most common token has the index 29, which corresponds to the token `thousand`. Always predicting this token would give us an accuracy of roughly 15\\\\%, so we are faring way better!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> A: My first guess was that the separator would be the most common token, since there is one for every number. But looking at `tokens` reminded me that large numbers are written with many words, so on the way to 10,000 you write \\\"thousand\\\" a lot: five thousand, five thousand and one, five thousand and two, etc. Oops! Looking at your data is great for noticing subtle features and also embarrassingly obvious ones.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is a nice first baseline. Let's see how we can refactor it with a loop.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Our First Recurrent Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking at the code for our module, we could simplify it by replacing the duplicated code that calls the layers with a `for` loop. As well as making our code simpler, this will also have the benefit that we will be able to apply our module equally well to token sequences of different lengths—we won't be restricted to token lists of length three:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel2(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        h = 0\\n\",\n    \"        for i in range(3):\\n\",\n    \"            h = h + self.i_h(x[:,i])\\n\",\n    \"            h = F.relu(self.h_h(h))\\n\",\n    \"        return self.h_o(h)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's check that we get the same results using this refactoring:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.816274</td>\\n\",\n       \"      <td>1.964143</td>\\n\",\n       \"      <td>0.460185</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.423805</td>\\n\",\n       \"      <td>1.739964</td>\\n\",\n       \"      <td>0.473259</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.430327</td>\\n\",\n       \"      <td>1.685172</td>\\n\",\n       \"      <td>0.485382</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.388390</td>\\n\",\n       \"      <td>1.657033</td>\\n\",\n       \"      <td>0.470406</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel2(len(vocab), 64), loss_func=F.cross_entropy, \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also refactor our pictorial representation in exactly the same way, as shown in <<basic_rnn>> (we're also removing the details of activation sizes here, and using the same arrow colors as in <<lm_rep>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Basic recurrent neural network\\\" width=\\\"400\\\" caption=\\\"Basic recurrent neural network\\\" id=\\\"basic_rnn\\\" src=\\\"images/att_00070.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You will see that there is a set of activations that are being updated each time through the loop, stored in the variable `h`—this is called the *hidden state*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> Jargon: hidden state: The activations that are updated at each step of a recurrent neural network.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A neural network that is defined using a loop like this is called a *recurrent neural network* (RNN). It is important to realize that an RNN is not a complicated new architecture, but simply a refactoring of a multilayer neural network using a `for` loop.\\n\",\n    \"\\n\",\n    \"> A: My true opinion: if they were called \\\"looping neural networks,\\\" or LNNs, they would seem 50% less daunting!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we know what an RNN is, let's try to make it a little bit better.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving the RNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking at the code for our RNN, one thing that seems problematic is that we are initializing our hidden state to zero for every new input sequence. Why is that a problem? We made our sample sequences short so they would fit easily into batches. But if we order the samples correctly, those sample sequences will be read in order by the model, exposing the model to long stretches of the original sequence. \\n\",\n    \"\\n\",\n    \"Another thing we can look at is having more signal: why only predict the fourth word when we could use the intermediate predictions to also predict the second and third words? \\n\",\n    \"\\n\",\n    \"Let's see how we can implement those changes, starting with adding some state.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Maintaining the State of an RNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Because we initialize the model's hidden state to zero for each new sample, we are throwing away all the information we have about the sentences we have seen so far, which means that our model doesn't actually know where we are up to in the overall counting sequence. This is easily fixed; we can simply move the initialization of the hidden state to `__init__`.\\n\",\n    \"\\n\",\n    \"But this fix will create its own subtle, but important, problem. It effectively makes our neural network as deep as the entire number of tokens in our document. For instance, if there were 10,000 tokens in our dataset, we would be creating a 10,000-layer neural network.\\n\",\n    \"\\n\",\n    \"To see why this is the case, consider the original pictorial representation of our recurrent neural network in <<lm_rep>>, before refactoring it with a `for` loop. You can see each layer corresponds with one token input. When we talk about the representation of a recurrent neural network before refactoring with the `for` loop, we call this the *unrolled representation*. It is often helpful to consider the unrolled representation when trying to understand an RNN.\\n\",\n    \"\\n\",\n    \"The problem with a 10,000-layer neural network is that if and when you get to the 10,000th word of the dataset, you will still need to calculate the derivatives all the way back to the first layer. This is going to be very slow indeed, and very memory-intensive. It is unlikely that you'll be able to store even one mini-batch on your GPU.\\n\",\n    \"\\n\",\n    \"The solution to this problem is to tell PyTorch that we do not want to back propagate the derivatives through the entire implicit neural network. Instead, we will just keep the last three layers of gradients. To remove all of the gradient history in PyTorch, we use the `detach` method.\\n\",\n    \"\\n\",\n    \"Here is the new version of our RNN. It is now stateful, because it remembers its activations between different calls to `forward`, which represent its use for different samples in the batch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel3(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        self.h = 0\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        for i in range(3):\\n\",\n    \"            self.h = self.h + self.i_h(x[:,i])\\n\",\n    \"            self.h = F.relu(self.h_h(self.h))\\n\",\n    \"        out = self.h_o(self.h)\\n\",\n    \"        self.h = self.h.detach()\\n\",\n    \"        return out\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h = 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model will have the same activations whatever sequence length we pick, because the hidden state will remember the last activation from the previous batch. The only thing that will be different is the gradients computed at each step: they will only be calculated on sequence length tokens in the past, instead of the whole stream. This approach is called *backpropagation through time* (BPTT).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Back propagation through time (BPTT): Treating a neural net with effectively one layer per time step (usually refactored using a loop) as one big model, and calculating gradients on it in the usual way. To avoid running out of memory and time, we usually use _truncated_ BPTT, which \\\"detaches\\\" the history of computation steps in the hidden state every few time steps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To use `LMModel3`, we need to make sure the samples are going to be seen in a certain order. As we saw in <<chapter_nlp>>, if the first line of the first batch is our `dset[0]` then the second batch should have `dset[1]` as the first line, so that the model sees the text flowing.\\n\",\n    \"\\n\",\n    \"`LMDataLoader` was doing this for us in <<chapter_nlp>>. This time we're going to do it ourselves.\\n\",\n    \"\\n\",\n    \"To do this, we are going to rearrange our dataset. First we divide the samples into `m = len(dset) // bs` groups (this is the equivalent of splitting the whole concatenated dataset into, for example, 64 equally sized pieces, since we're using `bs=64` here). `m` is the length of each of these pieces. For instance, if we're using our whole dataset (although we'll actually split it into train versus valid in a moment), that will be:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(328, 64, 21031)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = len(seqs)//bs\\n\",\n    \"m,bs,len(seqs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first batch will be composed of the samples:\\n\",\n    \"\\n\",\n    \"    (0, m, 2*m, ..., (bs-1)*m)\\n\",\n    \"\\n\",\n    \"the second batch of the samples: \\n\",\n    \"\\n\",\n    \"    (1, m+1, 2*m+1, ..., (bs-1)*m+1)\\n\",\n    \"\\n\",\n    \"and so forth. This way, at each epoch, the model will see a chunk of contiguous text of size `3*m` (since each text is of size 3) on each line of the batch.\\n\",\n    \"\\n\",\n    \"The following function does that reindexing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def group_chunks(ds, bs):\\n\",\n    \"    m = len(ds) // bs\\n\",\n    \"    new_ds = L()\\n\",\n    \"    for i in range(m): new_ds += L(ds[i + m*j] for j in range(bs))\\n\",\n    \"    return new_ds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we just pass `drop_last=True` when building our `DataLoaders` to drop the last batch that does not have a shape of `bs`. We also pass `shuffle=False` to make sure the texts are read in order:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(\\n\",\n    \"    group_chunks(seqs[:cut], bs), \\n\",\n    \"    group_chunks(seqs[cut:], bs), \\n\",\n    \"    bs=bs, drop_last=True, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The last thing we add is a little tweak of the training loop via a `Callback`. We will talk more about callbacks in <<chapter_accel_sgd>>; this one will call the `reset` method of our model at the beginning of each epoch and before each validation phase. Since we implemented that method to zero the hidden state of the model, this will make sure we start with a clean state before reading those continuous chunks of text. We can also start training a bit longer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.677074</td>\\n\",\n       \"      <td>1.827367</td>\\n\",\n       \"      <td>0.467548</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.282722</td>\\n\",\n       \"      <td>1.870913</td>\\n\",\n       \"      <td>0.388942</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.090705</td>\\n\",\n       \"      <td>1.651793</td>\\n\",\n       \"      <td>0.462500</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.005092</td>\\n\",\n       \"      <td>1.613794</td>\\n\",\n       \"      <td>0.516587</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.965975</td>\\n\",\n       \"      <td>1.560775</td>\\n\",\n       \"      <td>0.551202</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.916182</td>\\n\",\n       \"      <td>1.595857</td>\\n\",\n       \"      <td>0.560577</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.897657</td>\\n\",\n       \"      <td>1.539733</td>\\n\",\n       \"      <td>0.574279</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.836274</td>\\n\",\n       \"      <td>1.585141</td>\\n\",\n       \"      <td>0.583173</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.805877</td>\\n\",\n       \"      <td>1.629808</td>\\n\",\n       \"      <td>0.586779</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.795096</td>\\n\",\n       \"      <td>1.651267</td>\\n\",\n       \"      <td>0.588942</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel3(len(vocab), 64), loss_func=F.cross_entropy,\\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(10, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is already better! The next step is to use more targets and compare them to the intermediate predictions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating More Signal\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another problem with our current approach is that we only predict one output word for each three input words. That means that the amount of signal that we are feeding back to update weights with is not as large as it could be. It would be better if we predicted the next word after every single word, rather than every three words, as shown in <<stateful_rep>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"RNN predicting after every token\\\" width=\\\"400\\\" caption=\\\"RNN predicting after every token\\\" id=\\\"stateful_rep\\\" src=\\\"images/att_00024.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is easy enough to add. We need to first change our data so that the dependent variable has each of the three next words after each of our three input words. Instead of `3`, we use an attribute, `sl` (for sequence length), and make it a bit bigger:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sl = 16\\n\",\n    \"seqs = L((tensor(nums[i:i+sl]), tensor(nums[i+1:i+sl+1]))\\n\",\n    \"         for i in range(0,len(nums)-sl-1,sl))\\n\",\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(group_chunks(seqs[:cut], bs),\\n\",\n    \"                             group_chunks(seqs[cut:], bs),\\n\",\n    \"                             bs=bs, drop_last=True, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking at the first element of `seqs`, we can see that it contains two lists of the same size. The second list is the same as the first, but offset by one element:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[(#16) ['one','.','two','.','three','.','four','.','five','.'...],\\n\",\n       \" (#16) ['.','two','.','three','.','four','.','five','.','six'...]]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"[L(vocab[o] for o in s) for s in seqs[0]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we need to modify our model so that it outputs a prediction after every word, rather than just at the end of a three-word sequence:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel4(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        self.h = 0\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        outs = []\\n\",\n    \"        for i in range(sl):\\n\",\n    \"            self.h = self.h + self.i_h(x[:,i])\\n\",\n    \"            self.h = F.relu(self.h_h(self.h))\\n\",\n    \"            outs.append(self.h_o(self.h))\\n\",\n    \"        self.h = self.h.detach()\\n\",\n    \"        return torch.stack(outs, dim=1)\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h = 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This model will return outputs of shape `bs x sl x vocab_sz` (since we stacked on `dim=1`). Our targets are of shape `bs x sl`, so we need to flatten those before using them in `F.cross_entropy`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def loss_func(inp, targ):\\n\",\n    \"    return F.cross_entropy(inp.view(-1, len(vocab)), targ.view(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now use this loss function to train the model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3.103298</td>\\n\",\n       \"      <td>2.874341</td>\\n\",\n       \"      <td>0.212565</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.231964</td>\\n\",\n       \"      <td>1.971280</td>\\n\",\n       \"      <td>0.462158</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.711358</td>\\n\",\n       \"      <td>1.813547</td>\\n\",\n       \"      <td>0.461182</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.448516</td>\\n\",\n       \"      <td>1.828176</td>\\n\",\n       \"      <td>0.483236</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.288630</td>\\n\",\n       \"      <td>1.659564</td>\\n\",\n       \"      <td>0.520671</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>1.161470</td>\\n\",\n       \"      <td>1.714023</td>\\n\",\n       \"      <td>0.554932</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>1.055568</td>\\n\",\n       \"      <td>1.660916</td>\\n\",\n       \"      <td>0.575033</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.960765</td>\\n\",\n       \"      <td>1.719624</td>\\n\",\n       \"      <td>0.591064</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.870153</td>\\n\",\n       \"      <td>1.839560</td>\\n\",\n       \"      <td>0.614665</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.808545</td>\\n\",\n       \"      <td>1.770278</td>\\n\",\n       \"      <td>0.624349</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.758084</td>\\n\",\n       \"      <td>1.842931</td>\\n\",\n       \"      <td>0.610758</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.719320</td>\\n\",\n       \"      <td>1.799527</td>\\n\",\n       \"      <td>0.646566</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.683439</td>\\n\",\n       \"      <td>1.917928</td>\\n\",\n       \"      <td>0.649821</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.660283</td>\\n\",\n       \"      <td>1.874712</td>\\n\",\n       \"      <td>0.628581</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.646154</td>\\n\",\n       \"      <td>1.877519</td>\\n\",\n       \"      <td>0.640055</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel4(len(vocab), 64), loss_func=loss_func,\\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We need to train for longer, since the task has changed a bit and is more complicated now. But we end up with a good result... At least, sometimes. If you run it a few times, you'll see that you can get quite different results on different runs. That's because effectively we have a very deep network here, which can result in very large or very small gradients. We'll see in the next part of this chapter how to deal with this.\\n\",\n    \"\\n\",\n    \"Now, the obvious way to get a better model is to go deeper: we only have one linear layer between the hidden state and the output activations in our basic RNN, so maybe we'll get better results with more.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Multilayer RNNs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In a multilayer RNN, we pass the activations from our recurrent neural network into a second recurrent neural network, like in <<stacked_rnn_rep>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"2-layer RNN\\\" width=\\\"550\\\" caption=\\\"2-layer RNN\\\" id=\\\"stacked_rnn_rep\\\" src=\\\"images/att_00025.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The unrolled representation is shown in <<unrolled_stack_rep>> (similar to <<lm_rep>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"2-layer unrolled RNN\\\" width=\\\"500\\\" caption=\\\"Two-layer unrolled RNN\\\" id=\\\"unrolled_stack_rep\\\" src=\\\"images/att_00026.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see how to implement this in practice.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can save some time by using PyTorch's `RNN` class, which implements exactly what we created earlier, but also gives us the option to stack multiple RNNs, as we have discussed:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel5(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.RNN(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h = torch.zeros(n_layers, bs, n_hidden)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        res,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        self.h = h.detach()\\n\",\n    \"        return self.h_o(res)\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3.055853</td>\\n\",\n       \"      <td>2.591640</td>\\n\",\n       \"      <td>0.437907</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.162359</td>\\n\",\n       \"      <td>1.787310</td>\\n\",\n       \"      <td>0.471598</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.710663</td>\\n\",\n       \"      <td>1.941807</td>\\n\",\n       \"      <td>0.321777</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.520783</td>\\n\",\n       \"      <td>1.999726</td>\\n\",\n       \"      <td>0.312012</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.330846</td>\\n\",\n       \"      <td>2.012902</td>\\n\",\n       \"      <td>0.413249</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>1.163297</td>\\n\",\n       \"      <td>1.896192</td>\\n\",\n       \"      <td>0.450684</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>1.033813</td>\\n\",\n       \"      <td>2.005209</td>\\n\",\n       \"      <td>0.434814</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.919090</td>\\n\",\n       \"      <td>2.047083</td>\\n\",\n       \"      <td>0.456706</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.822939</td>\\n\",\n       \"      <td>2.068031</td>\\n\",\n       \"      <td>0.468831</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.750180</td>\\n\",\n       \"      <td>2.136064</td>\\n\",\n       \"      <td>0.475098</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.695120</td>\\n\",\n       \"      <td>2.139140</td>\\n\",\n       \"      <td>0.485433</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.655752</td>\\n\",\n       \"      <td>2.155081</td>\\n\",\n       \"      <td>0.493652</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.629650</td>\\n\",\n       \"      <td>2.162583</td>\\n\",\n       \"      <td>0.498535</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.613583</td>\\n\",\n       \"      <td>2.171649</td>\\n\",\n       \"      <td>0.491048</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.604309</td>\\n\",\n       \"      <td>2.180355</td>\\n\",\n       \"      <td>0.487874</td>\\n\",\n       \"      <td>00:01</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel5(len(vocab), 64, 2), \\n\",\n    \"                loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that's disappointing... our previous single-layer RNN performed better. Why? The reason is that we have a deeper model, leading to exploding or vanishing activations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Exploding or Disappearing Activations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In practice, creating accurate models from this kind of RNN is difficult. We will get better results if we call `detach` less often, and have more layers—this gives our RNN a longer time horizon to learn from, and richer features to create. But it also means we have a deeper model to train. The key challenge in the development of deep learning has been figuring out how to train these kinds of models.\\n\",\n    \"\\n\",\n    \"The reason this is challenging is because of what happens when you multiply by a matrix many times. Think about what happens when you multiply by a number many times. For example, if you multiply by 2, starting at 1, you get the sequence 1, 2, 4, 8,... after 32 steps you are already at 4,294,967,296. A similar issue happens if you multiply by 0.5: you get 0.5, 0.25, 0.125… and after 32 steps it's 0.00000000023. As you can see, multiplying by a number even slightly higher or lower than 1 results in an explosion or disappearance of our starting number, after just a few repeated multiplications.\\n\",\n    \"\\n\",\n    \"Because matrix multiplication is just multiplying numbers and adding them up, exactly the same thing happens with repeated matrix multiplications. And that's all a deep neural network is —each extra layer is another matrix multiplication. This means that it is very easy for a deep neural network to end up with extremely large or extremely small numbers.\\n\",\n    \"\\n\",\n    \"This is a problem, because the way computers store numbers (known as \\\"floating point\\\") means that they become less and less accurate the further away the numbers get from zero. The diagram in <<float_prec>>, from the excellent article [\\\"What You Never Wanted to Know About Floating Point but Will Be Forced to Find Out\\\"](http://www.volkerschatz.com/science/float.html), shows how the precision of floating-point numbers varies over the number line.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Precision of floating point numbers\\\" width=\\\"1000\\\" caption=\\\"Precision of floating-point numbers\\\" id=\\\"float_prec\\\" src=\\\"images/fltscale.svg\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This inaccuracy means that often the gradients calculated for updating the weights end up as zero or infinity for deep networks. This is commonly referred to as the *vanishing gradients* or *exploding gradients* problem. It means that in SGD, the weights are either not updated at all or jump to infinity. Either way, they won't improve with training.\\n\",\n    \"\\n\",\n    \"Researchers have developed a number of ways to tackle this problem, which we will be discussing later in the book. One option is to change the definition of a layer in a way that makes it less likely to have exploding activations. We'll look at the details of how this is done in <<chapter_convolutions>>, when we discuss batch normalization, and <<chapter_resnet>>, when we discuss ResNets, although these details don't generally matter in practice (unless you are a researcher that is creating new approaches to solving this problem). Another strategy for dealing with this is by being careful about initialization, which is a topic we'll investigate in <<chapter_foundations>>.\\n\",\n    \"\\n\",\n    \"For RNNs, there are two types of layers that are frequently used to avoid exploding activations: *gated recurrent units* (GRUs) and *long short-term memory* (LSTM) layers. Both of these are available in PyTorch, and are drop-in replacements for the RNN layer. We will only cover LSTMs in this book; there are plenty of good tutorials online explaining GRUs, which are a minor variant on the LSTM design.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"LSTM is an architecture that was introduced back in 1997 by Jürgen Schmidhuber and Sepp Hochreiter. In this architecture, there are not one but two hidden states. In our base RNN, the hidden state is the output of the RNN at the previous time step. That hidden state is then responsible for two things:\\n\",\n    \"\\n\",\n    \"- Having the right information for the output layer to predict the correct next token\\n\",\n    \"- Retaining memory of everything that happened in the sentence\\n\",\n    \"\\n\",\n    \"Consider, for example, the sentences \\\"Henry has a dog and he likes his dog very much\\\" and \\\"Sophie has a dog and she likes her dog very much.\\\" It's very clear that the RNN needs to remember the name at the beginning of the sentence to be able to predict *he/she* or *his/her*. \\n\",\n    \"\\n\",\n    \"In practice, RNNs are really bad at retaining memory of what happened much earlier in the sentence, which is the motivation to have another hidden state (called *cell state*) in the LSTM. The cell state will be responsible for keeping *long short-term memory*, while the hidden state will focus on the next token to predict. Let's take a closer look at how this is achieved and build an LSTM from scratch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Building an LSTM from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In order to build an LSTM, we first have to understand its architecture. <<lstm>> shows its inner structure.\\n\",\n    \"    \\n\",\n    \"<img src=\\\"images/LSTM.png\\\" id=\\\"lstm\\\" caption=\\\"Architecture of an LSTM\\\" alt=\\\"A graph showing the inner architecture of an LSTM\\\" width=\\\"700\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this picture, our input $x_{t}$ enters on the left with the previous hidden state ($h_{t-1}$) and cell state ($c_{t-1}$). The four orange boxes represent four layers (our neural nets) with the activation being either sigmoid ($\\\\sigma$) or tanh. tanh is just a sigmoid function rescaled to the range -1 to 1. Its mathematical expression can be written like this:\\n\",\n    \"\\n\",\n    \"$$\\\\tanh(x) = \\\\frac{e^{x} - e^{-x}}{e^{x}+e^{-x}} = 2 \\\\sigma(2x) - 1$$\\n\",\n    \"\\n\",\n    \"where $\\\\sigma$ is the sigmoid function. The green circles are elementwise operations. What goes out on the right is the new hidden state ($h_{t}$) and new cell state ($c_{t}$), ready for our next input. The new hidden state is also used as output, which is why the arrow splits to go up.\\n\",\n    \"\\n\",\n    \"Let's go over the four neural nets (called *gates*) one by one and explain the diagram—but before this, notice how very little the cell state (at the top) is changed. It doesn't even go directly through a neural net! This is exactly why it will carry on a longer-term state.\\n\",\n    \"\\n\",\n    \"First, the arrows for input and old hidden state are joined together. In the RNN we wrote earlier in this chapter, we were adding them together. In the LSTM, we stack them in one big tensor. This means the dimension of our embeddings (which is the dimension of $x_{t}$) can be different than the dimension of our hidden state. If we call those `n_in` and `n_hid`, the arrow at the bottom is of size `n_in + n_hid`; thus all the neural nets (orange boxes) are linear layers with `n_in + n_hid` inputs and `n_hid` outputs.\\n\",\n    \"\\n\",\n    \"The first gate (looking from left to right) is called the *forget gate*. Since it’s a linear layer followed by a sigmoid, its output will consist of scalars between 0 and 1. We multiply this result by the cell state to determine which information to keep and which to throw away: values closer to 0 are discarded and values closer to 1 are kept. This gives the LSTM the ability to forget things about its long-term state. For instance, when crossing a period or an `xxbos` token, we would expect to it to (have learned to) reset its cell state.\\n\",\n    \"\\n\",\n    \"The second gate is called the *input gate*. It works with the third gate (which doesn't really have a name but is sometimes called the *cell gate*) to update the cell state. For instance, we may see a new gender pronoun, in which case we'll need to replace the information about gender that the forget gate removed. Similar to the forget gate, the input gate decides which elements of the cell state to update (values close to 1) or not (values close to 0). The third gate determines what those updated values are, in the range of –1 to 1 (thanks to the tanh function). The result is then added to the cell state.\\n\",\n    \"\\n\",\n    \"The last gate is the *output gate*. It determines which information from the cell state to use to generate the output. The cell state goes through a tanh before being combined with the sigmoid output from the output gate, and the result is the new hidden state.\\n\",\n    \"\\n\",\n    \"In terms of code, we can write the same steps like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMCell(Module):\\n\",\n    \"    def __init__(self, ni, nh):\\n\",\n    \"        self.forget_gate = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.input_gate  = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.cell_gate   = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.output_gate = nn.Linear(ni + nh, nh)\\n\",\n    \"\\n\",\n    \"    def forward(self, input, state):\\n\",\n    \"        h,c = state\\n\",\n    \"        h = torch.cat([h, input], dim=1)\\n\",\n    \"        forget = torch.sigmoid(self.forget_gate(h))\\n\",\n    \"        c = c * forget\\n\",\n    \"        inp = torch.sigmoid(self.input_gate(h))\\n\",\n    \"        cell = torch.tanh(self.cell_gate(h))\\n\",\n    \"        c = c + inp * cell\\n\",\n    \"        out = torch.sigmoid(self.output_gate(h))\\n\",\n    \"        h = out * torch.tanh(c)\\n\",\n    \"        return h, (h,c)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In practice, we can then refactor the code. Also, in terms of performance, it's better to do one big matrix multiplication than four smaller ones (that's because we only launch the special fast kernel on the GPU once, and it gives the GPU more work to do in parallel). The stacking takes a bit of time (since we have to move one of the tensors around on the GPU to have it all in a contiguous array), so we use two separate layers for the input and the hidden state. The optimized and refactored code then looks like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMCell(Module):\\n\",\n    \"    def __init__(self, ni, nh):\\n\",\n    \"        self.ih = nn.Linear(ni,4*nh)\\n\",\n    \"        self.hh = nn.Linear(nh,4*nh)\\n\",\n    \"\\n\",\n    \"    def forward(self, input, state):\\n\",\n    \"        h,c = state\\n\",\n    \"        # One big multiplication for all the gates is better than 4 smaller ones\\n\",\n    \"        gates = (self.ih(input) + self.hh(h)).chunk(4, 1)\\n\",\n    \"        ingate,forgetgate,outgate = map(torch.sigmoid, gates[:3])\\n\",\n    \"        cellgate = gates[3].tanh()\\n\",\n    \"\\n\",\n    \"        c = (forgetgate*c) + (ingate*cellgate)\\n\",\n    \"        h = outgate * c.tanh()\\n\",\n    \"        return h, (h,c)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here we use the PyTorch `chunk` method to split our tensor into four pieces. It works like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = torch.arange(0,10); t\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor([0, 1, 2, 3, 4]), tensor([5, 6, 7, 8, 9]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t.chunk(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now use this architecture to train a language model!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Language Model Using LSTMs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is the same network as `LMModel5`, using a two-layer LSTM. We can train it at a higher learning rate, for a shorter time, and get better accuracy:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel6(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        res,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        self.h = [h_.detach() for h_ in h]\\n\",\n    \"        return self.h_o(res)\\n\",\n    \"    \\n\",\n    \"    def reset(self): \\n\",\n    \"        for h in self.h: h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>3.000821</td>\\n\",\n       \"      <td>2.663942</td>\\n\",\n       \"      <td>0.438314</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.139642</td>\\n\",\n       \"      <td>2.184780</td>\\n\",\n       \"      <td>0.240479</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.607275</td>\\n\",\n       \"      <td>1.812682</td>\\n\",\n       \"      <td>0.439779</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.347711</td>\\n\",\n       \"      <td>1.830982</td>\\n\",\n       \"      <td>0.497477</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.123113</td>\\n\",\n       \"      <td>1.937766</td>\\n\",\n       \"      <td>0.594401</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.852042</td>\\n\",\n       \"      <td>2.012127</td>\\n\",\n       \"      <td>0.631592</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.565494</td>\\n\",\n       \"      <td>1.312742</td>\\n\",\n       \"      <td>0.725749</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.347445</td>\\n\",\n       \"      <td>1.297934</td>\\n\",\n       \"      <td>0.711263</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.208191</td>\\n\",\n       \"      <td>1.441269</td>\\n\",\n       \"      <td>0.731201</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.126335</td>\\n\",\n       \"      <td>1.569952</td>\\n\",\n       \"      <td>0.737305</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.079761</td>\\n\",\n       \"      <td>1.427187</td>\\n\",\n       \"      <td>0.754150</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.052990</td>\\n\",\n       \"      <td>1.494990</td>\\n\",\n       \"      <td>0.745117</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.039008</td>\\n\",\n       \"      <td>1.393731</td>\\n\",\n       \"      <td>0.757894</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.031502</td>\\n\",\n       \"      <td>1.373210</td>\\n\",\n       \"      <td>0.758464</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.028068</td>\\n\",\n       \"      <td>1.368083</td>\\n\",\n       \"      <td>0.758464</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = Learner(dls, LMModel6(len(vocab), 64, 2), \\n\",\n    \"                loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that's better than a multilayer RNN! We can still see there is a bit of overfitting, however, which is a sign that a bit of regularization might help.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regularizing an LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Recurrent neural networks, in general, are hard to train, because of the problem of vanishing activations and gradients we saw before. Using LSTM (or GRU) cells makes training easier than with vanilla RNNs, but they are still very prone to overfitting. Data augmentation, while a possibility, is less often used for text data than for images because in most cases it requires another model to generate random augmentations (e.g., by translating the text into another language and then back into the original language). Overall, data augmentation for text data is currently not a well-explored space.\\n\",\n    \"\\n\",\n    \"However, there are other regularization techniques we can use instead to reduce overfitting, which were thoroughly studied for use with LSTMs in the paper [\\\"Regularizing and Optimizing LSTM Language Models\\\"](https://arxiv.org/abs/1708.02182) by Stephen Merity, Nitish Shirish Keskar, and Richard Socher. This paper showed how effective use of *dropout*, *activation regularization*, and *temporal activation regularization* could allow an LSTM to beat state-of-the-art results that previously required much more complicated models. The authors called an LSTM using these techniques an *AWD-LSTM*. We'll look at each of these techniques in turn.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dropout\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Dropout is a regularization technique that was introduced by Geoffrey Hinton et al. in [Improving neural networks by preventing co-adaptation of feature detectors](https://arxiv.org/abs/1207.0580). The basic idea is to randomly change some activations to zero at training time. This makes sure all neurons actively work toward the output, as seen in <<img_dropout>> (from \\\"Dropout: A Simple Way to Prevent Neural Networks from Overfitting\\\" by Nitish Srivastava et al.).\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/Dropout1.png\\\" alt=\\\"A figure from the article showing how neurons go off with dropout\\\" width=\\\"800\\\" id=\\\"img_dropout\\\" caption=\\\"Applying dropout in a neural network (courtesy of Nitish Srivastava et al.)\\\">\\n\",\n    \"\\n\",\n    \"Hinton used a nice metaphor when he explained, in an interview, the inspiration for dropout:\\n\",\n    \"\\n\",\n    \"> : I went to my bank. The tellers kept changing and I asked one of them why. He said he didn’t know but they got moved around a lot. I figured it must be because it would require cooperation between employees to successfully defraud the bank. This made me realize that randomly removing a different subset of neurons on each example would prevent conspiracies and thus reduce overfitting.\\n\",\n    \"\\n\",\n    \"In the same interview, he also explained that neuroscience provided additional inspiration:\\n\",\n    \"\\n\",\n    \"> : We don't really know why neurons spike. One theory is that they want to be noisy so as to regularize, because we have many more parameters than we have data points. The idea of dropout is that if you have noisy activations, you can afford to use a much bigger model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This explains the idea behind why dropout helps to generalize: first it helps the neurons to cooperate better together, then it makes the activations more noisy, thus making the model more robust.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see, however, that if we were to just zero those activations without doing anything else, our model would have problems training: if we go from the sum of five activations (that are all positive numbers since we apply a ReLU) to just two, this won't have the same scale. Therefore, if we apply dropout with a probability `p`, we rescale all activations by dividing them by `1-p` (on average `p` will be zeroed, so it leaves `1-p`), as shown in <<img_dropout1>>.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/Dropout.png\\\" alt=\\\"A figure from the article introducing dropout showing how a neuron is on/off\\\" width=\\\"600\\\" id=\\\"img_dropout1\\\" caption=\\\"Why scale the activations when applying dropout (courtesy of Nitish Srivastava et al.)\\\">\\n\",\n    \"\\n\",\n    \"This is a full implementation of the dropout layer in PyTorch (although PyTorch's native layer is actually written in C, not Python):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Dropout(Module):\\n\",\n    \"    def __init__(self, p): self.p = p\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        if not self.training: return x\\n\",\n    \"        mask = x.new(*x.shape).bernoulli_(1-p)\\n\",\n    \"        return x * mask.div_(1-p)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `bernoulli_` method is creating a tensor of random zeros (with probability `p`) and ones (with probability `1-p`), which is then multiplied with our input before dividing by `1-p`. Note the use of the `training` attribute, which is available in any PyTorch `nn.Module`, and tells us if we are doing training or inference.\\n\",\n    \"\\n\",\n    \"> note: Do Your Own Experiments: In previous chapters of the book we'd be adding a code example for `bernoulli_` here, so you can see exactly how it works. But now that you know enough to do this yourself, we're going to be doing fewer and fewer examples for you, and instead expecting you to do your own experiments to see how things work. In this case, you'll see in the end-of-chapter questionnaire that we're asking you to experiment with `bernoulli_`—but don't wait for us to ask you to experiment to develop your understanding of the code we're studying; go ahead and do it anyway!\\n\",\n    \"\\n\",\n    \"Using dropout before passing the output of our LSTM to the final layer will help reduce overfitting. Dropout is also used in many other models, including the default CNN head used in `fastai.vision`, and is available in `fastai.tabular` by passing the `ps` parameter (where each \\\"p\\\" is passed to each added `Dropout` layer), as we'll see in <<chapter_arch_details>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Dropout has different behavior in training and validation mode, which we specified using the `training` attribute in `Dropout`. Calling the `train` method on a `Module` sets `training` to `True` (both for the module you call the method on and for every module it recursively contains), and `eval` sets it to `False`. This is done automatically when calling the methods of `Learner`, but if you are not using that class, remember to switch from one to the other as needed.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Activation Regularization and Temporal Activation Regularization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Activation regularization* (AR) and *temporal activation regularization* (TAR) are two regularization methods very similar to weight decay, discussed in <<chapter_collab>>. When applying weight decay, we add a small penalty to the loss that aims at making the weights as small as possible. For activation regularization, it's the final activations produced by the LSTM that we will try to make as small as possible, instead of the weights.\\n\",\n    \"\\n\",\n    \"To regularize the final activations, we have to store those somewhere, then add the means of the squares of them to the loss (along with a multiplier `alpha`, which is just like `wd` for weight decay):\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"loss += alpha * activations.pow(2).mean()\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Temporal activation regularization is linked to the fact we are predicting tokens in a sentence. That means it's likely that the outputs of our LSTMs should somewhat make sense when we read them in order. TAR is there to encourage that behavior by adding a penalty to the loss to make the difference between two consecutive activations as small as possible: our activations tensor has a shape `bs x sl x n_hid`, and we read consecutive activations on the sequence length axis (the dimension in the middle). With this, TAR can be expressed as:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"loss += beta * (activations[:,1:] - activations[:,:-1]).pow(2).mean()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"`alpha` and `beta` are then two hyperparameters to tune. To make this work, we need our model with dropout to return three things: the proper output, the activations of the LSTM pre-dropout, and the activations of the LSTM post-dropout. AR is often applied on the dropped-out activations (to not penalize the activations we turned into zeros afterward) while TAR is applied on the non-dropped-out activations (because those zeros create big differences between two consecutive time steps). There is then a callback called `RNNRegularizer` that will apply this regularization for us.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Weight-Tied Regularized LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can combine dropout (applied before we go into our output layer) with AR and TAR to train our previous LSTM. We just need to return three things instead of one: the normal output of our LSTM, the dropped-out activations, and the activations from our LSTMs. The last two will be picked up by the callback `RNNRegularization` for the contributions it has to make to the loss.\\n\",\n    \"\\n\",\n    \"Another useful trick we can add from [the AWD LSTM paper](https://arxiv.org/abs/1708.02182) is *weight tying*. In a language model, the input embeddings represent a mapping from English words to activations, and the output hidden layer represents a mapping from activations to English words. We might expect, intuitively, that these mappings could be the same. We can represent this in PyTorch by assigning the same weight matrix to each of these layers:\\n\",\n    \"\\n\",\n    \"    self.h_o.weight = self.i_h.weight\\n\",\n    \"\\n\",\n    \"In `LMModel7`, we include these final tweaks:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel7(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers, p):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.drop = nn.Dropout(p)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h_o.weight = self.i_h.weight\\n\",\n    \"        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        raw,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        out = self.drop(raw)\\n\",\n    \"        self.h = [h_.detach() for h_ in h]\\n\",\n    \"        return self.h_o(out),raw,out\\n\",\n    \"    \\n\",\n    \"    def reset(self): \\n\",\n    \"        for h in self.h: h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create a regularized `Learner` using the `RNNRegularizer` callback:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel7(len(vocab), 64, 2, 0.5),\\n\",\n    \"                loss_func=CrossEntropyLossFlat(), metrics=accuracy,\\n\",\n    \"                cbs=[ModelResetter, RNNRegularizer(alpha=2, beta=1)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `TextLearner` automatically adds those two callbacks for us (with those values for `alpha` and `beta` as defaults), so we can simplify the preceding line to:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = TextLearner(dls, LMModel7(len(vocab), 64, 2, 0.4),\\n\",\n    \"                    loss_func=CrossEntropyLossFlat(), metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can then train the model, and add additional regularization by increasing the weight decay to `0.1`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.693885</td>\\n\",\n       \"      <td>2.013484</td>\\n\",\n       \"      <td>0.466634</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.685549</td>\\n\",\n       \"      <td>1.187310</td>\\n\",\n       \"      <td>0.629313</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.973307</td>\\n\",\n       \"      <td>0.791398</td>\\n\",\n       \"      <td>0.745605</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.555823</td>\\n\",\n       \"      <td>0.640412</td>\\n\",\n       \"      <td>0.794108</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.351802</td>\\n\",\n       \"      <td>0.557247</td>\\n\",\n       \"      <td>0.836100</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.244986</td>\\n\",\n       \"      <td>0.594977</td>\\n\",\n       \"      <td>0.807292</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.192231</td>\\n\",\n       \"      <td>0.511690</td>\\n\",\n       \"      <td>0.846761</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.162456</td>\\n\",\n       \"      <td>0.520370</td>\\n\",\n       \"      <td>0.858073</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.142664</td>\\n\",\n       \"      <td>0.525918</td>\\n\",\n       \"      <td>0.842285</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.128493</td>\\n\",\n       \"      <td>0.495029</td>\\n\",\n       \"      <td>0.858073</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.117589</td>\\n\",\n       \"      <td>0.464236</td>\\n\",\n       \"      <td>0.867188</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.109808</td>\\n\",\n       \"      <td>0.466550</td>\\n\",\n       \"      <td>0.869303</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.104216</td>\\n\",\n       \"      <td>0.455151</td>\\n\",\n       \"      <td>0.871826</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.100271</td>\\n\",\n       \"      <td>0.452659</td>\\n\",\n       \"      <td>0.873617</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.098121</td>\\n\",\n       \"      <td>0.458372</td>\\n\",\n       \"      <td>0.869385</td>\\n\",\n       \"      <td>00:02</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(15, 1e-2, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now this is far better than our previous model!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You have now seen everything that is inside the AWD-LSTM architecture we used in text classification in <<chapter_nlp>>. It uses dropout in a lot more places:\\n\",\n    \"\\n\",\n    \"- Embedding dropout (inside the embedding layer, drops some random lines of embeddings)\\n\",\n    \"- Input dropout (applied after the embedding layer)\\n\",\n    \"- Weight dropout (applied to the weights of the LSTM at each training step)\\n\",\n    \"- Hidden dropout (applied to the hidden state between two layers)\\n\",\n    \"\\n\",\n    \"This makes it even more regularized. Since fine-tuning those five dropout values (including the dropout before the output layer) is complicated, we have determined good defaults and allow the magnitude of dropout to be tuned overall with the `drop_mult` parameter you saw in that chapter (which is multiplied by each dropout).\\n\",\n    \"\\n\",\n    \"Another architecture that is very powerful, especially in \\\"sequence-to-sequence\\\" problems (that is, problems where the dependent variable is itself a variable-length sequence, such as language translation), is the Transformers architecture. You can find it in a bonus chapter on the [book's website](https://book.fast.ai/).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. If the dataset for your project is so big and complicated that working with it takes a significant amount of time, what should you do?\\n\",\n    \"1. Why do we concatenate the documents in our dataset before creating a language model?\\n\",\n    \"1. To use a standard fully connected network to predict the fourth word given the previous three words, what two tweaks do we need to make to our model?\\n\",\n    \"1. How can we share a weight matrix across multiple layers in PyTorch?\\n\",\n    \"1. Write a module that predicts the third word given the previous two words of a sentence, without peeking.\\n\",\n    \"1. What is a recurrent neural network?\\n\",\n    \"1. What is \\\"hidden state\\\"?\\n\",\n    \"1. What is the equivalent of hidden state in ` LMModel1`?\\n\",\n    \"1. To maintain the state in an RNN, why is it important to pass the text to the model in order?\\n\",\n    \"1. What is an \\\"unrolled\\\" representation of an RNN?\\n\",\n    \"1. Why can maintaining the hidden state in an RNN lead to memory and performance problems? How do we fix this problem?\\n\",\n    \"1. What is \\\"BPTT\\\"?\\n\",\n    \"1. Write code to print out the first few batches of the validation set, including converting the token IDs back into English strings, as we showed for batches of IMDb data in <<chapter_nlp>>.\\n\",\n    \"1. What does the `ModelResetter` callback do? Why do we need it?\\n\",\n    \"1. What are the downsides of predicting just one output word for each three input words?\\n\",\n    \"1. Why do we need a custom loss function for `LMModel4`?\\n\",\n    \"1. Why is the training of `LMModel4` unstable?\\n\",\n    \"1. In the unrolled representation, we can see that a recurrent neural network actually has many layers. So why do we need to stack RNNs to get better results?\\n\",\n    \"1. Draw a representation of a stacked (multilayer) RNN.\\n\",\n    \"1. Why should we get better results in an RNN if we call `detach` less often? Why might this not happen in practice with a simple RNN?\\n\",\n    \"1. Why can a deep network result in very large or very small activations? Why does this matter?\\n\",\n    \"1. In a computer's floating-point representation of numbers, which numbers are the most precise?\\n\",\n    \"1. Why do vanishing gradients prevent training?\\n\",\n    \"1. Why does it help to have two hidden states in the LSTM architecture? What is the purpose of each one?\\n\",\n    \"1. What are these two states called in an LSTM?\\n\",\n    \"1. What is tanh, and how is it related to sigmoid?\\n\",\n    \"1. What is the purpose of this code in `LSTMCell`: `h = torch.cat([h, input], dim=1)`\\n\",\n    \"1. What does `chunk` do in PyTorch?\\n\",\n    \"1. Study the refactored version of `LSTMCell` carefully to ensure you understand how and why it does the same thing as the non-refactored version.\\n\",\n    \"1. Why can we use a higher learning rate for `LMModel6`?\\n\",\n    \"1. What are the three regularization techniques used in an AWD-LSTM model?\\n\",\n    \"1. What is \\\"dropout\\\"?\\n\",\n    \"1. Why do we scale the acitvations with dropout? Is this applied during training, inference, or both?\\n\",\n    \"1. What is the purpose of this line from `Dropout`: `if not self.training: return x`\\n\",\n    \"1. Experiment with `bernoulli_` to understand how it works.\\n\",\n    \"1. How do you set your model in training mode in PyTorch? In evaluation mode?\\n\",\n    \"1. Write the equation for activation regularization (in math or code, as you prefer). How is it different from weight decay?\\n\",\n    \"1. Write the equation for temporal activation regularization (in math or code, as you prefer). Why wouldn't we use this for computer vision problems?\\n\",\n    \"1. What is \\\"weight tying\\\" in a language model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. In ` LMModel2`, why can `forward` start with `h=0`? Why don't we need to say `h=torch.zeros(...)`?\\n\",\n    \"1. Write the code for an LSTM from scratch (you may refer to <<lstm>>).\\n\",\n    \"1. Search the internet for the GRU architecture and implement it from scratch, and try training a model. See if you can get results similar to those we saw in this chapter. Compare your results to the results of PyTorch's built in `GRU` module.\\n\",\n    \"1. Take a look at the source code for AWD-LSTM in fastai, and try to map each of the lines of code to the concepts shown in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "13_convolutions.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"from fastbook import *\\n\",\n    \"\\n\",\n    \"matplotlib.rc('image', cmap='Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_convolutions]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Convolutional Neural Networks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In <<chapter_mnist_basics>> we learned how to create a neural network recognizing images. We were able to achieve a bit over 98% accuracy at distinguishing 3s from 7s—but we also saw that fastai's built-in classes were able to get close to 100%. Let's start trying to close the gap.\\n\",\n    \"\\n\",\n    \"In this chapter, we will begin by digging into what convolutions are and building a CNN from scratch. We will then study a range of techniques to improve training stability and learn all the tweaks the library usually applies for us to get great results.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Magic of Convolutions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the most powerful tools that machine learning practitioners have at their disposal is *feature engineering*. A *feature* is a transformation of the data which is designed to make it easier to model. For instance, the `add_datepart` function that we used for our tabular dataset preprocessing in <<chapter_tabular>> added date features to the Bulldozers dataset. What kinds of features might we be able to create from images?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Feature engineering: Creating new transformations of the input data in order to make it easier to model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the context of an image, a feature is a visually distinctive attribute. For example, the number 7 is characterized by a horizontal edge near the top of the digit, and a top-right to bottom-left diagonal edge underneath that. On the other hand, the number 3 is characterized by a diagonal edge in one direction at the top left and bottom right of the digit, the opposite diagonal at the bottom left and top right, horizontal edges at the middle, top, and bottom, and so forth. So what if we could extract information about where the edges occur in each image, and then use that information as our features, instead of raw pixels?\\n\",\n    \"\\n\",\n    \"It turns out that finding the edges in an image is a very common task in computer vision, and is surprisingly straightforward. To do it, we use something called a *convolution*. A convolution requires nothing more than multiplication, and addition—two operations that are responsible for the vast majority of work that we will see in every single deep learning model in this book!\\n\",\n    \"\\n\",\n    \"A convolution applies a *kernel* across an image. A kernel is a little matrix, such as the 3×3 matrix in the top right of <<basic_conv>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter9_conv_basic.png\\\" id=\\\"basic_conv\\\" caption=\\\"Applying a kernel to one location\\\" alt=\\\"Applying a kernel to one location\\\" width=\\\"700\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The 7×7 grid to the left is the *image* we're going to apply the kernel to. The convolution operation multiplies each element of the kernel by each element of a 3×3 block of the image. The results of these multiplications are then added together. The diagram in <<basic_conv>> shows an example of applying a kernel to a single location in the image, the 3×3 block around cell 18.\\n\",\n    \"\\n\",\n    \"Let's do this with code. First, we create a little 3×3 matrix like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"top_edge = tensor([[-1,-1,-1],\\n\",\n    \"                   [ 0, 0, 0],\\n\",\n    \"                   [ 1, 1, 1]]).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're going to call this our kernel (because that's what fancy computer vision researchers call these). And we'll need an image, of course:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST_SAMPLE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAADyElEQVR4nO2aTSg1URjHf1eIS9gQETYWPhOiFLGwkiTJzs7OXpFsWMlKsqEoRT4WFmKhlI+wsWWluCtECIVh3oX3mNd5hzvGneum51d3MzPOee7//p3zPM8Zn2maCBZRPx1ApCGCaIggGiKIhgiiER3k/m/egnx2F8UhGiKIhgiiIYJoiCAaIoiGCKIhgmiIIBrBMlVbHh8fAVhfXwcgPj4egO3tbQCur68BGBkZAaClpQWArKysD8fMzMwEoLm5GYDs7Gw3oX0bcYiGL0jHzPbm0NAQAN3d3SEPKCrq9TeqqKgAoLOzE4DW1lYAUlJSQjWV1DJOcOWQgoICAA4PD23/KC0tDYCamppPJ8/Pzwfg4OCAs7MzADY3N22f3d/fB6C0tPTTMb+AOMQJrnaZra0tAE5OToD/d4TY2FgAEhMTHY/58PAAQGFhIQBHR0fv7s/PzwMhdYgt4hANV2uIF2xsbABQV1f37npcXBzwus4A5OTkhGpKWUMcYZrmZx9PMQzDNAzD7O3tNf1+v+n3+02fz/fuEwgEzEAg4MX0tt9ZHKLhapf5Lip/mZiYAGB4ePjtXkxMDACLi4sApKenhzU2cYhGWB1yfHwMQHFxMQDPz8//PaNqGVUZ+3y2m4FniEM0wuqQ2dlZwN4ZCpWxlpWVAVBfXw9Ae3s7AE1NTQBkZGR4EmNYEzOVjvf39wOwtrYGwOnpqeMx1L/U4OAgAF1dXQAkJCR8NRxJzJzwo6m7ajXe3NxweXkJwMzMDGA1oYLE99aeXFhYAL60CItDnBAxxZ2OKvYGBgYAa735iMnJSQA6OjqcTiEOccKPpO5OqK2tBWB1dRWwmsxLS0u2z6v2wHcRh2hErEMUKu+oqqoCPnZIUVFRaOYLySi/CE8dcnt7C8D09DQAJSUlAFRXVzse4+XlBbCOIXSio1+/QmVlpes4/0UcouGJQ5QzGhoaANjb2wPg/v7e8Rh3d3cAjI2NAVYmqlNeXg5AXl6eu2A1xCEanjhEHYIrZyguLi4A66hTtQsBnp6eABgfHwegp6cHsOodhcqsk5OTAZiamgpp7OIQDU9qmZWVFQAaGxtt76tD8NTU1Ldr5+fnwMeH3YqkpCQAdnZ2AOvA3AVSyzjBE4dcXV0B0NfXB8Do6KibYQArz1Adsra2NgByc3Ndj/kXcYgTPO2HGIYBwO7uLgDLy8uAVXfMzc29PatewlGo9Uc54bMX9lwiDnFCxHbMwoA4xAkiiIYIoiGCaIggGsGq3fC+ixABiEM0RBANEURDBNEQQTREEI0/H3jyQ4wdtXsAAAAASUVORK5CYII=\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"im3 = Image.open(path/'train'/'3'/'12.png')\\n\",\n    \"show_image(im3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we're going to take the top 3×3-pixel square of our image, and multiply each of those values by each item in our kernel. Then we'll add them up, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[-0., -0., -0.],\\n\",\n       \"        [0., 0., 0.],\\n\",\n       \"        [0., 0., 0.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im3_t = tensor(im3)\\n\",\n    \"im3_t[0:3,0:3] * top_edge\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(im3_t[0:3,0:3] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Not very interesting so far—all the pixels in the top-left corner are white. But let's pick a couple of more interesting spots:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<style  type=\\\"text/css\\\" >\\n\",\n       \"    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f9f9f9;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #b9b9b9;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #c1c1c1;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #858585;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #777777;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #090909;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #5b5b5b;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #777777;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #777777;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #777777;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #777777;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #919191;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #e1e1e1;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #727272;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #020202;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #363636;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #9d9d9d;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #dfdfdf;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #161616;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #535353;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #535353;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #535353;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #535353;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #7c7c7c;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #535353;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #3d3d3d;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #999999;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #eaeaea;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #d0d0d0;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #eeeeee;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #eeeeee;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f3f3f3;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #f9f9f9;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #232323;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col0 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col1 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col2 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col3 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col4 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col5 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col6 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col7 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col8 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col9 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col10 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col11 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col12 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col13 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col14 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #c2c2c2;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col15 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col16 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #000000;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col17 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #080808;\\n\",\n       \"            color:  #f1f1f1;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col18 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #c4c4c4;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }    #T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col19 {\\n\",\n       \"            font-size:  6pt;\\n\",\n       \"            background-color:  #ffffff;\\n\",\n       \"            color:  #000000;\\n\",\n       \"        }</style><table id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35\\\" ><thead>    <tr>        <th class=\\\"blank level0\\\" ></th>        <th class=\\\"col_heading level0 col0\\\" >0</th>        <th class=\\\"col_heading level0 col1\\\" >1</th>        <th class=\\\"col_heading level0 col2\\\" >2</th>        <th class=\\\"col_heading level0 col3\\\" >3</th>        <th class=\\\"col_heading level0 col4\\\" >4</th>        <th class=\\\"col_heading level0 col5\\\" >5</th>        <th class=\\\"col_heading level0 col6\\\" >6</th>        <th class=\\\"col_heading level0 col7\\\" >7</th>        <th class=\\\"col_heading level0 col8\\\" >8</th>        <th class=\\\"col_heading level0 col9\\\" >9</th>        <th class=\\\"col_heading level0 col10\\\" >10</th>        <th class=\\\"col_heading level0 col11\\\" >11</th>        <th class=\\\"col_heading level0 col12\\\" >12</th>        <th class=\\\"col_heading level0 col13\\\" >13</th>        <th class=\\\"col_heading level0 col14\\\" >14</th>        <th class=\\\"col_heading level0 col15\\\" >15</th>        <th class=\\\"col_heading level0 col16\\\" >16</th>        <th class=\\\"col_heading level0 col17\\\" >17</th>        <th class=\\\"col_heading level0 col18\\\" >18</th>        <th class=\\\"col_heading level0 col19\\\" >19</th>    </tr></thead><tbody>\\n\",\n       \"                <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row0\\\" class=\\\"row_heading level0 row0\\\" >0</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col0\\\" class=\\\"data row0 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col1\\\" class=\\\"data row0 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col2\\\" class=\\\"data row0 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col3\\\" class=\\\"data row0 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col4\\\" class=\\\"data row0 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col5\\\" class=\\\"data row0 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col6\\\" class=\\\"data row0 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col7\\\" class=\\\"data row0 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col8\\\" class=\\\"data row0 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col9\\\" class=\\\"data row0 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col10\\\" class=\\\"data row0 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col11\\\" class=\\\"data row0 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col12\\\" class=\\\"data row0 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col13\\\" class=\\\"data row0 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col14\\\" class=\\\"data row0 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col15\\\" class=\\\"data row0 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col16\\\" class=\\\"data row0 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col17\\\" class=\\\"data row0 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col18\\\" class=\\\"data row0 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row0_col19\\\" class=\\\"data row0 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row1\\\" class=\\\"row_heading level0 row1\\\" >1</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col0\\\" class=\\\"data row1 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col1\\\" class=\\\"data row1 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col2\\\" class=\\\"data row1 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col3\\\" class=\\\"data row1 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col4\\\" class=\\\"data row1 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col5\\\" class=\\\"data row1 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col6\\\" class=\\\"data row1 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col7\\\" class=\\\"data row1 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col8\\\" class=\\\"data row1 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col9\\\" class=\\\"data row1 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col10\\\" class=\\\"data row1 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col11\\\" class=\\\"data row1 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col12\\\" class=\\\"data row1 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col13\\\" class=\\\"data row1 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col14\\\" class=\\\"data row1 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col15\\\" class=\\\"data row1 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col16\\\" class=\\\"data row1 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col17\\\" class=\\\"data row1 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col18\\\" class=\\\"data row1 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row1_col19\\\" class=\\\"data row1 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row2\\\" class=\\\"row_heading level0 row2\\\" >2</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col0\\\" class=\\\"data row2 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col1\\\" class=\\\"data row2 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col2\\\" class=\\\"data row2 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col3\\\" class=\\\"data row2 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col4\\\" class=\\\"data row2 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col5\\\" class=\\\"data row2 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col6\\\" class=\\\"data row2 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col7\\\" class=\\\"data row2 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col8\\\" class=\\\"data row2 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col9\\\" class=\\\"data row2 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col10\\\" class=\\\"data row2 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col11\\\" class=\\\"data row2 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col12\\\" class=\\\"data row2 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col13\\\" class=\\\"data row2 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col14\\\" class=\\\"data row2 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col15\\\" class=\\\"data row2 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col16\\\" class=\\\"data row2 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col17\\\" class=\\\"data row2 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col18\\\" class=\\\"data row2 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row2_col19\\\" class=\\\"data row2 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row3\\\" class=\\\"row_heading level0 row3\\\" >3</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col0\\\" class=\\\"data row3 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col1\\\" class=\\\"data row3 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col2\\\" class=\\\"data row3 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col3\\\" class=\\\"data row3 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col4\\\" class=\\\"data row3 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col5\\\" class=\\\"data row3 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col6\\\" class=\\\"data row3 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col7\\\" class=\\\"data row3 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col8\\\" class=\\\"data row3 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col9\\\" class=\\\"data row3 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col10\\\" class=\\\"data row3 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col11\\\" class=\\\"data row3 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col12\\\" class=\\\"data row3 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col13\\\" class=\\\"data row3 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col14\\\" class=\\\"data row3 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col15\\\" class=\\\"data row3 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col16\\\" class=\\\"data row3 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col17\\\" class=\\\"data row3 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col18\\\" class=\\\"data row3 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row3_col19\\\" class=\\\"data row3 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row4\\\" class=\\\"row_heading level0 row4\\\" >4</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col0\\\" class=\\\"data row4 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col1\\\" class=\\\"data row4 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col2\\\" class=\\\"data row4 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col3\\\" class=\\\"data row4 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col4\\\" class=\\\"data row4 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col5\\\" class=\\\"data row4 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col6\\\" class=\\\"data row4 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col7\\\" class=\\\"data row4 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col8\\\" class=\\\"data row4 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col9\\\" class=\\\"data row4 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col10\\\" class=\\\"data row4 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col11\\\" class=\\\"data row4 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col12\\\" class=\\\"data row4 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col13\\\" class=\\\"data row4 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col14\\\" class=\\\"data row4 col14\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col15\\\" class=\\\"data row4 col15\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col16\\\" class=\\\"data row4 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col17\\\" class=\\\"data row4 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col18\\\" class=\\\"data row4 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row4_col19\\\" class=\\\"data row4 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row5\\\" class=\\\"row_heading level0 row5\\\" >5</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col0\\\" class=\\\"data row5 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col1\\\" class=\\\"data row5 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col2\\\" class=\\\"data row5 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col3\\\" class=\\\"data row5 col3\\\" >12</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col4\\\" class=\\\"data row5 col4\\\" >99</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col5\\\" class=\\\"data row5 col5\\\" >91</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col6\\\" class=\\\"data row5 col6\\\" >142</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col7\\\" class=\\\"data row5 col7\\\" >155</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col8\\\" class=\\\"data row5 col8\\\" >246</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col9\\\" class=\\\"data row5 col9\\\" >182</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col10\\\" class=\\\"data row5 col10\\\" >155</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col11\\\" class=\\\"data row5 col11\\\" >155</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col12\\\" class=\\\"data row5 col12\\\" >155</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col13\\\" class=\\\"data row5 col13\\\" >155</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col14\\\" class=\\\"data row5 col14\\\" >131</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col15\\\" class=\\\"data row5 col15\\\" >52</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col16\\\" class=\\\"data row5 col16\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col17\\\" class=\\\"data row5 col17\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col18\\\" class=\\\"data row5 col18\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row5_col19\\\" class=\\\"data row5 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row6\\\" class=\\\"row_heading level0 row6\\\" >6</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col0\\\" class=\\\"data row6 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col1\\\" class=\\\"data row6 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col2\\\" class=\\\"data row6 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col3\\\" class=\\\"data row6 col3\\\" >138</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col4\\\" class=\\\"data row6 col4\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col5\\\" class=\\\"data row6 col5\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col6\\\" class=\\\"data row6 col6\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col7\\\" class=\\\"data row6 col7\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col8\\\" class=\\\"data row6 col8\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col9\\\" class=\\\"data row6 col9\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col10\\\" class=\\\"data row6 col10\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col11\\\" class=\\\"data row6 col11\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col12\\\" class=\\\"data row6 col12\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col13\\\" class=\\\"data row6 col13\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col14\\\" class=\\\"data row6 col14\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col15\\\" class=\\\"data row6 col15\\\" >252</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col16\\\" class=\\\"data row6 col16\\\" >210</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col17\\\" class=\\\"data row6 col17\\\" >122</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col18\\\" class=\\\"data row6 col18\\\" >33</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row6_col19\\\" class=\\\"data row6 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row7\\\" class=\\\"row_heading level0 row7\\\" >7</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col0\\\" class=\\\"data row7 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col1\\\" class=\\\"data row7 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col2\\\" class=\\\"data row7 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col3\\\" class=\\\"data row7 col3\\\" >220</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col4\\\" class=\\\"data row7 col4\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col5\\\" class=\\\"data row7 col5\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col6\\\" class=\\\"data row7 col6\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col7\\\" class=\\\"data row7 col7\\\" >235</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col8\\\" class=\\\"data row7 col8\\\" >189</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col9\\\" class=\\\"data row7 col9\\\" >189</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col10\\\" class=\\\"data row7 col10\\\" >189</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col11\\\" class=\\\"data row7 col11\\\" >189</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col12\\\" class=\\\"data row7 col12\\\" >150</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col13\\\" class=\\\"data row7 col13\\\" >189</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col14\\\" class=\\\"data row7 col14\\\" >205</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col15\\\" class=\\\"data row7 col15\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col16\\\" class=\\\"data row7 col16\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col17\\\" class=\\\"data row7 col17\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col18\\\" class=\\\"data row7 col18\\\" >75</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row7_col19\\\" class=\\\"data row7 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row8\\\" class=\\\"row_heading level0 row8\\\" >8</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col0\\\" class=\\\"data row8 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col1\\\" class=\\\"data row8 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col2\\\" class=\\\"data row8 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col3\\\" class=\\\"data row8 col3\\\" >35</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col4\\\" class=\\\"data row8 col4\\\" >74</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col5\\\" class=\\\"data row8 col5\\\" >35</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col6\\\" class=\\\"data row8 col6\\\" >35</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col7\\\" class=\\\"data row8 col7\\\" >25</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col8\\\" class=\\\"data row8 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col9\\\" class=\\\"data row8 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col10\\\" class=\\\"data row8 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col11\\\" class=\\\"data row8 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col12\\\" class=\\\"data row8 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col13\\\" class=\\\"data row8 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col14\\\" class=\\\"data row8 col14\\\" >13</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col15\\\" class=\\\"data row8 col15\\\" >224</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col16\\\" class=\\\"data row8 col16\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col17\\\" class=\\\"data row8 col17\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col18\\\" class=\\\"data row8 col18\\\" >153</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row8_col19\\\" class=\\\"data row8 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"            <tr>\\n\",\n       \"                        <th id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35level0_row9\\\" class=\\\"row_heading level0 row9\\\" >9</th>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col0\\\" class=\\\"data row9 col0\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col1\\\" class=\\\"data row9 col1\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col2\\\" class=\\\"data row9 col2\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col3\\\" class=\\\"data row9 col3\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col4\\\" class=\\\"data row9 col4\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col5\\\" class=\\\"data row9 col5\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col6\\\" class=\\\"data row9 col6\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col7\\\" class=\\\"data row9 col7\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col8\\\" class=\\\"data row9 col8\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col9\\\" class=\\\"data row9 col9\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col10\\\" class=\\\"data row9 col10\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col11\\\" class=\\\"data row9 col11\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col12\\\" class=\\\"data row9 col12\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col13\\\" class=\\\"data row9 col13\\\" >0</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col14\\\" class=\\\"data row9 col14\\\" >90</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col15\\\" class=\\\"data row9 col15\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col16\\\" class=\\\"data row9 col16\\\" >254</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col17\\\" class=\\\"data row9 col17\\\" >247</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col18\\\" class=\\\"data row9 col18\\\" >53</td>\\n\",\n       \"                        <td id=\\\"T_508423a8_5672_11ea_9acc_8f0047ef1a35row9_col19\\\" class=\\\"data row9 col19\\\" >0</td>\\n\",\n       \"            </tr>\\n\",\n       \"    </tbody></table>\"\n      ],\n      \"text/plain\": [\n       \"<pandas.io.formats.style.Styler at 0x7fb709e80750>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"df = pd.DataFrame(im3_t[:10,:20])\\n\",\n    \"df.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Top section of a digit\\\" width=\\\"490\\\" src=\\\"images/att_00059.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's a top edge at cell 5,8. Let's repeat our calculation there:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(762.)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(im3_t[4:7,6:9] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's a right edge at cell 8,18. What does that give us?:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(-29.)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(im3_t[7:10,17:20] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, this little calculation is returning a high number where the 3×3-pixel square represents a top edge (i.e., where there are low values at the top of the square, and high values immediately underneath). That's because the `-1` values in our kernel have little impact in that case, but the `1` values have a lot.\\n\",\n    \"\\n\",\n    \"Let's look a tiny bit at the math. The filter will take any window of size 3×3 in our images, and if we name the pixel values like this:\\n\",\n    \"\\n\",\n    \"$$\\\\begin{matrix} a1 & a2 & a3 \\\\\\\\ a4 & a5 & a6 \\\\\\\\ a7 & a8 & a9 \\\\end{matrix}$$\\n\",\n    \"\\n\",\n    \"it will return $-a1-a2-a3+a7+a8+a9$. If we are in a part of the image where $a1$, $a2$, and $a3$ add up to the same as $a7$, $a8$, and $a9$, then the terms will cancel each other out and we will get 0. However, if $a7$ is greater than $a1$, $a8$ is greater than $a2$, and $a9$ is greater than $a3$, we will get a bigger number as a result. So this filter detects horizontal edges—more precisely, edges where we go from bright parts of the image at the top to darker parts at the bottom.\\n\",\n    \"\\n\",\n    \"Changing our filter to have the row of `1`s at the top and the `-1`s at the bottom would detect horizontal edges that go from dark to light. Putting the `1`s and `-1`s in columns versus rows would give us filters that detect vertical edges. Each set of weights will produce a different kind of outcome.\\n\",\n    \"\\n\",\n    \"Let's create a function to do this for one location, and check it matches our result from before:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def apply_kernel(row, col, kernel):\\n\",\n    \"    return (im3_t[row-1:row+2,col-1:col+2] * kernel).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(762.)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"apply_kernel(5,7,top_edge)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"But note that we can't apply it to the corner (e.g., location 0,0), since there isn't a complete 3×3 square there.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Mapping a Convolution Kernel\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can map `apply_kernel()` across the coordinate grid. That is, we'll be taking our 3×3 kernel, and applying it to each 3×3 section of our image. For instance, <<nopad_conv>> shows the positions a 3×3 kernel can be applied to in the first row of a 5×5 image.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter9_nopadconv.svg\\\" id=\\\"nopad_conv\\\" caption=\\\"Applying a kernel across a grid\\\" alt=\\\"Applying a kernel across a grid\\\" width=\\\"400\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To get a grid of coordinates we can use a *nested list comprehension*, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[[(1, 1), (1, 2), (1, 3), (1, 4)],\\n\",\n       \" [(2, 1), (2, 2), (2, 3), (2, 4)],\\n\",\n       \" [(3, 1), (3, 2), (3, 3), (3, 4)],\\n\",\n       \" [(4, 1), (4, 2), (4, 3), (4, 4)]]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"[[(i,j) for j in range(1,5)] for i in range(1,5)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Nested List Comprehensions: Nested list comprehensions are used a lot in Python, so if you haven't seen them before, take a few minutes to make sure you understand what's happening here, and experiment with writing your own nested list comprehensions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's the result of applying our kernel over a coordinate grid:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAE1UlEQVR4nO2c104cSxRFF9iYYHIGk0EkiSQsXuA3+Ak+iI/hAT8ihEBgRI4i2ORsgkn3wdpT0weu1YN75KurWi893dNd01TvPnXOrhIpz8/PeBypf/sG/mv4DjH4DjH4DjH4DjG8/92Xw8PD/9shaGhoKOW1414hBt8hBt8hBt8hBt8hht+OMuLp6QmAk5MTAM7OzgDY39+PnfPjxw8AVlZWALi9vQ20UVJSAsCHDx8Cx9PS0gAoKyuLHfv06RMA5eXlAGRmZoa5zUjwCjGEUoiUMDs7C8DY2BgABwcHoX9ofX099LkZGRkAVFRUANDb2wtAU1MT4NRk1RYFXiEG3yGGUK/M1dUV4CQqKXd1dcXOKSgoAKClpQWAwsJCALKysgA4PT0FIDU1+AwUfBWMAaanpwFYXV0FYGpqKvD7+fn5gf0o8QoxhFJIf38/ALW1tQBUV1cDkJ2d7Rp6/6upd+/eBbZWERZZmEdHR7FjCwsLAIyMjACwu7sLuGB7c3MDQE5OTpjbTwivEEMohZSWlgJQWVkJuCRLKgCXvN3f3wNwd3cHwMPDQ6AtfS8UQ+IVos9VVVUA1NXVBa6RqmxbUeAVYgilEI0Ah4eHAKSnp784R6n7z58/AacQ7Qs93Z2dHcDFi/jzpIzBwcHAvtjY2ABgc3MzzO0nhFeIIZRC9LTji7lEUS4jZUxOTgbabG5ujp2r/EaxQ/mGYouUmgy8QgyhFPInXF9fAzA3NwfAxMRE4HhfXx8AHR0dsWuklr29PcDFHRWIujYZeIUYkq6Q8/NzwOUjNTU1gDOB6uvrAVf7AIyOjgJuNPn27Rvgyv6GhobAvjLYKPAKMSRdIaqMW1tbAZfdpqT8mie6uLgAgnmIMtDj42MAvn79GjhXmbKMo87OTsCpLv53EsUrxJB0hagylkKkGJnLUoOePrjqViNPd3c34DLmmZkZwI1Yqod6enpibTQ2Nr7pfr1CDL5DDEl/ZWQdyqGXpVhUVBTYjzebNATLbtDQrGFYr4YKw+/fvwPuVQPIzc0FXAAOi1eIIekKUVGnQLi4uAg4ZeTl5QFQXFwcu0blvlT08eNHwD112ZJqQwVjPNZ2CItXiCHpCrHIStBWMSbe7FGs0NCpaQchZUg5GtJfI9F1uF4hhsgVoiJOxo+KO01TqCBT7HgNpexabfBvKP2Pjz9CprfaCotXiCEyhUgZy8vLgLMINSK0t7cD4SaXHh8fAVf2yzpUuq91I7ISXmvzrSaSV4ghMoUoS9ze3gbcdKMKNE2DyszRKCPiDWzZjePj44BTwOfPnwFnEKlNrTBS3IC3G9FeIYbIFKL6Q3WGtlLMly9fAJifnwderhu7vLyMfZZ6tMRC0xIyn2UMKYZIGYo5tr1E8AoxRKaQtrY24GVWKWUo+5QRZCe9NHIADAwMAC7+yCLUGjPFDilJ1e7W1tYf/x1eIQbfIYbIXhnJVyW7jBkVXprJl7xlGOm618p/tWHXlGmlgdpSoH5rII3HK8QQmUIULPXkZeZo9ZG2SuETQWm4htW1tTXAGUMyoaLAK8QQeQxZWloCnFI0L6MkS2ayCjXFhXjLT7FA1oFihewAxZBk4BViiNwgssZMogbN38YrxJDi/xlCEK8Qg+8Qg+8Qg+8Qg+8Qg+8Qwz/aP/Y2oVu6fAAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"rng = range(1,27)\\n\",\n    \"top_edge3 = tensor([[apply_kernel(i,j,top_edge) for j in rng] for i in rng])\\n\",\n    \"\\n\",\n    \"show_image(top_edge3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Looking good! Our top edges are black, and bottom edges are white (since they are the *opposite* of top edges). Now that our image contains negative numbers too, `matplotlib` has automatically changed our colors so that white is the smallest number in the image, black the highest, and zeros appear as gray.\\n\",\n    \"\\n\",\n    \"We can try the same thing for left edges:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAEa0lEQVR4nO2cyUosSxCGv9brPM8TDqgLZ1EXIgouRHwZH8dXEcGFS9GFKCoqqOCEA87zrGdx+Dur8nhaqy37Xi75baqpLLOTyD8jIiOrjby/v+MwJP3bA/iv4Qxi4Qxi4Qxi4Qxi8U+sxrGxsf9tCBodHY18dN8pxMIZxMIZxMIZxMIZxCJmlLF5eXkB4PT0FICKiopo2/n5OQBZWVkAnJycANDS0gLA7e0tAI+Pjx/2nZaWFv2cn58PwP39PQBXV1dBhvktnEIsAilkY2MDMDPmVUiYRCK/U4Tc3FzAqE73pUYpKEycQiycQSwCLZmpqSkA2tra/vpMSkoKANnZ2TH7yszMBOD4+BiApCQzN5eXlwAUFRX5/kYOen19HYDt7e0vj/2rOIVYBFLIw8MDYGY/PT092paXlweY8KnZVfj9jLu7u+jnyclJAEZGRgAoLS319amyp1NIAgikkM7OTgBqampCH8jh4WH08+zsLAADAwMAHB0dAZCTkwPAxcVF6N8vnEIsAimkr68PMGv4I56engC4vr6O2dfNzQ0Ae3t7fzyvREz09vYCcHZ2BjiFJJRAClHuILyRQby9vQF/38RplpV2y3coTQcYGhoCoLu7GzDRRSn72tpakGEHwinEIpBCvoOyz7m5OQCam5t97eXl5dHPlZWVADQ2NgKQkZEBwPT0tK+vn8ApxCJhClHpQOtf+yGpwFtK0DZf7OzsACYzLisrA4wP+yyiBcEpxCJhClHuoKv8gh25wOQ5UoYUoAgmBdXV1QFGKbu7u9E+lA8FxSnEImEK0W54cHAQMDOo+ok3+1UUGR8fB0xEkqpsH6O+S0pKovdmZmbiGqdTiIUziEXClozCq9Lvr6Bt/+vrK2CWhq4Kw4WFhYBJ6AAaGhoA2NzcDDROpxCLhClEp3G6qhyp4nKskoLaFhYWAOjo6PC165yovb09es8pJCQSphAbb4HaRkVlu5QwPz8PGJUVFBQApqQg1QEUFxfHNS6nEIsfU4hmVQdRTU1NgCkUHxwcfNqHSgJSivxBV1eX7zklal7VxVsicAqxCF0hUoYigtZ7f38/ACsrK4H7kppUSlQeIqQ6XQEWFxcDjx2cQv4gdIUsLy8DsL+/DxiF1NbWAmZLr/xD/kFX7zPPz8++Z5VnVFdXA5CcnAyYvMT7vki8x5xOIRahK0SzK18xPDwMmNnWu2ba9stPqB1MQUhRQ1Gkp6cHMNt8RRv5Dn03mNwkKE4hFqErRL5AvkNHllKMVwmfkZqaChifUV9fD5i3IXXkKd8Rb2Tx4hRi4QxiEfqS0TskCpVK3ScmJgBobW0FTLKl4o73bFfVdF3lePWMHKYKR6urq77738EpxCJ0hVRVVQGmqOPdkoPZdGl2hcIw+FPwj5BTXVpa8vUZBk4hFqErRGcnKuF99S3EWCiUb21tAT/7YwCnEIsfKxApyqgcKHQO6z1lA5PAedHPUBKJU4hFxP0zBD9OIRbOIBbOIBbOIBbOIBbOIBa/AEQyr63rTKk/AAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"left_edge = tensor([[-1,1,0],\\n\",\n    \"                    [-1,1,0],\\n\",\n    \"                    [-1,1,0]]).float()\\n\",\n    \"\\n\",\n    \"left_edge3 = tensor([[apply_kernel(i,j,left_edge) for j in rng] for i in rng])\\n\",\n    \"\\n\",\n    \"show_image(left_edge3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we mentioned before, a convolution is the operation of applying such a kernel over a grid in this way. In the paper [\\\"A Guide to Convolution Arithmetic for Deep Learning\\\"](https://arxiv.org/abs/1603.07285) there are many great diagrams showing how image kernels can be applied. Here's an example from the paper showing (at the bottom) a light blue 4×4 image, with a dark blue 3×3 kernel being applied, creating a 2×2 green output activation map at the top. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Result of applying a 3×3 kernel to a 4×4 image\\\" width=\\\"782\\\" caption=\\\"Result of applying a 3×3 kernel to a 4×4 image (courtesy of Vincent Dumoulin and Francesco Visin)\\\" id=\\\"three_ex_four_conv\\\" src=\\\"images/att_00028.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Look at the shape of the result. If the original image has a height of `h` and a width of `w`, how many 3×3 windows can we find? As you can see from the example, there are `h-2` by `w-2` windows, so the image we get has a result as a height of `h-2` and a width of `w-2`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We won't implement this convolution function from scratch, but use PyTorch's implementation instead (it is way faster than anything we could do in Python).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Convolutions in PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Convolution is such an important and widely used operation that PyTorch has it built in. It's called `F.conv2d` (recall that `F` is a fastai import from `torch.nn.functional`, as recommended by PyTorch). The PyTorch docs tell us that it includes these parameters:\\n\",\n    \"\\n\",\n    \"- input:: input tensor of shape `(minibatch, in_channels, iH, iW)`\\n\",\n    \"- weight:: filters of shape `(out_channels, in_channels, kH, kW)`\\n\",\n    \"\\n\",\n    \"Here `iH,iW` is the height and width of the image (i.e., `28,28`), and `kH,kW` is the height and width of our kernel (`3,3`). But apparently PyTorch is expecting rank-4 tensors for both these arguments, whereas currently we only have rank-2 tensors (i.e., matrices, or arrays with two axes).\\n\",\n    \"\\n\",\n    \"The reason for these extra axes is that PyTorch has a few tricks up its sleeve. The first trick is that PyTorch can apply a convolution to multiple images at the same time. That means we can call it on every item in a batch at once!\\n\",\n    \"\\n\",\n    \"The second trick is that PyTorch can apply multiple kernels at the same time. So let's create the diagonal-edge kernels too, and then stack all four of our edge kernels into a single tensor:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([4, 3, 3])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"diag1_edge = tensor([[ 0,-1, 1],\\n\",\n    \"                     [-1, 1, 0],\\n\",\n    \"                     [ 1, 0, 0]]).float()\\n\",\n    \"diag2_edge = tensor([[ 1,-1, 0],\\n\",\n    \"                     [ 0, 1,-1],\\n\",\n    \"                     [ 0, 0, 1]]).float()\\n\",\n    \"\\n\",\n    \"edge_kernels = torch.stack([left_edge, top_edge, diag1_edge, diag2_edge])\\n\",\n    \"edge_kernels.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To test this, we'll need a `DataLoader` and a sample mini-batch. Let's use the data block API:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 1, 28, 28])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"mnist = DataBlock((ImageBlock(cls=PILImageBW), CategoryBlock), \\n\",\n    \"                  get_items=get_image_files, \\n\",\n    \"                  splitter=GrandparentSplitter(),\\n\",\n    \"                  get_y=parent_label)\\n\",\n    \"\\n\",\n    \"dls = mnist.dataloaders(path)\\n\",\n    \"xb,yb = first(dls.valid)\\n\",\n    \"xb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By default, fastai puts data on the GPU when using data blocks. Let's move it to the CPU for our examples:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xb,yb = to_cpu(xb),to_cpu(yb)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One batch contains 64 images, each of 1 channel, with 28×28 pixels. `F.conv2d` can handle multichannel (i.e., color) images too. A *channel* is a single basic color in an image—for regular full-color images there are three channels, red, green, and blue. PyTorch represents an image as a rank-3 tensor, with dimensions `[channels, rows, columns]`.\\n\",\n    \"\\n\",\n    \"We'll see how to handle more than one channel later in this chapter. Kernels passed to `F.conv2d` need to be rank-4 tensors: `[channels_in, features_out, rows, columns]`. `edge_kernels` is currently missing one of these. We need to tell PyTorch that the number of input channels in the kernel is one, which we can do by inserting an axis of size one (this is known as a *unit axis*) in the first location, where the PyTorch docs show `in_channels` is expected. To insert a unit axis into a tensor, we use the `unsqueeze` method:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([4, 3, 3]), torch.Size([4, 1, 3, 3]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"edge_kernels.shape,edge_kernels.unsqueeze(1).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is now the correct shape for `edge_kernels`. Let's pass this all to `conv2d`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"edge_kernels = edge_kernels.unsqueeze(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 4, 26, 26])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"batch_features = F.conv2d(xb, edge_kernels)\\n\",\n    \"batch_features.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The output shape shows we gave 64 images in the mini-batch, 4 kernels, and 26×26 edge maps (we started with 28×28 images, but lost one pixel from each side as discussed earlier). We can see we get the same results as when we did this manually:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAADdUlEQVR4nO2cyUorQRRAT5wVFJxHVARxgDgguHbjzh9wq1s/x1/RrStXggqCExFRcZFExQEnHBeP25W+rw0x6XQ/Hvesmkp1p7x9UnXrdmPi6+sLw1ER9wD+NSwgCguIwgKisIAoqvJ9uLq6+t8uQSsrK4mgdjNEYQFRWEAUFhCFBURhAVFYQBQWEIUFRGEBUeRN3eNCilaXl5cAvL+/A9Df3w9AQ0MDACMjIwAcHx8D8Pz8XPJ3myGK2A15e3sD4Obmxmt7eXkB4PPzE4BEInAfxuDgoO/ci4uLksdjhihCM+Tu7g5wv+/q6urAfufn5wD09PQAzgKxohDk2l1dXQA0NTUVMeJgzBBFSYaIFQD7+/sATE9PAz8bUggyZ/T19QVeq66uztcvjNVFMEMUJRlye3vrHW9tbQEwOTmZ9xy5u4Lc/YmJCa9NVp7t7W0ARkdHfee0t7cDLl+5urr69dh/wgxRhLbKPDw8AC67HB4eBqC1tRVwq4nkDpIzfHx8AFBfX+9dS1acjY0NwBkic8bQ0BDgDL2/vw/rzzBDNCUZkrv+z87OAlBZWVnUtWTeANjb2wP8qxjA2NgYADU1NQCcnp4W9V35MEMUJRnS3NzsHY+PjwP+Ox2EzA/6NQzJYAHW19cBmJmZ8fWRuUSucXBwUMyw82KGKEJbZXp7ewPbr6+vCzo/lUp5x5lMBoDl5WUAOjs7AWhpaQFgc3MTcCtbmJghCguIIvYC0dPTEwA7Ozte29TUFOBS9GQyCbhCkCR/5cAMUcRuiEymMpECLC4uAi5FF1N2d3eB3xWTfosZoojNENnsyRZfSooA3d3dvraqqj/DPDo68p1bDswQRWyGnJycAC5xW1hY8D6TzdvAwAAAh4eHQHnNEMwQReSGPD4+Am7FkEJSbuovZUhZTcJ4AFUoZogickMk35Ai0NLSEgAdHR1eH9nmS9/c0kC5MUMUkRuSzWYB94qD5BptbW1eHylMr62tRTw6M+QvIjdEHipJgVpyDnk8AW4HHObjhUIxQxQWEEXkPxl5S0Cq9ILUTaHwOmw5MEMUkRtydnYGwPz8vK+9sbHRO5aNXxyYIYrIDZH3Q15fXwGora0FoKLC3RtZduPADFFEbsjc3BzgEjIhnU57x7nvrEaNGaJI2D9D8GOGKCwgCguIwgKisIAoLCCKb79WEcYbcUyrAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 72x72 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_image(batch_features[0,0]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The most important trick that PyTorch has up its sleeve is that it can use the GPU to do all this work in parallel—that is, applying multiple kernels, to multiple images, across multiple channels. Doing lots of work in parallel is critical to getting GPUs to work efficiently; if we did each of these operations one at a time, we'd often run hundreds of times slower (and if we used our manual convolution loop from the previous section, we'd be millions of times slower!). Therefore, to become a strong deep learning practitioner, one skill to practice is giving your GPU plenty of work to do at a time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It would be nice to not lose those two pixels on each axis. The way we do that is to add *padding*, which is simply additional pixels added around the outside of our image. Most commonly, pixels of zeros are added. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Strides and Padding\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With appropriate padding, we can ensure that the output activation map is the same size as the original image, which can make things a lot simpler when we construct our architectures. <<pad_conv>> shows how adding padding allows us to apply the kernels in the image corners.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter9_padconv.svg\\\" id=\\\"pad_conv\\\" caption=\\\"A convolution with padding\\\" alt=\\\"A convolution with padding\\\" width=\\\"600\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With a 5×5 input, 4×4 kernel, and 2 pixels of padding, we end up with a 6×6 activation map, as we can see in <<four_by_five_conv>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"A 4×4 kernel with 5×5 input and 2 pixels of padding\\\" width=\\\"783\\\" caption=\\\"A 4×4 kernel with 5×5 input and 2 pixels of padding (courtesy of Vincent Dumoulin and Francesco Visin)\\\" id=\\\"four_by_five_conv\\\" src=\\\"images/att_00029.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we add a kernel of size `ks` by `ks` (with `ks` an odd number), the necessary padding on each side to keep the same shape is `ks//2`. An even number for `ks` would require a different amount of padding on the top/bottom and left/right, but in practice we almost never use an even filter size.\\n\",\n    \"\\n\",\n    \"So far, when we have applied the kernel to the grid, we have moved it one pixel over at a time. But we can jump further; for instance, we could move over two pixels after each kernel application, as in <<three_by_five_conv>>. This is known as a *stride-2* convolution. The most common kernel size in practice is 3×3, and the most common padding is 1. As you'll see, stride-2 convolutions are useful for decreasing the size of our outputs, and stride-1 convolutions are useful for adding layers without changing the output size.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"A 3×3 kernel with 5×5 input, stride-2 convolution, and 1 pixel of padding\\\" width=\\\"774\\\" caption=\\\"A 3×3 kernel with 5×5 input, stride-2 convolution, and 1 pixel of padding (courtesy of Vincent Dumoulin and Francesco Visin)\\\" id=\\\"three_by_five_conv\\\" src=\\\"images/att_00030.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In an image of size `h` by `w`, using a padding of 1 and a stride of 2 will give us a result of size `(h+1)//2` by `(w+1)//2`. The general formula for each dimension is `(n + 2*pad - ks)//stride + 1`, where `pad` is the padding, `ks`, the size of our kernel, and `stride` is the stride.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now take a look at how the pixel values of the result of our convolutions are computed.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Understanding the Convolution Equations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To explain the math behind convolutions, fast.ai student Matt Kleinsmith came up with the very clever idea of showing [CNNs from different viewpoints](https://medium.com/impactai/cnns-from-different-viewpoints-fab7f52d159c). In fact, it's so clever, and so helpful, we're going to show it here too!\\n\",\n    \"\\n\",\n    \"Here's our 3×3 pixel image, with each pixel labeled with a letter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The image\\\" width=\\\"75\\\" src=\\\"images/att_00032.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And here's our kernel, with each weight labeled with a Greek letter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The kernel\\\" width=\\\"55\\\" src=\\\"images/att_00033.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since the filter fits in the image four times, we have four results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The activations\\\" width=\\\"52\\\" src=\\\"images/att_00034.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<<apply_kernel>> shows how we applied the kernel to each section of the image to yield each result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Applying the kernel\\\" width=\\\"366\\\" caption=\\\"Applying the kernel\\\" id=\\\"apply_kernel\\\" src=\\\"images/att_00035.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The equation view is in <<eq_view>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The equation\\\" width=\\\"436\\\" caption=\\\"The equation\\\" id=\\\"eq_view\\\" src=\\\"images/att_00036.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice that the bias term, *b*, is the same for each section of the image. You can consider the bias as part of the filter, just like the weights (α, β, γ, δ) are part of the filter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's an interesting insight—a convolution can be represented as a special kind of matrix multiplication, as illustrated in <<conv_matmul>>. The weight matrix is just like the ones from traditional neural networks. However, this weight matrix has two special properties:\\n\",\n    \"\\n\",\n    \"1. The zeros shown in gray are untrainable. This means that they’ll stay zero throughout the optimization process.\\n\",\n    \"1. Some of the weights are equal, and while they are trainable (i.e., changeable), they must remain equal. These are called *shared weights*.\\n\",\n    \"\\n\",\n    \"The zeros correspond to the pixels that the filter can't touch. Each row of the weight matrix corresponds to one application of the filter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Convolution as matrix multiplication\\\" width=\\\"683\\\" caption=\\\"Convolution as matrix multiplication\\\" id=\\\"conv_matmul\\\" src=\\\"images/att_00038.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we understand what a convolution is, let's use them to build a neural net.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Our First Convolutional Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There is no reason to believe that some particular edge filters are the most useful kernels for image recognition. Furthermore, we've seen that in later layers convolutional kernels become complex transformations of features from lower levels, but we don't have a good idea of how to manually construct these.\\n\",\n    \"\\n\",\n    \"Instead, it would be best to learn the values of the kernels. We already know how to do this—SGD! In effect, the model will learn the features that are useful for classification.\\n\",\n    \"\\n\",\n    \"When we use convolutions instead of (or in addition to) regular linear layers we create a *convolutional neural network* (CNN).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the CNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's go back to the  basic neural network we had in <<chapter_mnist_basics>>. It was defined like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_net = nn.Sequential(\\n\",\n    \"    nn.Linear(28*28,30),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Linear(30,1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can view a model's definition:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Sequential(\\n\",\n       \"  (0): Linear(in_features=784, out_features=30, bias=True)\\n\",\n       \"  (1): ReLU()\\n\",\n       \"  (2): Linear(in_features=30, out_features=1, bias=True)\\n\",\n       \")\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"simple_net\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We now want to create a similar architecture to this linear model, but using convolutional layers instead of linear. `nn.Conv2d` is the module equivalent of `F.conv2d`. It's more convenient than `F.conv2d` when creating an architecture, because it creates the weight matrix for us automatically when we instantiate it.\\n\",\n    \"\\n\",\n    \"Here's a possible architecture:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"broken_cnn = sequential(\\n\",\n    \"    nn.Conv2d(1,30, kernel_size=3, padding=1),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Conv2d(30,1, kernel_size=3, padding=1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One thing to note here is that we didn't need to specify 28×28 as the input size. That's because a linear layer needs a weight in the weight matrix for every pixel, so it needs to know how many pixels there are, but a convolution is applied over each pixel automatically. The weights only depend on the number of input and output channels and the kernel size, as we saw in the previous section.\\n\",\n    \"\\n\",\n    \"Think about what the output shape is going to be, then let's try it and see:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 1, 28, 28])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"broken_cnn(xb).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is not something we can use to do classification, since we need a single output activation per image, not a 28×28 map of activations. One way to deal with this is to use enough stride-2 convolutions such that the final layer is size 1. That is, after one stride-2 convolution the size will be 14×14, after two it will be 7×7, then 4×4, 2×2, and finally size 1.\\n\",\n    \"\\n\",\n    \"Let's try that now. First, we'll define a function with the basic parameters we'll use in each convolution:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\\n\",\n    \"    if act: res = nn.Sequential(res, nn.ReLU())\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: Refactoring: Refactoring parts of your neural networks like this makes it much less likely you'll get errors due to inconsistencies in your architectures, and makes it more obvious to the reader which parts of your layers are actually changing.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we use a stride-2 convolution, we often increase the number of features at the same time. This is because we're decreasing the number of activations in the activation map by a factor of 4; we don't want to decrease the capacity of a layer by too much at a time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: channels and features: These two terms are largely used interchangeably, and refer to the size of the second axis of a weight matrix, which is, the number of activations per grid cell after a convolution. _Features_ is never used to refer to the input data, but _channels_ can refer to either the input data (generally channels are colors) or activations inside the network.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is how we can build a simple CNN:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_cnn = sequential(\\n\",\n    \"    conv(1 ,4),            #14x14\\n\",\n    \"    conv(4 ,8),            #7x7\\n\",\n    \"    conv(8 ,16),           #4x4\\n\",\n    \"    conv(16,32),           #2x2\\n\",\n    \"    conv(32,2, act=False), #1x1\\n\",\n    \"    Flatten(),\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: I like to add comments like the ones here after each convolution to show how large the activation map will be after each layer. These comments assume that the input size is 28*28\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now the network outputs two activations, which map to the two possible levels in our labels:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([64, 2])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"simple_cnn(xb).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now create our `Learner`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, simple_cnn, loss_func=F.cross_entropy, metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To see exactly what's going on in the model, we can use `summary`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Sequential (Input shape: ['64 x 1 x 28 x 28'])\\n\",\n       \"================================================================\\n\",\n       \"Layer (type)         Output Shape         Param #    Trainable \\n\",\n       \"================================================================\\n\",\n       \"Conv2d               64 x 4 x 14 x 14     40         True      \\n\",\n       \"________________________________________________________________\\n\",\n       \"ReLU                 64 x 4 x 14 x 14     0          False     \\n\",\n       \"________________________________________________________________\\n\",\n       \"Conv2d               64 x 8 x 7 x 7       296        True      \\n\",\n       \"________________________________________________________________\\n\",\n       \"ReLU                 64 x 8 x 7 x 7       0          False     \\n\",\n       \"________________________________________________________________\\n\",\n       \"Conv2d               64 x 16 x 4 x 4      1,168      True      \\n\",\n       \"________________________________________________________________\\n\",\n       \"ReLU                 64 x 16 x 4 x 4      0          False     \\n\",\n       \"________________________________________________________________\\n\",\n       \"Conv2d               64 x 32 x 2 x 2      4,640      True      \\n\",\n       \"________________________________________________________________\\n\",\n       \"ReLU                 64 x 32 x 2 x 2      0          False     \\n\",\n       \"________________________________________________________________\\n\",\n       \"Conv2d               64 x 2 x 1 x 1       578        True      \\n\",\n       \"________________________________________________________________\\n\",\n       \"Flatten              64 x 2               0          False     \\n\",\n       \"________________________________________________________________\\n\",\n       \"\\n\",\n       \"Total params: 6,722\\n\",\n       \"Total trainable params: 6,722\\n\",\n       \"Total non-trainable params: 0\\n\",\n       \"\\n\",\n       \"Optimizer used: <function Adam at 0x7fbc9c258cb0>\\n\",\n       \"Loss function: <function cross_entropy at 0x7fbca9ba0170>\\n\",\n       \"\\n\",\n       \"Callbacks:\\n\",\n       \"  - TrainEvalCallback\\n\",\n       \"  - Recorder\\n\",\n       \"  - ProgressCallback\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"learn.summary()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that the output of the final `Conv2d` layer is `64x2x1x1`. We need to remove those extra `1x1` axes; that's what `Flatten` does. It's basically the same as PyTorch's `squeeze` method, but as a module.\\n\",\n    \"\\n\",\n    \"Let's see if this trains! Since this is a deeper network than we've built from scratch before, we'll use a lower learning rate and more epochs:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.072684</td>\\n\",\n       \"      <td>0.045110</td>\\n\",\n       \"      <td>0.990186</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.022580</td>\\n\",\n       \"      <td>0.030775</td>\\n\",\n       \"      <td>0.990186</td>\\n\",\n       \"      <td>00:05</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(2, 0.01)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Success! It's getting closer to the `resnet18` result we had, although it's not quite there yet, and it's taking more epochs, and we're needing to use a lower learning rate. We still have a few more tricks to learn, but we're getting closer and closer to being able to create a modern CNN from scratch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Understanding Convolution Arithmetic\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see from the summary that we have an input of size `64x1x28x28`. The axes are `batch,channel,height,width`. This is often represented as `NCHW` (where `N` refers to batch size). Tensorflow, on the other hand, uses `NHWC` axis order. The first layer is:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Sequential(\\n\",\n       \"  (0): Conv2d(1, 4, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\\n\",\n       \"  (1): ReLU()\\n\",\n       \")\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = learn.model[0]\\n\",\n    \"m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So we have 1 input channel, 4 output channels, and a 3×3 kernel. Let's check the weights of the first convolution:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([4, 1, 3, 3])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m[0].weight.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The summary shows we have 40 parameters, and `4*1*3*3` is 36. What are the other four parameters? Let's see what the bias contains:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([4])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m[0].bias.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now use this information to clarify our statement in the previous section: \\\"When we use a stride-2 convolution, we often increase the number of features because we're decreasing the number of activations in the activation map by a factor of 4; we don't want to decrease the capacity of a layer by too much at a time.\\\"\\n\",\n    \"\\n\",\n    \"There is one bias for each channel. (Sometimes channels are called *features* or *filters* when they are not input channels.) The output shape is `64x4x14x14`, and this will therefore become the input shape to the next layer. The next layer, according to `summary`, has 296 parameters. Let's ignore the batch axis to keep things simple. So for each of `14*14=196` locations we are multiplying `296-8=288` weights (ignoring the bias for simplicity), so that's `196*288=56_448` multiplications at this layer. The next layer will have `7*7*(1168-16)=56_448` multiplications.\\n\",\n    \"\\n\",\n    \"What happened here is that our stride-2 convolution halved the *grid size* from `14x14` to `7x7`, and we doubled the *number of filters* from 8 to 16, resulting in no overall change in the amount of computation. If we left the number of channels the same in each stride-2 layer, the amount of computation being done in the net would get less and less as it gets deeper. But we know that the deeper layers have to compute semantically rich features (such as eyes or fur), so we wouldn't expect that doing *less* computation would make sense.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another way to think of this is based on receptive fields.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Receptive Fields\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The *receptive field* is the area of an image that is involved in the calculation of a layer. On the [book's website](https://book.fast.ai/), you'll find an Excel spreadsheet called *conv-example.xlsx* that shows the calculation of two stride-2 convolutional layers using an MNIST digit. Each layer has a single kernel. <<preced1>> shows what we see if we click on one of the cells in the *conv2* section, which shows the output of the second convolutional layer, and click *trace precedents*.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Immediate precedents of conv2 layer\\\" width=\\\"308\\\" caption=\\\"Immediate precedents of Conv2 layer\\\" id=\\\"preced1\\\" src=\\\"images/att_00068.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here, the cell with the green border is the cell we clicked on, and the blue highlighted cells are its *precedents*—that is, the cells used to calculate its value. These cells are the corresponding 3×3 area of cells from the input layer (on the left), and the cells from the filter (on the right). Let's now click *trace precedents* again, to see what cells are used to calculate these inputs. <<preced2>> shows what happens.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Secondary precedents of conv2 layer\\\" width=\\\"601\\\" caption=\\\"Secondary precedents of Conv2 layer\\\" id=\\\"preced2\\\" src=\\\"images/att_00069.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this example, we have just two convolutional layers, each of stride 2, so this is now tracing right back to the input image. We can see that a 7×7 area of cells in the input layer is used to calculate the single green cell in the Conv2 layer. This 7×7 area is the *receptive field* in the input of the green activation in Conv2. We can also see that a second filter kernel is needed now, since we have two layers.\\n\",\n    \"\\n\",\n    \"As you see from this example, the deeper we are in the network (specifically, the more stride-2 convs we have before a layer), the larger the receptive field for an activation in that layer. A large receptive field means that a large amount of the input image is used to calculate each activation in that layer is. We now know that in the deeper layers of the network we have semantically rich features, corresponding to larger receptive fields. Therefore, we'd expect that we'd need more weights for each of our features to handle this increasing complexity. This is another way of saying the same thing we mentioned in the previous section: when we introduce a stride-2 conv in our network, we should also increase the number of channels.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When writing this particular chapter, we had a lot of questions we needed answers for, to be able to explain CNNs to you as best we could. Believe it or not, we found most of the answers on Twitter. We're going to take a quick break to talk to you about that now, before we move on to color images.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Note About Twitter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are not, to say the least, big users of social networks in general. But our goal in writing this book is to help you become the best deep learning practitioner you can, and we would be remiss not to mention how important Twitter has been in our own deep learning journeys.\\n\",\n    \"\\n\",\n    \"You see, there's another part of Twitter, far away from Donald Trump and the Kardashians, which is the part of Twitter where deep learning researchers and practitioners talk shop every day. As we were writing this section, Jeremy wanted to double-check that what we were saying about stride-2 convolutions was accurate, so he asked on Twitter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"twitter 1\\\" width=\\\"500\\\" src=\\\"images/att_00064.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A few minutes later, this answer popped up:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"twitter 2\\\" width=\\\"500\\\" src=\\\"images/att_00065.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Christian Szegedy is the first author of [Inception](https://arxiv.org/pdf/1409.4842.pdf), the 2014 ImageNet winner and source of many key insights used in modern neural networks. Two hours later, this appeared:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"twitter 3\\\" width=\\\"500\\\" src=\\\"images/att_00066.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Do you recognize that name? You saw it in <<chapter_production>>, when we were talking about the Turing Award winners who established the foundations of deep learning today!\\n\",\n    \"\\n\",\n    \"Jeremy also asked on Twitter for help checking our description of label smoothing in <<chapter_sizing_and_tta>> was accurate, and got a response again from directly from Christian Szegedy (label smoothing was originally introduced in the Inception paper):\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"twitter 4\\\" width=\\\"500\\\" src=\\\"images/att_00067.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Many of the top people in deep learning today are Twitter regulars, and are very open about interacting with the wider community. One good way to get started is to look at a list of Jeremy's [recent Twitter likes](https://twitter.com/jeremyphoward/likes), or [Sylvain's](https://twitter.com/GuggerSylvain/likes). That way, you can see a list of Twitter users that we think have interesting and useful things to say.\\n\",\n    \"\\n\",\n    \"Twitter is the main way we both stay up to date with interesting papers, software releases, and other deep learning news. For making connections with the deep learning community, we recommend getting involved both in the [fast.ai forums](https://forums.fast.ai) and on Twitter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That said, let's get back to the meat of this chapter. Up until now, we have only shown you examples of pictures in black and white, with one value per pixel. In practice, most colored images have three values per pixel to define their color. We'll look at working with color images next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Color Images\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A colour picture is a rank-3 tensor:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([3, 1000, 846])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im = image2tensor(Image.open(image_bear()))\\n\",\n    \"im.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 360x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_image(im);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first axis contains the channels, red, green, and blue:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x288 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"_,axs = subplots(1,3)\\n\",\n    \"for bear,ax,color in zip(im,axs,('Reds','Greens','Blues')):\\n\",\n    \"    show_image(255-bear, ax=ax, cmap=color)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We saw what the convolution operation was for one filter on one channel of the image (our examples were done on a square). A convolutional layer will take an image with a certain number of channels (three for the first layer for regular RGB color images) and output an image with a different number of channels. Like our hidden size that represented the numbers of neurons in a linear layer, we can decide to have as many filters as we want, and each of them will be able to specialize, some to detect horizontal edges, others to detect vertical edges and so forth, to give something like we studied in <<chapter_production>>.\\n\",\n    \"\\n\",\n    \"In one sliding window, we have a certain number of channels and we need as many filters (we don't use the same kernel for all the channels). So our kernel doesn't have a size of 3 by 3, but `ch_in` (for channels in) is 3 by 3. On each channel, we multiply the elements of our window by the elements of the coresponding filter, then sum the results (as we saw before) and sum over all the filters. In the example given in <<rgbconv>>, the result of our conv layer on that window is red + green + blue.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter9_rgbconv.svg\\\" id=\\\"rgbconv\\\" caption=\\\"Convolution over an RGB image\\\" alt=\\\"Convolution over an RGB image\\\" width=\\\"550\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, in order to apply a convolution to a color picture we require a kernel tensor with a size that matches the first axis. At each location, the corresponding parts of the kernel and the image patch are multiplied together.\\n\",\n    \"\\n\",\n    \"These are then all added together, to produce a single number, for each grid location, for each output feature, as shown in <<rgbconv2>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/chapter9_rgb_conv_stack.svg\\\" id=\\\"rgbconv2\\\" caption=\\\"Adding the RGB filters\\\" alt=\\\"Adding the RGB filters\\\" width=\\\"500\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we have `ch_out` filters like this, so in the end, the result of our convolutional layer will be a batch of images with `ch_out` channels and a height and width given by the formula outlined earlier. This give us `ch_out` tensors of size `ch_in x ks x ks` that we represent in one big tensor of four dimensions. In PyTorch, the order of the dimensions for those weights is `ch_out x ch_in x ks x ks`.\\n\",\n    \"\\n\",\n    \"Additionally, we may want to have a bias for each filter. In the preceding example, the final result for our convolutional layer would be $y_{R} + y_{G} + y_{B} + b$ in that case. Like in a linear layer, there are as many bias as we have kernels, so the biases is a vector of size `ch_out`.\\n\",\n    \"\\n\",\n    \"There are no special mechanisms required when setting up a CNN for training with color images. Just make sure your first layer has three inputs.\\n\",\n    \"\\n\",\n    \"There are lots of ways of processing color images. For instance, you can change them to black and white, change from RGB to HSV (hue, saturation, and value) color space, and so forth. In general, it turns out experimentally that changing the encoding of colors won't make any difference to your model results, as long as you don't lose information in the transformation. So, transforming to black and white is a bad idea, since it removes the color information entirely (and this can be critical; for instance, a pet breed may have a distinctive color); but converting to HSV generally won't make any difference.\\n\",\n    \"\\n\",\n    \"Now you know what those pictures in <<chapter_intro>> of \\\"what a neural net learns\\\" from the [Zeiler and Fergus paper](https://arxiv.org/abs/1311.2901) mean! This is their picture of some of the layer 1 weights which we showed:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Layer 1 kernels found by Zeiler and Fergus\\\" width=\\\"120\\\" src=\\\"images/att_00031.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is taking the three slices of the convolutional kernel, for each output feature, and displaying them as images. We can see that even though the creators of the neural net never explicitly created kernels to find edges, for instance, the neural net automatically discovered these features using SGD.\\n\",\n    \"\\n\",\n    \"Now let's see how we can train these CNNs, and show you all the techniques fastai uses under the hood for efficient training.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving Training Stability\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we are so good at recognizing 3s from 7s, let's move on to something harder—recognizing all 10 digits. That means we'll need to use `MNIST` instead of `MNIST_SAMPLE`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [Path('testing'),Path('training')]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The data is in two folders named *training* and *testing*, so we have to tell `GrandparentSplitter` about that (it defaults to `train` and `valid`). We did do that in the `get_dls` function, which we create to make it easy to change our batch size later:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_dls(bs=64):\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock(cls=PILImageBW), CategoryBlock), \\n\",\n    \"        get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter('training','testing'),\\n\",\n    \"        get_y=parent_label,\\n\",\n    \"        batch_tfms=Normalize()\\n\",\n    \"    ).dataloaders(path, bs=bs)\\n\",\n    \"\\n\",\n    \"dls = get_dls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Remember, it's always a good idea to look at your data before you use it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 288x288 with 9 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls.show_batch(max_n=9, figsize=(4,4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have our data ready, we can train a simple model on it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Simple Baseline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Earlier in this chapter, we built a model based on a `conv` function like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\\n\",\n    \"    if act: res = nn.Sequential(res, nn.ReLU())\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's start with a basic CNN as a baseline. We'll use the same one as earlier, but with one tweak: we'll use more activations. Since we have more numbers to differentiate, it's likely we will need to learn more filters.\\n\",\n    \"\\n\",\n    \"As we discussed, we generally want to double the number of filters each time we have a stride-2 layer. One way to increase the number of filters throughout our network is to double the number of activations in the first layer–then every layer after that will end up twice as big as in the previous version as well.\\n\",\n    \"\\n\",\n    \"But there is a subtle problem with this. Consider the kernel that is being applied to each pixel. By default, we use a 3×3-pixel kernel. That means that there are a total of 3×3 = 9 pixels that the kernel is being applied to at each location. Previously, our first layer had four output filters. That meant that there were four values being computed from nine pixels at each location. Think about what happens if we double this output to eight filters. Then when we apply our kernel we will be using nine pixels to calculate eight numbers. That means it isn't really learning much at all: the output size is almost the same as the input size. Neural networks will only create useful features if they're forced to do so—that is, if the number of outputs from an operation is significantly smaller than the number of inputs.\\n\",\n    \"\\n\",\n    \"To fix this, we can use a larger kernel in the first layer. If we use a kernel of 5×5 pixels then there are 25 pixels being used at each kernel application. Creating eight filters from this will mean the neural net will have to find some useful features:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_cnn():\\n\",\n    \"    return sequential(\\n\",\n    \"        conv(1 ,8, ks=5),        #14x14\\n\",\n    \"        conv(8 ,16),             #7x7\\n\",\n    \"        conv(16,32),             #4x4\\n\",\n    \"        conv(32,64),             #2x2\\n\",\n    \"        conv(64,10, act=False),  #1x1\\n\",\n    \"        Flatten(),\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you'll see in a moment, we can look inside our models while they're training in order to try to find ways to make them train better. To do this we use the `ActivationStats` callback, which records the mean, standard deviation, and histogram of activations of every trainable layer (as we've seen, callbacks are used to add behavior to the training loop; we'll explore how they work in <<chapter_accel_sgd>>):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.callback.hook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We want to train quickly, so that means training at a high learning rate. Let's see how we go at 0.06:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def fit(epochs=1):\\n\",\n    \"    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\\n\",\n    \"                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\\n\",\n    \"    learn.fit(epochs, 0.06)\\n\",\n    \"    return learn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.307071</td>\\n\",\n       \"      <td>2.305865</td>\\n\",\n       \"      <td>0.113500</td>\\n\",\n       \"      <td>00:16</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This didn't train at all well! Let's find out why.\\n\",\n    \"\\n\",\n    \"One handy feature of the callbacks passed to `Learner` is that they are made available automatically, with the same name as the callback class, except in `snake_case`. So, our `ActivationStats` callback can be accessed through `activation_stats`. I'm sure you remember `learn.recorder`... can you guess how that is implemented? That's right, it's a callback called `Recorder`!\\n\",\n    \"\\n\",\n    \"`ActivationStats` includes some handy utilities for plotting the activations during training. `plot_layer_stats(idx)` plots the mean and standard deviation of the activations of layer number *`idx`*, along with the percentage of activations near zero. Here's the first layer's plot:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Generally our model should have a consistent, or at least smooth, mean and standard deviation of layer activations during training. Activations near zero are particularly problematic, because it means we have computation in the model that's doing nothing at all (since multiplying by zero gives zero). When you have some zeros in one layer, they will therefore generally carry over to the next layer... which will then create more zeros. Here's the penultimate layer of our network:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As expected, the problems get worse towards the end of the network, as the instability and zero activations compound over layers. Let's look at what we can do to make training more stable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Increase Batch Size\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One way to make training more stable is to increase the batch size. Larger batches have gradients that are more accurate, since they're calculated from more data. On the downside, though, a larger batch size means fewer batches per epoch, which means less opportunities for your model to update weights. Let's see if a batch size of 512 helps:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_dls(512)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.309385</td>\\n\",\n       \"      <td>2.302744</td>\\n\",\n       \"      <td>0.113500</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see what the penultimate layer looks like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Again, we've got most of our activations near zero. Let's see what else we can do to improve training stability.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1cycle Training\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our initial weights are not well suited to the task we're trying to solve. Therefore, it is dangerous to begin training with a high learning rate: we may very well make the training diverge instantly, as we've seen. We probably don't want to end training with a high learning rate either, so that we don't skip over a minimum. But we want to train at a high learning rate for the rest of the training period, because we'll be able to train more quickly that way. Therefore, we should change the learning rate during training, from low, to high, and then back to low again.\\n\",\n    \"\\n\",\n    \"Leslie Smith (yes, the same guy that invented the learning rate finder!) developed this idea in his article [\\\"Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates\\\"](https://arxiv.org/abs/1708.07120). He designed a schedule for learning rate separated into two phases: one where the learning rate grows from the minimum value to the maximum value (*warmup*), and one where it decreases back to the minimum value (*annealing*). Smith called this combination of approaches *1cycle training*.\\n\",\n    \"\\n\",\n    \"1cycle training allows us to use a much higher maximum learning rate than other types of training, which gives two benefits:\\n\",\n    \"\\n\",\n    \"- By training with higher learning rates, we train faster—a phenomenon Smith named *super-convergence*.\\n\",\n    \"- By training with higher learning rates, we overfit less because we skip over the sharp local minima to end up in a smoother (and therefore more generalizable) part of the loss.\\n\",\n    \"\\n\",\n    \"The second point is an interesting and subtle one; it is based on the observation that a model that generalizes well is one whose loss would not change very much if you changed the input by a small amount. If a model trains at a large learning rate for quite a while, and can find a good loss when doing so, it must have found an area that also generalizes well, because it is jumping around a lot from batch to batch (that is basically the definition of a high learning rate). The problem is that, as we have discussed, just jumping to a high learning rate is more likely to result in diverging losses, rather than seeing your losses improve. So we don't jump straight to a high learning rate. Instead, we start at a low learning rate, where our losses do not diverge, and we allow the optimizer to gradually find smoother and smoother areas of our parameters by gradually going to higher and higher learning rates.\\n\",\n    \"\\n\",\n    \"Then, once we have found a nice smooth area for our parameters, we want to find the very best part of that area, which means we have to bring our learning rates down again. This is why 1cycle training has a gradual learning rate warmup, and a gradual learning rate cooldown. Many researchers have found that in practice this approach leads to more accurate models and trains more quickly. That is why it is the approach that is used by default for `fine_tune` in fastai.\\n\",\n    \"\\n\",\n    \"In <<chapter_accel_sgd>> we'll learn all about *momentum* in SGD. Briefly, momentum is a technique where the optimizer takes a step not only in the direction of the gradients, but also that continues in the direction of previous steps. Leslie Smith introduced the idea of *cyclical momentums* in [\\\"A Disciplined Approach to Neural Network Hyper-Parameters: Part 1\\\"](https://arxiv.org/pdf/1803.09820.pdf). It suggests that the momentum varies in the opposite direction of the learning rate: when we are at high learning rates, we use less momentum, and we use more again in the annealing phase.\\n\",\n    \"\\n\",\n    \"We can use 1cycle training in fastai by calling `fit_one_cycle`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def fit(epochs=1, lr=0.06):\\n\",\n    \"    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\\n\",\n    \"                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\\n\",\n    \"    learn.fit_one_cycle(epochs, lr)\\n\",\n    \"    return learn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.210838</td>\\n\",\n       \"      <td>0.084827</td>\\n\",\n       \"      <td>0.974300</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're finally making some progress! It's giving us a reasonable accuracy now.\\n\",\n    \"\\n\",\n    \"We can view the learning rate and momentum throughout training by calling `plot_sched` on `learn.recorder`. `learn.recorder` (as the name suggests) records everything that happens during training, including losses, metrics, and hyperparameters such as learning rate and momentum:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.recorder.plot_sched()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Smith's original 1cycle paper used a linear warmup and linear annealing. As you can see, we adapted the approach in fastai by combining it with another popular approach: cosine annealing. `fit_one_cycle` provides the following parameters you can adjust:\\n\",\n    \"\\n\",\n    \"- `lr_max`:: The highest learning rate that will be used (this can also be a list of learning rates for each layer group, or a Python `slice` object containing the first and last layer group learning rates)\\n\",\n    \"- `div`:: How much to divide `lr_max` by to get the starting learning rate\\n\",\n    \"- `div_final`::  How much to divide `lr_max` by to get the ending learning rate\\n\",\n    \"- `pct_start`:: What percentage of the batches to use for the warmup\\n\",\n    \"- `moms`:: A tuple `(mom1,mom2,mom3)` where *`mom1`* is the initial momentum, *`mom2`* is the minimum momentum, and *`mom3`* is the final momentum\\n\",\n    \"\\n\",\n    \"Let's take a look at our layer stats again:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x216 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The percentage of near-zero weights is getting much better, although it's still quite high.\\n\",\n    \"\\n\",\n    \"We can see even more about what's going on in our training using `color_dim`, passing it a layer index:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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pFAndaVC/bVjJ71GlaesGHBtGxJxPe3DR9vzQaVFREREniFOeERERGR6nPCIiIjI9HwUh+f//Lt/evL523/8rpX513/4Z23bv3jz39q2n67+8uTzA8R9rcBbuT90P2dTPJiXyx4yuFlQOBOs4Axhgd/t+wrtlQM4FxRQWKHgwU3osrTjgbu0PvS63kO7DuAb1baRw5O4IGOM8VAcJ/otl/qQrlEtlzgk545JXPtbelLXGsbhYdnPu/bXGODswH9j6HrU++NcudrXT3FZHor3Rg4anSMFYCZtSP2Na30mIlqJOxybieNGPCUMtPIU36het4/hYTxWF5H2Re1req5dC43za1lEK7HnVE9zE65m/lF9SKiqXt+PcTy/4REREZHpccIjIiIi0+OER0RERKbHCY+IiIhMz6PS8n/6n100JpbjP5fPsGourPS9PXY56leH09C/P9/1lcs3iy70ElVufrnqgYJvll2wvl1u27YHkJa/Xrw5+UwhfSQ7k9xXRTGSll+E22r9JKF9B/1KkiYJpDelvrtV7684DC0QuFNpMgnlS1djJ6rEmO5H7a911T4d48z5wNDf1VW9QTSn86YxhvJuaWsqYGLg4pXibHJtX5DIHoQ+jsHBj10sT1ehh2DRYyLn03Oz13XtSuLXsgpd0aRdqax9reT7lPNerS5f32tl8FSoT8o95aUBYj2uk7OvFb+prfQsTaTxDz1vv+ERERGR6XHCIyIiItPjhEdERESmxwmPiIiITM/iePy4qY0iIiIinxp+wyMiIiLT44RHREREpscJj4iIiEyPEx4RERGZHic8IiIiMj1OeERERGR6/j8jStwSQ8E4SwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<Figure size 720x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`color_dim` was developed by fast.ai in conjunction with a student, Stefano Giomo. Stefano, who refers to the idea as the *colorful dimension*, provides an [in-depth explanation](https://forums.fast.ai/t/the-colorful-dimension/42908) of the history and details behind the method. The basic idea is to create a histogram of the activations of a layer, which we would hope would follow a smooth pattern such as the normal distribution (colorful_dist).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/colorful_dist.jpeg\\\" id=\\\"colorful_dist\\\" caption=\\\"Histogram in 'colorful dimension'\\\" alt=\\\"Histogram in 'colorful dimension'\\\" width=\\\"800\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create `color_dim`, we take the histogram shown on the left here, and convert it into just the colored representation shown at the bottom. Then we flip it on its side, as shown on the right. We found that the distribution is clearer if we take the log of the histogram values. Then, Stefano describes:\\n\",\n    \"\\n\",\n    \"> : The final plot for each layer is made by stacking the histogram of the activations from each batch along the horizontal axis. So each vertical slice in the visualisation represents the histogram of activations for a single batch. The color intensity corresponds to the height of the histogram, in other words the number of activations in each histogram bin.\\n\",\n    \"\\n\",\n    \"<<colorful_summ>> shows how this all fits together.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img src=\\\"images/colorful_summ.png\\\" id=\\\"colorful_summ\\\" caption=\\\"Summary of the colorful dimension (courtesy of Stefano Giomo)\\\" alt=\\\"Summary of the colorful dimension\\\" width=\\\"800\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This illustrates why log(f) is more colorful than *f* when *f* follows a normal distribution because taking a log changes the Gaussian in a quadratic, which isn't as narrow.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So with that in mind, let's take another look at the result for the penultimate layer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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pFAndaVC/bVjJ71GlaesGHBtGxJxPe3DR9vzQaVFREREniFOeERERGR6nPCIiIjI9HwUh+f//Lt/evL523/8rpX513/4Z23bv3jz39q2n67+8uTzA8R9rcBbuT90P2dTPJiXyx4yuFlQOBOs4Axhgd/t+wrtlQM4FxRQWKHgwU3osrTjgbu0PvS63kO7DuAb1baRw5O4IGOM8VAcJ/otl/qQrlEtlzgk545JXPtbelLXGsbhYdnPu/bXGODswH9j6HrU++NcudrXT3FZHor3Rg4anSMFYCZtSP2Na30mIlqJOxybieNGPCUMtPIU36het4/hYTxWF5H2Re1req5dC43za1lEK7HnVE9zE65m/lF9SKiqXt+PcTy/4REREZHpccIjIiIi0+OER0RERKbHCY+IiIhMz6PS8n/6n100JpbjP5fPsGourPS9PXY56leH09C/P9/1lcs3iy70ElVufrnqgYJvll2wvl1u27YHkJa/Xrw5+UwhfSQ7k9xXRTGSll+E22r9JKF9B/1KkiYJpDelvrtV7684DC0QuFNpMgnlS1djJ6rEmO5H7a911T4d48z5wNDf1VW9QTSn86YxhvJuaWsqYGLg4pXibHJtX5DIHoQ+jsHBj10sT1ehh2DRYyLn03Oz13XtSuLXsgpd0aRdqax9reT7lPNerS5f32tl8FSoT8o95aUBYj2uk7OvFb+prfQsTaTxDz1vv+ERERGR6XHCIyIiItPjhEdERESmxwmPiIiITM/iePy4qY0iIiIinxp+wyMiIiLT44RHREREpscJj4iIiEyPEx4RERGZHic8IiIiMj1OeERERGR6/j8jStwSQ8E4SwAAAABJRU5ErkJggg==\\n\",\n      \"text/plain\": [\n       \"<Figure size 720x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This shows a classic picture of \\\"bad training.\\\" We start with nearly all activations at zero—that's what we see at the far left, with all the dark blue. The bright yellow at the bottom represents the near-zero activations. Then, over the first few batches we see the number of nonzero activations exponentially increasing. But it goes too far, and collapses! We see the dark blue return, and the bottom becomes bright yellow again. It almost looks like training restarts from scratch. Then we see the activations increase again, and collapse again. After repeating this a few times, eventually we see a spread of activations throughout the range.\\n\",\n    \"\\n\",\n    \"It's much better if training can be smooth from the start. The cycles of exponential increase and then collapse tend to result in a lot of near-zero activations, resulting in slow training and poor final results. One way to solve this problem is to use batch normalization.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Batch Normalization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To fix the slow training and poor final results we ended up with in the previous section, we need to fix the initial large percentage of near-zero activations, and then try to maintain a good distribution of activations throughout training.\\n\",\n    \"\\n\",\n    \"Sergey Ioffe and Christian Szegedy presented a solution to this problem in the 2015 paper [\\\"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift\\\"](https://arxiv.org/abs/1502.03167). In the abstract, they describe just the problem that we've seen:\\n\",\n    \"\\n\",\n    \"> : Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization... We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs.\\n\",\n    \"\\n\",\n    \"Their solution, they say is:\\n\",\n    \"\\n\",\n    \"> : Making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization.\\n\",\n    \"\\n\",\n    \"The paper caused great excitement as soon as it was released, because it included the chart in <<batchnorm>>, which clearly demonstrated that batch normalization could train a model that was even more accurate than the current state of the art (the *Inception* architecture) and around 5x faster.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Impact of batch normalization\\\" width=\\\"553\\\" caption=\\\"Impact of batch normalization (courtesy of Sergey Ioffe and Christian Szegedy)\\\" id=\\\"batchnorm\\\" src=\\\"images/att_00046.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Batch normalization (often just called *batchnorm*) works by taking an average of the mean and standard deviations of the activations of a layer and using those to normalize the activations. However, this can cause problems because the network might want some activations to be really high in order to make accurate predictions. So they also added two learnable parameters (meaning they will be updated in the SGD step), usually called `gamma` and `beta`. After normalizing the activations to get some new activation vector `y`, a batchnorm layer returns `gamma*y + beta`.\\n\",\n    \"\\n\",\n    \"That's why our activations can have any mean or variance, independent from the mean and standard deviation of the results of the previous layer. Those statistics are learned separately, making training easier on our model. The behavior is different during training and validation: during training, we use the mean and standard deviation of the batch to normalize the data, while during validation we instead use a running mean of the statistics calculated during training.\\n\",\n    \"\\n\",\n    \"Let's add a batchnorm layer to `conv`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    layers = [nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)]\\n\",\n    \"    if act: layers.append(nn.ReLU())\\n\",\n    \"    layers.append(nn.BatchNorm2d(nf))\\n\",\n    \"    return nn.Sequential(*layers)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and fit our model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.130036</td>\\n\",\n       \"      <td>0.055021</td>\\n\",\n       \"      <td>0.986400</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's a great result! Let's take a look at `color_dim`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 720x360 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is just what we hope to see: a smooth development of activations, with no \\\"crashes.\\\" Batchnorm has really delivered on its promise here! In fact, batchnorm has been so successful that we see it (or something very similar) in nearly all modern neural networks.\\n\",\n    \"\\n\",\n    \"An interesting observation about models containing batch normalization layers is that they tend to generalize better than models that don't contain them. Although we haven't as yet seen a rigorous analysis of what's going on here, most researchers believe that the reason for this is that batch normalization adds some extra randomness to the training process. Each mini-batch will have a somewhat different mean and standard deviation than other mini-batches. Therefore, the activations will be normalized by different values each time. In order for the model to make accurate predictions, it will have to learn to become robust to these variations. In general, adding additional randomization to the training process often helps.\\n\",\n    \"\\n\",\n    \"Since things are going so well, let's train for a few more epochs and see how it goes. In fact, let's *increase* the learning rate, since the abstract of the batchnorm paper claimed we should be able to \\\"train at much higher learning rates\\\":\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.191731</td>\\n\",\n       \"      <td>0.121738</td>\\n\",\n       \"      <td>0.960900</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.083739</td>\\n\",\n       \"      <td>0.055808</td>\\n\",\n       \"      <td>0.981800</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.053161</td>\\n\",\n       \"      <td>0.044485</td>\\n\",\n       \"      <td>0.987100</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.034433</td>\\n\",\n       \"      <td>0.030233</td>\\n\",\n       \"      <td>0.990200</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.017646</td>\\n\",\n       \"      <td>0.025407</td>\\n\",\n       \"      <td>0.991200</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = fit(5, lr=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At this point, I think it's fair to say we know how to recognize digits! It's time to move on to something harder...\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've seen that convolutions are just a type of matrix multiplication, with two constraints on the weight matrix: some elements are always zero, and some elements are tied (forced to always have the same value). In <<chapter_intro>> we saw the eight requirements from the 1986 book *Parallel Distributed Processing*; one of them was \\\"A pattern of connectivity among units.\\\" That's exactly what these constraints do: they enforce a certain pattern of connectivity.\\n\",\n    \"\\n\",\n    \"These constraints allow us to use far fewer parameters in our model, without sacrificing the ability to represent complex visual features. That means we can train deeper models faster, with less overfitting. Although the universal approximation theorem shows that it should be *possible* to represent anything in a fully connected network in one hidden layer, we've seen now that in *practice* we can train much better models by being thoughtful about network architecture.\\n\",\n    \"\\n\",\n    \"Convolutions are by far the most common pattern of connectivity we see in neural nets (along with regular linear layers, which we refer to as *fully connected*), but it's likely that many more will be discovered.\\n\",\n    \"\\n\",\n    \"We've also seen how to interpret the activations of layers in the network to see whether training is going well or not, and how batchnorm helps regularize the training and makes it smoother. In the next chapter, we will use both of those layers to build the most popular architecture in computer vision: a residual network.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a \\\"feature\\\"?\\n\",\n    \"1. Write out the convolutional kernel matrix for a top edge detector.\\n\",\n    \"1. Write out the mathematical operation applied by a 3×3 kernel to a single pixel in an image.\\n\",\n    \"1. What is the value of a convolutional kernel apply to a 3×3 matrix of zeros?\\n\",\n    \"1. What is \\\"padding\\\"?\\n\",\n    \"1. What is \\\"stride\\\"?\\n\",\n    \"1. Create a nested list comprehension to complete any task that you choose.\\n\",\n    \"1. What are the shapes of the `input` and `weight` parameters to PyTorch's 2D convolution?\\n\",\n    \"1. What is a \\\"channel\\\"?\\n\",\n    \"1. What is the relationship between a convolution and a matrix multiplication?\\n\",\n    \"1. What is a \\\"convolutional neural network\\\"?\\n\",\n    \"1. What is the benefit of refactoring parts of your neural network definition?\\n\",\n    \"1. What is `Flatten`? Where does it need to be included in the MNIST CNN? Why?\\n\",\n    \"1. What does \\\"NCHW\\\" mean?\\n\",\n    \"1. Why does the third layer of the MNIST CNN have `7*7*(1168-16)` multiplications?\\n\",\n    \"1. What is a \\\"receptive field\\\"?\\n\",\n    \"1. What is the size of the receptive field of an activation after two stride 2 convolutions? Why?\\n\",\n    \"1. Run *conv-example.xlsx* yourself and experiment with *trace precedents*.\\n\",\n    \"1. Have a look at Jeremy or Sylvain's list of recent Twitter \\\"like\\\"s, and see if you find any interesting resources or ideas there.\\n\",\n    \"1. How is a color image represented as a tensor?\\n\",\n    \"1. How does a convolution work with a color input?\\n\",\n    \"1. What method can we use to see that data in `DataLoaders`?\\n\",\n    \"1. Why do we double the number of filters after each stride-2 conv?\\n\",\n    \"1. Why do we use a larger kernel in the first conv with MNIST (with `simple_cnn`)?\\n\",\n    \"1. What information does `ActivationStats` save for each layer?\\n\",\n    \"1. How can we access a learner's callback after training?\\n\",\n    \"1. What are the three statistics plotted by `plot_layer_stats`? What does the x-axis represent?\\n\",\n    \"1. Why are activations near zero problematic?\\n\",\n    \"1. What are the upsides and downsides of training with a larger batch size?\\n\",\n    \"1. Why should we avoid using a high learning rate at the start of training?\\n\",\n    \"1. What is 1cycle training?\\n\",\n    \"1. What are the benefits of training with a high learning rate?\\n\",\n    \"1. Why do we want to use a low learning rate at the end of training?\\n\",\n    \"1. What is \\\"cyclical momentum\\\"?\\n\",\n    \"1. What callback tracks hyperparameter values during training (along with other information)?\\n\",\n    \"1. What does one column of pixels in the `color_dim` plot represent?\\n\",\n    \"1. What does \\\"bad training\\\" look like in `color_dim`? Why?\\n\",\n    \"1. What trainable parameters does a batch normalization layer contain?\\n\",\n    \"1. What statistics are used to normalize in batch normalization during training? How about during validation?\\n\",\n    \"1. Why do models with batch normalization layers generalize better?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What features other than edge detectors have been used in computer vision (especially before deep learning became popular)?\\n\",\n    \"1. There are other normalization layers available in PyTorch. Try them out and see what works best. Learn about why other normalization layers have been developed, and how they differ from batch normalization.\\n\",\n    \"1. Try moving the activation function after the batch normalization layer in `conv`. Does it make a difference? See what you can find out about what order is recommended, and why.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "14_resnet.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_resnet]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# ResNets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chapter, we will build on top of the CNNs introduced in the previous chapter and explain to you the ResNet (residual network) architecture. It was introduced in 2015 by Kaiming He et al. in the article [\\\"Deep Residual Learning for Image Recognition\\\"](https://arxiv.org/abs/1512.03385) and is by far the most used model architecture nowadays. More recent developments in image models almost always use the same trick of residual connections, and most of the time, they are just a tweak of the original ResNet.\\n\",\n    \"\\n\",\n    \"We will first show you the basic ResNet as it was first designed, then explain to you what modern tweaks make it more performant. But first, we will need a problem a little bit more difficult than the MNIST dataset, since we are already close to 100% accuracy with a regular CNN on it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Going Back to Imagenette\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's going to be tough to judge any improvements we make to our models when we are already at an accuracy that is as high as we saw on MNIST in the previous chapter, so we will tackle a tougher image classification problem by going back to Imagenette. We'll stick with small images to keep things reasonably fast.\\n\",\n    \"\\n\",\n    \"Let's grab the data—we'll use the already-resized 160 px version to make things faster still, and will random crop to 128 px:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_data(url, presize, resize):\\n\",\n    \"    path = untar_data(url)\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock, CategoryBlock), get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter(valid_name='val'),\\n\",\n    \"        get_y=parent_label, item_tfms=Resize(presize),\\n\",\n    \"        batch_tfms=[*aug_transforms(min_scale=0.5, size=resize),\\n\",\n    \"                    Normalize.from_stats(*imagenet_stats)],\\n\",\n    \"    ).dataloaders(path, bs=128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_160, 160, 128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"dls.show_batch(max_n=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we looked at MNIST we were dealing with 28×28-pixel images. For Imagenette we are going to be training with 128×128-pixel images. Later, we would like to be able to use larger images as well—at least as big as 224×224 pixels, the ImageNet standard. Do you recall how we managed to get a single vector of activations for each image out of the MNIST convolutional neural network?\\n\",\n    \"\\n\",\n    \"The approach we used was to ensure that there were enough stride-2 convolutions such that the final layer would have a grid size of 1. Then we just flattened out the unit axes that we ended up with, to get a vector for each image (so, a matrix of activations for a mini-batch). We could do the same thing for Imagenette, but that would cause two problems:\\n\",\n    \"\\n\",\n    \"- We'd need lots of stride-2 layers to make our grid 1×1 at the end—perhaps more than we would otherwise choose.\\n\",\n    \"- The model would not work on images of any size other than the size we originally trained on.\\n\",\n    \"\\n\",\n    \"One approach to dealing with the first of these issues would be to flatten the final convolutional layer in a way that handles a grid size other than 1×1. That is, we could simply flatten a matrix into a vector as we have done before, by laying out each row after the previous row. In fact, this is the approach that convolutional neural networks up until 2013 nearly always took. The most famous example is the 2013 ImageNet winner VGG, still sometimes used today. But there was another problem with this architecture: not only did it not work with images other than those of the same size used in the training set, but it required a lot of memory, because flattening out the convolutional layer resulted in many activations being fed into the final layers. Therefore, the weight matrices of the final layers were enormous.\\n\",\n    \"\\n\",\n    \"This problem was solved through the creation of *fully convolutional networks*. The trick in fully convolutional networks is to take the average of activations across a convolutional grid. In other words, we can simply use this function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def avg_pool(x): return x.mean((2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, it is taking the mean over the x- and y-axes. This function will always convert a grid of activations into a single activation per image. PyTorch provides a slightly more versatile module called `nn.AdaptiveAvgPool2d`, which averages a grid of activations into whatever sized destination you require (although we nearly always use a size of 1).\\n\",\n    \"\\n\",\n    \"A fully convolutional network, therefore, has a number of convolutional layers, some of which will be stride 2, at the end of which is an adaptive average pooling layer, a flatten layer to remove the unit axes, and finally a linear layer. Here is our first fully convolutional network:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni, nf): return ConvLayer(ni, nf, stride=2)\\n\",\n    \"def get_model():\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        block(3, 16),\\n\",\n    \"        block(16, 32),\\n\",\n    \"        block(32, 64),\\n\",\n    \"        block(64, 128),\\n\",\n    \"        block(128, 256),\\n\",\n    \"        nn.AdaptiveAvgPool2d(1),\\n\",\n    \"        Flatten(),\\n\",\n    \"        nn.Linear(256, dls.c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're going to be replacing the implementation of `block` in the network with other variants in a moment, which is why we're not calling it `conv` any more. We're also saving some time by taking advantage of fastai's `ConvLayer`, which that already provides the functionality of `conv` from the last chapter (plus a lot more!).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> stop: Consider this question: would this approach makes sense for an optical character recognition (OCR) problem such as MNIST? The vast majority of practitioners tackling OCR and similar problems tend to use fully convolutional networks, because that's what nearly everybody learns nowadays. But it really doesn't make any sense! You can't decide, for instance, whether a number is a 3 or an 8 by slicing it into small pieces, jumbling them up, and deciding whether on average each piece looks like a 3 or an 8. But that's what adaptive average pooling effectively does! Fully convolutional networks are only really a good choice for objects that don't have a single correct orientation or size (e.g., like most natural photos).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once we are done with our convolutional layers, we will get activations of size `bs x ch x h x w` (batch size, a certain number of channels, height, and width). We want to convert this to a tensor of size `bs x ch`, so we take the average over the last two dimensions and flatten the trailing 1×1 dimension like we did in our previous model. \\n\",\n    \"\\n\",\n    \"This is different from regular pooling in the sense that those layers will generally take the average (for average pooling) or the maximum (for max pooling) of a window of a given size. For instance, max pooling layers of size 2, which were very popular in older CNNs, reduce the size of our image by half on each dimension by taking the maximum of each 2×2 window (with a stride of 2).\\n\",\n    \"\\n\",\n    \"As before, we can define a `Learner` with our custom model and then train it on the data we grabbed earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_learner(m):\\n\",\n    \"    return Learner(dls, m, loss_func=nn.CrossEntropyLoss(), metrics=accuracy\\n\",\n    \"                  ).to_fp16()\\n\",\n    \"\\n\",\n    \"learn = get_learner(get_model())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.47863011360168456, 3.981071710586548)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXyU5bn/8c+VnSyEJUEwEMImiAgCEUXUYutWa4u22qrVaquH1rZWWtvT1p7TnqPn2Hq6t9YqVWtrtYt1+VnrRq07ggYEWaLIKmFNwpKErJNcvz9mgBiHACVP5pnk+3695pWZZ5tvhpAr930/z3ObuyMiItJRSqIDiIhIOKlAiIhIXCoQIiISlwqEiIjEpQIhIiJxqUCIiEhcaYkO0JUKCgq8pKQk0TFERJLGokWLqty9MN66HlUgSkpKKCsrS3QMEZGkYWYbDrROXUwiIhKXCoSIiMSlAiEiInGpQIiISFwqECIiEpcKhIiIxKUCISKSxJZv2s38NVUEMXWDCoSISBK7d/56vvLHNwI5tgqEiEgSW75pNxOK8jGzLj+2CoSISJJqaG7lne11TCzKD+T4KhAiIklq5ZYaWtucCSoQIiLS3vJNuwE4fmiSFQgzG2Zmz5lZuZmtMLPr42wz08x2m9mS2OO77datN7NlseW6A5+ISAfLNu2mIDeDwX2zAjl+kHdzjQA3uPtiM8sDFpnZPHdf2WG7l9z9/AMc4wx3rwowo4hI0lpWEdwANQTYgnD3Le6+OPa8FigHioJ6PxGR3iQ6QF0b2AA1dNMYhJmVAJOBhXFWTzezpWb2pJkd1265A8+Y2SIzm93JsWebWZmZlVVWVnZpbhGRsFq5pYY2J7ABauiGCYPMLBd4CJjj7jUdVi8Ghrt7nZmdBzwKjImtm+Hum81sEDDPzN5y9xc7Ht/d5wJzAUpLS7v+UkIRkRAKeoAaAm5BmFk60eJwv7s/3HG9u9e4e13s+RNAupkVxF5vjn3dDjwCTAsyq4hIMnmzItgBagj2LCYD7gbK3f0nB9hmcGw7zGxaLE+1meXEBrYxsxzgbGB5UFlFRJLN8k27OT7AAWoItotpBnAFsMzMlsSW3QgUA7j7HcBFwLVmFgEagEvc3c3sKOCR2DeeBjzg7k8FmFVEJGnsHaA+57ijAn2fwAqEu78MdFra3P024LY4y9cCkwKKJiKS1LpjgBp0JbWISNJZVrELCHaAGlQgRESSzrJNNYEPUIMKhIhI0lmycWfgA9SgAiEiklQ2VO9hTeUeThtTGPh7qUCIiCSRf5RvB+DMY4M9gwlUIEREksqz5dsYMyiX4oHZgb+XCoSISJKoaWzhtXU7+FA3tB5ABUJEJGm88HYlkTbnrPGDuuX9VCBERJLEP8q3MSAngxOG9e+W91OBEBFJApHWNp5/u5Izxg4iNSXY01v3UoEQEUkCZRt2sruhhTOP7Z7uJVCBEBFJCs+WbyMjNYXTjgn++oe9VCBERELO3flH+XZOHjWQ3MzA53nbRwVCRCTEGltamfPnJayr2sP5xw/p1vfuvlIkIiKHZXttI7N/v4glG3fxjXPGcnHp0G59fxUIEZEQqqxt4oLbXmFnfQt3XD6Fcyd0b+sBgp1ydJiZPWdm5Wa2wsyuj7PNTDPbbWZLYo/vtlt3rpm9bWarzexbQeUUEQmjRRt2sHl3I79OUHGAYFsQEeAGd18cm196kZnNc/eVHbZ7yd3Pb7/AzFKBXwFnARXA62b2WJx9RUR6pMaWNgCKBwR/z6UDCawF4e5b3H1x7HktUA4UHeLu04DV7r7W3ZuBPwGzgkkqIhI+TZFWADLTUxOWoVvOYjKzEmAysDDO6ulmttTMnjSz42LLioCN7bap4NCLi4hI0muKRFsQWWmJO9k08EFqM8sFHgLmuHtNh9WLgeHuXmdm5wGPAmOAeNeR+wGOPxuYDVBcXNxluUVEEqkp1sXUY1sQZpZOtDjc7+4Pd1zv7jXuXhd7/gSQbmYFRFsMw9ptOhTYHO893H2uu5e6e2lhYfddYSgiEqR9XUwJbEEEeRaTAXcD5e7+kwNsMzi2HWY2LZanGngdGGNmI8wsA7gEeCyorCIiYdMUaSPFIK2bbswXT5BdTDOAK4BlZrYktuxGoBjA3e8ALgKuNbMI0ABc4u4ORMzsy8DTQCpwj7uvCDCriEioNLa0kpmWSuxv6IQIrEC4+8vEH0tov81twG0HWPcE8EQA0UREQq8p0kZmemLvhqR7MYmIhFBTSxtZaYkboAYVCBGRUGqKtKoFISIi79cUaUvoGUygAiEiEkrRAqEuJhER6aAp0qoWhIiIvF9ji85iEhGROKItCHUxiYhIB00tbWSpBSEiIh1pkFpEROLSILWIiMSl6yBERCSuxpbWhM4FASoQIiKh4+5qQYiIyPu1tDrukKUWhIiItBeG2eRABUJEJHSaIrH5qHtqgTCzYWb2nJmVm9kKM7u+k21PNLNWM7uo3bJWM1sSe2i6URHpNfYXiMR2MQU55WgEuMHdF5tZHrDIzOa5+8r2G5lZKnAr0elF22tw9xMCzCciEkpNLbEupp56JbW7b3H3xbHntUA5UBRn0+uAh4DtQWUREUkmjS09vIupPTMrASYDCzssLwIuBO6Is1uWmZWZ2QIzuyDwkCIiIbF/kLrndjEBYGa5RFsIc9y9psPqnwHfdPdWM+u4a7G7bzazkcA/zWyZu6+Jc/zZwGyA4uLirv8GRES62b4xiJ7axQRgZulEi8P97v5wnE1KgT+Z2XrgIuD2va0Fd98c+7oWeJ5oC+R93H2uu5e6e2lhYWHXfxMiIt0sLIPUQZ7FZMDdQLm7/yTeNu4+wt1L3L0E+CvwRXd/1Mz6m1lm7DgFwAxgZbxjiIj0NPsGqRM8BhFkF9MM4ApgmZktiS27ESgGcPd44w57HQvcaWZtRIvYDzqe/SQi0lPtbUEkej6IwAqEu78MvG9goZPtr2r3fD5wfACxRERCr7ElHIPUupJaRCRkevyV1CIi8q/ZfxaTWhAiItKObtYnIiJxNfWmK6lFROTQNUXayEhLIc4FxN1KBUJEJGQaW1oT3noAFQgRkdCJTjea2AFqUIEQEQmdpkhrwi+SAxUIEZHQibYgEv/rOfEJRETkPZpa1MUkIiJxNEVaE36rb1CBEBEJHXUxiYhIXE0trepiEhGR91MLQkRE4mqKtJGV4Bv1gQqEiEjoNOlKahERiacp0tazz2Iys2Fm9pyZlZvZCjO7vpNtTzSzVjO7qN2yK83sndjjyqByioiETVhutRHknNQR4AZ3X2xmecAiM5vXcW5pM0sFbgWebrdsAPA9oBTw2L6PufvOAPOKiIRCj79Zn7tvcffFsee1QDlQFGfT64CHgO3tlp0DzHP3HbGiMA84N6isIiJhEWltI9LmoWhBdEuJMrMSYDKwsMPyIuBC4I4OuxQBG9u9riB+ccHMZptZmZmVVVZWdlVkEZGEaG6NThbUK27WZ2a5RFsIc9y9psPqnwHfdPfWjrvFOZTHO767z3X3UncvLSwsPPLAIiIJFJbZ5CDYMQjMLJ1ocbjf3R+Os0kp8KfYrEkFwHlmFiHaYpjZbruhwPNBZhURCYOmSKxAhOA6iMAKhEV/698NlLv7T+Jt4+4j2m1/L/C4uz8aG6S+xcz6x1afDXw7qKwiImHRFIl2qPT0FsQM4ApgmZktiS27ESgGcPeO4w77uPsOM7sZeD226CZ33xFgVhGRUGjc18XUg1sQ7v4y8ccSDrT9VR1e3wPc08WxRERCLUwtiMQnEBGRffaPQST+1/MhJTCzUWaWGXs+08y+Ymb9go0mItL77D2LKZlu1vcQ0Gpmo4kOPI8AHggslYhIL5WMXUxt7h4helHbz9z9q8CQ4GKJiPRO+7qYQjBIfagFosXMLgWuBB6PLUsPJpKISO+VjC2IzwLTgf9193VmNgL4Q3CxRER6p32nuYZgkPqQTnON3YH1KwCxi9fy3P0HQQYTEemNmlr2tiCSpIvJzJ43s76xK5yXAr81s7hXR4uIyL9u7xhEMt2sLz92o72PA79196nAmcHFEhHpnfYWiIzU5CkQaWY2BPgk+wepRUSkizVFWklLMdKSqEDcRHTGtzXu/rqZjQTeCS6WiEjv1NTSFoozmODQB6kfBB5s93ot8ImgQomI9FaNkdZQ3OobDn2QeqiZPWJm281sm5k9ZGZDgw4nItLbhKkFcagpfgs8BhxNdOrPv8WW9Sj1zRG+8eBSbnmiPNFRRKSXaoq0heI+THDoBaLQ3X/r7pHY416gR83vuWlXAxf9+lUeXFTBb19Zx6765kRHEpFeqCnSmnQtiCozu9zMUmOPy4HqIIN1p0UbdjLrtlfYuKOeb5wzlpZW5+kVWxMdS0R6oaZI8nUxfY7oKa5bgS3ARURvv3FAZjbMzJ4zs3IzW2Fm18fZZpaZvWlmS8yszMxObbeuNbZ8iZk9dujf0uHZVd/MZ+5eSG5mKo986RS+OHMUwwdm87elW4J6SxGRA4qOQYSji+lQz2J6F/hY+2VmNgf4WSe7RYAb3H2xmeUBi8xsXuy2HXs9Czzm7m5mE4G/AONi6xrc/YRD/Ub+Vf2yM/jlZZOZUtyfftkZAHx04tHc/vxqquqaKMjNDDqCiMg+jZFWcjODnA360B1JO+Zrna109y3uvjj2vBYoJzrA3X6bOnf32MscwEmAD447al9xADh/0hDaHJ5cplaEiHSvZDyLKZ5Dnm/azEqAycDCOOsuNLO3gL8T7craKyvW7bTAzC7o5NizY9uVVVZWHnL4zow9Ko8xg3Lf0820pynCHxZsYMceDV6LSHCig9Th6GI6kgJxSH/tm1ku0Rnp5sTu5/Teg7g/4u7jgAuAm9utKnb3UuAy4GdmNipuCPe57l7q7qWFhV1zYpWZ8dFJR/Pa+h1s2d3ArvpmPn3XQv7j0eWc9ZMX+NvSzexv+IiIdJ2mSFsobvUNBykQZlZrZjVxHrVEr4nolJmlEy0O97v7w51t6+4vAqPMrCD2enPs61rgeaItkG5z/sTohHn3zl/PJXMXsHJzDf/10fEM7d+H6/74BrPvW0TFzvrujCQivUD0LKYkaEG4e567943zyHP3TkdRzMyIzl9d7u5xbw1uZqNj22FmU4AMoNrM+ptZZmx5ATADWBnvGEEZWZjLcUf35c4X1vLujnp++9kTuWrGCB669hRuPG8cL66qZOYPn+frDy5lTWVdl753W5taJyK9VVNLeK6DCHKofAZwBbDMzJbElt0IFAO4+x1E7+f0GTNrARqAT8XOaDoWuNPM2ogWsR90OPupW3xm+nB+9Mwq7rh8KlOH9wcgLTWF2aeP4qOTjmbui2v542vv8tDiCqaPHMjk4n5MHtafqcP70z8n4yBH3++ldyr5/asb2LyrgU27GqhtjDCyIIfjju7LcUfnM3FoPhOK8snpcGaDu7NqWx0vvVNJxc4GLp1WzNjBeQd8n6dXbOWdbbVMGzGQE4b1IyMkP4Qisl+YupisJ/Wll5aWellZWZce092JNXLiqqpr4t5X1vP8qu2Ub6mltc3Jzkjlvz92HBdNHdrpvhAtDlffW8bA3AyOHdKXo/tlkZuZzurttazYXMOW3Y0ApBgcc1QeBbmZRNraaG1zNlTXs722CYD0VCPS5nzk+CHMOXMMowftLxS76pv5j0eX8/ib+wfd+6SncsKwfpQUZDO0fzZF/fowICeDftnp5PdJJzMtlRSLjsc0trRSvaeZnXuaaWhpJS8rjb5Z6eRkptEUaaWhuZXGljYK8zIpKcj+l5rHrW2+7/1Eeit3Z8S3n+ArHxrD1846plve08wWxcZ73yccJ9uG2MF+YRXkZvL1c8by9XPG0tDcyrJNu/nxM2/zjb++yUvvVPE/F06gb1Y67k5dU4TczLR9x3x9/Q7+7fdljCzM4c+zp5Ofnf6+41fXNbG0YhdLNu5m6cZd1Da2kJaaQnpqCiePHMipows4dUwB2Rmp/Oaltdz7ynoef3MLowpzmDS0H6MG5fL7V9dTXdfM188+hkunFVO2YSevrqnmjY27eGbFNqq78MysFINhA7Lpn51BpK2NSKuTm5nGSSMHcMqoAsYNzmNpxS5eWV3NwnXVVNY2UdsYob65leEDs7nkxGIumjqUwrzo9SfuTlOkLTT3xxcJ0t7JgsLSxaQWRABa25zbn1vNz559h/7Z0b/GK+uaaI60cVTfTE4ZVcCEonx+Nm8VhX0z+fPs6ft+IR6pHXua+fPrG1m0YSdvVuxie20TYwbl8tNPncCEovy4+9Q3R9i8q4Gd9S3srm9hV0MLLa1ttLnT5tEf1oE5GfTPySA7I5Xaxgg1DS3UNUXITEslOyOVzLQUttY0sqZyD2u211HbFCEtxUhNMarqmnizYjet7cZWMtJSKB3en6H9+5AXa40sXFvNwnU7SEsxxg3JY+eeFqrqmvb9p0mx6Dy9g/OzGNq/D0P79+GovlkU5GZGWy8DczjmqFy1QiRp7W5oYdJ/P8N/nj+eq08d0S3vqRZEN0tNMa770BimjxrIXS+tIzszlcK8TPL7pFO+pZaX3qnkkTc2MbR/H+6/5qQuKw4AA3IyuHbm/jOCq+qa6NcnvdO/vrMz0t7TJRWEuqYIr6/fwdtba5lYlM+U4f3j3rFy9fY6/vz6u7y1tZYxg/L2fW6tbU5zpI2Glla21jRSsbOBeSu3UVX33tbPoLxMThtTyPRRAykZmE1R/z4MyssiNUVFQ8KvKdIKhKcFoQIRoNKSAZSWDHjfcndnTeUeBudnBX5JfVhuFZKbmcYZYwdxxthBnW43elAu3/nI+EM+bktrG9V1zVTWNlG+pYYX36nk2be28dDiin3bZKSmcMKwfswYXcCpYwYybnDf9w34i4RBU0u4upj0vyQBzIzRg3ITHaNHSE9NYXB+FoPzszh+aD6fPHEYrW3Ouqo6Nu5sYNPOBjZU72HB2h387NlV/PQf0f3ystIY3DeLYwbncfb4ozhj3CD6Zr1/DEikO+0bgwjJfBAqENLjpKYYowflva/bbFd9MwvWVrO+up6tuxvZsruB19bt4O9vbiE91fjAMYV8/ZyxjBvcN0HJpbdrbFEXk0hC9MvO4NwJQ96zrK3NeWPjTp5esY2/lG3kvJ+/xOUnD+drZx3znhs4inSHsJ3FpAIhvVpKijF1+ACmDh/AF2eO4qfzVnHfgg08tnQz15w6giuml5DfR11P0j32D1KHo4spHGVKJAT6ZWfw37Mm8MT1pzF5WD9+9MwqZvzgn3z/iXK21zYmOp70AntbEFkhuZJaLQiRDsYN7stvPzuNlZtr+PULa6IXIM5fz6XTipl9+kiO7tcn0RGlh9p/FpNaECKhNv7ovvzy0sn884aZXHBCEX9YsIEP/PA5/uuxFdQ3RxIdT3qgfV1MIWlBhCOFSIiVFORw60UTef4bM7m4dBi/e3U95/38JRZt2JHoaNLDhO06iHCkEEkCQ/tnc8uFx/PANSfT0upcfMer3PrUW/v+6hM5UhqkFkly00cN5Kk5p3Hx1GH8+vk1zLrtFVZuft9kiSKHbf+FcuH41RyOFCJJJi8rnVsvmsjdV5ZSvaeZWb96mV8++w4NzWpNyL9u31lMakGIJL8PHXsUz8w5nbOPG8yP563ipFv+wU1/W9nlswxK79DU0opZdH6XMAisQJjZMDN7zszKzWyFmV0fZ5tZZvammS0xszIzO7XduivN7J3Y48qgcoocqf45Gfzqsin85fPT+cDYQdy3YD0f+vELfP6+MlZvr010PEkidU3R6UbDcsv6IK+DiAA3uPtiM8sDFpnZvA5Thz4LPBabZnQi8BdgnJkNAL4HlAIe2/cxd98ZYF6RIzJtxACmjRhAZe14/rBgA3e/vI55K1/koqlD+dpZYxmcn5XoiBJy89dUcfwB5m1JhMBaEO6+xd0Xx57XAuVAUYdt6nz/jEU5RIsBwDnAPHffESsK84Bzg8oq0pUK8zL56lnH8MI3ZnLVKSN49I3NfPjnLzJ/dVWio0mIrams462ttZx3/JCDb9xNumUMwsxKgMnAwjjrLjSzt4C/A5+LLS4CNrbbrIIOxaXd/rNj3VNllZWVXRlb5IgMzM3kux8dz1NzTqMgN5Mr7nmNe15eR0+axVG6zlPLtwJw7oTBCU6yX+AFwsxygYeAOe7+vnMB3f0Rdx8HXADcvHe3OIeK+7/K3ee6e6m7lxYWFnZVbJEuM7Iwl0e+NIMPjhvETY+v5N//+iYtrW2JjiUh88SyLUwp7seQ/PDcyiXQAmFm6USLw/3u/nBn27r7i8AoMysg2mIY1m71UGBzYEFFApabmcadl0/lKx8aw4OLKvjCfYv23ftfZEP1HlZsrglV9xIEexaTAXcD5e7+kwNsMzq2HWY2BcgAqoGngbPNrL+Z9QfOji0TSVopKcbXzjqG/7lgAv98eztX3vMatY0tiY4lIfBkCLuXINizmGYAVwDLzGxJbNmNQDGAu98BfAL4jJm1AA3Ap2KD1jvM7Gbg9dh+N7m7bnwjPcLlJw+nb590vvbnJVz6mwX87rPTGBiSucMlMZ5ctoVJQ/MZ2j870VHeI7AC4e4vE38sof02twK3HmDdPcA9AUQTSbiPTTqavMw0rr1/ERff+Sp/uPok3Ua8l6rYWc/Sit1868PjEh3lfXQltUiCnDFuEL//3ElU1jRx0a/ns1ZXX/dKe89eOm9CuMYfQAVCJKGmjRjAH2efTFOkjYvveFU3/euFnl6xleOO7kvxwHB1L4EKhEjCTSjK58EvTCcjLYUr7l7I6u1qSfQWDc2tvPHuLk4/Jpyn6KtAiITAyMJc7r/mJMyMy+9ayMYd9YmOJN1g8bs7ibQ500YMSHSUuFQgREJiZGEuf7hmGg0trVx21wK27m5MdCQJ2MK11aQYlA7vn+gocalAiITIuMF9+f3nprFzTwuz7yvTFdc93IJ1O5hQlE9eVnqio8SlAiESMpOG9eOHF03kzYrd3PbP1YmOIwFpbGllycZdnBTS7iVQgRAJpQ8fP4SPTy7itudWs3TjrkTHkQAs3biL5kgb00YMTHSUA1KBEAmp733sOAblZfLVvyzRVKY90MJ1OzCDaSVqQYjIYcrvk86PLp7E2so9/ODJ8kTHkS62cF014wb3JT87nOMPoAIhEmozRhdw9akj+N2rG3hsqW5o3FM0R9pYtGFnqMcfQAVCJPS+ee44ppUM4N//upQVm3cnOo50gWWbdtHY0sbJI1UgROQIZKSl8KtPT6F/dgazf7+IHXuaEx1JjtDCddGbU58Y4vEHUIEQSQqFeZnccflUKuua+NL9i6lriiQ6khyBhWt3MGZQbuhv864CIZIkJg3rx/cvPJ4F66o556cv8sIqzcGejFrbPDr+EPLuJVCBEEkqn5g6lAc/P52s9BSuvOc1bvjLUs1Kl2Q272qgrinChKPzEx3loIKccnSYmT1nZuVmtsLMro+zzafN7M3YY76ZTWq3br2ZLTOzJWZWFlROkWRTWjKAv3/lNL58xmgeXbKJ6/74Bq1tnuhYcojWVe0BYERBToKTHFyQLYgIcIO7HwucDHzJzMZ32GYd8AF3nwjcDMztsP4Mdz/B3UsDzCmSdLLSU/n6OWO5adZxPP92Jf/39FuJjiSHaF+BKAx/gQhyytEtwJbY81ozKweKgJXttpnfbpcFwNCg8oj0RJ8+aTgrN9dw5wtrGT+kL7NOKEp0JDmIdVV7yMlIpTDkA9TQTWMQZlYCTAYWdrLZ1cCT7V478IyZLTKz2Z0ce7aZlZlZWWWlBu2k9/neR4+LXSfxJssqdJ1E2K2r2sOIwhzMLNFRDirwAmFmucBDwBx3jzufopmdQbRAfLPd4hnuPgX4MNHuqdPj7evuc9291N1LCwvDOSuTSJAy0lK4/fIpFORmMvu+MrbXah6JMFtXtYcRBbmJjnFIAi0QZpZOtDjc7+4PH2CbicBdwCx3r9673N03x75uBx4BpgWZVSSZFeRmMvczU9lV38Ln71tEU0Q39wuj5kgbFTvrGRHC+afjCfIsJgPuBsrd/ScH2KYYeBi4wt1XtVueY2Z5e58DZwPLg8oq0hMcd3Q+P7p4Em+8u4vvPLIcd53ZFDbv7qinzZNjgBoCHKQGZgBXAMvMbEls2Y1AMYC73wF8FxgI3B7rj4vEzlg6CngktiwNeMDdnwowq0iP8JGJQ3h72xh+8ew7jCrM5dqZoxIdSdrZf4prcnQxBXkW08tAp6Mw7n4NcE2c5WuBSe/fQ0QOZs6HxrB6ey23PvUWq7bVcvMFE8jNDPJvQTlU66rqABgxMDlaELqSWqSHSUkxfnnpFL565jH8vyWb+MgvXuLNCs1KFwbrquoZkJMR6jkg2lOBEOmBUlOM688cw59mT6cl0sZFv36V12J3EJXEWVdVlxRXUO+lAiHSg00bMYDHv3IaQ/v34fP3lfFudX2iI/Vq66r2UJIk3UugAiHS4w3IyeDuq06kzeHq371OjW7ulxB7miJsq2liZJKcwQQqECK9woiCHH796Smsq9rDdQ+8QaS1LdGRep311clzk769VCBEeolTRhdw06wJvLCqkuv++AaNLbqYrjvtPcU1mbqYdO6bSC9y2UnF1DdH+J+/l7Oz/jXmfqaUvlnJcUZNsltXGSsQBclxFTWoBSHS61xz2kh+9qkTKFu/k0vuXKB7N3WTddV7GJKfRXZG8vxdrgIh0gtdMLmIu64sZV3VHq6653X2aI7rwEVv0pc83UugAiHSa80cO4jbL5/CW1tr+Oqfl9CmWekCta5qDyUqECKSLM4YO4j/+Mh4nlm5jR8983ai4/RYO/c0s6u+hZFJViCSpzNMRALx2RklvLO9jtufX8PoQbl8fIomduxKtY0t3P78aiC5zmACFQiRXs/MuGnWcayrquM/H13OqaMLGNQ3K9Gxklp9c4TNuxr5R/k27nhhDbvqWzjv+MGcdkxBoqMdFhUIESE9NYUffHwiZ//0RW596m1+/EndTLkjd2dd1R7mr6lm8YadVO9pZndDCzWNLURaHcdxh9rGCLsb9l+tPnNsITecNZbjh+YnMP2/RgVCRAAoKcjhc6eO4I4X1nD5ycVMLhoPmBMAAA1ySURBVO6f6EgJ9Wz5Nv5Rvp2de5rZUd/Mu9X1bK2JnhJcmJfJkPws8vukU9SvDxlp0eFcA3Iy0xjSL4uj8/twzFF5jD+6bwK/iyOjAiEi+3z5g6N5eHEF//XYCh754gxSUjqd0qVHirS28X9Pv83cF9fSLzudQXmZ9MvOYNqIAZw0cgCnjCqgZGA2sQnNerTACoSZDQN+DwwG2oC57v7zDtt8Gvhm7GUdcK27L42tOxf4OZAK3OXuPwgqq4hE5Wam8a0Pj+Nrf1nKQ4sruLh0WKIjdauquiaue+ANXl1bzRUnD+c/zx+/r3XQGwX5nUeAG9z9WOBk4EtmNr7DNuuAD7j7ROBmYC6AmaUCvwI+DIwHLo2zr4gE4IITiphc3I9bn3qb3fW9586vFTvrmXXbKyx+dyc/vngSN18woVcXBwiwQLj7FndfHHteC5QDRR22me/uO2MvFwB7z6+bBqx297Xu3gz8CZgVVFYR2S8lxbh51gR21jdz0+MrEx2nW2zZ3cClv1lAbWMLD35hOp+YqlN9oZsulDOzEmAysLCTza4Gnow9LwI2tltXQYfiIiLBmVCUzxdnjuKhxRX8861tiY4TqO01jVz2m4Xs2tPCfVefxMSh/RIdKTQCLxBmlgs8BMxx95oDbHMG0QKxdzwi3uhP3PsAmNlsMyszs7LKysquiCwiRAesxx6Vx7cfXvae0zZ7gvrmCK+uqeZXz63mk3e+yraaRu793IlMGqbi0F6gZzGZWTrR4nC/uz98gG0mAncBH3b36tjiCqD96NhQYHO8/d19LrGxi9LSUt1MRqSLZKal8sOLJ3Lh7fO5+fGV/Oji5Lw2oq3NWbmlhrL1O1i+uYblm3bzzvY6WmP3nhozKJffXnUiU4cPSHDS8AnyLCYD7gbK3f0nB9imGHgYuMLdV7Vb9TowxsxGAJuAS4DLgsoqIvFNHNqPL3xgJL96bg01DS18ZnoJM0YPDP0pnu7Os+XbeWL5Fl5cVUVVXRMABbkZTCjK58xjj2Lq8P5MLu5Hv+yMBKcNryBbEDOAK4BlZrYktuxGoBjA3e8AvgsMBG6P/cBF3L3U3SNm9mXgaaKnud7j7isCzCoiB3D9h44B4I+vbeSZldsYWZjDf35kPGeMG5TgZPG9/E4V//f0W7xZsZt+2emcPqaQDxxTyCmjBzK4b1boi1uYmHvP6ZUpLS31srKyRMcQ6ZEaW1p5cvkWfv38GlZvr+N/Ljiey04qTnSsfZZv2s0tT5Qzf001Rf36MOfMMVw4uYi01N59qurBmNkidy+Nt05XUovIIclKT+XCyUM5e/xgvvTAYm58ZBlbdzfw1bOOSehf5Zt3NfCjp9/m4Tc2MSAng+99dDyXnVRMZlpqwjL1FCoQInJYcjLT+M1nSvnOI8v4xT9XU7GzgVs+fjxZ6d3zC3n+6iqeWbmNip0NbN7VwOrKOgCunTmKa2eO0hzbXUgFQkQOW3pqCrd+YiJF/bL56T9WUb61ljsun8LwAOc7eGdbLbc8Uc5zb1eSk5HKsAHZFPXrwymjBnLVjBKG9s8O7L17K41BiMgR+edb2/jqn5fS5s6PL57E2ccN7pLjtrY5q7bVUrZhJwvWVvPU8q1kZ6Ry3QdHc+UpJepC6iKdjUGoQIjIEdu4o55r71/E8k01nH5MId88dyzHHZ1PS2sbr6yuYt7KbQzMyeDEEQOYUtyfnMz3d16s2lbLj55+m601jVTXNVNV10RTpA2I3l77/IlDuO6DYxiQo9NSu5IKhIgErinSyn2vbuC251azq76F08YUsGJzDTv2NJOdkUpjSyttDqkpxjnHHcVNsyZQkJsJwJsVu/jMPa9hRK+9GJiTwcDcDI4d0pfS4QMYNqCPTk8NiAqEiHSb3Q0t3PnCGh59YxNThvfnY5OO5gNjC2mOtLH43V28srqKe+evp29WGrd+YiJ5Wel87t7X6Zedzv3XnBToOIa8nwqEiITK21trmfPnJZRvqSE91SgekM0frjmJIfl9Eh2t19F1ECISKmMH5/Hol07h5/94hxWba/jxJyft626S8FCBEJGEyExL5d/PHZfoGNIJXYMuIiJxqUCIiEhcKhAiIhKXCoSIiMSlAiEiInGpQIiISFwqECIiEpcKhIiIxNWjbrVhZpXAhtjLfGB3J887fi0Aqg7j7dof81DWdVyWyHxHkrGzZfoM9Rkeab7OMsXLFW9Zb/8MO8sXL9dwdy+Me3R375EPYG5nz+N8LftXj38o6zouS2S+I8l4kKz6DPUZHlG+zjLpMzzyfAf6DA/06MldTH87yPOOX4/k+IeyruOyROY70PpDyXiwZYdDn2Hv/gwPtO5AmQ6UR59h58sO5TOMq0d1MR0JMyvzA9zRMAzCng/CnzHs+SD8GcOeD8KfMez52uvJLYjDNTfRAQ4i7Pkg/BnDng/CnzHs+SD8GcOebx+1IEREJC61IEREJC4VCBERiUsFQkRE4lKBOARmdpqZ3WFmd5nZ/ETn6cjMUszsf83sl2Z2ZaLzdGRmM83spdhnODPReQ7EzHLMbJGZnZ/oLB2Z2bGxz++vZnZtovPEY2YXmNlvzOz/mdnZic7TkZmNNLO7zeyvic7SXuzn7nexz+7Tic7TXo8vEGZ2j5ltN7PlHZafa2Zvm9lqM/tWZ8dw95fc/QvA48DvwpYPmAUUAS1ARQjzOVAHZHV1vi7MCPBN4C9hzOfu5bGfwU8CXX6KZBdlfNTd/w24CvhUCPOtdferuzLXgRxm3o8Df419dh/rjnyH7HCu6EvGB3A6MAVY3m5ZKrAGGAlkAEuB8cDxRItA+8egdvv9BegbtnzAt4DPx/b9awjzpcT2Owq4P4z/xsCZwCVEf7mdH7Z8sX0+BswHLgvjZ9huvx8DU0Kcr0v/j3RB3m8DJ8S2eSDobIfzSKOHc/cXzaykw+JpwGp3XwtgZn8CZrn794G43QtmVgzsdveasOUzswqgOfayNWz52tkJZHZlvq7KaGZnADlE/8M2mNkT7t4Wlnyx4zwGPGZmfwce6IpsXZnRzAz4AfCkuy8OW77udDh5ibaqhwJLCFmvTo8vEAdQBGxs97oCOOkg+1wN/DawRO91uPkeBn5pZqcBLwYZLOaw8pnZx4FzgH7AbcFG2+ewMrr7dwDM7CqgqquKQycO9zOcSbQrIhN4ItBk+x3uz+F1RFti+WY22t3vCDIch/8ZDgT+F5hsZt+OFZLudKC8vwBuM7OP8K/fjiMQvbVAWJxlnV4x6O7fCyhLPIeVz93riRaw7nK4+R4mWsS602H/GwO4+71dHyWuw/0MnweeDyrMARxuxl8Q/WXXXQ43XzXwheDiHFTcvO6+B/hsd4c5FKFqznSjCmBYu9dDgc0JyhKP8h25sGcMez4If8aw5+so2fL22gLxOjDGzEaYWQbRwcnHEpypPeU7cmHPGPZ8EP6MYc/XUbLl7RVnMf0R2ML+U0Cvji0/D1hF9KyC7yhfcuZLhoxhz5cMGcOeL9nzHuihm/WJiEhcvbWLSUREDkIFQkRE4lKBEBGRuFQgREQkLhUIERGJSwVCRETiUoGQHs3M6rr5/e4ys/FddKxWM1tiZsvN7G9m1u8g2/czsy92xXuLALoOQno2M6tz99wuPF6au0e66ngHea992c3sd8Aqd//fTrYvAR539wndkU96PrUgpNcxs0Ize8jMXo89ZsSWTzOz+Wb2Ruzr2Njyq8zsQTP7G/CMRWfIe96is7u9ZWb3x251TWx5aex5nUVn+ltqZgvM7KjY8lGx16+b2U2H2Mp5lejdQDGzXDN71swWm9kyM5sV2+YHwKhYq+OHsW2/EXufN83sv7vwY5ReQAVCeqOfAz919xOBTwB3xZa/BZzu7pOB7wK3tNtnOnClu38w9noyMIfo/BEjgRlx3icHWODuk4jehv3f2r3/z2Pvf9CbtZlZKvAh9t+3pxG40N2nAGcAP44VqG8Ba9z9BHf/hkWn/RxDdB6CE4CpZnb6wd5PZK/eertv6d3OBMbH/ugH6GtmeUA+8DszG0P0ttHp7faZ5+472r1+zd0rAMxsCVACvNzhfZqJzmYGsAg4K/Z8OnBB7PkDwI8OkLNPu2MvAubFlhtwS+yXfRvRlsVRcfY/O/Z4I/Y6l2jB6I45Q6QHUIGQ3igFmO7uDe0Xmtkvgefc/cJYf/7z7Vbv6XCMpnbPW4n/f6nF9w/yHWibzjS4+wlmlk+00HyJ6HwLnwYKganu3mJm64nO992RAd939zsP831FAHUxSe/0DPDlvS/M7ITY03xgU+z5VQG+/wKiXVsQveVzp9x9N/AV4Otmlk405/ZYcTgDGB7btBbIa7fr08DnzGzvQHeRmQ3qou9BegEVCOnpss2sot3ja0R/2ZbGBm5Xsn+Wsf8Dvm9mrxCdYD4oc4CvmdlrwBBg98F2cPc3iE5yfwlwP9H8ZURbE2/FtqkGXomdFvtDd3+GaBfWq2a2DPgr7y0gIp3Saa4i3czMsol2H7mZXQJc6u6zDrafSHfTGIRI95tKdJJ6A3YBn0twHpG41IIQEZG4NAYhIiJxqUCIiEhcKhAiIhKXCoSIiMSlAiEiInGpQIiISFz/H4FwmdEFnnoaAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"3e-3 is often a good learning rate for CNNs, and that appears to be the case here too, so let's try that:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.901582</td>\\n\",\n       \"      <td>2.155090</td>\\n\",\n       \"      <td>0.325350</td>\\n\",\n       \"      <td>00:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.559855</td>\\n\",\n       \"      <td>1.586795</td>\\n\",\n       \"      <td>0.507771</td>\\n\",\n       \"      <td>00:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.296350</td>\\n\",\n       \"      <td>1.295499</td>\\n\",\n       \"      <td>0.571720</td>\\n\",\n       \"      <td>00:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.144139</td>\\n\",\n       \"      <td>1.139257</td>\\n\",\n       \"      <td>0.639236</td>\\n\",\n       \"      <td>00:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.049770</td>\\n\",\n       \"      <td>1.092619</td>\\n\",\n       \"      <td>0.659108</td>\\n\",\n       \"      <td>00:07</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's a pretty good start, considering we have to pick the correct one of 10 categories, and we're training from scratch for just 5 epochs! We can do way better than this using a deeper mode, but just stacking new layers won't really improve our results (you can try and see for yourself!). To work around this problem, ResNets introduce the idea of *skip connections*. We'll explore those and other aspects of ResNets in the next section.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Building a Modern CNN: ResNet\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We now have all the pieces we need to build the models we have been using in our computer vision tasks since the beginning of this book: ResNets. We'll introduce the main idea behind them and show how it improves accuracy on Imagenette compared to our previous model, before building a version with all the recent tweaks.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Skip Connections\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In 2015, the authors of the ResNet paper noticed something that they found curious. Even after using batchnorm, they saw that a network using more layers was doing less well than a network using fewer layers—and there were no other differences between the models. Most interestingly, the difference was observed not only in the validation set, but also in the training set; so, it wasn't just a generalization issue, but a training issue. As the paper explains:\\n\",\n    \"\\n\",\n    \"> : Unexpectedly, such degradation is not caused by overfitting, and adding more layers to a suitably deep model leads to higher training error, as [previously reported] and thoroughly verified by our experiments.\\n\",\n    \"\\n\",\n    \"This phenomenon was illustrated by the graph in <<resnet_depth>>, with training error on the left and test error on the right.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Training of networks of different depth\\\" width=\\\"700\\\" caption=\\\"Training of networks of different depth (courtesy of Kaiming He et al.)\\\" id=\\\"resnet_depth\\\" src=\\\"images/att_00042.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As the authors mention here, they are not the first people to have noticed this curious fact. But they were the first to make a very important leap:\\n\",\n    \"\\n\",\n    \"> : Let us consider a shallower architecture and its deeper counterpart that adds more layers onto it. There exists a solution by construction to the deeper model: the added layers are identity mapping, and the other layers are copied from the learned shallower model.\\n\",\n    \"\\n\",\n    \"As this is an academic paper this process is described in a rather inaccessible way, but the concept is actually very simple: start with a 20-layer neural network that is trained well, and add another 36 layers that do nothing at all (for instance, they could be linear layers with a single weight equal to 1, and bias equal to 0). The result will be a 56-layer network that does exactly the same thing as the 20-layer network, proving that there are always deep networks that should be *at least as good* as any shallow network. But for some reason, SGD does not seem able to find them.\\n\",\n    \"\\n\",\n    \"> jargon: Identity mapping: Returning the input without changing it at all. This process is performed by an _identity function_.\\n\",\n    \"\\n\",\n    \"Actually, there is another way to create those extra 36 layers, which is much more interesting. What if we replaced every occurrence of `conv(x)` with `x + conv(x)`, where `conv` is the function from the previous chapter that adds a second convolution, then a batchnorm layer, then a ReLU. Furthermore, recall that batchnorm does `gamma*y + beta`. What if we initialized `gamma` to zero for every one of those final batchnorm layers? Then our `conv(x)` for those extra 36 layers will always be equal to zero, which means `x+conv(x)` will always be equal to `x`.\\n\",\n    \"\\n\",\n    \"What has that gained us? The key thing is that those 36 extra layers, as they stand, are an *identity mapping*, but they have *parameters*, which means they are *trainable*. So, we can start with our best 20-layer model, add these 36 extra layers which initially do nothing at all, and then *fine-tune the whole 56-layer model*. Those extra 36 layers can then learn the parameters that make them most useful.\\n\",\n    \"\\n\",\n    \"The ResNet paper actually proposed a variant of this, which is to instead \\\"skip over\\\" every second convolution, so effectively we get `x+conv2(conv1(x))`. This is shown by the diagram in <<resnet_block>> (from the paper).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"A simple ResNet block\\\" width=\\\"331\\\" caption=\\\"A simple ResNet block (courtesy of Kaiming He et al.)\\\" id=\\\"resnet_block\\\" src=\\\"images/att_00043.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That arrow on the right is just the `x` part of `x+conv2(conv1(x))`, and is known as the *identity branch* or *skip connection*. The path on the left is the `conv2(conv1(x))` part. You can think of the identity path as providing a direct route from the input to the output.\\n\",\n    \"\\n\",\n    \"In a ResNet, we don't actually proceed by first training a smaller number of layers, and then adding new layers on the end and fine-tuning. Instead, we use ResNet blocks like the one in <<resnet_block>> throughout the CNN, initialized from scratch in the usual way, and trained with SGD in the usual way. We rely on the skip connections to make the network easier to train with SGD.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's another (largely equivalent) way to think of these ResNet blocks. This is how the paper describes it:\\n\",\n    \"\\n\",\n    \"> : Instead of hoping each few stacked layers directly fit a desired underlying mapping, we explicitly let these layers fit a residual mapping. Formally, denoting the desired underlying mapping as H(x), we let the stacked nonlinear layers fit another mapping of F(x) := H(x)−x. The original mapping is recast into F(x)+x. We hypothesize that it is easier to optimize the residual mapping than to optimize the original, unreferenced mapping. To the extreme, if an identity mapping were optimal, it would be easier to push the residual to zero than to fit an identity mapping by a stack of nonlinear layers.\\n\",\n    \"\\n\",\n    \"Again, this is rather inaccessible prose—so let's try to restate it in plain English! If the outcome of a given layer is `x`, when using a ResNet block that returns `y = x+block(x)` we're not asking the block to predict `y`, we are asking it to predict the difference between `y` and `x`. So the job of those blocks isn't to predict certain features, but to minimize the error between `x` and the desired `y`. A ResNet is, therefore, good at learning about slight differences between doing nothing and passing though a block of two convolutional layers (with trainable weights). This is how these models got their name: they're predicting residuals (reminder: \\\"residual\\\" is prediction minus target).\\n\",\n    \"\\n\",\n    \"One key concept that both of these two ways of thinking about ResNets share is the idea of ease of learning. This is an important theme. Recall the universal approximation theorem, which states that a sufficiently large network can learn anything. This is still true, but there turns out to be a very important difference between what a network *can learn* in principle, and what it is *easy for it to learn* with realistic data and training regimes. Many of the advances in neural networks over the last decade have been like the ResNet block: the result of realizing how to make something that was always possible actually feasible.\\n\",\n    \"\\n\",\n    \"> note: True Identity Path: The original paper didn't actually do the trick of using zero for the initial value of `gamma` in the last batchnorm layer of each block; that came a couple of years later. So, the original version of ResNet didn't quite begin training with a truly identity path through the ResNet blocks, but nonetheless having the ability to \\\"navigate through\\\" the skip connections did indeed make it train better. Adding the batchnorm `gamma` init trick made the models train at even higher learning rates.\\n\",\n    \"\\n\",\n    \"Here's the definition of a simple ResNet block (where `norm_type=NormType.BatchZero` causes fastai to init the `gamma` weights of the last batchnorm layer to zero):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResBlock(Module):\\n\",\n    \"    def __init__(self, ni, nf):\\n\",\n    \"        self.convs = nn.Sequential(\\n\",\n    \"            ConvLayer(ni,nf),\\n\",\n    \"            ConvLayer(nf,nf, norm_type=NormType.BatchZero))\\n\",\n    \"        \\n\",\n    \"    def forward(self, x): return x + self.convs(x)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are two problems with this, however: it can't handle a stride other than 1, and it requires that `ni==nf`. Stop for a moment to think carefully about why this is.\\n\",\n    \"\\n\",\n    \"The issue is that with a stride of, say, 2 on one of the convolutions, the grid size of the output activations will be half the size on each axis of the input. So then we can't add that back to `x` in `forward` because `x` and the output activations have different dimensions. The same basic issue occurs if `ni!=nf`: the shapes of the input and output connections won't allow us to add them together.\\n\",\n    \"\\n\",\n    \"To fix this, we need a way to change the shape of `x` to match the result of `self.convs`. Halving the grid size can be done using an average pooling layer with a stride of 2: that is, a layer that takes 2×2 patches from the input and replaces them with their average.\\n\",\n    \"\\n\",\n    \"Changing the number of channels can be done by using a convolution. We want this skip connection to be as close to an identity map as possible, however, which means making this convolution as simple as possible. The simplest possible convolution is one where the kernel size is 1. That means that the kernel is size `ni*nf*1*1`, so it's only doing a dot product over the channels of each input pixel—it's not combining across pixels at all. This kind of *1x1 convolution* is very widely used in modern CNNs, so take a moment to think about how it works.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: 1x1 convolution: A convolution with a kernel size of 1.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's a ResBlock using these tricks to handle changing shape in the skip connection:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _conv_block(ni,nf,stride):\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        ConvLayer(ni, nf, stride=stride),\\n\",\n    \"        ConvLayer(nf, nf, act_cls=None, norm_type=NormType.BatchZero))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResBlock(Module):\\n\",\n    \"    def __init__(self, ni, nf, stride=1):\\n\",\n    \"        self.convs = _conv_block(ni,nf,stride)\\n\",\n    \"        self.idconv = noop if ni==nf else ConvLayer(ni, nf, 1, act_cls=None)\\n\",\n    \"        self.pool = noop if stride==1 else nn.AvgPool2d(2, ceil_mode=True)\\n\",\n    \"\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        return F.relu(self.convs(x) + self.idconv(self.pool(x)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that we're using the `noop` function here, which simply returns its input unchanged (*noop* is a computer science term that stands for \\\"no operation\\\"). In this case, `idconv` does nothing at all if `ni==nf`, and `pool` does nothing if `stride==1`, which is what we wanted in our skip connection.\\n\",\n    \"\\n\",\n    \"Also, you'll see that we've removed the ReLU (`act_cls=None`) from the final convolution in `convs` and from `idconv`, and moved it to *after* we add the skip connection. The thinking behind this is that the whole ResNet block is like a layer, and you want your activation to be after your layer.\\n\",\n    \"\\n\",\n    \"Let's replace our `block` with `ResBlock`, and try it out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni,nf): return ResBlock(ni, nf, stride=2)\\n\",\n    \"learn = get_learner(get_model())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.973174</td>\\n\",\n       \"      <td>1.845491</td>\\n\",\n       \"      <td>0.373248</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.678627</td>\\n\",\n       \"      <td>1.778713</td>\\n\",\n       \"      <td>0.439236</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.386163</td>\\n\",\n       \"      <td>1.596503</td>\\n\",\n       \"      <td>0.507261</td>\\n\",\n       \"      <td>00:08</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.177839</td>\\n\",\n       \"      <td>1.102993</td>\\n\",\n       \"      <td>0.644841</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.052435</td>\\n\",\n       \"      <td>1.038013</td>\\n\",\n       \"      <td>0.667771</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's not much better. But the whole point of this was to allow us to train *deeper* models, and we're not really taking advantage of that yet. To create a model that's, say, twice as deep, all we need to do is replace our `block` with two `ResBlock`s in a row:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni, nf):\\n\",\n    \"    return nn.Sequential(ResBlock(ni, nf, stride=2), ResBlock(nf, nf))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.964076</td>\\n\",\n       \"      <td>1.864578</td>\\n\",\n       \"      <td>0.355159</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.636880</td>\\n\",\n       \"      <td>1.596789</td>\\n\",\n       \"      <td>0.502675</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.335378</td>\\n\",\n       \"      <td>1.304472</td>\\n\",\n       \"      <td>0.588535</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.089160</td>\\n\",\n       \"      <td>1.065063</td>\\n\",\n       \"      <td>0.663185</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.942904</td>\\n\",\n       \"      <td>0.963589</td>\\n\",\n       \"      <td>0.692739</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(get_model())\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we're making good progress!\\n\",\n    \"\\n\",\n    \"The authors of the ResNet paper went on to win the 2015 ImageNet challenge. At the time, this was by far the most important annual event in computer vision. We have already seen another ImageNet winner: the 2013 winners, Zeiler and Fergus. It is interesting to note that in both cases the starting points for the breakthroughs were experimental observations: observations about what layers actually learn, in the case of Zeiler and Fergus, and observations about which kinds of networks can be trained, in the case of the ResNet authors. This ability to design and analyze thoughtful experiments, or even just to see an unexpected result, say \\\"Hmmm, that's interesting,\\\" and then, most importantly, set about figuring out what on earth is going on, with great tenacity, is at the heart of many scientific discoveries. Deep learning is not like pure mathematics. It is a heavily experimental field, so it's important to be a strong practitioner, not just a theoretician.\\n\",\n    \"\\n\",\n    \"Since the ResNet was introduced, it's been widely studied and applied to many domains. One of the most interesting papers, published in 2018, is Hao Li et al.'s [\\\"Visualizing the Loss Landscape of Neural Nets\\\"](https://arxiv.org/abs/1712.09913). It shows that using skip connections helps smooth the loss function, which makes training easier as it avoids falling into a very sharp area. <<resnet_surface>> shows a stunning picture from the paper, illustrating the difference between the bumpy terrain that SGD has to navigate to optimize a regular CNN (left) versus the smooth surface of a ResNet (right).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Impact of ResNet on loss landscape\\\" width=\\\"600\\\" caption=\\\"Impact of ResNet on loss landscape (courtesy of Hao Li et al.)\\\" id=\\\"resnet_surface\\\" src=\\\"images/att_00044.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our first model is already good, but further research has discovered more tricks we can apply to make it better. We'll look at those next.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A State-of-the-Art ResNet\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In [\\\"Bag of Tricks for Image Classification with Convolutional Neural Networks\\\"](https://arxiv.org/abs/1812.01187), Tong He et al. study different variations of the ResNet architecture that come at almost no additional cost in terms of number of parameters or computation. By using a tweaked ResNet-50 architecture and Mixup they achieved 94.6% top-5 accuracy on ImageNet, in comparison to 92.2% with a regular ResNet-50 without Mixup. This result is better than that achieved by regular ResNet models that are twice as deep (and twice as slow, and much more likely to overfit).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: top-5 accuracy: A metric testing how often the label we want is in the top 5 predictions of our model. It was used in the ImageNet competition because many of the images contained multiple objects, or contained objects that could be easily confused or may even have been mislabeled with a similar label. In these situations, looking at top-1 accuracy may be inappropriate. However, recently CNNs have been getting so good that top-5 accuracy is nearly 100%, so some researchers are using top-1 accuracy for ImageNet too now.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll use this tweaked version as we scale up to the full ResNet, because it's substantially better. It differs a little bit from our previous implementation, in that instead of just starting with ResNet blocks, it begins with a few convolutional layers followed by a max pooling layer. This is what the first layers, called the *stem* of the network, look like:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _resnet_stem(*sizes):\\n\",\n    \"    return [\\n\",\n    \"        ConvLayer(sizes[i], sizes[i+1], 3, stride = 2 if i==0 else 1)\\n\",\n    \"            for i in range(len(sizes)-1)\\n\",\n    \"    ] + [nn.MaxPool2d(kernel_size=3, stride=2, padding=1)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[ConvLayer(\\n\",\n       \"   (0): Conv2d(3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\\n\",\n       \"   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\\n\",\n       \"   (2): ReLU()\\n\",\n       \" ), ConvLayer(\\n\",\n       \"   (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\\n\",\n       \"   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\\n\",\n       \"   (2): ReLU()\\n\",\n       \" ), ConvLayer(\\n\",\n       \"   (0): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\\n\",\n       \"   (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\\n\",\n       \"   (2): ReLU()\\n\",\n       \" ), MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"_resnet_stem(3,32,32,64)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"```\\n\",\n    \"[ConvLayer(\\n\",\n    \"   (0): Conv2d(3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\\n\",\n    \"   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1)\\n\",\n    \"   (2): ReLU()\\n\",\n    \" ), ConvLayer(\\n\",\n    \"   (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\\n\",\n    \"   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1)\\n\",\n    \"   (2): ReLU()\\n\",\n    \" ), ConvLayer(\\n\",\n    \"   (0): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\\n\",\n    \"   (1): BatchNorm2d(64, eps=1e-05, momentum=0.1)\\n\",\n    \"   (2): ReLU()\\n\",\n    \" ), MaxPool2d(kernel_size=3, stride=2, padding=1, ceil_mode=False)]\\n\",\n    \" ```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Stem: The first few layers of a CNN. Generally, the stem has a different structure than the main body of the CNN.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The reason that we have a stem of plain convolutional layers, instead of ResNet blocks, is based on a very important insight about all deep convolutional neural networks: the vast majority of the computation occurs in the early layers. Therefore, we should keep the early layers as fast and simple as possible.\\n\",\n    \"\\n\",\n    \"To see why so much computation occurs in the early layers, consider the very first convolution on a 128-pixel input image. If it is a stride-1 convolution, then it will apply the kernel to every one of the 128×128 pixels. That's a lot of work! In the later layers, however, the grid size could be as small as 4×4 or even 2×2, so there are far fewer kernel applications to do.\\n\",\n    \"\\n\",\n    \"On the other hand, the first-layer convolution only has 3 input features and 32 output features. Since it is a 3×3 kernel, this is 3×32×3×3 = 864 parameters in the weights. But the last convolution will have 256 input features and 512 output features, resulting in 1,179,648 weights! So the first layers contain the vast majority of the computation, but the last layers contain the vast majority of the parameters.\\n\",\n    \"\\n\",\n    \"A ResNet block takes more computation than a plain convolutional block, since (in the stride-2 case) a ResNet block has three convolutions and a pooling layer. That's why we want to have plain convolutions to start off our ResNet.\\n\",\n    \"\\n\",\n    \"We're now ready to show the implementation of a modern ResNet, with the \\\"bag of tricks.\\\" It uses four groups of ResNet blocks, with 64, 128, 256, then 512 filters. Each group starts with a stride-2 block, except for the first one, since it's just after a `MaxPooling` layer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResNet(nn.Sequential):\\n\",\n    \"    def __init__(self, n_out, layers, expansion=1):\\n\",\n    \"        stem = _resnet_stem(3,32,32,64)\\n\",\n    \"        self.block_szs = [64, 64, 128, 256, 512]\\n\",\n    \"        for i in range(1,5): self.block_szs[i] *= expansion\\n\",\n    \"        blocks = [self._make_layer(*o) for o in enumerate(layers)]\\n\",\n    \"        super().__init__(*stem, *blocks,\\n\",\n    \"                         nn.AdaptiveAvgPool2d(1), Flatten(),\\n\",\n    \"                         nn.Linear(self.block_szs[-1], n_out))\\n\",\n    \"    \\n\",\n    \"    def _make_layer(self, idx, n_layers):\\n\",\n    \"        stride = 1 if idx==0 else 2\\n\",\n    \"        ch_in,ch_out = self.block_szs[idx:idx+2]\\n\",\n    \"        return nn.Sequential(*[\\n\",\n    \"            ResBlock(ch_in if i==0 else ch_out, ch_out, stride if i==0 else 1)\\n\",\n    \"            for i in range(n_layers)\\n\",\n    \"        ])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `_make_layer` function is just there to create a series of `n_layers` blocks. The first one is going from `ch_in` to `ch_out` with the indicated `stride` and all the others are blocks of stride 1 with `ch_out` to `ch_out` tensors. Once the blocks are defined, our model is purely sequential, which is why we define it as a subclass of `nn.Sequential`. (Ignore the `expansion` parameter for now; we'll discuss it in the next section. For now, it'll be `1`, so it doesn't do anything.)\\n\",\n    \"\\n\",\n    \"The various versions of the models (ResNet-18, -34, -50, etc.) just change the number of blocks in each of those groups. This is the definition of a ResNet-18:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rn = ResNet(dls.c, [2,2,2,2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's train it for a little bit and see how it fares compared to the previous model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.673882</td>\\n\",\n       \"      <td>1.828394</td>\\n\",\n       \"      <td>0.413758</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.331675</td>\\n\",\n       \"      <td>1.572685</td>\\n\",\n       \"      <td>0.518217</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.087224</td>\\n\",\n       \"      <td>1.086102</td>\\n\",\n       \"      <td>0.650701</td>\\n\",\n       \"      <td>00:13</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.900428</td>\\n\",\n       \"      <td>0.968219</td>\\n\",\n       \"      <td>0.684331</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>0.760280</td>\\n\",\n       \"      <td>0.782558</td>\\n\",\n       \"      <td>0.757197</td>\\n\",\n       \"      <td>00:12</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(rn)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Even though we have more channels (and our model is therefore even more accurate), our training is just as fast as before, thanks to our optimized stem.\\n\",\n    \"\\n\",\n    \"To make our model deeper without taking too much compute or memory, we can use another kind of layer introduced by the ResNet paper for ResNets with a depth of 50 or more: the bottleneck layer. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bottleneck Layers\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Instead of stacking two convolutions with a kernel size of 3, bottleneck layers use three different convolutions: two 1×1 (at the beginning and the end) and one 3×3, as shown on the right in <<resnet_compare>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Comparison of regular and bottleneck ResNet blocks\\\" width=\\\"550\\\" caption=\\\"Comparison of regular and bottleneck ResNet blocks (courtesy of Kaiming He et al.)\\\" id=\\\"resnet_compare\\\" src=\\\"images/att_00045.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Why is that useful? 1×1 convolutions are much faster, so even if this seems to be a more complex design, this block executes faster than the first ResNet block we saw. This then lets us use more filters: as we see in the illustration, the number of filters in and out is 4 times higher (256 instead of 64) diminish then restore the number of channels (hence the name bottleneck). The overall impact is that we can use more filters in the same amount of time.\\n\",\n    \"\\n\",\n    \"Let's try replacing our `ResBlock` with this bottleneck design:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _conv_block(ni,nf,stride):\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        ConvLayer(ni, nf//4, 1),\\n\",\n    \"        ConvLayer(nf//4, nf//4, stride=stride), \\n\",\n    \"        ConvLayer(nf//4, nf, 1, act_cls=None, norm_type=NormType.BatchZero))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll use this to create a ResNet-50 with group sizes of `(3,4,6,3)`. We now need to pass `4` in to the `expansion` parameter of `ResNet`, since we need to start with four times less channels and we'll end with four times more channels.\\n\",\n    \"\\n\",\n    \"Deeper networks like this don't generally show improvements when training for only 5 epochs, so we'll bump it up to 20 epochs this time to make the most of our bigger model. And to really get great results, let's use bigger images too:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_320, presize=320, resize=224)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We don't have to do anything to account for the larger 224-pixel images; thanks to our fully convolutional network, it just works. This is also why we were able to do *progressive resizing* earlier in the book—the models we used were fully convolutional, so we were even able to fine-tune models trained with different sizes. We can now train our model and see the effects:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rn = ResNet(dls.c, [3,4,6,3], 4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>1.613448</td>\\n\",\n       \"      <td>1.473355</td>\\n\",\n       \"      <td>0.514140</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.359604</td>\\n\",\n       \"      <td>2.050794</td>\\n\",\n       \"      <td>0.397452</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.253112</td>\\n\",\n       \"      <td>4.511735</td>\\n\",\n       \"      <td>0.387006</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>1.133450</td>\\n\",\n       \"      <td>2.575221</td>\\n\",\n       \"      <td>0.396178</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>1.054752</td>\\n\",\n       \"      <td>1.264525</td>\\n\",\n       \"      <td>0.613758</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>0.927930</td>\\n\",\n       \"      <td>2.670484</td>\\n\",\n       \"      <td>0.422675</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>0.838268</td>\\n\",\n       \"      <td>1.724588</td>\\n\",\n       \"      <td>0.528662</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>0.748289</td>\\n\",\n       \"      <td>1.180668</td>\\n\",\n       \"      <td>0.666497</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>0.688637</td>\\n\",\n       \"      <td>1.245039</td>\\n\",\n       \"      <td>0.650446</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>0.645530</td>\\n\",\n       \"      <td>1.053691</td>\\n\",\n       \"      <td>0.674904</td>\\n\",\n       \"      <td>00:31</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>0.593401</td>\\n\",\n       \"      <td>1.180786</td>\\n\",\n       \"      <td>0.676433</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>11</td>\\n\",\n       \"      <td>0.536634</td>\\n\",\n       \"      <td>0.879937</td>\\n\",\n       \"      <td>0.713885</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>12</td>\\n\",\n       \"      <td>0.479208</td>\\n\",\n       \"      <td>0.798356</td>\\n\",\n       \"      <td>0.741656</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>13</td>\\n\",\n       \"      <td>0.440071</td>\\n\",\n       \"      <td>0.600644</td>\\n\",\n       \"      <td>0.806879</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>14</td>\\n\",\n       \"      <td>0.402952</td>\\n\",\n       \"      <td>0.450296</td>\\n\",\n       \"      <td>0.858599</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>15</td>\\n\",\n       \"      <td>0.359117</td>\\n\",\n       \"      <td>0.486126</td>\\n\",\n       \"      <td>0.846369</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>16</td>\\n\",\n       \"      <td>0.313642</td>\\n\",\n       \"      <td>0.442215</td>\\n\",\n       \"      <td>0.861911</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>17</td>\\n\",\n       \"      <td>0.294050</td>\\n\",\n       \"      <td>0.485967</td>\\n\",\n       \"      <td>0.853503</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>18</td>\\n\",\n       \"      <td>0.270583</td>\\n\",\n       \"      <td>0.408566</td>\\n\",\n       \"      <td>0.875924</td>\\n\",\n       \"      <td>00:32</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>19</td>\\n\",\n       \"      <td>0.266003</td>\\n\",\n       \"      <td>0.411752</td>\\n\",\n       \"      <td>0.872611</td>\\n\",\n       \"      <td>00:33</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(rn)\\n\",\n    \"learn.fit_one_cycle(20, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're getting a great result now! Try adding Mixup, and then training this for a hundred epochs while you go get lunch. You'll have yourself a very accurate image classifier, trained from scratch.\\n\",\n    \"\\n\",\n    \"The bottleneck design we've shown here is typically only used in ResNet-50, -101, and -152 models. ResNet-18 and -34 models usually use the non-bottleneck design seen in the previous section. However, we've noticed that the bottleneck layer generally works better even for the shallower networks. This just goes to show that the little details in papers tend to stick around for years, even if they're actually not quite the best design! Questioning assumptions and \\\"stuff everyone knows\\\" is always a good idea, because this is still a new field, and there are lots of details that aren't always done well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You have now seen how the models we have been using for computer vision since the first chapter are built, using skip connections to allow deeper models to be trained. Even if there has been a lot of research into better architectures, they all use one version or another of this trick, to make a direct path from the input to the end of the network. When using transfer learning, the ResNet is the pretrained model. In the next chapter, we will look at the final details of how the models we actually used were built from it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How did we get to a single vector of activations in the CNNs used for MNIST in previous chapters? Why isn't that suitable for Imagenette?\\n\",\n    \"1. What do we do for Imagenette instead?\\n\",\n    \"1. What is \\\"adaptive pooling\\\"?\\n\",\n    \"1. What is \\\"average pooling\\\"?\\n\",\n    \"1. Why do we need `Flatten` after an adaptive average pooling layer?\\n\",\n    \"1. What is a \\\"skip connection\\\"?\\n\",\n    \"1. Why do skip connections allow us to train deeper models?\\n\",\n    \"1. What does <<resnet_depth>> show? How did that lead to the idea of skip connections?\\n\",\n    \"1. What is \\\"identity mapping\\\"?\\n\",\n    \"1. What is the basic equation for a ResNet block (ignoring batchnorm and ReLU layers)?\\n\",\n    \"1. What do ResNets have to do with residuals?\\n\",\n    \"1. How do we deal with the skip connection when there is a stride-2 convolution? How about when the number of filters changes?\\n\",\n    \"1. How can we express a 1×1 convolution in terms of a vector dot product?\\n\",\n    \"1. Create a `1x1 convolution` with `F.conv2d` or `nn.Conv2d` and apply it to an image. What happens to the `shape` of the image?\\n\",\n    \"1. What does the `noop` function return?\\n\",\n    \"1. Explain what is shown in <<resnet_surface>>.\\n\",\n    \"1. When is top-5 accuracy a better metric than top-1 accuracy?\\n\",\n    \"1. What is the \\\"stem\\\" of a CNN?\\n\",\n    \"1. Why do we use plain convolutions in the CNN stem, instead of ResNet blocks?\\n\",\n    \"1. How does a bottleneck block differ from a plain ResNet block?\\n\",\n    \"1. Why is a bottleneck block faster?\\n\",\n    \"1. How do fully convolutional nets (and nets with adaptive pooling in general) allow for progressive resizing?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Try creating a fully convolutional net with adaptive average pooling for MNIST (note that you'll need fewer stride-2 layers). How does it compare to a network without such a pooling layer?\\n\",\n    \"1. In <<chapter_foundations>> we introduce *Einstein summation notation*. Skip ahead to see how this works, and then write an implementation of the 1×1 convolution operation using `torch.einsum`. Compare it to the same operation using `torch.conv2d`.\\n\",\n    \"1. Write a \\\"top-5 accuracy\\\" function using plain PyTorch or plain Python.\\n\",\n    \"1. Train a model on Imagenette for more epochs, with and without label smoothing. Take a look at the Imagenette leaderboards and see how close you can get to the best results shown. Read the linked pages describing the leading approaches.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "15_arch_details.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_arch_details]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Application Architectures Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We are now in the exciting position that we can fully understand the architectures that we have been using for our state-of-the-art models for computer vision, natural language processing, and tabular analysis. In this chapter, we're going to fill in all the missing details on how fastai's application models work and show you how to build the models they use.\\n\",\n    \"\\n\",\n    \"We will also go back to the custom data preprocessing pipeline we saw in <<chapter_midlevel_data>> for Siamese networks and show you how you can use the components in the fastai library to build custom pretrained models for new tasks.\\n\",\n    \"\\n\",\n    \"We'll start with computer vision.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Computer Vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For computer vision application we use the functions `vision_learner` and `unet_learner` to build our models, depending on the task. In this section we'll explore how to build the `Learner` objects we used in Parts 1 and 2 of this book.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### vision_learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at what happens when we use the `vision_learner` function. We begin by passing this function an architecture to use for the *body* of the network. Most of the time we use a ResNet, which you already know how to create, so we don't need to delve into that any further. Pretrained weights are downloaded as required and loaded into the ResNet.\\n\",\n    \"\\n\",\n    \"Then, for transfer learning, the network needs to be *cut*. This refers to slicing off the final layer, which is only responsible for ImageNet-specific categorization. In fact, we do not slice off only this layer, but everything from the adaptive average pooling layer onwards. The reason for this will become clear in just a moment. Since different architectures might use different types of pooling layers, or even completely different kinds of *heads*, we don't just search for the adaptive pooling layer to decide where to cut the pretrained model. Instead, we have a dictionary of information that is used for each model to determine where its body ends, and its head starts. We call this `model_meta`—here it is for resnet-50:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"{'cut': -2,\\n\",\n       \" 'split': <function fastai.vision.learner._resnet_split(m)>,\\n\",\n       \" 'stats': ([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])}\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"model_meta[resnet50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> jargon: Body and Head: The \\\"head\\\" of a neural net is the part that is specialized for a particular task. For a CNN, it's generally the part after the adaptive average pooling layer. The \\\"body\\\" is everything else, and includes the \\\"stem\\\" (which we learned about in <<chapter_resnet>>).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we take all of the layers prior to the cut point of `-2`, we get the part of the model that fastai will keep for transfer learning. Now, we put on our new head. This is created using the function `create_head`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Sequential(\\n\",\n       \"  (0): AdaptiveConcatPool2d(\\n\",\n       \"    (ap): AdaptiveAvgPool2d(output_size=1)\\n\",\n       \"    (mp): AdaptiveMaxPool2d(output_size=1)\\n\",\n       \"  )\\n\",\n       \"  (1): full: False\\n\",\n       \"  (2): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\\n\",\n       \"  (3): Dropout(p=0.25, inplace=False)\\n\",\n       \"  (4): Linear(in_features=20, out_features=512, bias=False)\\n\",\n       \"  (5): ReLU(inplace=True)\\n\",\n       \"  (6): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\\n\",\n       \"  (7): Dropout(p=0.5, inplace=False)\\n\",\n       \"  (8): Linear(in_features=512, out_features=2, bias=False)\\n\",\n       \")\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"create_head(20,2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"```\\n\",\n    \"Sequential(\\n\",\n    \"  (0): AdaptiveConcatPool2d(\\n\",\n    \"    (ap): AdaptiveAvgPool2d(output_size=1)\\n\",\n    \"    (mp): AdaptiveMaxPool2d(output_size=1)\\n\",\n    \"  )\\n\",\n    \"  (1): Flatten()\\n\",\n    \"  (2): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True)\\n\",\n    \"  (3): Dropout(p=0.25, inplace=False)\\n\",\n    \"  (4): Linear(in_features=20, out_features=512, bias=False)\\n\",\n    \"  (5): ReLU(inplace=True)\\n\",\n    \"  (6): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True)\\n\",\n    \"  (7): Dropout(p=0.5, inplace=False)\\n\",\n    \"  (8): Linear(in_features=512, out_features=2, bias=False)\\n\",\n    \")\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With this function you can choose how many additional linear layers are added to the end, how much dropout to use after each one, and what kind of pooling to use. By default, fastai will apply both average pooling, and max pooling, and will concatenate the two together (this is the `AdaptiveConcatPool2d` layer). This is not a particularly common approach, but it was developed independently at fastai and other research labs in recent years, and tends to provide some small improvement over using just average pooling.\\n\",\n    \"\\n\",\n    \"fastai is a bit different from most libraries in that by default it adds two linear layers, rather than one, in the CNN head. The reason for this is that transfer learning can still be useful even, as we have seen, when transferring the pretrained model to very different domains. However, just using a single linear layer is unlikely to be enough in these cases; we have found that using two linear layers can allow transfer learning to be used more quickly and easily, in more situations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: One Last Batchnorm?: One parameter to `create_head` that is worth looking at is `bn_final`. Setting this to `true` will cause a batchnorm layer to be added as your final layer. This can be useful in helping your model scale appropriately for your output activations. We haven't seen this approach published anywhere as yet, but we have found that it works well in practice wherever we have used it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now take a look at what `unet_learner` did in the segmentation problem we showed in <<chapter_intro>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### unet_learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"One of the most interesting architectures in deep learning is the one that we used for segmentation in <<chapter_intro>>. Segmentation is a challenging task, because the output required is really an image, or a pixel grid, containing the predicted label for every pixel. There are other tasks that share a similar basic design, such as increasing the resolution of an image (*super-resolution*), adding color to a black-and-white image (*colorization*), or converting a photo into a synthetic painting (*style transfer*)—these tasks are covered by an [online](https://book.fast.ai/) chapter of this book, so be sure to check it out after you've read this chapter. In each case, we are starting with an image and converting it to some other image of the same dimensions or aspect ratio, but with the pixels altered in some way. We refer to these as *generative vision models*.\\n\",\n    \"\\n\",\n    \"The way we do this is to start with the exact same approach to developing a CNN head as we saw in the previous problem. We start with a ResNet, for instance, and cut off the adaptive pooling layer and everything after that. Then we replace those layers with our custom head, which does the generative task.\\n\",\n    \"\\n\",\n    \"There was a lot of handwaving in that last sentence! How on earth do we create a CNN head that generates an image? If we start with, say, a 224-pixel input image, then at the end of the ResNet body we will have a 7×7 grid of convolutional activations. How can we convert that into a 224-pixel segmentation mask?\\n\",\n    \"\\n\",\n    \"Naturally, we do this with a neural network! So we need some kind of layer that can increase the grid size in a CNN. One very simple approach to this is to replace every pixel in the 7×7 grid with four pixels in a 2×2 square. Each of those four pixels will have the same value—this is known as *nearest neighbor interpolation*. PyTorch provides a layer that does this for us, so one option is to create a head that contains stride-1 convolutional layers (along with batchnorm and ReLU layers as usual) interspersed with 2×2 nearest neighbor interpolation layers. In fact, you can try this now! See if you can create a custom head designed like this, and try it on the CamVid segmentation task. You should find that you get some reasonable results, although they won't be as good as our <<chapter_intro>> results.\\n\",\n    \"\\n\",\n    \"Another approach is to replace the nearest neighbor and convolution combination with a *transposed convolution*, otherwise known as a *stride half convolution*. This is identical to a regular convolution, but first zero padding is inserted between all the pixels in the input. This is easiest to see with a picture—<<transp_conv>> shows a diagram from the excellent [convolutional arithmetic paper](https://arxiv.org/abs/1603.07285) we discussed in <<chapter_convolutions>>, showing a 3×3 transposed convolution applied to a 3×3 image.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"A transposed convolution\\\" width=\\\"815\\\" caption=\\\"A transposed convolution (courtesy of Vincent Dumoulin and Francesco Visin)\\\" id=\\\"transp_conv\\\" src=\\\"images/att_00051.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, the result of this is to increase the size of the input. You can try this out now by using fastai's `ConvLayer` class; pass the parameter `transpose=True` to create a transposed convolution, instead of a regular one, in your custom head.\\n\",\n    \"\\n\",\n    \"Neither of these approaches, however, works really well. The problem is that our 7×7 grid simply doesn't have enough information to create a 224×224-pixel output. It's asking an awful lot of the activations of each of those grid cells to have enough information to fully regenerate every pixel in the output. The solution to this problem is to use *skip connections*, like in a ResNet, but skipping from the activations in the body of the ResNet all the way over to the activations of the transposed convolution on the opposite side of the architecture. This approach, illustrated in <<unet>>, was developed by Olaf Ronneberger, Philipp Fischer, and Thomas Brox in the 2015 paper [\\\"U-Net: Convolutional Networks for Biomedical Image Segmentation\\\"](https://arxiv.org/abs/1505.04597). Although the paper focused on medical applications, the U-Net has revolutionized all kinds of generative vision models.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"The U-Net architecture\\\" width=\\\"630\\\" caption=\\\"The U-Net architecture (courtesy of Olaf Ronneberger, Philipp Fischer, and Thomas Brox)\\\" id=\\\"unet\\\" src=\\\"images/att_00052.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This picture shows the CNN body on the left (in this case, it's a regular CNN, not a ResNet, and they're using 2×2 max pooling instead of stride-2 convolutions, since this paper was written before ResNets came along) and the transposed convolutional (\\\"up-conv\\\") layers on the right. Then extra skip connections are shown as gray arrows crossing from left to right (these are sometimes called *cross connections*). You can see why it's called a \\\"U-Net!\\\"\\n\",\n    \"\\n\",\n    \"With this architecture, the input to the transposed convolutions is not just the lower-resolution grid in the preceding layer, but also the higher-resolution grid in the ResNet head. This allows the U-Net to use all of the information of the original image, as it is needed. One challenge with U-Nets is that the exact architecture depends on the image size. fastai has a unique `DynamicUnet` class that autogenerates an architecture of the right size based on the data provided.\\n\",\n    \"\\n\",\n    \"Let's focus now on an example where we leverage the fastai library to write a custom model.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Siamese Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\\n\",\n    \"files = get_image_files(path/\\\"images\\\")\\n\",\n    \"\\n\",\n    \"class SiameseImage(fastuple):\\n\",\n    \"    def show(self, ctx=None, **kwargs): \\n\",\n    \"        img1,img2,same_breed = self\\n\",\n    \"        if not isinstance(img1, Tensor):\\n\",\n    \"            if img2.size != img1.size: img2 = img2.resize(img1.size)\\n\",\n    \"            t1,t2 = tensor(img1),tensor(img2)\\n\",\n    \"            t1,t2 = t1.permute(2,0,1),t2.permute(2,0,1)\\n\",\n    \"        else: t1,t2 = img1,img2\\n\",\n    \"        line = t1.new_zeros(t1.shape[0], t1.shape[1], 10)\\n\",\n    \"        return show_image(torch.cat([t1,line,t2], dim=2), \\n\",\n    \"                          title=same_breed, ctx=ctx)\\n\",\n    \"    \\n\",\n    \"def label_func(fname):\\n\",\n    \"    return re.match(r'^(.*)_\\\\d+.jpg$', fname.name).groups()[0]\\n\",\n    \"\\n\",\n    \"class SiameseTransform(Transform):\\n\",\n    \"    def __init__(self, files, label_func, splits):\\n\",\n    \"        self.labels = files.map(label_func).unique()\\n\",\n    \"        self.lbl2files = {l: L(f for f in files if label_func(f) == l) for l in self.labels}\\n\",\n    \"        self.label_func = label_func\\n\",\n    \"        self.valid = {f: self._draw(f) for f in files[splits[1]]}\\n\",\n    \"        \\n\",\n    \"    def encodes(self, f):\\n\",\n    \"        f2,t = self.valid.get(f, self._draw(f))\\n\",\n    \"        img1,img2 = PILImage.create(f),PILImage.create(f2)\\n\",\n    \"        return SiameseImage(img1, img2, t)\\n\",\n    \"    \\n\",\n    \"    def _draw(self, f):\\n\",\n    \"        same = random.random() < 0.5\\n\",\n    \"        cls = self.label_func(f)\\n\",\n    \"        if not same: cls = random.choice(L(l for l in self.labels if l != cls)) \\n\",\n    \"        return random.choice(self.lbl2files[cls]),same\\n\",\n    \"    \\n\",\n    \"splits = RandomSplitter()(files)\\n\",\n    \"tfm = SiameseTransform(files, label_func, splits)\\n\",\n    \"tls = TfmdLists(files, tfm, splits=splits)\\n\",\n    \"dls = tls.dataloaders(after_item=[Resize(224), ToTensor], \\n\",\n    \"    after_batch=[IntToFloatTensor, Normalize.from_stats(*imagenet_stats)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's go back to the input pipeline we set up in <<chapter_midlevel_data>> for a Siamese network. If you remember, it consisted of pair of images with the label being `True` or `False`, depending on if they were in the same class or not.\\n\",\n    \"\\n\",\n    \"Using what we just saw, let's build a custom model for this task and train it. How? We will use a pretrained architecture and pass our two images through it. Then we can concatenate the results and send them to a custom head that will return two predictions. In terms of modules, this looks like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseModel(Module):\\n\",\n    \"    def __init__(self, encoder, head):\\n\",\n    \"        self.encoder,self.head = encoder,head\\n\",\n    \"    \\n\",\n    \"    def forward(self, x1, x2):\\n\",\n    \"        ftrs = torch.cat([self.encoder(x1), self.encoder(x2)], dim=1)\\n\",\n    \"        return self.head(ftrs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create our encoder, we just need to take a pretrained model and cut it, as we explained before. The function `create_body` does that for us; we just have to pass it the place where we want to cut. As we saw earlier, per the dictionary of metadata for pretrained models, the cut value for a resnet is `-2`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"encoder = create_body(resnet34, cut=-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can create our head. A look at the encoder tells us the last layer has 512 features, so this head will need to receive `512*2`. Why 2? We have to multiply by 2 because we have two images. So we create the head as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"head = create_head(512*2, 2, ps=0.5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With our encoder and head, we can now build our model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = SiameseModel(encoder, head)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before using `Learner`, we have two more things to define. First, we must define the loss function we want to use. It's regular cross-entropy, but since our targets are Booleans, we need to convert them to integers or PyTorch will throw an error:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def loss_func(out, targ):\\n\",\n    \"    return nn.CrossEntropyLoss()(out, targ.long())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"More importantly, to take full advantage of transfer learning, we have to define a custom *splitter*. A splitter is a function that tells the fastai library how to split the model into parameter groups. These are used behind the scenes to train only the head of a model when we do transfer learning. \\n\",\n    \"\\n\",\n    \"Here we want two parameter groups: one for the encoder and one for the head. We can thus define the following splitter (`params` is just a function that returns all parameters of a given module):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def siamese_splitter(model):\\n\",\n    \"    return [params(model.encoder), params(model.head)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can define our `Learner` by passing the data, model, loss function, splitter, and any metric we want. Since we are not using a convenience function from fastai for transfer learning (like `vision_learner`), we have to call `learn.freeze` manually. This will make sure only the last parameter group (in this case, the head) is trained:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, model, loss_func=loss_func, \\n\",\n    \"                splitter=siamese_splitter, metrics=accuracy)\\n\",\n    \"learn.freeze()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can directly train our model with the usual methods:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.367015</td>\\n\",\n       \"      <td>0.281242</td>\\n\",\n       \"      <td>0.885656</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.307688</td>\\n\",\n       \"      <td>0.214721</td>\\n\",\n       \"      <td>0.915426</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.275221</td>\\n\",\n       \"      <td>0.170615</td>\\n\",\n       \"      <td>0.936401</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.223771</td>\\n\",\n       \"      <td>0.159633</td>\\n\",\n       \"      <td>0.943843</td>\\n\",\n       \"      <td>00:26</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(4, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before unfreezing and fine-tuning the whole model a bit more with discriminative learning rates (that is: a lower learning rate for the body and a higher one for the head):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.212744</td>\\n\",\n       \"      <td>0.159033</td>\\n\",\n       \"      <td>0.944520</td>\\n\",\n       \"      <td>00:35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>0.201893</td>\\n\",\n       \"      <td>0.159615</td>\\n\",\n       \"      <td>0.942490</td>\\n\",\n       \"      <td>00:35</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>0.204606</td>\\n\",\n       \"      <td>0.152338</td>\\n\",\n       \"      <td>0.945196</td>\\n\",\n       \"      <td>00:36</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>0.213203</td>\\n\",\n       \"      <td>0.148346</td>\\n\",\n       \"      <td>0.947903</td>\\n\",\n       \"      <td>00:36</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(4, slice(1e-6,1e-4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"94.8\\\\% is very good when we remember a classifier trained the same way (with no data augmentation) had an error rate of 7%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we've seen how to create complete state-of-the-art computer vision models, let's move on to NLP.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Natural Language Processing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Converting an AWD-LSTM language model into a transfer learning classifier, as we did in <<chapter_nlp>>, follows a very similar process to what we did with `vision_learner` in the first section of this chapter. We do not need a \\\"meta\\\" dictionary in this case, because we do not have such a variety of architectures to support in the body. All we need to do is select the stacked RNN for the encoder in the language model, which is a single PyTorch module. This encoder will provide an activation for every word of the input, because a language model needs to output a prediction for every next word.\\n\",\n    \"\\n\",\n    \"To create a classifier from this we use an approach described in the [ULMFiT paper](https://arxiv.org/abs/1801.06146) as \\\"BPTT for Text Classification (BPT3C)\\\":\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : We divide the document into fixed-length batches of size *b*. At the beginning of each batch, the model is initialized with the final state of the previous batch; we keep track of the hidden states for mean and max-pooling; gradients are back-propagated to the batches whose hidden states contributed to the final prediction. In practice, we use variable length backpropagation sequences.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In other words, the classifier contains a `for` loop, which loops over each batch of a sequence. The state is maintained across batches, and the activations of each batch are stored. At the end, we use the same average and max concatenated pooling trick that we use for computer vision models—but this time, we do not pool over CNN grid cells, but over RNN sequences.\\n\",\n    \"\\n\",\n    \"For this `for` loop we need to gather our data in batches, but each text needs to be treated separately, as they each have their own labels. However, it's very likely that those texts won't all be of the same length, which means we won't be able to put them all in the same array, like we did with the language model.\\n\",\n    \"\\n\",\n    \"That's where padding is going to help: when grabbing a bunch of texts, we determine the one with the greatest length, then we fill the ones that are shorter with a special token called `xxpad`. To avoid extreme cases where we have a text with 2,000 tokens in the same batch as a text with 10 tokens (so a lot of padding, and a lot of wasted computation), we alter the randomness by making sure texts of comparable size are put together. The texts will still be in a somewhat random order for the training set (for the validation set we can simply sort them by order of length), but not completely so.\\n\",\n    \"\\n\",\n    \"This is done automatically behind the scenes by the fastai library when creating our `DataLoaders`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Tabular\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally, let's take a look at `fastai.tabular` models. (We don't need to look at collaborative filtering separately, since we've already seen that these models are just tabular models, or use the dot product approach, which we've implemented earlier from scratch.)\\n\",\n    \"\\n\",\n    \"Here is the `forward` method for `TabularModel`:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"if self.n_emb != 0:\\n\",\n    \"    x = [e(x_cat[:,i]) for i,e in enumerate(self.embeds)]\\n\",\n    \"    x = torch.cat(x, 1)\\n\",\n    \"    x = self.emb_drop(x)\\n\",\n    \"if self.n_cont != 0:\\n\",\n    \"    x_cont = self.bn_cont(x_cont)\\n\",\n    \"    x = torch.cat([x, x_cont], 1) if self.n_emb != 0 else x_cont\\n\",\n    \"return self.layers(x)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"We won't show `__init__` here, since it's not that interesting, but we will look at each line of code in `forward` in turn. The first line:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"```python\\n\",\n    \"if self.n_emb != 0:\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"is just testing whether there are any embeddings to deal with—we can skip this section if we only have continuous variables. `self.embeds` contains the embedding matrices, so this gets the activations of each:\\n\",\n    \" \\n\",\n    \"```python\\n\",\n    \"    x = [e(x_cat[:,i]) for i,e in enumerate(self.embeds)]\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"and concatenates them into a single tensor:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"    x = torch.cat(x, 1)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Then dropout is applied. You can pass `embd_p` to `__init__` to change this value:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"    x = self.emb_drop(x)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Now we test whether there are any continuous variables to deal with:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"if self.n_cont != 0:\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"They are passed through a batchnorm layer:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"    x_cont = self.bn_cont(x_cont)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"and concatenated with the embedding activations, if there were any:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"    x = torch.cat([x, x_cont], 1) if self.n_emb != 0 else x_cont\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Finally, this is passed through the linear layers (each of which includes batchnorm, if `use_bn` is `True`, and dropout, if `ps` is set to some value or list of values):\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"return self.layers(x)\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Congratulations! Now you know every single piece of the architectures used in the fastai library!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Wrapping Up Architectures\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, the details of deep learning architectures need not scare you now. You can look inside the code of fastai and PyTorch and see just what is going on. More importantly, try to understand *why* it's going on. Take a look at the papers that are being referenced in the code, and try to see how the code matches up to the algorithms that are described.\\n\",\n    \"\\n\",\n    \"Now that we have investigated all of the pieces of a model and the data that is passed into it, we can consider what this means for practical deep learning. If you have unlimited data, unlimited memory, and unlimited time, then the advice is easy: train a huge model on all of your data for a really long time. But the reason that deep learning is not straightforward is because your data, memory, and time are typically limited. If you are running out of memory or time, then the solution is to train a smaller model. If you are not able to train for long enough to overfit, then you are not taking advantage of the capacity of your model.\\n\",\n    \"\\n\",\n    \"So, step one is to get to the point where you can overfit. Then the question is how to reduce that overfitting. <<reduce_overfit>> shows how we recommend prioritizing the steps from there.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Steps to reducing overfitting\\\" width=\\\"400\\\" caption=\\\"Steps to reducing overfitting\\\" id=\\\"reduce_overfit\\\" src=\\\"images/att_00047.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Many practitioners, when faced with an overfitting model, start at exactly the wrong end of this diagram. Their starting point is to use a smaller model, or more regularization. Using a smaller model should be absolutely the last step you take, unless training your model is taking up too much time or memory. Reducing the size of your model reduces the ability of your model to learn subtle relationships in your data.\\n\",\n    \"\\n\",\n    \"Instead, your first step should be to seek to *create more data*. That could involve adding more labels to data that you already have, finding additional tasks that your model could be asked to solve (or, to think of it another way, identifying different kinds of labels that you could model), or creating additional synthetic data by using more or different data augmentation techniques. Thanks to the development of Mixup and similar approaches, effective data augmentation is now available for nearly all kinds of data.\\n\",\n    \"\\n\",\n    \"Once you've got as much data as you think you can reasonably get hold of, and are using it as effectively as possible by taking advantage of all the labels that you can find and doing all the augmentation that makes sense, if you are still overfitting you should think about using more generalizable architectures. For instance, adding batch normalization may improve generalization.\\n\",\n    \"\\n\",\n    \"If you are still overfitting after doing the best you can at using your data and tuning your architecture, then you can take a look at regularization. Generally speaking, adding dropout to the last layer or two will do a good job of regularizing your model. However, as we learned from the story of the development of AWD-LSTM, it is often the case that adding dropout of different types throughout your model can help even more. Generally speaking, a larger model with more regularization is more flexible, and can therefore be more accurate than a smaller model with less regularization.\\n\",\n    \"\\n\",\n    \"Only after considering all of these options would we recommend that you try using a smaller version of your architecture.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the \\\"head\\\" of a neural net?\\n\",\n    \"1. What is the \\\"body\\\" of a neural net?\\n\",\n    \"1. What is \\\"cutting\\\" a neural net? Why do we need to do this for transfer learning?\\n\",\n    \"1. What is `model_meta`? Try printing it to see what's inside.\\n\",\n    \"1. Read the source code for `create_head` and make sure you understand what each line does.\\n\",\n    \"1. Look at the output of `create_head` and make sure you understand why each layer is there, and how the `create_head` source created it.\\n\",\n    \"1. Figure out how to change the dropout, layer size, and number of layers created by `vision_learner`, and see if you can find values that result in better accuracy from the pet recognizer.\\n\",\n    \"1. What does `AdaptiveConcatPool2d` do?\\n\",\n    \"1. What is \\\"nearest neighbor interpolation\\\"? How can it be used to upsample convolutional activations?\\n\",\n    \"1. What is a \\\"transposed convolution\\\"? What is another name for it?\\n\",\n    \"1. Create a conv layer with `transpose=True` and apply it to an image. Check the output shape.\\n\",\n    \"1. Draw the U-Net architecture.\\n\",\n    \"1. What is \\\"BPTT for Text Classification\\\" (BPT3C)?\\n\",\n    \"1. How do we handle different length sequences in BPT3C?\\n\",\n    \"1. Try to run each line of `TabularModel.forward` separately, one line per cell, in a notebook, and look at the input and output shapes at each step.\\n\",\n    \"1. How is `self.layers` defined in `TabularModel`?\\n\",\n    \"1. What are the five steps for preventing over-fitting?\\n\",\n    \"1. Why don't we reduce architecture complexity before trying other approaches to preventing overfitting?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write your own custom head and try training the pet recognizer with it. See if you can get a better result than fastai's default.\\n\",\n    \"1. Try switching between `AdaptiveConcatPool2d` and `AdaptiveAvgPool2d` in a CNN head and see what difference it makes.\\n\",\n    \"1. Write your own custom splitter to create a separate parameter group for every ResNet block, and a separate group for the stem. Try training with it, and see if it improves the pet recognizer.\\n\",\n    \"1. Read the online chapter about generative image models, and create your own colorizer, super-resolution model, or style transfer model.\\n\",\n    \"1. Create a custom head using nearest neighbor interpolation and use it to do segmentation on CamVid.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "16_accel_sgd.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_accel_sgd]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# The Training Process\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You now know how to create state-of-the-art architectures for computer vision, natural language processing, tabular analysis, and collaborative filtering, and you know how to train them quickly. So we're done, right? Not quite yet. We still have to explore a little bit more the training process.\\n\",\n    \"\\n\",\n    \"We explained in <<chapter_mnist_basics>> the basis of stochastic gradient descent: pass a mini-batch to the model, compare it to our target with the loss function, then compute the gradients of this loss function with regard to each weight before updating the weights with the formula:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"new_weight = weight - lr * weight.grad\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"We implemented this from scratch in a training loop, and also saw that PyTorch provides a simple `nn.SGD` class that does this calculation for each parameter for us. In this chapter we will build some faster optimizers, using a flexible foundation. But that's not all we might want to change in the training process. For any tweak of the training loop, we will need a way to add some code to the basis of SGD. The fastai library has a system of callbacks to do this, and we will teach you all about it.\\n\",\n    \"\\n\",\n    \"Let's start with standard SGD to get a baseline, then we will introduce the most commonly used optimizers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Establishing a Baseline\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, we'll create a baseline, using plain SGD, and compare it to fastai's default optimizer. We'll start by grabbing Imagenette with the same `get_data` we used in <<chapter_resnet>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"def get_data(url, presize, resize):\\n\",\n    \"    path = untar_data(url)\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock, CategoryBlock), get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter(valid_name='val'),\\n\",\n    \"        get_y=parent_label, item_tfms=Resize(presize),\\n\",\n    \"        batch_tfms=[*aug_transforms(min_scale=0.5, size=resize),\\n\",\n    \"                    Normalize.from_stats(*imagenet_stats)],\\n\",\n    \"    ).dataloaders(path, bs=128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_160, 160, 128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll create a ResNet-34 without pretraining, and pass along any arguments received:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_learner(**kwargs):\\n\",\n    \"    return vision_learner(dls, resnet34, pretrained=False,\\n\",\n    \"                    metrics=accuracy, **kwargs).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's the default fastai optimizer, with the usual 3e-3 learning rate:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.571932</td>\\n\",\n       \"      <td>2.685040</td>\\n\",\n       \"      <td>0.322548</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>1.904674</td>\\n\",\n       \"      <td>1.852589</td>\\n\",\n       \"      <td>0.437452</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.586909</td>\\n\",\n       \"      <td>1.374908</td>\\n\",\n       \"      <td>0.594904</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner()\\n\",\n    \"learn.fit_one_cycle(3, 0.003)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's try plain SGD. We can pass `opt_func` (optimization function) to `vision_learner` to get fastai to use any optimizer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(opt_func=SGD)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first thing to look at is `lr_find`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(0.017378008365631102, 3.019951861915615e-07)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It looks like we'll need to use a higher learning rate than we normally use:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.969412</td>\\n\",\n       \"      <td>2.214596</td>\\n\",\n       \"      <td>0.242038</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.442730</td>\\n\",\n       \"      <td>1.845950</td>\\n\",\n       \"      <td>0.362548</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2.157159</td>\\n\",\n       \"      <td>1.741143</td>\\n\",\n       \"      <td>0.408917</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.fit_one_cycle(3, 0.03, moms=(0,0,0))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Because accelerating SGD with momentum is such a good idea, fastai does this by default in `fit_one_cycle`, so we turn it off with `moms=(0,0,0)`. We'll be discussing momentum shortly.)\\n\",\n    \"\\n\",\n    \"Clearly, plain SGD isn't training as fast as we'd like. So let's learn some tricks to get accelerated training!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A Generic Optimizer\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To build up our accelerated SGD tricks, we'll need to start with a nice flexible optimizer foundation. No library prior to fastai provided such a foundation, but during fastai's development we realized that all the optimizer improvements we'd seen in the academic literature could be handled using *optimizer callbacks*. These are small pieces of code that we can compose, mix and match in an optimizer to build the optimizer `step`. They are called by fastai's lightweight `Optimizer` class. These are the definitions in `Optimizer` of the two key methods that we've been using in this book:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"def zero_grad(self):\\n\",\n    \"    for p,*_ in self.all_params():\\n\",\n    \"        p.grad.detach_()\\n\",\n    \"        p.grad.zero_()\\n\",\n    \"\\n\",\n    \"def step(self):\\n\",\n    \"    for p,pg,state,hyper in self.all_params():\\n\",\n    \"        for cb in self.cbs:\\n\",\n    \"            state = _update(state, cb(p, **{**state, **hyper}))\\n\",\n    \"        self.state[p] = state\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"As we saw when training an MNIST model from scratch, `zero_grad` just loops through the parameters of the model and sets the gradients to zero. It also calls `detach_`, which removes any history of gradient computation, since it won't be needed after `zero_grad`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The more interesting method is `step`, which loops through the callbacks (`cbs`) and calls them to update the parameters (the `_update` function just calls `state.update` if there's anything returned by `cb`). As you can see, `Optimizer` doesn't actually do any SGD steps itself. Let's see how we can add SGD to `Optimizer`.\\n\",\n    \"\\n\",\n    \"Here's an optimizer callback that does a single SGD step, by multiplying `-lr` by the gradients and adding that to the parameter (when `Tensor.add_` in PyTorch is passed two parameters, they are multiplied together before the addition): \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sgd_cb(p, lr, **kwargs): p.data.add_(-lr, p.grad.data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can pass this to `Optimizer` using the `cbs` parameter; we'll need to use `partial` since `Learner` will call this function to create our optimizer later:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt_func = partial(Optimizer, cbs=[sgd_cb])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see if this trains:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.730918</td>\\n\",\n       \"      <td>2.009971</td>\\n\",\n       \"      <td>0.332739</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.204893</td>\\n\",\n       \"      <td>1.747202</td>\\n\",\n       \"      <td>0.441529</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.875621</td>\\n\",\n       \"      <td>1.684515</td>\\n\",\n       \"      <td>0.445350</td>\\n\",\n       \"      <td>00:09</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit(3, 0.03)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's working! So that's how we create SGD from scratch in fastai. Now let's see what \\\"momentum\\\" is.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Momentum\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As described in <<chapter_mnist_basics>>, SGD can be thought of as standing at the top of a mountain and working your way down by taking a step in the direction of the steepest slope at each point in time. But what if we have a ball rolling down the mountain? It won't, at each given point, exactly follow the direction of the gradient, as it will have *momentum*. A ball with more momentum (for instance, a heavier ball) will skip over little bumps and holes, and be more likely to get to the bottom of a bumpy mountain. A ping pong ball, on the other hand, will get stuck in every little crevice.\\n\",\n    \"\\n\",\n    \"So how can we bring this idea over to SGD? We can use a moving average, instead of only the current gradient, to make our step:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"weight.avg = beta * weight.avg + (1-beta) * weight.grad\\n\",\n    \"new_weight = weight - lr * weight.avg\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Here `beta` is some number we choose which defines how much momentum to use. If `beta` is 0, then the first equation becomes  `weight.avg = weight.grad`, so we end up with plain SGD. But if it's a number close to 1, then the main direction chosen is an average of the previous steps. (If you have done a bit of statistics, you may recognize in the first equation an *exponentially weighted moving average*, which is very often used to denoise data and get the underlying tendency.)\\n\",\n    \"\\n\",\n    \"Note that we are writing `weight.avg` to highlight the fact that we need to store the moving averages for each parameter of the model (they all have their own independent moving averages).\\n\",\n    \"\\n\",\n    \"<<img_momentum>> shows an example of noisy data for a single parameter, with the momentum curve plotted in red, and the gradients of the parameter plotted in blue. The gradients increase, then decrease, and the momentum does a good job of following the general trend without getting too influenced by noise.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id img_momentum\\n\",\n    \"#caption An example of momentum\\n\",\n    \"#alt Graph showing an example of momentum\\n\",\n    \"x = np.linspace(-4, 4, 100)\\n\",\n    \"y = 1 - (x/3) ** 2\\n\",\n    \"x1 = x + np.random.randn(100) * 0.1\\n\",\n    \"y1 = y + np.random.randn(100) * 0.1\\n\",\n    \"plt.scatter(x1,y1)\\n\",\n    \"idx = x1.argsort()\\n\",\n    \"beta,avg,res = 0.7,0,[]\\n\",\n    \"for i in idx:\\n\",\n    \"    avg = beta * avg + (1-beta) * y1[i]\\n\",\n    \"    res.append(avg/(1-beta**(i+1)))\\n\",\n    \"plt.plot(x1[idx],np.array(res), color='red');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It works particularly well if the loss function has narrow canyons we need to navigate: vanilla SGD would send us bouncing from one side to the other, while SGD with momentum will average those to roll smoothly down the side. The parameter `beta` determines the strength of the momentum we are using: with a small `beta` we stay closer to the actual gradient values, whereas with a high `beta` we will mostly go in the direction of the average of the gradients and it will take a while before any change in the gradients makes that trend move.\\n\",\n    \"\\n\",\n    \"With a large `beta`, we might miss that the gradients have changed directions and roll over a small local minima. This is a desired side effect: intuitively, when we show a new input to our model, it will look like something in the training set but won't be *exactly* like it. That means it will correspond to a point in the loss function that is close to the minimum we ended up with at the end of training, but not exactly *at* that minimum. So, we would rather end up training in a wide minimum, where nearby points have approximately the same loss (or if you prefer, a point where the loss is as flat as possible). <<img_betas>> shows how the chart in <<img_momentum>> varies as we change `beta`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x576 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"#hide_input\\n\",\n    \"#id img_betas\\n\",\n    \"#caption Momentum with different beta values\\n\",\n    \"#alt Graph showing how the beta value influences momentum\\n\",\n    \"x = np.linspace(-4, 4, 100)\\n\",\n    \"y = 1 - (x/3) ** 2\\n\",\n    \"x1 = x + np.random.randn(100) * 0.1\\n\",\n    \"y1 = y + np.random.randn(100) * 0.1\\n\",\n    \"_,axs = plt.subplots(2,2, figsize=(12,8))\\n\",\n    \"betas = [0.5,0.7,0.9,0.99]\\n\",\n    \"idx = x1.argsort()\\n\",\n    \"for beta,ax in zip(betas, axs.flatten()):\\n\",\n    \"    ax.scatter(x1,y1)\\n\",\n    \"    avg,res = 0,[]\\n\",\n    \"    for i in idx:\\n\",\n    \"        avg = beta * avg + (1-beta) * y1[i]\\n\",\n    \"        res.append(avg)#/(1-beta**(i+1)))\\n\",\n    \"    ax.plot(x1[idx],np.array(res), color='red');\\n\",\n    \"    ax.set_title(f'beta={beta}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see in these examples that a `beta` that's too high results in the overall changes in gradient getting ignored. In SGD with momentum, a value of `beta` that is often used is 0.9.\\n\",\n    \"\\n\",\n    \"`fit_one_cycle` by default starts with a `beta` of 0.95, gradually adjusts it to 0.85, and then gradually moves it back to 0.95 at the end of training. Let's see how our training goes with momentum added to plain SGD.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In order to add momentum to our optimizer, we'll first need to keep track of the moving average gradient, which we can do with another callback. When an optimizer callback returns a `dict`, it is used to update the state of the optimizer and is passed back to the optimizer on the next step. So this callback will keep track of the gradient averages in a parameter called `grad_avg`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def average_grad(p, mom, grad_avg=None, **kwargs):\\n\",\n    \"    if grad_avg is None: grad_avg = torch.zeros_like(p.grad.data)\\n\",\n    \"    return {'grad_avg': grad_avg*mom + p.grad.data}\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To use it, we just have to replace `p.grad.data` with `grad_avg` in our step function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def momentum_step(p, lr, grad_avg, **kwargs): p.data.add_(-lr, grad_avg)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt_func = partial(Optimizer, cbs=[average_grad,momentum_step], mom=0.9)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`Learner` will automatically schedule `mom` and `lr`, so `fit_one_cycle` will even work with our custom `Optimizer`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.856000</td>\\n\",\n       \"      <td>2.493429</td>\\n\",\n       \"      <td>0.246115</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.504205</td>\\n\",\n       \"      <td>2.463813</td>\\n\",\n       \"      <td>0.348280</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>2.187387</td>\\n\",\n       \"      <td>1.755670</td>\\n\",\n       \"      <td>0.418853</td>\\n\",\n       \"      <td>00:10</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit_one_cycle(3, 0.03)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAt0AAAD4CAYAAAAwyVpeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3yV9fn/8deVTfYkjEz2JpAQQETcolVRBAGto9pqtWqdraNaZx1UqbXan7TiqBNwoYI4EBVkJIywAyEJJKwkZJKdnM/vjxz8pjRAgJzcZ1zPx+M8PLnPfd95H4STK/d9fT4fMcaglFJKKaWUchwvqwMopZRSSinl7rToVkoppZRSysG06FZKKaWUUsrBtOhWSimllFLKwbToVkoppZRSysF8rA7QGaKjo01SUpLVMZRS6oStWbOmxBgTY3WOzqSf2UopV3Wsz2yPKLqTkpLIzMy0OoZSSp0wEdlldYbOpp/ZSilXdazPbG0vUUoppZRSysG06FZKKaWUUsrBtOhWSimllFLKwbToVkoppZRSysG06FZKKaWUUsrBHFp0i8hEEckWkRwRub+N1/1F5AP766tEJMm+PV1E1tsfWSJyeXvPqZRSSimllLNxWNEtIt7Ay8CFwCBghogMOmK3G4EyY0wfYBbwrH37JiDNGJMCTAReFRGfdp5TKaWUUkopp+LIebrTgRxjTC6AiLwPTAK2tNpnEvCo/fl84B8iIsaYmlb7BADmBM6pOlh9UzMrc0vJ3l9JTUMzgX7eBPn7EOzvQ3igHwmRgfQM74Kfj3YrKaWsMevr7UQG+TEsLoyU+HBExOpISikXUVHTyP7KOg5U1lFUVU9pdT01Dc3MSE8gNjSgw76PI4vunkBBq68LgdFH28cY0yQiFUAUUCIio4E5QCJwjf319pwTABG5CbgJICEh4dTfjQdqthneWbWLv32zg9LqhmPu6yXQPawL/buFMCI+nBEJEQyPDyMkwLeT0iqlPFVjs43ZP+RS29gMwIBuITx66WDG9IqyOJlSytkUVdWxMreUzXsr2LK3kq37qig5VN/mvuP7xrhM0d3WZQbT3n2MMauAwSIyEHhTRBa185zYj58NzAZIS0trcx91dBW1jdz5/jq+yy5mbK8ofnNGMqmJkQT7+1Db2Ex1fRPV9U2UHGpgd2kNuw9Ws6u0hs17K1myrQgAEUiJD+fcgbGcNyiWvl2D9eqTUqrD+Xp7seXxCyiuqmfJtiJeXprD9Nkruff8fvzurD76uaOUB2tqtrEi9yDfZxezLKeEbfurAPDz9qJvbDBn9o+hf2wI3cMDiA0NoGuIP5FBfnTx9cbHu2Pv4Duy6C4E4lt9HQfsPco+hSLiA4QBpa13MMZsFZFqYEg7z6lOUWVdI9e8toqt+yp54rIh/HJ0wn/90Aq2t5YA9IqB9OTI/zq+oraRrIJyMneVsTS7iJmLs5m5OJuEyEAuS+nB1LR44iMDO/U9KaXcm4jQNTSA6ekJXJrSg4c+3sRfv9pOVV0TD1w00Op4SqlOZIxh7e5yFqzfwxcb91FyqAE/Hy9GJUXwx4kDOL1PNAO6h+DbwUX18Tiy6M4A+opIMrAHmA5cdcQ+C4DrgBXAFGCJMcbYjymwt5QkAv2BfKC8HedUp6Cx2cZNb2WyZW8lr16TyjkDY0/4HGFdfDmjXwxn9Ivh7vP6caCyjm+3FrFo0z5e+i6Hl77LYVzvaKaNimfikG6d/pdeKeXeAv18eOHK4YQE+PDqD7l0Dwvg+nHJVsdSSjlYdX0TH64t5I3l+eSWVOPv48W5A2O5ZHgPJvSLoYuft6X5HFZ02wvm24DFgDcwxxizWUQeBzKNMQuA14D/iEgOLVe4p9sPPx24X0QaARtwqzGmBKCtczrqPXiiZxdtY2VuKS9cOfykCu62xIYGcNXoBK4ancCe8lrmZRYwL7OQ299bR1xEF246oxdTU+Mt/8eglHIfIsKfLxnMvoo6nvhiK8PiwxmZEGF1LKWUA+wtr+X15Xm8n1FAVV0Tw+PDmTllGBOHdHOqsWVijPu3O6elpZnMzEyrYzi9H7YXc+2c1Vw3NpHHJg1x6Pey2Qzfbivin0tzWLu7nKggP244PZkbxiVr8a1UKyKyxhiTZnWOztSRn9mVdY1c9OKPiMCXvz+DIH9H3uBVSnWmoso6Xlm6k3dX7abZGC4c0o0bTk+29BfsY31m66ePAqCqrpH7P9xA75igTul/9PISzhsUy7kDu5KRX8YrS3OYuTibt1bkc/d5/ZiSGo+3lw5+UkqdmtAAX2ZNS2Hq/1vB377ZzkO/0KUdlHJ1FTWNvLI0hzdX5NPYbJiaGsdtZ/chLsK5x4tp0a0AeGlJDvsq65j/29MI8O28K80iQnpyJOnJ6WTkl/KXhVv544cbmbMsn4d+MZAz+sV0WhallHsalRTJ9FHxzFmezxWpcQzoFmp1JKXUSbDZDHMzC3hucTZlNQ1cltKT35/Tl6ToIKujtYuOYFPklVTz+vI8poyMIzXRulsyo5Ii+eiW03jl6pHUNTVz7ZzV3PHeOoqr2p4/Uyml2uuPEwcQ7O/D0wu3WR1FKXUSsgrKufyV5dz/0UZ6xwTxxe3jmTUtxWUKbtCiWwEzF2/Dz9uL+yb2tzoKIsJFQ7vz1V1ncOe5ffly037OeX4p76/ejc3m/uMPlFKOERHkx61n9ub77cX8tLPE6jhKqXaqa2zmic+3cNkry9lbUcesacOZe/NYBvVwvTtWWnR7uM17K1i4cT83np5M15COW3XpVPn7eHPnuf1Y+PvxDOweyv0fbeSaOavYV1FrdTSllIu67rQkuocF8PxX2/GESQSUcnVrd5dx0Ys/8tqyPK5KT2DJPRO4fEScyy54pUW3h/vbNzsIDfDhxvG9rI7Spj5dg3n/pjE8PXko63aXM/FvP/LFhn1Wx1JKuaAAX29+O6E3a3aVsTqv9PgHKKUs0dBk45lF25jyz5+ob7Lx9o2jeeryoU41/d/J0KLbg+UWH+LrLQe4flwyYV2c9y+yiDAjPYGFd4wnOTqI3727lrvnrudQfZPV0ZRSLmbaqHiig/34x3c5VkdRSrWhoLSGqa+u4P99v5Mr0+L58s7xnN432upYHUKLbg/2+vJ8/Ly9uGZMotVR2iUpOoh5vx3L78/pyyfr9nDpP5ax40CV1bGUUi4kwNebX41L5scdJeQU6eeHUs7kq837+cXffyS36BCvXD2SZ64Y5vJXt1vTottDVdQ0Mn9NIZem9CAmxN/qOO3m6+3FXef1451fj6GytpFJLy/ns6y9VsdSSrmQaaPi8fP24u2Vu62OopQCmpptPPn5Fm76zxoSo4L4/I7TuWhod6tjdTgtuj3Uexm7qW1s5oZxyVZHOSlje0fx+e0tgyxvf28dj3+2haZmm9WxlFIuIDrYnwuHduPDNYXUNGibmlJWqqhp5FdvZPDvZXlcOzaR+beMJTHKdaYBPBFadHugxmYbb/6Uz9heUS455c5h3cICeO83Y7j+tCTmLM/jV29kUFnXaHUspZQLuGZMIlX1TXy6Xu+UKWWVnKIqJr28jJW5B3nuimE8PmkI/j6dt0BfZ9Oi2wN9veUA+yrquPF017zK3ZqfjxePXjqYZyYPZcXOg1zxyk8UlNZYHUsptyIiE0UkW0RyROT+Nl5PFJFvRWSDiCwVkbgjXg8VkT0i8o/OS31sqYkRDOgWwn9W7NLpA5WywNLsIi5/+ScO1Tfx3m/GcOWoeKsjOZwW3R5oXmYB3cMCOGtAV6ujdJjp6Qm8dUM6ByrruPyV5azdXWZ1JKXcgoh4Ay8DFwKDgBkiMuiI3f4KvGWMGQY8Djx9xOtPAN87OuuJEBF+OSaRLfsqWVdQbnUcpTzK3IwCbnwzk/jIQD697XTSkiKtjtQptOj2MEWVdXy/vZjJI3vi7eWak8sfzWl9ovno1nEE+fswY/ZKvtlywOpISrmDdCDHGJNrjGkA3gcmHbHPIOBb+/PvWr8uIqlALPBVJ2Q9IZeN6EmgnzdzMwqsjqKURzDG8OI3O/jDhxs4rXcUc387lp7hXayO1Wm06PYwn6zfg83A5JFxx9/ZBfXpGszHt45jQLcQbn57DR+uKbQ6klKurifQuiottG9rLQu4wv78ciBERKJExAt4HrjveN9ERG4SkUwRySwuLu6A2McX7O/DBYO7sWjTfuqbmjvleyrlqZqabTz48UZmfbOdySN7Muf6UQT7+1gdq1Np0e1BjDHMX1PIyIRwescEWx3HYSKD/HjnN2MY0yuSe+Zl8e8fc62OpJQra+uW2JFN0PcCE0RkHTAB2AM0AbcCC40xx72UbIyZbYxJM8akxcTEnGrmdrs0pQcVtY18n905hb5SnqihycZt767jvdUF3HZWH56fOhxfb88rQT3vHXuwjXsq2H7gEFNS3X+wQrC/D3OuH8VFQ7vx5Bdbmbl4mw6WUurkFAKtPzTigP+a8sMYs9cYM9kYMwJ4yL6tAhgL3CYi+bT0fV8rIs90Sup2Or1PNJFBfnyq8/0r5RB1jc3c9J9Mvty8n0cuHsS9F/RHxL3aW9vLs67re7gP1xTi5+PFL4a534TzbfH38ealGSMJ67KJl7/bSWOz4YELB3jsP3alTlIG0FdEkmm5gj0duKr1DiISDZQaY2zAA8AcAGPM1a32uR5IM8b8z+wnVvL19uIXQ7szN7OAQ/VNHne7WylHqq5v4tdvZrIy7yBPTx7KjPQEqyNZSq90e4jGZhsLsvZy/qBYwrq4z5Kqx+PtJfzl8iFcNzaR2T/k8sTnW/WKt1InwBjTBNwGLAa2AnONMZtF5HERudS+25lAtohsp2XQ5FOWhD1Jl43oQX2Tja8277c6ilJuo7KukWteW8Xq/FJmXZni8QU36JVuj7Eqt5SymkYuHd7D6iidTkR49NLBeHkJc5bn0Wyz8eilg/WKt1LtZIxZCCw8YtsjrZ7PB+Yf5xxvAG84IN4pG5kQQVxEFz5Zv9dtB5kr1Zmq65v41esZbCis4OWrRjBxiGfcYT8eLbo9xBcb9xHk580Z/TpvgJIzEREeuXgQPl7Cv37MA9DCWykFtHw+XDK8B7N/yKW0uoHIID+rIynlsmobmrnxzQzWF5TzjxlacLem7SUeoKm55bbp2QNjCfB13+VVj0dEePCigfxmfDJvrtjFzMXZVkdSSjmJC4d0o9lmWLKtyOooSrmsw4MmV+WV8sKVw7lwqBbcrWnR7QFW55dysLqBi4Z0szqK5Q4X3leNTuCVpTt5+bscqyMppZzA0J5hdAsN4Ost2tet1MloaLJx6ztr+XFHCc9dMYxJKUdO56+0vcQDLNq4ny6+3pzZ332WfT8VIsKTk4ZQU9/EzMXZhAT4cO3YJKtjKaUsJCKcNyiW+WsKqWts9ui7gkqdqMZmG7e/t5Yl24r4y+VDmZrm/lMTnwyHXukWkYkiki0iOSLyP9NEiYi/iHxgf32ViCTZt58nImtEZKP9v2e3Omap/Zzr7Q+tJI+h2Wb4cvN+zhoQQxc//SFymJeXMHPqcM4bFMsjn25mvq5cqZTHO39wLLWNzSzbUWJ1FKVchjGG+z/cyOLNB/jzJYO4arTOUnI0Diu6RcQbeBm4EBgEzBCRQUfsdiNQZozpA8wCnrVvLwEuMcYMBa4D/nPEcVcbY1LsD23AO4bM/FKKq+q5SPuq/oevtxcvzRjB6X2i+cP8LBZt3Gd1JKWUhUYnRxHi78NX2mKiVLvNXJzNh2sLuevcfvxqXLLVcZyaI690pwM5xphcY0wD8D4w6Yh9JgFv2p/PB84RETHGrDPGHF4ebDMQICL+Dszqtr7acgA/Hy/O0taSNgX4ejP72lRGJETw+w/Wk5FfanUkpZRF/Hy8OGtAV77dWkSzTefzV+p43liexytLd3LV6ATuOKeP1XGcniOL7p5AQauvC+3b2tzHvgBDBRB1xD5XAOuMMfWttr1uby15WI4y55uI3CQimSKSWVxcfCrvw6Ut2VbE2F5RBOkqa0cV6OfDv69NIy6iC79+M5OcokNWR1JKWeT8wbEcrG5g7e4yq6Mo5dQ+37CXxz7fwvmDYnli0hCdgrcdHFl0t/Wnf+Slg2PuIyKDaWk5ubnV61fb207G2x/XtPXNjTGzjTFpxpi0mBjPnJs6t/gQeSXVnDNQr3IfT0SQH2/+Kh1fby+um7Oaoqo6qyMppSwwoV8Mft5efL3lgNVRlHJaP+0s4e4PshiVGMnfZ4zA20sL7vZwZNFdCLQevhoH7D3aPiLiA4QBpfav44CPgWuNMTsPH2CM2WP/bxXwLi1tLKoNh+eb1daS9omPDGTO9WmU1TRwwxsZVNc3WR1JKdXJQgJ8GZUcwffZnnuHVKlj2bqvkpveWkNSdCD/ujZNZ/o5AY4sujOAviKSLCJ+wHRgwRH7LKBloCTAFGCJMcaISDjwBfCAMWb54Z1FxEdEou3PfYGLgU0OfA8u7dutRfSPDSE+MtDqKC5jWFw4L181kq37qrj1nbU0NtusjqSU6mRn9utK9oEq9lXUWh1FKadSVFnHjW9kEOzvw5s3pBMW6Gt1JJfisKLb3qN9G7AY2ArMNcZsFpHHReRS+26vAVEikgPcDRyeVvA2oA/w8BFTA/oDi0VkA7Ae2AP8y1HvwZVV1DaSkV/K2dpacsLOGtCVpy4bwvfbi3n4k00YowOqlPIkE/q3tCTq1W6l/k9dYzO/eSuT8tpGXrs+je5hXayO5HIcOrrOGLMQWHjEtkdaPa8DprZx3JPAk0c5bWpHZnRXP+4opslmOGeAFt0nY3p6AoVltfzjuxz6xoZw4+k6DZJSnqJv12C6hwXw/fZipqfrnMNK2WyGe+ZmsWFPBbOvSWNwjzCrI7kkXQbeTS3ZWkR4oC8jEiKsjuKy7j6vHxcMjuWpL7bwXbZOB6+UpxARJvSLYdmOEm0xUwqY9c12vti4jwcvHMh5g2KtjuOytOh2Q802w3fZRZzVv6uOKD4FXl7CrGkpDOgWyh3vriOnqMrqSEqpTjKhXwxV9U2sLyi3OopSlvp4XSEvLclh+qh4fj1e7/qeCi263dCmPRWU1TQyoZ9nTpXYkQL9fPjXdWn4+3pz45uZlFU3WB1JKdUJxvWNxttLtK9bebQ1u0r54/yNjO0VxeM6F/cp06LbDf24o+WHxOl9oy1O4h56hnfh1WtS2Vdexy3vrNHbzUp5gNAAX1ITIli6XVvLlGfaX1HHzf9ZS4/wAP75y5H4+WjJeKr0T9AN/bCjhME9QokO9rc6ittITYzgmSuGsjK3lEcXbLY6jlKqE0zoH8OmPZWUHKo//s5KuZG6xmZufnsNtQ1N/OvaNMID/ayO5Ba06HYzh+qbWLurjPF9tbWko00eGcfNE3rxzqrdfJCx2+o4SikHG9en5W7hTzsPWpxEqc5jjOGRTzeRVVDO81em0Dc2xOpIbkOLbjezcudBmmyGM/ppa4kj/OGCAZzeJ5qHP91Mlg6wUsqtDe0ZRkiADyt2llgdRalO8/bKXczNLOT2s/swcUg3q+O4FS263cyPO4rp4utNaqJOFegI3l7C32eMICbYn1veXsNBve2slNvy9hLG9IpieY5e6VaeYXVeKY99toWzB3TlrnP7WR3H7WjR7WZ+3FHCmF6R+Pt4Wx3FbUUG+fHqNakcrG7g9vfW0aQDK5VyW+N6R7G7tIaC0hqroyjlUPsqarn1nTXERwYya1oKXjrlcIfTotuNFJTWkFtSrf3cnWBIzzCeunwoP+08yMzF2VbHUUo5yGk/93Vri4lyXw1NNm59Zy21Dc3MviaVsC6+VkdyS1p0u5FlOS0/FLSfu3NMSY3jmjGJvPpDLl9s2Gd1HKWUA/TtGkxMiL8OplRu7ZlF21i3u5znpgzXgZMOpEW3G1mWU0K30AB6xwRbHcVjPHzxIEYmhHPf/Cx2Fh+yOo5SqoOJCKf1juKnnQcxxlgdR6kOt2jjPuYsz+P605L4xbDuVsdxa1p0uwljDKtyDzK2d5SuGNWJ/Hy8ePnqkQT4evO7d9ZS19hsdSSlVAcb1zua4qp6dhTpL9bKveSXVPOH+RsYHh/OgxcNtDqO29Oi203sKDpEyaEGxvaKsjqKx+ke1oUXrhzOtv1VPPaZLpyjlLsZ27vlc3V5jvZ1K/dR19jMLe+sxctLePmqEbriZCfQP2E3scLeb3j4h4PqXGf278qtZ/bmvdUFfLJuj9VxlFIdKD4ykITIwJ8/Z5VyB48u2MzWfZXMmjacuIhAq+N4BC263cSKnQfpGd6F+Ej9h2OVu8/rR3pSJA9+vJEcvQ2tlFsZnRxJRn4pNpv2dSvX9+GaQt7PKODWM3tz9oBYq+N4DC263YDNZliZd1CvclvMx9uLv88YQRd7f3dtg/Z3K+Uu0pMjKatpJEcHTCsXl72/ioc+2cjo5EjuPk8XwOlMWnS7gW37qyivaeQ0Lbot1y0sgFnTUtheVMWjC7S/W7kHEZkoItkikiMi97fxeqKIfCsiG0RkqYjE2beniMgKEdlsf21a56fvGKOTWz5fV+WVWpxEqZNX09DEre+sIdjfl5dmjMDHW8vAzqR/2m7g8KINeqXbOZzRL4bfndmHDzIL+GhtodVxlDolIuINvAxcCAwCZojIoCN2+yvwljFmGPA48LR9ew1wrTFmMDAR+JuIhHdO8o4VH9mFbqEBrNaiW7mwxxZsIbekmr9PT6FraIDVcTyOFt1uYGXuQZKiAuke1sXqKMruznP7Mjo5koc+3qT93crVpQM5xphcY0wD8D4w6Yh9BgHf2p9/d/h1Y8x2Y8wO+/O9QBHgkkvmigjpyZGsytX5upVr+ixrLx9ktvRxH15pVXUuLbpdXLPNsCqvVK9yO5mf+7v9vLnjvXXUN2l/t3JZPYGCVl8X2re1lgVcYX9+ORAiIv/1oSQi6YAfsNNBOR1udK9Iiqrq2XWwxuooSp2QgtIaHvxoIyMSwrnzXO3jtooW3S5u894KquqaGKPzczud2NAAnrtiGFv2VfLcl9lWx1HqZLW12taRl3rvBSaIyDpgArAHaPr5BCLdgf8AvzLG2Nr8JiI3iUimiGQWFxd3TPIONjo5EkBbTJRLaWy2ccf76wD4+/QR+Goft2X0T97F/Tw/txbdTuncQbFcNzaR15blsTS7yOo4Sp2MQiC+1ddxwN7WOxhj9hpjJhtjRgAP2bdVAIhIKPAF8CdjzMqjfRNjzGxjTJoxJi0mxjk7UHrHBBMZ5KeDKZVLefGbHazbXc5fJg/VaYUtpkW3i1uRe5DeMUE6IMKJPXDRQPrHhnDvvCyKq+qtjqPUicoA+opIsoj4AdOBBa13EJFoETn88+QBYI59ux/wMS2DLOd1YmaHEBHSkyJZna+L5CjX8FNOCS8vzWFaWjyXDO9hdRyP59Ciux3TTPmLyAf211eJSJJ9+3kiskZENtr/e3arY1Lt23NE5O8i0tatT4/Q2GwjQ/u5nV6Arzd/nzGCqrom7p2XpYtrKJdijGkCbgMWA1uBucaYzSLyuIhcat/tTCBbRLYDscBT9u1XAmcA14vIevsjpXPfQcdKT46koLSWveW1VkdR6phKqxu484P1JEcH8edLj5xwSFnBYUV3O6eZuhEoM8b0AWYBz9q3lwCXGGOGAtfR0gt42D+Bm4C+9sdER70HZ7dxTwXVDc2c1ltHITu7/t1C+NMvBvL99mJe/ynf6jhKnRBjzEJjTD9jTG9jzFP2bY8YYxbYn883xvS17/NrY0y9ffvbxhhfY0xKq8d6K9/LqUrXvm7lAowx3Dcvi/KaRl6aMYJAPx+rIykce6W7PdNMTQLetD+fD5wjImKMWWefXgpgMxBgvyreHQg1xqwwLXM2vQVc5sD34NRW5bZ86B/+IaCc2y/HJHLuwFieXbSNzXsrrI6jlDoJA7uHEhLgo33dyqm9vXIX324r4oGLBjC4R5jVcZSdI4vu9kwz9fM+9luYFcCRvRJXAOvsV0562s9zrHMCrjES/lRl5pfSKyaI6GB/q6OodhARnpsyjPBAX+54bx01DU3HP0gp5VS8vYRRSZGsztO+buWccooO8eQXW5nQL4brT0uyOo5qxZFFd3ummTrmPiIymJaWk5tP4JwtG11gJPypsNkMmbvKSE/Sq9yuJDLIj1nTUsgtqebJL7ZaHUcpdRLSkyPZWVxNySEdGK2cS0OTjTs/WEegnzczpwzDg4e9OSVHFt3HnWaq9T4i4gOEAaX2r+NoGfV+rTFmZ6v9445zTo+wo+gQFbWNpGnR7XLG9YnmN+N78e6q3SzZdsDqOEqpE6R93cpZvfjtdjbtqeTpycN0VjMn5Mii+7jTTNm/vs7+fAqwxBhjRCSclnldHzDGLD+8szFmH1AlImPss5ZcC3zqwPfgtFbn2/u5teh2Sfec348B3UL4w/yNHNSrZUq5lKE9wwjw9SIzv8zqKEr9LCO/lH8u3cmVaXFMHNLN6jiqDQ4ruts5zdRrQJSI5AB3A4enFbwN6AM83Gqaqa72124B/g3k0LKc8CJHvQdnlplfStcQf+Iju1gdRZ0Efx9vZk1LobK2kQc+2kjLuGCllCvw9fZiWFw4a3bplW7lHKrqGrnrg/XERQTyyCWDrY6jjsKhc8gYYxYCC4/Y9kir53XA1DaOexJ48ijnzASGdGxS15ORV8qo5Ejt13JhA7uHcu8F/fjLwm3MW1PIlWnxxz9IKeUU0hIjmP1DLrUNzXTx87Y6jvJwj322hb3ltcz77WkE++v0gM5KV6R0QXvKa9lbUceoxAiro6hTdOPpvRidHMljCzZTUFpjdRylVDulJkbQZDNkFZZbHUV5uEUb9zF/TSG3ndWHVK0LnJoW3S4owz54Z5TOz+3yvL2E568cjpcId89dT7OuVqmUSxiZ0FLcrNmlfd3KOgcq63jg440Mjwvj9nP6Wh1HHYcW3S4oI7+UEH8fBnQLtTqK6gBxEYE8NmkwGfllzP4h1+o4Sql2iAjyo3dMkBbdyjI2m+HeeVnUNTbzwrQUfL21pHN2+n/IBWXklzIyMQJvL+3ndheXj+jJRUO78cLX2Wzao6tVKuUK0hIjWbOrDJveoVIWeGtFPj/uKOFPvxhE75hgq+OodtCi2/LRC9gAACAASURBVMWU1zSw/cAhRiVp35Y7ERGeumwoEYF+3PXBeuoam62OpJQ6jtTECCpqG8ktOWR1FOVhdhYf4ulF2zirfwxXj06wOo5qJy26XczheWFH6fzcbiciyI/npgxjR9EhZi7OtjqOUuo4Uu0XP3S+btWZmppt3DM3iwBfb569QleddCVadLuYjF2l+HoLw+PDrY6iHODM/l25Zkwiry3L46edJVbHUUodQ6/oICICfbWvW3Wq2T/msr6gnCcuG6KrTroYLbpdTEZeKcPiwgnw1Xlh3dWDFw0kKSqQ++ZtoKqu0eo4SqmjEBFSEyO06FadJnt/FX/7egcXDe3GJcO6Wx1HnSAtul1IXWMzG/dUkKb93G6ti583z185nH0Vtfxl4Var4yiljmFkYgS5JdWUVjdYHUW5ucZmG3fPXU9IgA9PTBqibSUuSItuF7K+oJzGZkO69nO7vdTESH4zvhfvrS5gaXaR1XGUUkeRltjyeaxXu5WjvfxdDpv3VvLU5UOJCva3Oo46CVp0u5DDi+LoilOe4a7z+tG3azB//HADFTXaZqKUMxoWF4avt2jRrRxq054K/rEkh8tSejBxSDer46iTpEW3C8nYVUb/2BDCA/2sjqI6QYBvS5tJyaEGHvtss9VxlFJtCPD1ZnCPMNbsKrU6inJT9U3N3D13PVHBfjx26RCr46hToEW3i2i2GdbuKtN+bg8zLC6c353Zm4/W7WHx5v1Wx1FKtSE1MYKswgoammxWR1Fu6G/f7GD7gUM8c8UwwgJ9rY6jToEW3S5i675KDtU3kZ6s/dye5raz+zKoeygPfbxRB2sp5YTSEiNoaLKxaa+uJqs61trdZbz6/U6mpcVzVv+uVsdRp0iLbheRkd9y6zJNB1F6HD8fL16YNpyK2kYe/mST1XGUUkc4PM5mrfZ1qw5U29DMvXOz6B7WhT9dPNDqOKoDaNHtIjLzy+gZ3oWe4V2sjqIsMKBbKHee248vNu7js6y9VsdRSrXSNTSA+MguujKl6lAzF2eTW1LNc1OGERKgbSXuQItuF2CMYXV+qfZze7ibz+jF8PhwHv50E0VVdVbHUUq1kpoQwZrdZRhjrI6i3MCq3IO8/lMe145NZFyfaKvjqA6iRbcL2F1aQ3FVPaO0tcSj+Xh78fzU4dQ2NPPgRxv1h7tSTiQ1KZLiqnoKSmutjqJcXHV9E/fOzyIhMpD7LxxgdRzVgbTodgGr7fNz6yBK1adrMPdd0J9vthbx4do9VsdRLkhEvEXkUhG5Q0TuPvywOperS01ouRO5ZrdOHahOzV8WbqWwrJa/Th1OoJ+P1XFUB9Ki2wVk5pcR1sWXPjHBVkdRTuCGccmkJ0Xy2ILN7C3Xq2rqhH0GXA9EASGtHuoU9O8WQrC/j/Z1q1Py445i3lm1m1+fnqx3t92Q/grlAjLySxmVFIGXl1gdRTkBLy9h5tRhTPzbj/zxww28dUM6Ivp3Q7VbnDFmmNUh3I23lzAiIZy1u8utjqJcVGVdI3+Yv4HeMUHcc35/q+MoB9Ar3U6uuKqe3JJqnSpQ/ZfEqCAe/MVAftxRwrurd1sdR7mWRSJyvtUh3NHIhAiy91dSVddodRTlgp74bAsHKut4/soUAny9rY6jHECLbid3eGlhvc2kjvTL0Qmc3ieap77Yyu6DNVbHUa5jJfCxiNSKSKWIVIlIpdWh3EFqYgQ2A+sL9Gq3OjHfbj3AvDWF3HJmb1Liw62OoxxEi24ntzqvDH8fL4b2DLM6inIyIsKzU4bhLcK987Ow2XQ2E9UuzwNjgUBjTKgxJsQYE2p1KHeQkhCOCKzRRXLUCSirbuD+jzYyoFsId5zT1+o4yoEcWnSLyEQRyRaRHBG5v43X/UXkA/vrq0Qkyb49SkS+E5FDIvKPI45Zaj/nevvDrddFzdxVSkp8OH4++vuR+l89w7vw8CWDWJ1Xyhs/5VsdR7mGHcAmcwJzTrbjszxRRL4VkQ32z+i4Vq9dJyI77I/rOug9OKXQAF/6x4Zo0a1OyJ8XbKasuoHnrxyOv4+2lbgzh1VyIuINvAxcCAwCZojIoCN2uxEoM8b0AWYBz9q31wEPA/ce5fRXG2NS7I+ijk/vHKrrm9i8t1JbS9QxTU2N45wBXXlu8TZyiw9ZHUc5v33AUhF5oD1TBrbzs/yvwFv2AZqPA0/bj40E/gyMBtKBP4uIW6/ylZoYwfrd5TTrnSfVDos27mNB1l7uOKcvg3voHW13d9yiW0S8RGTTSZw7HcgxxuQaYxqA94FJR+wzCXjT/nw+cI6IiDGm2hizjJbi22Ots39wj9L5udUxiAhPTx6Kv48398zL0h/26njygG8BP9o3ZWB7PssH2c8J8F2r1y8AvjbGlBpjyoCvgYkd8i6cVGpiBFX1TewoqrI6inJyJYfqeeiTTQztGcYtZ/a2Oo7qBMctuo0xNiBLRBJO8Nw9gYJWXxfat7W5jzGmCaigZe7Y43nd3lrysBxlrjQRuUlEMkUks7i4+ASjO4fV+aV4CYxM0EEV6ti6hgbw+KTBrNtdzuwfcq2Oo5yYMeYxY8xjwAvA862+Ppr2fJZnAVfYn18OhIhIVDuPBdzjMxtaim7Qvm51bMYYHvp4I4fqmnj+yuH4emsLqSdo7//l7sBme8/egsOP4xzTVjF85CW49uxzpKuNMUOB8fbHNW3tZIyZbYxJM8akxcTEHOeUzikzv5SB3UMJCfC1OopyAZcO78GFQ7ox6+vtZO/Xq2yqbSIyRETWAZto+VxfIyKDj3VIG9uO/Jy+F5hgP+8EYA/Q1M5jWza6wWc2QEJkINHBflp0q2P6dP1eFm8+wD3n96NfrK5N5SnaW3Q/BlxMS6/e860ex1IIxLf6Og7Ye7R9RMQHCAOOuYauMWaP/b9VwLu03Pp0O43NNtbtLtd+btVuIsKTlw0hJMCHe+atp7HZZnUk5ZxmA3cbYxKNMYnAPcC/jrH/cT/LjTF7jTGTjTEjgIfs2yrac6y7ERFGJkSwVotudRQHKut45NNNpCZG8OvxvayOozpRu4puY8z3bT2Oc1gG0FdEkkXED5gOHHl1fAFweDT7FGDJsUbUi4iPiETbn/vS8ovAyfSbO71NeyqobWwmLcmtxxypDhYV7M9Tlw9h055KXvlup9VxlHMKMsZ8d/gLY8xSIOgY+x/3s1xEokXk8M+TB4A59ueLgfNFJMI+gPJ8+za3lpoYQf7BGoqr6q2OopyMMYb7P9xAQ7ONv04djreuNO1Rjll0H140oY3HcRdTsPdo30bLB+xWYK4xZrOIPC4il9p3ew2IEpEc4G7g56moRCSflp7D60Wk0D5a3h9YLCIbgPW03MI81hUal5WZ33KVJF2vdKsTNHFIdyal9OClJTvYtKfC6jjK+eTax8Mk2R9/omVwZZva+Vl+JpAtItuBWOAp+7GlwBO0FO4ZwOP2bW7tcF/32t16tVv9t7mZBXyXXcwfJw4gOfpYv+sqd+RzrBeNMafUaGSMWQgsPGLbI62e1wFTj3Js0lFOm3oqmVzF6vxSEqMC6RoaYHUU5YIeu3QwK3Ye5J65WSy4fZzO/apau4GWlsEPaem5/gG4/lgHtOOzfD4tM1C1dewc/u/Kt0cY0jMMP28v1u4q44LB3ayOo5xEYVkNT3y+lTG9IrlubJLVcZQFdLisE7LZDJn5pdrPrU5aeKAfz1wxlOwDVbz4zQ6r4yjn0puWPmsvwBc4h5bCW3WQAF9vhvQM1cGU6mc2m+EP8zdgjGHmlOF4aVuJR9Ki2wntLD5EWU2jtpaoU3L2gFiuTIvj/32/k3V6m1v9n3doufI8mZZxMRcDl1iayA2lJkawYU8F9U3NVkdRTuDtVbv4aedB/nTxIOIjA62OoyyiRbcTWp3f0vKoi+KoU/WniwfRLTSAe+ZlUdeoP/wVAMXGmM+MMXnGmF2HH1aHcjepiRE0NNnYvPeYw5+UB8gvqebphduY0C+G6aPij3+AcltadDuhjLxSooP9SYrS34bVqQkN8OW5KcPJLa5m5uJsq+Mo5/BnEfm3iMwQkcmHH1aHcjcjE+yDKbXFxKM12wz3zc/Cx1t45oqhHGU9P+UhtOh2Qhn5ZaQnR+g/TtUhTu8bzS/HJDBneR6r89x+4gh1fL8CUmhZjv0S++NiSxO5oa6hAcRHdtG+bg83Z1keGfllPHbpYLqHdbE6jrKYFt1OZk95LXvKa3UQpepQD1w4kPiIQO6dl0V1fZPVcZS1httXfrzOGPMr++MGq0O5o9SECDJ3lXGM5SeUG8spqmLmV9mcNyiWy0f0tDqOcgJadDuZDPuVSC26VUcK8vfhr1OHU1BWwzOLtlkdR1lrpX3dA+VgqYkRFFfVU1hWa3UU1cmamm3cMzeLID9v/nK5tpWoFlp0O5nV+aWE+PswsHuo1VGUm0lPjuSGccn8Z+Uulu0osTqOss7pwHoRyRaRDSKy0b7gmOpgI+2L5GiLief5f9/vJKuwgicvG0pMiL/VcZST0KLbyWTklTIyMUKXhlUOcd8F/ekVE8Qf5mdRWddodRxljYlAX1qWZD/cz61TBjrAgG6hBPl5a9HtYbbsreTFb3dw8bDu/GJYd6vjKCeiRbcTKatuYEfRIdJ1qkDlIAG+3jw/dTj7K+t48vMtVsdRFmg9TaBOGehY3l7CiIQILbo9SEOTjXvmZRHWxY8nJg2xOo5yMlp0O5GMfO3nVo43IiGC307ozdzMQpZsO2B1HKXc2sjECLbtr+SQDmD2CC8t2cHWfZU8M3koEUF+VsdRTkaLbieSkV+Kn7cXw+LCrI6i3Nzvz+3LgG4h3P/hRsprGqyOo5TbSk2MwGYgq6Dc6ijKwbIKynll6U6uGBnHuYNirY6jnJAW3U4kI7+M4fFhBPh6Wx1FuTl/H2/+OnU4pdUNPLpgs9VxlHJbKfHhiOhgSndX19jMPfOy6BrizyOX6ORAqm1adDuJmoYmNu2pIE1bS1QnGdIzjNvO7sMn6/fy5aZ9VsdRyi2FdfGlX9cQLbrd3Atfbyen6BDPXjGMsC6+VsdRTkqLbiexfnc5TTZDuhbdqhP97qw+DOkZykMfb+LgoXqr4yjllkYmRrB2dxk2my6S445W55Xyrx9zuWp0Amf0i7E6jnJiWnQ7idX5pYj837yuSnUGX28vnp+aQlVdE3/6ZJOunKeUA6QmRlBV18SOokNWR1EdrKqukbvnrichMpCHLhpodRzl5LTodhIZ+aUM6Baqt6VUp+vfLYS7zuvHok37+XT9XqvjKOV2UnWRHLf1+Gdb2FteywtXphDk72N1HOXktOh2Ao3NNtbuKic9Sa9yK2vcdEYvUhMjePjTTewp1yWrlepISVGBRAX5adHtZr7ctI95awr53Vl9fv7FSqlj0aLbCWzeW0ltYzOjdFEcZRFvL2HWlSnYbIZ75q7X3lOlOpCI/NzXrdxDUVUdD3y0kaE9w7jjnL5Wx1EuQotuJ7Ay9yCArkSpLJUQFcifLx3MytxS/r0s1+o4SrmV1MQI8kqqdcCyGzDG8Mf5G6hpaGbWtBR8vbWUUu2jf1OcwMrcg/SOCaJrSIDVUZSHm5oaxwWDY5m5OJsteyutjqOU2zjcfrB2ty6S4+reXb2b77KLefCigfTpGmx1HOVCtOi2WGOzjYy8Usb2jrI6ilKICE9PHkZ4oB93frCOusZmqyMp5RaG9gzD11u0r9vF5RYf4snPtzK+bzTXjEm0Oo5yMVp0W2zjngqqG5oZ2yva6ihKARAZ5MfMKcPYfuAQMxdnWx1HKbcQ4OvN4B5hrNWi22U1Ndu4a24Wfj5ezJwyHC8vsTqScjFadFvscD/36F7az62cx5n9u3Lt2EReW5bHsh0lVsdRyi2kJkaQVVhOQ5PN6ijqJLz83U6yCsp56vIhdAvTdlB14hxadIvIRBHJFpEcEbm/jdf9ReQD++urRCTJvj1KRL4TkUMi8o8jjkkVkY32Y/4uIi79q+aKnQfpFxtMdLC/1VGU+i8PXDiQ3jFB3Dsvi/KaBqvjKOXyUhMjqG+ysXlvhdVR1AnKKijn70t2cFlKDy4e1sPqOMpFOazoFhFv4GXgQmAQMENEBh2x241AmTGmDzALeNa+vQ54GLi3jVP/E7gJ6Gt/TOz49J2joclGZn4ZY3tpP7dyPl38vHlx+ghKDtXzkK5WqdQpS7MPpszM1xYTV1Jd38SdH6wnNsSfxyYNsTqOcmGOvNKdDuQYY3KNMQ3A+8CkI/aZBLxpfz4fOEdExBhTbYxZRkvx/TMR6Q6EGmNWmJYK4C3gMge+B4faUFhObWOzDqJUTmtIzzDuOq8fX2zYxyfr91gdRymX1jU0gMSoQFbnl1odRZ2ARxdsJv9gNbOmpeiq0eqUOLLo7gkUtPq60L6tzX2MMU1ABXCsCrSn/TzHOicAInKTiGSKSGZxcfEJRu8cK3MPIgKjk7XoVs7rtxN6k5YYwSOfbKagtMbqOEq5tNHJkWTkl+oCVC7is6y9zFtTyG1n9WG03pVWp8iRRXdbvdZHfsq0Z5+T2t8YM9sYk2aMSYuJiTnGKa2zIvcgA7qFEhHkZ3UUpY7K20uYNS0FBG5/bx2NzToITKmTNTo5ivKaRrYXVVkdRR1HQWkND368kZEJ4fxeV51UHcCRRXchEN/q6zhg79H2EREfIAw41n23Qvt5jnVOl1Df1ExmfhljdNYS5QLiIwN5evJQ1heUM+vr7VbHUcplHV55eFWutpg4s6ZmG3d+sB4MvDh9BD666qTqAI78W5QB9BWRZBHxA6YDC47YZwFwnf35FGCJOcZoLWPMPqBKRMbYZy25Fvi046M7XlZBBfVNNh1EqVzGxcN6MH1UPP/8fifLc3QaQU/TjtmoEuyzTq0TkQ0icpF9u6+IvGmfdWqriDzQ+emdR3xkID3Du7A6T4tuZ/bSkhzW7CrjycuHEB8ZaHUc5SYcVnTbe7RvAxYDW4G5xpjNIvK4iFxq3+01IEpEcoC7gZ8/yEUkH3gBuF5EClvNfHIL8G8gB9gJLHLUe3CkFTu1n1u5nkcuGUSv6CDu+mA9Bw/VWx1HdZJ2zkb1J1o+50fQcpHlFfv2qYC/MWYokArcfHh6WE+VnhzJqryDOiOQk1qdV8pLS3YweWRPJqW0OWxMqZPi0PslxpiFxph+xpjexpin7NseMcYssD+vM8ZMNcb0McakG2NyWx2bZIyJNMYEG2PijDFb7NszjTFD7Oe87VhXxp3ZitwSBvcIJSxQR0Ir1xHo58NLM0ZSXtvIffM3aNHgOdozG5UBQu3Pw/i/1j8DBNlbCLsADUCl4yM7r9HJkZQcaiC3pNrqKOoIFTWN3Pn+OuIjA3lcpwdUHUyblCxQ19jM2t3ljNGr3MoFDeoRykMXDWTJtiJeX55vdRzVOdozG9WjwC9FpBBYCNxu3z4fqAb2AbuBvxpjPLq3Qvu6nZMxhgc/3khRVT0vTh9BsL+P1ZGUm9Gi2wKZ+WU0NNk4rY8W3co1XTs2kXMHduWZRdvYtEdX1/MA7Zk5agbwhjEmDrgI+I+IeNFylbwZ6AEkA/eISK//+QYuMM1rR0mODiImxJ/VeQetjqJaeWfVbr7YuI+7z+9HSny41XGUG9Ki2wI/5hTj6y2M0UGUykWJCM9NGU5EkC93vLeO6vomqyMpx2rPbFQ3AnMBjDErgAAgGrgK+NIY02iMKQKWA2lHfgNXmOa1o4iIva+7VFu0nMSmPRU8/vkWJvSL4bdn9LY6jnJTWnRb4MftJaQmRhDop7eulOuKDPLjb9NGkHewmod1mXh3157ZqHYD5wCIyEBaiu5i+/azpUUQMAbY1mnJndSY5Ej2VdRRWFZrdRSPV1XXyG3vriUy0I8XrhyOl1dbN3aUOnVadHeykkP1bNlXyfi+7n0lR3mGsb2juPOcfny0bg/vZxQc/wDlkto5G9U9wG9EJAt4D7jePtD9ZSAY2ERL8f66MWZDp78JJ5NuH9OzMldbTKxkjOH+jzZSUFbLS1eNICrY3+pIyo3ppdZOdnh+4/F9oy1OolTHuP3sPmTuKuXPCzYztGcYQ3qGWR1JOYAxZiEtAyRbb3uk1fMtwLg2jjtEy7SBqpW+XYOJCPRldV4pU9Pij3+Acoi3V+7iiw37+OPEAYxK0sXqlGPple5O9uOOEsIDfRncQwsT5R68vIS/TUshMtCP3727lsq6RqsjKeX0vLyEUUktfd3KGpv2VPDE51s5q38MN5/xP2N7lepwWnR3ImMMP+4oZlyfaLy1Z0y5kahgf/5x1QgKy2q5b16W9ncr1Q6je0Wxu7SGfRXa193ZKusaufWdtUQF+/H8lSnax606hRbdnSin6BAHKusZ30dbS5T7SUuK5P6JA1i8+QCvLcuzOo5STm9Mr5Z2hhU7ta+7MxljuP/DDewpr+WlGSOIDPKzOpLyEFp0d6IfdrT0c5+u/dzKTf16fDLnD4rlmUXbWLOrzOo4Sjm1gd1CiQzyY5l9rI/qHK8vz2fhxv384YL+pGkft+pEWnR3ou+3F9MrJoi4iECroyjlECLCzKnD6RHehdveXUtpdYPVkZRyWl5ewtheUfyUc1BbsjrJqtyD/GXhVs4dGMtvxmsft+pcWnR3kpqGJlbmHuSs/l2tjqKUQ4V18eWVq0dy8FADv39/Hc02LSaUOppxfaLZX1lHbkm11VHc3v6KOn737joSIgN5YZrOx606nxbdnWR5zkEammycPUCLbuX+hvQM4/FJg/lxRwnPLfb4dVCUOqpxfVrm616uLSYOVd/UzC3vrKGmoYlXr0klNMDX6kjKA2nR3UmWbCsi2N9H5wFVHmN6egJXjU7g1e9z+SzryBXDlVIACZGB9AzvokW3gz3x+RbW7S5n5pTh9I0NsTqO8lBadHcCYwzfbStifN9o/Hz0j1x5jkcvGUxaYgR/mL+BLXsrrY6jlNMREcb1iWLFzoPaiuUgczMLeHvlbm4+oxe/GNbd6jjKg2kF2Am27Ktkf2UdZ2lrifIwfj5evPLLkYR28eHmtzMp04GVSv2PcX2iqaxrYtOeCqujuJ0NheX86ZNNnNY7ivsu6G91HOXhtOjuBN9tKwLgzP4xFidRqvN1DQng//0ylQMV9dzx/jqamm1WR1LKqZzWu2Ua2eU7tcWkIx2orOM3b2USE+zPSzNG4OOtJY+ylv4N7ARLthUxLC6MriEBVkdRyhIjEiJ44rLDAyuzrY6jlFOJCfGnf2wIy3Zo0d1R6hqbuemtTKrqmvjXtWlEBftbHUkpLbodrbS6gXUF5TpVoPJ400YlcM2YRGb/kMvcjAKr4yjlVM7oF01mfhnV9U1WR3F5xhj+MH8DWYUVzJqWwqAeoVZHUgrQotvhvtlyAGPg3IGxVkdRynKPXDKI8X2jefDjjbr0tVKtnNm/Kw3NNn7Sfxen7JWlO1mQtZf7LujPBYO7WR1HqZ9p0e1gizbtIy6iC0N66m/aSvl6e/GPq0aSGBXILe+sIU8XBFEKgLSkCAL9vPl+e5HVUVzal5v2M3NxNpel9ODWM3tbHUep/6JFtwNV1jWyLKeEiYO7IaIrXykFLStWzrl+FALc+EYG5TU6o4lS/j7enNY7mqXZxbok/EnavLeCuz5YT0p8OM9cMUx/7iqno0W3Ay3ZWkRjs+HCoXp7S6nWEqOCmH1tGoVltdzy9loamnRGE6XO7B9DYVktO4v1DtCJ2lNeyw1vZBAe6Mvsa1IJ8PW2OpJS/0OLbgdatGkfsaH+jIiPsDqKUk5nVFIkT08eyorcg/zpk416dU95vMPTyi7N1haTE1FR08j1c1ZT09DMG79Kp2uozhSmnJNDi24RmSgi2SKSIyL3t/G6v4h8YH99lYgktXrtAfv2bBG5oNX2fBHZKCLrRSTTkflPRU1DE99vL+aCwd3w8tJbXEq15YrUOG47qw9zMwv52zc7rI6jlKXiIgLp0zWY77cXWx3FZdQ3NXPTfzLJP1jNq9ek0r+bLvGunJePo04sIt7Ay8B5QCGQISILjDFbWu12I1BmjOkjItOBZ4FpIjIImA4MBnoA34hIP2NMs/24s4wxTj2h6dLsYuoabUwcoq0lSh3LPef3Y39lHS9+u4OYEH9+OSbR6khKWWZCvxj+s2IXNQ1NBPo57Ee0W7DZDPfO28CqvFJenJ7y8yJDSjkrR17pTgdyjDG5xpgG4H1g0hH7TALetD+fD5wjLSMfJgHvG2PqjTF5QI79fC5j4cZ9RAb5kZ4UaXUUpZyaiPD05KGc1T+GRz7dxJeb9lsdSSnLnGWfOnB5jk4deDzPfrmNz7L28seJA5iU0tPqOEodlyOL7p5A6xUwCu3b2tzHGNMEVABRxznWAF+JyBoRuelo31xEbhKRTBHJLC7u3Ft1VXWNfLP1ABcN7abLzirVDr7eXrx89UiGxYVzx/vryMgvtTqSUpZIT44kJMCHrzbrL5/H8vryPF79IZdfjkngtxN6WR1HqXZxZEXYViPzkSOljrbPsY4dZ4wZCVwI/E5EzmjrmxtjZhtj0owxaTExMe3N3CEWbdpPXaONySPjOvX7KuXKAv18mHP9KOIiunDjGxlk76+yOpJSnc7Px4uzB3Tlm60HaGrWWX3aMi+zgMc+28L5g2J59JLBOjWgchmOLLoLgfhWX8cBe4+2j4j4AGFA6bGONcYc/m8R8DFO2Hby0dpCkqODGBEfbnUUpVxKZJAfb/4qnQBfb66ds4rdB2usjqRUp7tgcDfKahrJ3FVmdRSn88WGffzxww2M7xvNS1eN0LvJyqU48m9rBtBXRJJFxI+WgZELjthnAXCd/fkUYIlpmTdsATDdPrtJMtAXWC0iQSISAiAiQcD5wCYHvocTVlhWw8rcUiaP6Km/fSt1EuIjA3nrxnTqm2zM+NdKCsu08FaeZUK/GPx8vFisLSb/5bttRdz5wTpGJETw6jWp+PvoXNzKtTis6Lb3aN8GtR0GdwAAEytJREFULAa2AnONMZtF5HERudS+22tAlIjkAHcD99uP3QzMBbYAXwK/s89cEgssE5EsYDXwhTHmS0e9h5Pxybo9AFw2Qgd1KHWyBnQL5e0bR1NZ18jV/17F/oo6qyMp1WmC/H0Y3yearzYf0Pnr7VbmHuS3b6+hX2wIc64fpTO7KJfk0PsyxpiFxph+xpjexpin7NseMcYssD+vM8ZMNcb0McakG2NyWx37lP24/saYRfZtucaY4fbH4MPndBbGGD5au4f05EjiIwOtjqOUSxvSM4y3bkinpKqeq/69kuKqeqsjKdVpLvj/7d15eBX1vcfx95esBAgQwhKSsAgBwr7EyFptsQh4FdEioBa0WrRUra2tt9Y+bZ8+2tv23tba4gIFRdRKuW1RKhRXKlZZlR0Ewh6IBBJ2QkKS3/3jjNc0JIiQk0nOfF7Pc54zZ87MOd8vM+fHNzO/+U2PNuw/WsSmA8f9DsV3a/cd5c7Zq0Jnwb6RTdOGMX6HJHJR1BmqBn209yg7D5/ipv46yi1SE/q1a85zd2STd/QMt81cQeGpEr9DEqkVwzNb0cAI/Cgma/cd5euzVpDUOJYX77yCFo3j/A5J5KKp6K5Bc5btpklcNNf2but3KCIRI7tjErMmZ7G74JQKbwmMFo3juLxDEos2fhLYLiYf7jnC12euoHlCLHOnDKJNU93eXeo3Fd015ODxMyxcn8e4rHQax6mvmUhNGtw5mRmTsthx6CQTZiwj/7j6eEvku65PW3LyT7I5L3hdTFbtLmTSrBW0aBzLn+8eSGqzhn6HJHLJVHTXkJdW7KXMOSYN0i2sRcLhyi4tee72y8k9UsT4Gcs5cLTI75BEwuraXinERNn/X6AfFMt2FDD52ZW0Toznz3cPIqWpCm6JDCq6a0BxaRl/WrGHr3RtRYfkRn6HIxKxBndO5oU7QxdXjntmGXsKTvkdUiCY2Ugz22pmOWb2wyreb2dmS8xsjZmtN7PRFd7rbWbLzGyTmW0wM/URuEDNG8VyZZdWvLr2AGXlwehi8vqmT5j83EpSmzVk7pSBtE7U7iKRQ0V3DVi4Po/DJ0u4fUgHv0MRiXgD2ifx8pSBnC4p5WvPLGPTgWN+hxTRzCwKeJLQXYC7AxPNrHulxX5MaFjYfoTuyfCUt2408CJwj3OuB3AVcLaWQo8IY/ulkn+imOU7C/wOJezmrdrHt178kO4picy7exCtVHBLhFHRfYmcc8x8bxedWjZiaOdkv8MRCYSeqU2Zd/cgYhoY46cv51/bD/sdUiTLBnK8IVtLgLnAmErLOCDRm27KZ3cfHgGsd86tA3DOFXj3XJALNDyzFU3iopkf4V1Mnnl3Bw/9dT1DOifz0l1X0LxRrN8hidQ4Fd2X6K0t+WzOO849V3bSHShFalFG6yb8beoQ0po35PbnVjJ/Ta7fIUWqVGBfhde53ryKfgbcZma5wCLgPm9+F8CZ2etm9pGZPVTdl5jZFDNbbWarDx06VHPR13PxMVGM6tWGxRs/oagk8v5eKS0r56evbuSX//iY6/q0Zdbky2mkwQgkQqnovgTOOZ54exvtWyQwVnegFKl1bZrGM++eQVzeIYnv/nkd097ZHtjh1cKoqqMJlf+RJwKznXNpwGjgBTNrAEQDQ4FbveexZja8qi9xzs1wzmU557JatmxZc9FHgBv6pXKyuJQ3NkfWmN0nzpzlrjmreX7ZHr45rCNPjO9LbLTKEolc2rsvwWvr89i4/zj3frkz0VH6pxTxQ2J8DLO/cTlj+rblf97Yxv1z10bkEUEf5QLpFV6n8Vn3kU/dCcwDcM4tA+KBZG/dd51zh51zpwkdBe8f9ogjzMCOLWjfIoEXlu3xO5Qas/9oEeOeWcZ72w/zi7G9eOTa7jRooLPFEtlUKV6kM2fL+NXij+nWpgk39k/zOxyRQIuLjuJ34/vy0MiuvLb+ADdPX0beMQ0pWENWARlm1tHMYgldKLmg0jJ7geEAZpZJqOg+BLwO9DazBO+iyiuBzbUWeYRo0MD4+sD2rN5zhI376/+Fwyt3FTJm2vvsP1rE83dkc8sV7fwOSaRWqOi+SDOW7iT3SBE/vrY7UfrrXMR3ZsbUqzozc1IWuw6f4ro/vM+q3YV+h1XvOedKgXsJFdBbCI1SssnMfm5m13uLPQh808zWAS8Dt7uQI8BvCRXua4GPnHMLaz+L+m/cgHQaxkTV66PdoYEHdjLxj8tJjI9m/tTBDM3QAAQSHCq6L0JO/gmmvZPDdX3aqsEQqWOGZ7Zm/tTBNI6LYsKM5Tz1zxzKAzLGcbg45xY557o45zo55x7z5v3EObfAm97snBvinOvjnOvrnHujwrovOud6OOd6OueqvZBSzq9pQgw39EvllbX7OXKqxO9wvrCTxaXc+6c1PLpwC1dntuLVe4fQuVUTv8MSqVUqur+g4tIyvjdvHQlxUfzkPyoPVSsidUFG6yb8/b6hjOrZhl8v3sods1dRcLLY77BELsmkQe0pLi1n3up9n79wHbIh9xjXT/sX/9iYx8OjuvHMbQNoEh/jd1gitU5F9xf02MItrM89xq9v6k3LJnF+hyMi1WgSH8MfJvbj0Rt6smxnAaN//x5Lt2koOqm/MlMSye6YxJxlezhbVu53OJ+rrNzx5JIcxj71PqeLy3jxriu4W8PrSoCp6P4Cpr+7gzne0EYjerTxOxwR+Rxmxm0D23vdTaKZ9OxKfjR/AyeLS/0OTeSiTBl2GfuPFvFKHb9Zzr7C00ycsZz/fn0r1/Row+IHhjG4k7pjSrCp6L4Azjkef3Mb/+UN3v/wqEy/QxKRL6BH26YsvH8YU750GS+v3Ms1jy/lgxzdxVLqn+GZreieksiTS3IorYNHu0vLypn53k5GPL6UzXnH+e3NfZh2Sz+aJegOkyIquj/Hxv3HuHXmCp54eztfG5DGb8b10ViiIvVQfEwUPxqdyV/uGURsdANumbmCB+auIf/4Gb9DE7lgZsZ3rs5gd8Fp/vJh3boL6/rco4x58n0eXbiFQZ1asPiBYdzYP03dSUQ8utdqFbZ+coJHF25mT8Fp9haeJjE+msfG9uSW7HZqPETquQHtk1h0/zCe+mcO09/dyZubD/LA1V24fUgHYnSTK6kHRnRvzYD2zfnNm9u4rk9b32+bnn/iDL97aztzV+4luXEcT9/an5E92+j/S5FKVHRXISbKOF50lp6pidw1rCPX92mrU2MiEaRhbBQPjujKTf3T+Plrm3ls0RZeXrmX7361C9f2StHZLKnTzIxHrs3kxqc+YNqSHP5zZDdf4jhdUsofl+5i+tIdlJSWM2lQB743oguJGplEpErmXOSPX5uVleVWr17tdxgiUke9veUgv1r8MdsOnqRbmyY8OKIrV2e2qhNH6szsQ+dclt9x1Ca12Rfm+/+7jlfW7Ofv9w0lMyWx1r73VHEpc1ftY/q7O8g/Ucyonm14aGQ3OiY3qrUYROqq87XZOtItIoE3PLM1V3VtxWvrD/C7t7bzzTmryUxJ5I4hHbi+T1viY6L8DlHkHI+MzmTJx/l8b9465k8dHPb9tPBUCbM/2M3zH+zmWNFZBl6WxNO39WdA+6Swfq9IpNCRbhGRCkrLyvnbmv3Mem8XWw+eoEWjWG69oh3js9uR2qxhrcejI91yPu98fJBvzF7NxOx2/GJszxo/O+OcY8WuQuat2seijXmcOVvOV7u35ltXdaJ/u+Y1+l0ikUBHukVELlB0VANuzkpn3IA0PthRwHPv7+IPS3L4/Ts5ZHdI4vq+bRndK4WkRrrOQ/z3lW6hAvjpf+4gPakhU6/qfMmf6Zxj28GTvLHpE/76US67C07TJC6aG/unccfgDmS01u3bRS5GWItuMxsJPAFEATOdc7+s9H4cMAcYABQA451zu733HgbuBMqA+51zr1/IZ4qI1AQzY0jnZIZ0TmZf4WkWrDvAK2v28+NXNvLTBZvol96MoRnJDMtIpndaM418Ir75wYiuHDhaxK8Xb6WopIzvXt3lC18MfPR0CWv2HmXp9kO8teUg+wqLAMjumMR9X8lgdK8UGsaqm5XIpQhb9xIziwK2AV8FcoFVwETn3OYKy0wFejvn7jGzCcBY59x4M+sOvAxkA22Bt4Au3mrn/cyq6FSliNQE5xxb8k6wcMMB3tt+mA37j+EcJMRG0a1NEzJTEslMSSSjVWNaJ8bTKjGOhNhLO7ah7iVyIc6WlfPI/A3MW51Ldockvn9NV7LaN/+34ts5x6mSMvYWnGZv4Sn2Fp5m6ycnWbP3CDsPnwIgLroBQzsnMzyzNcMzW9E6Md6vlETqJb+6l2QDOc65nV4Qc4ExQMUCeQzwM2/6L8A0C3VIGwPMdc4VA7vMLMf7PC7gM0VEwsLM6N42ke5tE/nBNaGjgx/sKGDlrkI25x1nwdoDvLRi77+t0yQumqYJMTSOi+Yf3xlWJ0ZEkcgTE9WAX93Um6z2Sfxy8cfcPH0ZifHRJDWKpaS0nJPFpZwuKaO0/N8PtCU3jqVvenNuGpBGv3bN6Jve7JL/UBSRqoXzl5UK7KvwOhe4orplnHOlZnYMaOHNX15p3VRv+vM+EwAzmwJMAWjXrt3FZSAich7NEmIZ3SuF0b1SgNCRxNwjRew6fIr8E8XknzhD/vFijhWdpbTcqeCWsDIzbr48ndG9U3h7y0FW7irk+JlS4qIb0DgumkZxUSTGx5DWPIH2LRJIb55A0wSNqS1SW8JZdFf1v0vlvizVLVPd/Ko6TVbZP8Y5NwOYAaFTldWHKSJSM8yM9KQE0pMS/A5FAqxxXDRj+qYypm/q5y8sIrUmnFf+5ALpFV6nAQeqW8bMooGmQOF51r2QzxQRERERqVPCWXSvAjLMrKOZxQITgAWVllkATPamvwa840JXdi4AJphZnJl1BDKAlRf4mSIiIiIidUrYupd4fbTvBV4nNLzfs865TWb2c2C1c24BMAt4wbtQspBQEY233DxCF0iWAt92zpUBVPWZ4cpBRERERKQmhPUSZefcImBRpXk/qTB9BhhXzbqPAY9dyGeKiIiIiNRlupuDiIiIiEiYqegWEREREQkzFd0iIiIiImGmoltEREREJMwsNEJfZDOzQ8Cei1g1GThcw+HUF8o9uIKcf13Mvb1zrqXfQdQmtdkXJci5Q7DzD3LuUPfyr7bNDkTRfbHMbLVzLsvvOPyg3IOZOwQ7/yDnHgmCvP2CnDsEO/8g5w71K391LxERERERCTMV3SIiIiIiYaai+/xm+B2Aj5R7cAU5/yDnHgmCvP2CnDsEO/8g5w71KH/16RYRERERCTMd6RYRERERCTMV3SIiIiIiYaaiuwpmNtLMtppZjpn90O94ws3MdpvZBjNba2arvXlJZvammW33npv7HWdNMbNnzSzfzDZWmFdlvhbye29fWG9m/f2LvGZUk//PzGy/tw+sNbPRFd572Mt/q5ld40/UNcPM0s1siZltMbNNZvYdb35gtn8kClqbDcFqt9Vmq82OlDZbRXclZhYFPAmMAroDE82su79R1YovO+f6Vhjr8ofA2865DOBt73WkmA2MrDSvunxHARneYwrwdC3FGE6zOTd/gMe9faCvc24RgLfvTwB6eOs85f1G6qtS4EHnXCYwEPi2l2OQtn9ECXCbDcFpt2ejNlttdgS02Sq6z5UN5DjndjrnSoC5wBifY/LDGOB5b/p54AYfY6lRzrmlQGGl2dXlOwaY40KWA83MLKV2Ig2PavKvzhhgrnOu2Dm3C8gh9Bupl5xzec65j7zpE8AWIJUAbf8IpDb7MxHZbqvNVpvtTdf7NltF97lSgX0VXud68yKZA94wsw/NbIo3r7VzLg9COz3Qyrfoakd1+QZpf7jXOx33bIXT0hGbv5l1APoBK9D2r8+Cuo2C3m7rN6s2u95tfxXd57Iq5kX6uIpDnHP9CZ2W+baZfcnvgOqQoOwPTwOdgL5AHvAbb35E5m9mjYG/Ag84546fb9Eq5tX7/CNMULeR2u2qBWV/UJtdzaJVzKsz+avoPlcukF7hdRpwwKdYaoVz7oD3nA/MJ3Qq6uCnp2S853z/IqwV1eUbiP3BOXfQOVfmnCsH/shnpyMjLn8ziyHUeL/knPubNzvQ27+eC+Q2Ursd7N+s2uz6uf1VdJ9rFZBhZh3NLJbQBQkLfI4pbMyskZk1+XQaGAFsJJTzZG+xycCr/kRYa6rLdwEwybsieiBw7NNTWpGkUp+3sYT2AQjlP8HM4sysI6GLU1bWdnw1xcwMmAVscc79tsJbgd7+9Vyg2mxQu+0J9G9WbXY93f7OOT0qPYDRwDZgB/CI3/GEOdfLgHXeY9On+QItCF0RvN17TvI71hrM+WVCp+POEvqr+M7q8iV0qupJb1/YAGT5HX+Y8n/By289oUYrpcLyj3j5bwVG+R3/JeY+lNCpxvXAWu8xOkjbPxIfQWqzvXwD1W6rzVabHSlttm4DLyIiIiISZupeIiIiIiISZiq6RURERETCTEW3iIiIiEiYqegWEREREQkzFd0iIiIiImGmoltEREREJMxUdIuIiIiIhNn/AZgklY9og79ZAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 864x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn.recorder.plot_sched()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're still not getting great results, so let's see what else we can do.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## RMSProp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"RMSProp is another variant of SGD introduced by Geoffrey Hinton in Lecture 6e of his Coursera class [\\\"Neural Networks for Machine Learning\\\"](http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf). The main difference from SGD is that it uses an adaptive learning rate: instead of using the same learning rate for every parameter, each parameter gets its own specific learning rate controlled by a global learning rate. That way we can speed up training by giving a higher learning rate to the weights that need to change a lot while the ones that are good enough get a lower learning rate.\\n\",\n    \"\\n\",\n    \"How do we decide which parameters should have a high learning rate and which should not? We can look at the gradients to get an idea. If a parameter's gradients have been close to zero for a while, that parameter will need a higher learning rate because the loss is flat. On the other hand, if the gradients are all over the place, we should probably be careful and pick a low learning rate to avoid divergence. We can't just average the gradients to see if they're changing a lot, because the average of a large positive and a large negative number is close to zero. Instead, we can use the usual trick of either taking the absolute value or the squared values (and then taking the square root after the mean).\\n\",\n    \"\\n\",\n    \"Once again, to determine the general tendency behind the noise, we will use a moving average—specifically the moving average of the gradients squared. Then we will update the corresponding weight by using the current gradient (for the direction) divided by the square root of this moving average (that way if it's low, the effective learning rate will be higher, and if it's high, the effective learning rate will be lower):\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"w.square_avg = alpha * w.square_avg + (1-alpha) * (w.grad ** 2)\\n\",\n    \"new_w = w - lr * w.grad / math.sqrt(w.square_avg + eps)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The `eps` (*epsilon*) is added for numerical stability (usually set at 1e-8), and the default value for `alpha` is usually 0.99.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can add this to `Optimizer` by doing much the same thing we did for `avg_grad`, but with an extra `**2`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def average_sqr_grad(p, sqr_mom, sqr_avg=None, **kwargs):\\n\",\n    \"    if sqr_avg is None: sqr_avg = torch.zeros_like(p.grad.data)\\n\",\n    \"    return {'sqr_avg': sqr_mom*sqr_avg + (1-sqr_mom)*p.grad.data**2}\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we can define our step function and optimizer as before:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rms_prop_step(p, lr, sqr_avg, eps, grad_avg=None, **kwargs):\\n\",\n    \"    denom = sqr_avg.sqrt().add_(eps)\\n\",\n    \"    p.data.addcdiv_(-lr, p.grad, denom)\\n\",\n    \"\\n\",\n    \"opt_func = partial(Optimizer, cbs=[average_sqr_grad,rms_prop_step],\\n\",\n    \"                   sqr_mom=0.99, eps=1e-7)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try it out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>accuracy</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>2.766912</td>\\n\",\n       \"      <td>1.845900</td>\\n\",\n       \"      <td>0.402548</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>2.194586</td>\\n\",\n       \"      <td>1.510269</td>\\n\",\n       \"      <td>0.504459</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>1.869099</td>\\n\",\n       \"      <td>1.447939</td>\\n\",\n       \"      <td>0.544968</td>\\n\",\n       \"      <td>00:11</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit_one_cycle(3, 0.003)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Much better! Now we just have to bring these ideas together, and we have Adam, fastai's default optimizer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Adam\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Adam mixes the ideas of SGD with momentum and RMSProp together: it uses the moving average of the gradients as a direction and divides by the square root of the moving average of the gradients squared to give an adaptive learning rate to each parameter.\\n\",\n    \"\\n\",\n    \"There is one other difference in how Adam calculates moving averages. It takes the *unbiased* moving average, which is:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"w.avg = beta * w.avg + (1-beta) * w.grad\\n\",\n    \"unbias_avg = w.avg / (1 - (beta**(i+1)))\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"if we are the `i`-th iteration (starting at 0 like Python does). This divisor of `1 - (beta**(i+1))` makes sure the unbiased average looks more like the gradients at the beginning (since `beta < 1`, the denominator is very quickly close to 1).\\n\",\n    \"\\n\",\n    \"Putting everything together, our update step looks like:\\n\",\n    \"``` python\\n\",\n    \"w.avg = beta1 * w.avg + (1-beta1) * w.grad\\n\",\n    \"unbias_avg = w.avg / (1 - (beta1**(i+1)))\\n\",\n    \"w.sqr_avg = beta2 * w.sqr_avg + (1-beta2) * (w.grad ** 2)\\n\",\n    \"new_w = w - lr * unbias_avg / sqrt(w.sqr_avg + eps)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Like for RMSProp, `eps` is usually set to 1e-8, and the default for `(beta1,beta2)` suggested by the literature is `(0.9,0.999)`. \\n\",\n    \"\\n\",\n    \"In fastai, Adam is the default optimizer we use since it allows faster training, but we've found that `beta2=0.99` is better suited to the type of schedule we are using. `beta1` is the momentum parameter, which we specify with the argument `moms` in our call to `fit_one_cycle`. As for `eps`, fastai uses a default of 1e-5. `eps` is not just useful for numerical stability. A higher `eps` limits the maximum value of the adjusted learning rate. To take an extreme example, if `eps` is 1, then the adjusted learning will never be higher than the base learning rate. \\n\",\n    \"\\n\",\n    \"Rather than show all the code for this in the book, we'll let you look at the optimizer notebook in [fastai's GitHub repository](https://github.com/fastai/fastai) (browse the *nbs* folder and search for the notebook called optimizer). You'll see all the code we've shown so far, along with Adam and other optimizers, and lots of examples and tests.\\n\",\n    \"\\n\",\n    \"One thing that changes when we go from SGD to Adam is the way we apply weight decay, and it can have important consequences.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decoupled Weight Decay\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Weight decay, which we discussed in <<chapter_collab>>, is equivalent to (in the case of vanilla SGD) updating the parameters\\n\",\n    \"with:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"new_weight = weight - lr*weight.grad - lr*wd*weight\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The last part of this formula explains the name of this technique: each weight is decayed by a factor `lr * wd`. \\n\",\n    \"\\n\",\n    \"The other name of weight decay is L2 regularization, which consists in adding the sum of all squared weights to the loss (multiplied by the weight decay). As we have seen in <<chapter_collab>>, this can be directly expressed on the gradients with:\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"weight.grad += wd*weight\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"For SGD, those two formulas are equivalent. However, this equivalence only holds for standard SGD, because we have seen that with momentum, RMSProp or in Adam, the update has some additional formulas around the gradient. \\n\",\n    \"\\n\",\n    \"Most libraries use the second formulation, but it was pointed out in [\\\"Decoupled Weight Decay Regularization\\\"](https://arxiv.org/pdf/1711.05101.pdf) by Ilya Loshchilov and Frank Hutter, that the first one is the only correct approach with the Adam optimizer or momentum, which is why fastai makes it its default.\\n\",\n    \"\\n\",\n    \"Now you know everything that is hidden behind the line `learn.fit_one_cycle`!\\n\",\n    \"\\n\",\n    \"Optimizers are only one part of the training process, however when you need to change the training loop with fastai, you can't directly change the code inside the library. Instead, we have designed a system of callbacks to let you write any tweaks you like in independent blocks that you can then mix and match. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Callbacks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Sometimes you need to change how things work a little bit. In fact, we have already seen examples of this: Mixup, fp16 training, resetting the model after each epoch for training RNNs, and so forth. How do we go about making these kinds of tweaks to the training process?\\n\",\n    \"\\n\",\n    \"We've seen the basic training loop, which, with the help of the `Optimizer` class, looks like this for a single epoch:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for xb,yb in dl:\\n\",\n    \"    loss = loss_func(model(xb), yb)\\n\",\n    \"    loss.backward()\\n\",\n    \"    opt.step()\\n\",\n    \"    opt.zero_grad()\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"<<basic_loop>> shows how to picture that.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Basic training loop\\\" width=\\\"300\\\" caption=\\\"Basic training loop\\\" id=\\\"basic_loop\\\" src=\\\"images/att_00048.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The usual way for deep learning practitioners to customize the training loop is to make a copy of an existing training loop, and then insert the code necessary for their particular changes into it. This is how nearly all code that you find online will look. But it has some very serious problems.\\n\",\n    \"\\n\",\n    \"It's not very likely that some particular tweaked training loop is going to meet your particular needs. There are hundreds of changes that can be made to a training loop, which means there are billions and billions of possible permutations. You can't just copy one tweak from a training loop here, another from a training loop there, and expect them all to work together. Each will be based on different assumptions about the environment that it's working in, use different naming conventions, and expect the data to be in different formats.\\n\",\n    \"\\n\",\n    \"We need a way to allow users to insert their own code at any part of the training loop, but in a consistent and well-defined way. Computer scientists have already come up with an elegant solution: the callback. A callback is a piece of code that you write, and inject into another piece of code at some predefined point. In fact, callbacks have been used with deep learning training loops for years. The problem is that in previous libraries it was only possible to inject code in a small subset of places where this may have been required, and, more importantly, callbacks were not able to do all the things they needed to do.\\n\",\n    \"\\n\",\n    \"In order to be just as flexible as manually copying and pasting a training loop and directly inserting code into it, a callback must be able to read every possible piece of information available in the training loop, modify all of it as needed, and fully control when a batch, epoch, or even the whole training loop should be terminated. fastai is the first library to provide all of this functionality. It modifies the training loop so it looks like <<cb_loop>>.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Training loop with callbacks\\\" width=\\\"550\\\" caption=\\\"Training loop with callbacks\\\" id=\\\"cb_loop\\\" src=\\\"images/att_00049.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The real effectiveness of this approach has been borne out over the last couple of years—it has turned out that, by using the fastai callback system, we were able to implement every single new paper we tried and fulfilled every user request for modifying the training loop. The training loop itself has not required modifications. <<some_cbs>> shows just a few of the callbacks that have been added.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"Some fastai callbacks\\\" width=\\\"500\\\" caption=\\\"Some fastai callbacks\\\" id=\\\"some_cbs\\\" src=\\\"images/att_00050.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The reason that this is important is because it means that whatever idea we have in our head, we can implement it. We need never dig into the source code of PyTorch or fastai and hack together some one-off system to try out our ideas. And when we do implement our own callbacks to develop our own ideas, we know that they will work together with all of the other functionality provided by fastai–so we will get progress bars, mixed-precision training, hyperparameter annealing, and so forth.\\n\",\n    \"\\n\",\n    \"Another advantage is that it makes it easy to gradually remove or add functionality and perform ablation studies. You just need to adjust the list of callbacks you pass along to your fit function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As an example, here is the fastai source code that is run for each batch of the training loop:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"try:\\n\",\n    \"    self._split(b);                                  self('before_batch')\\n\",\n    \"    self.pred = self.model(*self.xb);                self('after_pred')\\n\",\n    \"    self.loss = self.loss_func(self.pred, *self.yb); self('after_loss')\\n\",\n    \"    if not self.training: return\\n\",\n    \"    self.loss.backward();                            self('after_backward')\\n\",\n    \"    self.opt.step();                                 self('after_step')\\n\",\n    \"    self.opt.zero_grad()\\n\",\n    \"except CancelBatchException:                         self('after_cancel_batch')\\n\",\n    \"finally:                                             self('after_batch')\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The calls of the form `self('...')` are where the callbacks are called. As you see, this happens after every step. The callback will receive the entire state of training, and can also modify it. For instance, the input data and target labels are in `self.xb` and `self.yb`, respectively; a callback can modify these to alter the data the training loop sees. It can also modify `self.loss`, or even the gradients.\\n\",\n    \"\\n\",\n    \"Let's see how this works in practice by writing a callback.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Callback\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When you want to write your own callback, the full list of available events is:\\n\",\n    \"\\n\",\n    \"- `before_fit`:: called before doing anything; ideal for initial setup.\\n\",\n    \"- `before_epoch`:: called at the beginning of each epoch; useful for any behavior you need to reset at each epoch.\\n\",\n    \"- `before_train`:: called at the beginning of the training part of an epoch.\\n\",\n    \"- `before_batch`:: called at the beginning of each batch, just after drawing said batch. It can be used to do any setup necessary for the batch (like hyperparameter scheduling) or to change the input/target before it goes into the model (for instance, apply Mixup).\\n\",\n    \"- `after_pred`:: called after computing the output of the model on the batch. It can be used to change that output before it's fed to the loss function.\\n\",\n    \"- `after_loss`:: called after the loss has been computed, but before the backward pass. It can be used to add penalty to the loss (AR or TAR in RNN training, for instance).\\n\",\n    \"- `after_backward`:: called after the backward pass, but before the update of the parameters. It can be used to make changes to the gradients before said update (via gradient clipping, for instance).\\n\",\n    \"- `after_step`:: called after the step and before the gradients are zeroed.\\n\",\n    \"- `after_batch`:: called at the end of a batch, to perform any required cleanup before the next one.\\n\",\n    \"- `after_train`:: called at the end of the training phase of an epoch.\\n\",\n    \"- `before_validate`:: called at the beginning of the validation phase of an epoch; useful for any setup needed specifically for validation.\\n\",\n    \"- `after_validate`:: called at the end of the validation part of an epoch.\\n\",\n    \"- `after_epoch`:: called at the end of an epoch, for any cleanup before the next one.\\n\",\n    \"- `after_fit`:: called at the end of training, for final cleanup.\\n\",\n    \"\\n\",\n    \"The elements of this list are available as attributes of the special variable `event`, so you can just type `event.` and hit Tab in your notebook to see a list of all the options.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's take a look at an example. Do you recall how in <<chapter_nlp_dive>> we needed to ensure that our special `reset` method was called at the start of training and validation for each epoch? We used the `ModelResetter` callback provided by fastai to do this for us. But how does it work? Here's the full source code for that class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ModelResetter(Callback):\\n\",\n    \"    def before_train(self):    self.model.reset()\\n\",\n    \"    def before_validate(self): self.model.reset()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Yes, that's actually it! It just does what we said in the preceding paragraph: after completing training or validation for an epoch, call a method named `reset`.\\n\",\n    \"\\n\",\n    \"Callbacks are often \\\"short and sweet\\\" like this one. In fact, let's look at one more. Here's the fastai source for the callback that adds RNN regularization (AR and TAR):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class RNNRegularizer(Callback):\\n\",\n    \"    def __init__(self, alpha=0., beta=0.): self.alpha,self.beta = alpha,beta\\n\",\n    \"\\n\",\n    \"    def after_pred(self):\\n\",\n    \"        self.raw_out,self.out = self.pred[1],self.pred[2]\\n\",\n    \"        self.learn.pred = self.pred[0]\\n\",\n    \"\\n\",\n    \"    def after_loss(self):\\n\",\n    \"        if not self.training: return\\n\",\n    \"        if self.alpha != 0.:\\n\",\n    \"            self.learn.loss += self.alpha * self.out[-1].float().pow(2).mean()\\n\",\n    \"        if self.beta != 0.:\\n\",\n    \"            h = self.raw_out[-1]\\n\",\n    \"            if len(h)>1:\\n\",\n    \"                self.learn.loss += self.beta * (h[:,1:] - h[:,:-1]\\n\",\n    \"                                               ).float().pow(2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> note: Code It Yourself: Go back and reread \\\"Activation Regularization and Temporal Activation Regularization\\\" in <<chapter_nlp_dive>> then take another look at the code here. Make sure you understand what it's doing, and why.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In both of these examples, notice how we can access attributes of the training loop by directly checking `self.model` or `self.pred`. That's because a `Callback` will always try to get an attribute it doesn't have inside the `Learner` associated with it. These are shortcuts for `self.learn.model` or `self.learn.pred`. Note that they work for reading attributes, but not for writing them, which is why when `RNNRegularizer` changes the loss or the predictions you see `self.learn.loss = ` or `self.learn.pred = `. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When writing a callback, the following attributes of `Learner` are available:\\n\",\n    \"\\n\",\n    \"- `model`:: The model used for training/validation.\\n\",\n    \"- `data`:: The underlying `DataLoaders`.\\n\",\n    \"- `loss_func`:: The loss function used.\\n\",\n    \"- `opt`:: The optimizer used to update the model parameters.\\n\",\n    \"- `opt_func`:: The function used to create the optimizer.\\n\",\n    \"- `cbs`:: The list containing all the `Callback`s.\\n\",\n    \"- `dl`:: The current `DataLoader` used for iteration.\\n\",\n    \"- `x`/`xb`:: The last input drawn from `self.dl` (potentially modified by callbacks). `xb` is always a tuple (potentially with one element) and `x` is detuplified. You can only assign to `xb`.\\n\",\n    \"- `y`/`yb`:: The last target drawn from `self.dl` (potentially modified by callbacks). `yb` is always a tuple (potentially with one element) and `y` is detuplified. You can only assign to `yb`.\\n\",\n    \"- `pred`:: The last predictions from `self.model` (potentially modified by callbacks).\\n\",\n    \"- `loss`:: The last computed loss (potentially modified by callbacks).\\n\",\n    \"- `n_epoch`:: The number of epochs in this training.\\n\",\n    \"- `n_iter`:: The number of iterations in the current `self.dl`.\\n\",\n    \"- `epoch`:: The current epoch index (from 0 to `n_epoch-1`).\\n\",\n    \"- `iter`:: The current iteration index in `self.dl` (from 0 to `n_iter-1`).\\n\",\n    \"\\n\",\n    \"The following attributes are added by `TrainEvalCallback` and should be available unless you went out of your way to remove that callback:\\n\",\n    \"\\n\",\n    \"- `train_iter`:: The number of training iterations done since the beginning of this training\\n\",\n    \"- `pct_train`:: The percentage of training iterations completed (from 0. to 1.)\\n\",\n    \"- `training`:: A flag to indicate whether or not we're in training mode\\n\",\n    \"\\n\",\n    \"The following attribute is added by `Recorder` and should be available unless you went out of your way to remove that callback:\\n\",\n    \"\\n\",\n    \"- `smooth_loss`:: An exponentially averaged version of the training loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Callbacks can also interrupt any part of the training loop by using a system of exceptions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Callback Ordering and Exceptions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Sometimes, callbacks need to be able to tell fastai to skip over a batch, or an epoch, or stop training altogether. For instance, consider `TerminateOnNaNCallback`. This handy callback will automatically stop training any time the loss becomes infinite or `NaN` (*not a number*). Here's the fastai source for this callback:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class TerminateOnNaNCallback(Callback):\\n\",\n    \"    run_before=Recorder\\n\",\n    \"    def after_batch(self):\\n\",\n    \"        if torch.isinf(self.loss) or torch.isnan(self.loss):\\n\",\n    \"            raise CancelFitException\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The line `raise CancelFitException` tells the training loop to interrupt training at this point. The training loop catches this exception and does not run any further training or validation. The callback control flow exceptions available are:\\n\",\n    \"\\n\",\n    \"- `CancelBatchException`:: Skip the rest of this batch and go to `after_batch`.\\n\",\n    \"- `CancelTrainException`:: Skip the rest of the training part of the epoch and go to `after_train`.\\n\",\n    \"- `CancelValidException`:: Skip the rest of the validation part of the epoch and go to `after_validate`.\\n\",\n    \"- `CancelEpochException`:: Skip the rest of this epoch and go to `after_epoch`.\\n\",\n    \"- `CancelFitException`:: Interrupt training and go to `after_fit`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can detect if one of those exceptions has occurred and add code that executes right after with the following events:\\n\",\n    \"\\n\",\n    \"- `after_cancel_batch`:: Reached immediately after a `CancelBatchException` before proceeding to `after_batch`\\n\",\n    \"- `after_cancel_train`:: Reached immediately after a `CancelTrainException` before proceeding to `after_train`\\n\",\n    \"- `after_cancel_valid`:: Reached immediately after a `CancelValidException` before proceeding to `after_valid`\\n\",\n    \"- `after_cancel_epoch`:: Reached immediately after a `CancelEpochException` before proceeding to `after_epoch`\\n\",\n    \"- `after_cancel_fit`:: Reached immediately after a `CancelFitException` before proceeding to `after_fit`\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Sometimes, callbacks need to be called in a particular order. For example, in the case of `TerminateOnNaNCallback`, it's important that `Recorder` runs its `after_batch` after this callback, to avoid registering an `NaN` loss. You can specify `run_before` (this callback must run before ...) or `run_after` (this callback must run after ...) in your callback to ensure the ordering that you need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chapter we took a close look at the training loop, exploring different variants of SGD and why they can be more powerful. At the time of writing, developing new optimizers is a very active area of research, so by the time you read this chapter there may be an addendum on the book's website that presents new variants. Be sure to check out how our general optimizer framework can help you implement new optimizers very quickly.\\n\",\n    \"\\n\",\n    \"We also examined the powerful callback system that allows you to customize every bit of the training loop by enabling you to inspect and modify any parameter you like between each step.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the equation for a step of SGD, in math or code (as you prefer)?\\n\",\n    \"1. What do we pass to `vision_learner` to use a non-default optimizer?\\n\",\n    \"1. What are optimizer callbacks?\\n\",\n    \"1. What does `zero_grad` do in an optimizer?\\n\",\n    \"1. What does `step` do in an optimizer? How is it implemented in the general optimizer?\\n\",\n    \"1. Rewrite `sgd_cb` to use the `+=` operator, instead of `add_`.\\n\",\n    \"1. What is \\\"momentum\\\"? Write out the equation.\\n\",\n    \"1. What's a physical analogy for momentum? How does it apply in our model training settings?\\n\",\n    \"1. What does a bigger value for momentum do to the gradients?\\n\",\n    \"1. What are the default values of momentum for 1cycle training?\\n\",\n    \"1. What is RMSProp? Write out the equation.\\n\",\n    \"1. What do the squared values of the gradients indicate?\\n\",\n    \"1. How does Adam differ from momentum and RMSProp?\\n\",\n    \"1. Write out the equation for Adam.\\n\",\n    \"1. Calculate the values of `unbias_avg` and `w.avg` for a few batches of dummy values.\\n\",\n    \"1. What's the impact of having a high `eps` in Adam?\\n\",\n    \"1. Read through the optimizer notebook in fastai's repo, and execute it.\\n\",\n    \"1. In what situations do dynamic learning rate methods like Adam change the behavior of weight decay?\\n\",\n    \"1. What are the four steps of a training loop?\\n\",\n    \"1. Why is using callbacks better than writing a new training loop for each tweak you want to add?\\n\",\n    \"1. What aspects of the design of fastai's callback system make it as flexible as copying and pasting bits of code?\\n\",\n    \"1. How can you get the list of events available to you when writing a callback?\\n\",\n    \"1. Write the `ModelResetter` callback (without peeking).\\n\",\n    \"1. How can you access the necessary attributes of the training loop inside a callback? When can you use or not use the shortcuts that go with them?\\n\",\n    \"1. How can a callback influence the control flow of the training loop?\\n\",\n    \"1. Write the `TerminateOnNaN` callback (without peeking, if possible).\\n\",\n    \"1. How do you make sure your callback runs after or before another callback?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Look up the \\\"Rectified Adam\\\" paper, implement it using the general optimizer framework, and try it out. Search for other recent optimizers that work well in practice, and pick one to implement.\\n\",\n    \"1. Look at the mixed-precision callback with the documentation. Try to understand what each event and line of code does.\\n\",\n    \"1. Implement your own version of the learning rate finder from scratch. Compare it with fastai's version.\\n\",\n    \"1. Look at the source code of the callbacks that ship with fastai. See if you can find one that's similar to what you're looking to do, to get some inspiration.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Foundations of Deep Learning: Wrap up\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations, you have made it to the end of the \\\"foundations of deep learning\\\" section of the book! You now understand how all of fastai's applications and most important architectures are built, and the recommended ways to train them—and you have all the information you need to build these from scratch. While you probably won't need to create your own training loop, or batchnorm layer, for instance, knowing what is going on behind the scenes is very helpful for debugging, profiling, and deploying your solutions.\\n\",\n    \"\\n\",\n    \"Since you understand the foundations of fastai's applications now, be sure to spend some time digging through the source notebooks and running and experimenting with parts of them. This will give you a better idea of how everything in fastai is developed.\\n\",\n    \"\\n\",\n    \"In the next section, we will be looking even further under the covers: we'll explore how the actual forward and backward passes of a neural network are done, and we will see what tools are at our disposal to get better performance. We will then continue with a project that brings together all the material in the book, which we will use to build a tool for interpreting convolutional neural networks. Last but not least, we'll finish by building fastai's `Learner` class from scratch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "17_foundations.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_foundations]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A Neural Net from the Foundations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This chapter begins a journey where we will dig deep into the internals of the models we used in the previous chapters. We will be covering many of the same things we've seen before, but this time around we'll be looking much more closely at the implementation details, and much less closely at the practical issues of how and why things are as they are.\\n\",\n    \"\\n\",\n    \"We will build everything from scratch, only using basic indexing into a tensor. We'll write a neural net from the ground up, then implement backpropagation manually, so we know exactly what's happening in PyTorch when we call `loss.backward`. We'll also see how to extend PyTorch with custom *autograd* functions that allow us to specify our own forward and backward computations.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Building a Neural Net Layer from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's start by refreshing our understanding of how matrix multiplication is used in a basic neural network. Since we're building everything up from scratch, we'll use nothing but plain Python initially (except for indexing into PyTorch tensors), and then replace the plain Python with PyTorch functionality once we've seen how to create it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Modeling a Neuron\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A neuron receives a given number of inputs and has an internal weight for each of them. It sums those weighted inputs to produce an output and adds an inner bias. In math, this can be written as:\\n\",\n    \"\\n\",\n    \"$$ out = \\\\sum_{i=1}^{n} x_{i} w_{i} + b$$\\n\",\n    \"\\n\",\n    \"if we name our inputs $(x_{1},\\\\dots,x_{n})$, our weights $(w_{1},\\\\dots,w_{n})$, and our bias $b$. In code this translates into:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"output = sum([x*w for x,w in zip(inputs,weights)]) + bias\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This output is then fed into a nonlinear function called an *activation function* before being sent to another neuron. In deep learning the most common of these is the *rectified Linear unit*, or *ReLU*, which, as we've seen, is a fancy way of saying:\\n\",\n    \"```python\\n\",\n    \"def relu(x): return x if x >= 0 else 0\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A deep learning model is then built by stacking a lot of those neurons in successive layers. We create a first layer with a certain number of neurons (known as *hidden size*) and link all the inputs to each of those neurons. Such a layer is often called a *fully connected layer* or a *dense layer* (for densely connected), or a *linear layer*. \\n\",\n    \"\\n\",\n    \"It requires to compute, for each `input` in our batch and each neuron with a give `weight`, the dot product:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"sum([x*w for x,w in zip(input,weight)])\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"If you have done a little bit of linear algebra, you may remember that having a lot of those dot products happens when you do a *matrix multiplication*. More precisely, if our inputs are in a matrix `x` with a size of `batch_size` by `n_inputs`, and if we have grouped the weights of our neurons in a matrix `w` of size `n_neurons` by `n_inputs` (each neuron must have the same number of weights as it has inputs) and all the biases in a vector `b` of size `n_neurons`, then the output of this fully connected layer is:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"y = x @ w.t() + b\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"where `@` represents the matrix product and `w.t()` is the transpose matrix of `w`. The output `y` is then of size `batch_size` by `n_neurons`, and in position `(i,j)` we have (for the mathy folks out there):\\n\",\n    \"\\n\",\n    \"$$y_{i,j} = \\\\sum_{k=1}^{n} x_{i,k} w_{k,j} + b_{j}$$\\n\",\n    \"\\n\",\n    \"Or in code:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"y[i,j] = sum([a * b for a,b in zip(x[i,:],w[j,:])]) + b[j]\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The transpose is necessary because in the mathematical definition of the matrix product `m @ n`, the coefficient `(i,j)` is:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"sum([a * b for a,b in zip(m[i,:],n[:,j])])\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"So the very basic operation we need is a matrix multiplication, as it's what is hidden in the core of a neural net.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Matrix Multiplication from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's write a function that computes the matrix product of two tensors, before we allow ourselves to use the PyTorch version of it. We will only use the indexing in PyTorch tensors:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import torch\\n\",\n    \"from torch import tensor\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll need three nested `for` loops: one for the row indices, one for the column indices, and one for the inner sum. `ac` and `ar` stand for number of columns of `a` and number of rows of `a`, respectively (the same convention is followed for `b`), and we make sure calculating the matrix product is possible by checking that `a` has as many columns as `b` has rows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape # n_rows * n_cols\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"        for j in range(bc):\\n\",\n    \"            for k in range(ac): c[i,j] += a[i,k] * b[k,j]\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To test this out, we'll pretend (using random matrices) that we're working with a small batch of 5 MNIST images, flattened into 28×28 vectors, with linear model to turn them into 10 activations:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m1 = torch.randn(5,28*28)\\n\",\n    \"m2 = torch.randn(784,10)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's time our function, using the Jupyter \\\"magic\\\" command `%time`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"CPU times: user 1.15 s, sys: 4.09 ms, total: 1.15 s\\n\",\n      \"Wall time: 1.15 s\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%time t1=matmul(m1, m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And see how that compares to PyTorch's built-in `@`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"14 µs ± 8.95 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%timeit -n 20 t2=m1@m2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we can see, in Python three nested loops is a very bad idea! Python is a slow language, and this isn't going to be very efficient. We see here that PyTorch is around 100,000 times faster than Python—and that's before we even start using the GPU!\\n\",\n    \"\\n\",\n    \"Where does this difference come from? PyTorch didn't write its matrix multiplication in Python, but rather in C++ to make it fast. In general, whenever we do computations on tensors we will need to *vectorize* them so that we can take advantage of the speed of PyTorch, usually by using two techniques: elementwise arithmetic and broadcasting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Elementwise Arithmetic\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All the basic operators (`+`, `-`, `*`, `/`, `>`, `<`, `==`) can be applied elementwise. That means if we write `a+b` for two tensors `a` and `b` that have the same shape, we will get a tensor composed of the sums the elements of `a` and `b`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([12., 14.,  3.])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"a = tensor([10., 6, -4])\\n\",\n    \"b = tensor([2., 8, 7])\\n\",\n    \"a + b\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The Booleans operators will return an array of Booleans:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([False,  True,  True])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"a < b\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we want to know if every element of `a` is less than the corresponding element in `b`, or if two tensors are equal, we need to combine those elementwise operations with `torch.all`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(False), tensor(False))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(a < b).all(), (a==b).all()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Reduction operations like `all()`, `sum()` and `mean()` return tensors with only one element, called rank-0 tensors. If you want to convert this to a plain Python Boolean or number, you need to call `.item()`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"9.666666984558105\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"(a + b).mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The elementwise operations work on tensors of any rank, as long as they have the same shape:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[ 1.,  4.,  9.],\\n\",\n       \"        [16., 25., 36.],\\n\",\n       \"        [49., 64., 81.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"m*m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"However you can't perform elementwise operations on tensors that don't have the same shape (unless they are broadcastable, as discussed in the next section):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"ename\": \"RuntimeError\",\n     \"evalue\": \"The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 0\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m                           Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-12-add73c4f74e0>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m\\u001b[0m\\n\\u001b[1;32m      1\\u001b[0m \\u001b[0mn\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtensor\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m1.\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m2\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m3\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;34m[\\u001b[0m\\u001b[0;36m4\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;36m5\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;36m6\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 2\\u001b[0;31m \\u001b[0mm\\u001b[0m\\u001b[0;34m*\\u001b[0m\\u001b[0mn\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m: The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 0\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"n = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"m*n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With elementwise arithmetic, we can remove one of our three nested loops: we can multiply the tensors that correspond to the `i`-th row of `a` and the `j`-th column of `b` before summing all the elements, which will speed things up because the inner loop will now be executed by PyTorch at C speed. \\n\",\n    \"\\n\",\n    \"To access one column or row, we can simply write `a[i,:]` or `b[:,j]`. The `:` means take everything in that dimension. We could restrict this and take only a slice of that particular dimension by passing a range, like `1:5`, instead of just `:`. In that case, we would take the elements in columns or rows 1 to 4 (the second number is noninclusive). \\n\",\n    \"\\n\",\n    \"One simplification is that we can always omit a trailing colon, so `a[i,:]` can be abbreviated to `a[i]`. With all of that in mind, we can write a new version of our matrix multiplication:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"        for j in range(bc): c[i,j] = (a[i] * b[:,j]).sum()\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1.7 ms ± 88.1 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%timeit -n 20 t3 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're already ~700 times faster, just by removing that inner `for` loop! And that's just the beginning—with broadcasting we can remove another loop and get an even more important speed up.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Broadcasting\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we discussed in <<chapter_mnist_basics>>, broadcasting is a term introduced by the [NumPy library](https://docs.scipy.org/doc/) that describes how tensors of different ranks are treated during arithmetic operations. For instance, it's obvious there is no way to add a 3×3 matrix with a 4×5 matrix, but what if we want to add one scalar (which can be represented as a 1×1 tensor) with a matrix? Or a vector of size 3 with a 3×4 matrix? In both cases, we can find a way to make sense of this operation.\\n\",\n    \"\\n\",\n    \"Broadcasting gives specific rules to codify when shapes are compatible when trying to do an elementwise operation, and how the tensor of the smaller shape is expanded to match the tensor of the bigger shape. It's essential to master those rules if you want to be able to write code that executes quickly. In this section, we'll expand our previous treatment of broadcasting to understand these rules.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting with a scalar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Broadcasting with a scalar is the easiest type of broadcasting. When we have a tensor `a` and a scalar, we just imagine a tensor of the same shape as `a` filled with that scalar and perform the operation:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([ True,  True, False])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"a = tensor([10., 6, -4])\\n\",\n    \"a > 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"How are we able to do this comparison? `0` is being *broadcast* to have the same dimensions as `a`. Note that this is done without creating a tensor full of zeros in memory (that would be very inefficient). \\n\",\n    \"\\n\",\n    \"This is very useful if you want to normalize your dataset by subtracting the mean (a scalar) from the entire data set (a matrix) and dividing by the standard deviation (another scalar):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[-1.4652, -1.0989, -0.7326],\\n\",\n       \"        [-0.3663,  0.0000,  0.3663],\\n\",\n       \"        [ 0.7326,  1.0989,  1.4652]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"(m - 5) / 2.73\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What if have different means for each row of the matrix? in that case you will need to broadcast a vector to a matrix.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting a vector to a matrix\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can broadcast a vector to a matrix as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([3, 3]), torch.Size([3]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"m.shape,c.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[11., 22., 33.],\\n\",\n       \"        [14., 25., 36.],\\n\",\n       \"        [17., 28., 39.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m + c\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here the elements of `c` are expanded to make three rows that match, making the operation possible. Again, PyTorch doesn't actually create three copies of `c` in memory. This is done by the `expand_as` method behind the scenes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[10., 20., 30.],\\n\",\n       \"        [10., 20., 30.],\\n\",\n       \"        [10., 20., 30.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c.expand_as(m)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we look at the corresponding tensor, we can ask for its `storage` property (which shows the actual contents of the memory used for the tensor) to check there is no useless data stored:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \" 10.0\\n\",\n       \" 20.0\\n\",\n       \" 30.0\\n\",\n       \"[torch.FloatStorage of size 3]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = c.expand_as(m)\\n\",\n    \"t.storage()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Even though the tensor officially has nine elements, only three scalars are stored in memory. This is possible thanks to the clever trick of giving that dimension a *stride* of 0 (which means that when PyTorch looks for the next row by adding the stride, it doesn't move):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((0, 1), torch.Size([3, 3]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t.stride(), t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since `m` is of size 3×3, there are two ways to do broadcasting. The fact it was done on the last dimension is a convention that comes from the rules of broadcasting and has nothing to do with the way we ordered our tensors. If instead we do this, we get the same result:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[11., 22., 33.],\\n\",\n       \"        [14., 25., 36.],\\n\",\n       \"        [17., 28., 39.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c + m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In fact, it's only possible to broadcast a vector of size `n` with a matrix of size `m` by `n`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[11., 22., 33.],\\n\",\n       \"        [14., 25., 36.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This won't work:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"ename\": \"RuntimeError\",\n     \"evalue\": \"The size of tensor a (2) must match the size of tensor b (3) at non-singleton dimension 1\",\n     \"output_type\": \"error\",\n     \"traceback\": [\n      \"\\u001b[0;31m------------------------------------------------------------------------\\u001b[0m\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m                           Traceback (most recent call last)\",\n      \"\\u001b[0;32m<ipython-input-25-64bbbad4d99c>\\u001b[0m in \\u001b[0;36m<module>\\u001b[0;34m\\u001b[0m\\n\\u001b[1;32m      1\\u001b[0m \\u001b[0mc\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtensor\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m10.\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;36m20\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[1;32m      2\\u001b[0m \\u001b[0mm\\u001b[0m \\u001b[0;34m=\\u001b[0m \\u001b[0mtensor\\u001b[0m\\u001b[0;34m(\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;34m[\\u001b[0m\\u001b[0;36m1.\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m2\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;36m3\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m,\\u001b[0m \\u001b[0;34m[\\u001b[0m\\u001b[0;36m4\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;36m5\\u001b[0m\\u001b[0;34m,\\u001b[0m\\u001b[0;36m6\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m]\\u001b[0m\\u001b[0;34m)\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0;32m----> 3\\u001b[0;31m \\u001b[0mc\\u001b[0m\\u001b[0;34m+\\u001b[0m\\u001b[0mm\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0;34m\\u001b[0m\\u001b[0m\\n\\u001b[0m\",\n      \"\\u001b[0;31mRuntimeError\\u001b[0m: The size of tensor a (2) must match the size of tensor b (3) at non-singleton dimension 1\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"c = tensor([10.,20])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we want to broadcast in the other dimension, we have to change the shape of our vector to make it a 3×1 matrix. This is done with the `unsqueeze` method in PyTorch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([3, 3]), torch.Size([3, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"c = c.unsqueeze(1)\\n\",\n    \"m.shape,c.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This time, `c` is expanded on the column side:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[11., 12., 13.],\\n\",\n       \"        [24., 25., 26.],\\n\",\n       \"        [37., 38., 39.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Like before, only three scalars are stored in memory:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \" 10.0\\n\",\n       \" 20.0\\n\",\n       \" 30.0\\n\",\n       \"[torch.FloatStorage of size 3]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = c.expand_as(m)\\n\",\n    \"t.storage()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And the expanded tensor has the right shape because the column dimension has a stride of 0:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"((1, 0), torch.Size([3, 3]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t.stride(), t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With broadcasting, by default if we need to add dimensions, they are added at the beginning. When we were broadcasting before, Pytorch was doing `c.unsqueeze(0)` behind the scenes:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([3]), torch.Size([1, 3]), torch.Size([3, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"c.shape, c.unsqueeze(0).shape,c.unsqueeze(1).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `unsqueeze` command can be replaced by `None` indexing:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([3]), torch.Size([1, 3]), torch.Size([3, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c.shape, c[None,:].shape,c[:,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can always omit trailing colons, and `...` means all preceding dimensions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([1, 3]), torch.Size([3, 1]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"c[None].shape,c[...,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With this, we can remove another `for` loop in our matrix multiplication function. Now, instead of multiplying `a[i]` with `b[:,j]`, we can multiply `a[i]` with the whole matrix `b` using broadcasting, then sum the results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"#       c[i,j] = (a[i,:]          * b[:,j]).sum() # previous\\n\",\n    \"        c[i]   = (a[i  ].unsqueeze(-1) * b).sum(dim=0)\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"357 µs ± 7.2 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%timeit -n 20 t4 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're now 3,700 times faster than our first implementation! Before we move on, let's discuss the rules of broadcasting in a little more detail.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting rules\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When operating on two tensors, PyTorch compares their shapes elementwise. It starts with the *trailing dimensions* and works its way backward, adding 1 when it meets empty dimensions. Two dimensions are *compatible* when one of the following is true:\\n\",\n    \"\\n\",\n    \"- They are equal.\\n\",\n    \"- One of them is 1, in which case that dimension is broadcast to make it the same as the other.\\n\",\n    \"\\n\",\n    \"Arrays do not need to have the same number of dimensions. For example, if you have a 256×256×3 array of RGB values, and you want to scale each color in the image by a different value, you can multiply the image by a one-dimensional array with three values. Lining up the sizes of the trailing axes of these arrays according to the broadcast rules, shows that they are compatible:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"Image  (3d tensor): 256 x 256 x 3\\n\",\n    \"Scale  (1d tensor):  (1)   (1)  3\\n\",\n    \"Result (3d tensor): 256 x 256 x 3\\n\",\n    \"```\\n\",\n    \"    \\n\",\n    \"However, a 2D tensor of size 256×256 isn't compatible with our image:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"Image  (3d tensor): 256 x 256 x   3\\n\",\n    \"Scale  (2d tensor):  (1)  256 x 256\\n\",\n    \"Error\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"In our earlier examples we had with a 3×3 matrix and a vector of size 3, broadcasting was done on the rows:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"Matrix (2d tensor):   3 x 3\\n\",\n    \"Vector (1d tensor): (1)   3\\n\",\n    \"Result (2d tensor):   3 x 3\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"As an exercise, try to determine what dimensions to add (and where) when you need to normalize a batch of images of size `64 x 3 x 256 x 256` with vectors of three elements (one for the mean and one for the standard deviation).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another useful way of simplifying tensor manipulations is the use of Einstein summations convention.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Einstein Summation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Before using the PyTorch operation `@` or `torch.matmul`, there is one last way we can implement matrix multiplication: Einstein summation (`einsum`). This is a compact representation for combining products and sums in a general way. We write an equation like this:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"ik,kj -> ij\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The lefthand side represents the operands dimensions, separated by commas. Here we have two tensors that each have two dimensions (`i,k` and `k,j`).  The righthand side represents the result dimensions, so here we have a tensor with two dimensions `i,j`. \\n\",\n    \"\\n\",\n    \"The rules of Einstein summation notation are as follows:\\n\",\n    \"\\n\",\n    \"1. Repeated indices on the left side are implicitly summed over if they are not on the right side.\\n\",\n    \"2. Each index can appear at most twice on the left side.\\n\",\n    \"3. The unrepeated indices on the left side must appear on the right side.\\n\",\n    \"\\n\",\n    \"So in our example, since `k` is repeated, we sum over that index. In the end the formula represents the matrix obtained when we put in `(i,j)` the sum of all the coefficients `(i,k)` in the first tensor multiplied by the coefficients `(k,j)` in the second tensor... which is the matrix product! Here is how we can code this in PyTorch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b): return torch.einsum('ik,kj->ij', a, b)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Einstein summation is a very practical way of expressing operations involving indexing and sum of products. Note that you can have just one member on the lefthand side. For instance, this:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"torch.einsum('ij->ji', a)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"returns the transpose of the matrix `a`. You can also have three or more members. This:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"torch.einsum('bi,ij,bj->b', a, b, c)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"will return a vector of size `b` where the `k`-th coordinate is the sum of `a[k,i] b[i,j] c[k,j]`. This notation is particularly convenient when you have more dimensions because of batches. For example, if you have two batches of matrices and want to compute the matrix product per batch, you would could this: \\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"torch.einsum('bik,bkj->bij', a, b)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"Let's go back to our new `matmul` implementation using `einsum` and look at its speed:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"68.7 µs ± 4.06 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%timeit -n 20 t5 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you can see, not only is it practical, but it's *very* fast. `einsum` is often the fastest way to do custom operations in PyTorch, without diving into C++ and CUDA. (But it's generally not as fast as carefully optimized CUDA code, as you see from the results in \\\"Matrix Multiplication from Scratch\\\".)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we know how to implement a matrix multiplication from scratch, we are ready to build our neural net—specifically its forward and backward passes—using just matrix multiplications.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Forward and Backward Passes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we saw in <<chapter_mnist_basics>>, to train a model, we will need to compute all the gradients of a given loss with respect to its parameters, which is known as the *backward pass*. The *forward pass* is where we compute the output of the model on a given input, based on the matrix products. As we define our first neural net, we will also delve into the problem of properly initializing the weights, which is crucial for making training start properly.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Defining and Initializing a Layer\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We will take the example of a two-layer neural net first. As we've seen, one layer can be expressed as `y = x @ w + b`, with `x` our inputs, `y` our outputs, `w` the weights of the layer (which is of size number of inputs by number of neurons if we don't transpose like before), and `b` is the bias vector:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def lin(x, w, b): return x @ w + b\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can stack the second layer on top of the first, but since mathematically the composition of two linear operations is another linear operation, this only makes sense if we put something nonlinear in the middle, called an activation function. As mentioned at the beginning of the chapter, in deep learning applications the activation function most commonly used is a ReLU, which returns the maximum of `x` and `0`. \\n\",\n    \"\\n\",\n    \"We won't actually train our model in this chapter, so we'll use random tensors for our inputs and targets. Let's say our inputs are 200 vectors of size 100, which we group into one batch, and our targets are 200 random floats:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For our two-layer model we will need two weight matrices and two bias vectors. Let's say we have a hidden size of 50 and the output size is 1 (for one of our inputs, the corresponding output is one float in this toy example). We initialize the weights randomly and the bias at zero:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = torch.randn(100,50)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then the result of our first layer is simply:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([200, 50])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l1.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that this formula works with our batch of inputs, and returns a batch of hidden state: `l1` is a matrix of size 200 (our batch size) by 50 (our hidden size).\\n\",\n    \"\\n\",\n    \"There is a problem with the way our model was initialized, however. To understand it, we need to look at the mean and standard deviation (std) of `l1`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.0019), tensor(10.1058))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l1.mean(), l1.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The mean is close to zero, which is understandable since both our input and weight matrices have means close to zero. But the standard deviation, which represents how far away our activations go from the mean, went from 1 to 10. This is a really big problem because that's with just one layer. Modern neural nets can have hundred of layers, so if each of them multiplies the scale of our activations by 10, by the end of the last layer we won't have numbers representable by a computer.\\n\",\n    \"\\n\",\n    \"Indeed, if we make just 50 multiplications between `x` and random matrices of size 100×100, we'll have:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[nan, nan, nan, nan, nan],\\n\",\n       \"        [nan, nan, nan, nan, nan],\\n\",\n       \"        [nan, nan, nan, nan, nan],\\n\",\n       \"        [nan, nan, nan, nan, nan],\\n\",\n       \"        [nan, nan, nan, nan, nan]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ torch.randn(100,100)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The result is `nan`s everywhere. So maybe the scale of our matrix was too big, and we need to have smaller weights? But if we use too small weights, we will have the opposite problem—the scale of our activations will go from 1 to 0.1, and after 50 layers we'll be left with zeros everywhere:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0., 0., 0., 0., 0.],\\n\",\n       \"        [0., 0., 0., 0., 0.],\\n\",\n       \"        [0., 0., 0., 0., 0.],\\n\",\n       \"        [0., 0., 0., 0., 0.],\\n\",\n       \"        [0., 0., 0., 0., 0.]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ (torch.randn(100,100) * 0.01)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So we have to scale our weight matrices exactly right so that the standard deviation of our activations stays at 1. We can compute the exact value to use mathematically, as illustrated by Xavier Glorot and Yoshua Bengio in [\\\"Understanding the Difficulty of Training Deep Feedforward Neural Networks\\\"](http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf). The right scale for a given layer is $1/\\\\sqrt{n_{in}}$, where $n_{in}$ represents the number of inputs.\\n\",\n    \"\\n\",\n    \"In our case, if we have 100 inputs, we should scale our weight matrices by 0.1:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[ 0.7554,  0.6167, -0.1757, -1.5662,  0.5644],\\n\",\n       \"        [-0.1987,  0.6292,  0.3283, -1.1538,  0.5416],\\n\",\n       \"        [ 0.6106,  0.2556, -0.0618, -0.9463,  0.4445],\\n\",\n       \"        [ 0.4484,  0.7144,  0.1164, -0.8626,  0.4413],\\n\",\n       \"        [ 0.3463,  0.5930,  0.3375, -0.9486,  0.5643]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ (torch.randn(100,100) * 0.1)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally some numbers that are neither zeros nor `nan`s! Notice how stable the scale of our activations is, even after those 50 fake layers:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(0.7042)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you play a little bit with the value for scale you'll notice that even a slight variation from 0.1 will get you either to very small or very large numbers, so initializing the weights properly is extremely important. \\n\",\n    \"\\n\",\n    \"Let's go back to our neural net. Since we messed a bit with our inputs, we need to redefine them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And for our weights, we'll use the right scale, which is known as *Xavier initialization* (or *Glorot initialization*):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from math import sqrt\\n\",\n    \"w1 = torch.randn(100,50) / sqrt(100)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1) / sqrt(50)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now if we compute the result of the first layer, we can check that the mean and standard deviation are under control:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(-0.0050), tensor(1.0000))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l1.mean(),l1.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Very good. Now we need to go through a ReLU, so let's define one. A ReLU removes the negatives and replaces them with zeros, which is another way of saying it clamps our tensor at zero:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def relu(x): return x.clamp_min(0.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We pass our activations through this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.3961), tensor(0.5783))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l2 = relu(l1)\\n\",\n    \"l2.mean(),l2.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we're back to square one: the mean of our activations has gone to 0.4 (which is understandable since we removed the negatives) and the std went down to 0.58. So like before, after a few layers we will probably wind up with zeros:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.0000e+00, 1.9689e-08, 4.2820e-08, 0.0000e+00, 0.0000e+00],\\n\",\n       \"        [0.0000e+00, 1.6701e-08, 4.3501e-08, 0.0000e+00, 0.0000e+00],\\n\",\n       \"        [0.0000e+00, 1.0976e-08, 3.0411e-08, 0.0000e+00, 0.0000e+00],\\n\",\n       \"        [0.0000e+00, 1.8457e-08, 4.9469e-08, 0.0000e+00, 0.0000e+00],\\n\",\n       \"        [0.0000e+00, 1.9949e-08, 4.1643e-08, 0.0000e+00, 0.0000e+00]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = relu(x @ (torch.randn(100,100) * 0.1))\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This means our initialization wasn't right. Why? At the time Glorot and Bengio wrote their article, the popular activation in a neural net was the hyperbolic tangent (tanh, which is the one they used), and that initialization doesn't account for our ReLU. Fortunately, someone else has done the math for us and computed the right scale for us to use. In [\\\"Delving Deep into Rectifiers: Surpassing Human-Level Performance\\\"](https://arxiv.org/abs/1502.01852) (which we've seen before—it's the article that introduced the ResNet), Kaiming He et al. show that we should use the following scale instead: $\\\\sqrt{2 / n_{in}}$, where $n_{in}$ is the number of inputs of our model. Let's see what this gives us:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.2871, 0.0000, 0.0000, 0.0000, 0.0026],\\n\",\n       \"        [0.4546, 0.0000, 0.0000, 0.0000, 0.0015],\\n\",\n       \"        [0.6178, 0.0000, 0.0000, 0.0180, 0.0079],\\n\",\n       \"        [0.3333, 0.0000, 0.0000, 0.0545, 0.0000],\\n\",\n       \"        [0.1940, 0.0000, 0.0000, 0.0000, 0.0096]])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = relu(x @ (torch.randn(100,100) * sqrt(2/100)))\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's better: our numbers aren't all zeroed this time. So let's go back to the definition of our neural net and use this initialization (which is named *Kaiming initialization* or *He initialization*):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = torch.randn(100,50) * sqrt(2 / 100)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1) * sqrt(2 / 50)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's look at the scale of our activations after going through the first linear layer and ReLU:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor(0.5661), tensor(0.8339))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l2 = relu(l1)\\n\",\n    \"l2.mean(), l2.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Much better! Now that our weights are properly initialized, we can define our whole model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def model(x):\\n\",\n    \"    l1 = lin(x, w1, b1)\\n\",\n    \"    l2 = relu(l1)\\n\",\n    \"    l3 = lin(l2, w2, b2)\\n\",\n    \"    return l3\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is the forward pass. Now all that's left to do is to compare our output to the labels we have (random numbers, in this example) with a loss function. In this case, we will use the mean squared error. (It's a toy problem, and this is the easiest loss function to use for what is next, computing the gradients.)\\n\",\n    \"\\n\",\n    \"The only subtlety is that our outputs and targets don't have exactly the same shape—after going though the model, we get an output like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([200, 1])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"out = model(x)\\n\",\n    \"out.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To get rid of this trailing 1 dimension, we use the `squeeze` function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse(output, targ): return (output.squeeze(-1) - targ).pow(2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And now we are ready to compute our loss:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = mse(out, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's all for the forward pass—let's now look at the gradients.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Gradients and the Backward Pass\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've seen that PyTorch computes all the gradients we need with a magic call to `loss.backward`, but let's explore what's happening behind the scenes.\\n\",\n    \"\\n\",\n    \"Now comes the part where we need to compute the gradients of the loss with respect to all the weights of our model, so all the floats in `w1`, `b1`, `w2`, and `b2`. For this, we will need a bit of math—specifically the *chain rule*. This is the rule of calculus that guides how we can compute the derivative of a composed function:\\n\",\n    \"\\n\",\n    \"$$(g \\\\circ f)'(x) = g'(f(x)) f'(x)$$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> j: I find this notation very hard to wrap my head around, so instead I like to think of it as: if `y = g(u)` and `u=f(x)`; then `dy/dx = dy/du * du/dx`. The two notations mean the same thing, so use whatever works for you.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our loss is a big composition of different functions: mean squared error (which is in turn the composition of a mean and a power of two), the second linear layer, a ReLU and the first linear layer. For instance, if we want the gradients of the loss with respect to `b2` and our loss is defined by:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"loss = mse(out,y) = mse(lin(l2, w2, b2), y)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The chain rule tells us that we have:\\n\",\n    \"$$\\\\frac{\\\\text{d} loss}{\\\\text{d} b_{2}} = \\\\frac{\\\\text{d} loss}{\\\\text{d} out} \\\\times \\\\frac{\\\\text{d} out}{\\\\text{d} b_{2}} = \\\\frac{\\\\text{d}}{\\\\text{d} out} mse(out, y) \\\\times \\\\frac{\\\\text{d}}{\\\\text{d} b_{2}} lin(l_{2}, w_{2}, b_{2})$$\\n\",\n    \"\\n\",\n    \"To compute the gradients of the loss with respect to $b_{2}$, we first need the gradients of the loss with respect to our output $out$. It's the same if we want the gradients of the loss with respect to $w_{2}$. Then, to get the gradients of the loss with respect to $b_{1}$ or $w_{1}$, we will need the gradients of the loss with respect to $l_{1}$, which in turn requires the gradients of the loss with respect to $l_{2}$, which will need the gradients of the loss with respect to $out$.\\n\",\n    \"\\n\",\n    \"So to compute all the gradients we need for the update, we need to begin from the output of the model and work our way *backward*, one layer after the other—which is why this step is known as *backpropagation*. We can automate it by having each function we implemented (`relu`, `mse`, `lin`) provide its backward step: that is, how to derive the gradients of the loss with respect to the input(s) from the gradients of the loss with respect to the output.\\n\",\n    \"\\n\",\n    \"Here we populate those gradients in an attribute of each tensor, a bit like PyTorch does with `.grad`. \\n\",\n    \"\\n\",\n    \"The first are the gradients of the loss with respect to the output of our model (which is the input of the loss function). We undo the `squeeze` we did in `mse`, then we use the formula that gives us the derivative of $x^{2}$: $2x$. The derivative of the mean is just $1/n$ where $n$ is the number of elements in our input:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse_grad(inp, targ): \\n\",\n    \"    # grad of loss with respect to output of previous layer\\n\",\n    \"    inp.g = 2. * (inp.squeeze() - targ).unsqueeze(-1) / inp.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For the gradients of the ReLU and our linear layer, we use the gradients of the loss with respect to the output (in `out.g`) and apply the chain rule to compute the gradients of the loss with respect to the input (in `inp.g`). The chain rule tells us that `inp.g = relu'(inp) * out.g`. The derivative of `relu` is either 0 (when inputs are negative) or 1 (when inputs are positive), so this gives us:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def relu_grad(inp, out):\\n\",\n    \"    # grad of relu with respect to input activations\\n\",\n    \"    inp.g = (inp>0).float() * out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The scheme is the same to compute the gradients of the loss with respect to the inputs, weights, and bias in the linear layer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def lin_grad(inp, out, w, b):\\n\",\n    \"    # grad of matmul with respect to input\\n\",\n    \"    inp.g = out.g @ w.t()\\n\",\n    \"    w.g = inp.t() @ out.g\\n\",\n    \"    b.g = out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We won't linger on the mathematical formulas that define them since they're not important for our purposes, but do check out Khan Academy's excellent calculus lessons if you're interested in this topic.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: SymPy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"SymPy is a library for symbolic computation that is extremely useful library when working with calculus. Per the [documentation](https://docs.sympy.org/latest/tutorial/intro.html):\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> : Symbolic computation deals with the computation of mathematical objects symbolically. This means that the mathematical objects are represented exactly, not approximately, and mathematical expressions with unevaluated variables are left in symbolic form.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To do symbolic computation, we first define a *symbol*, and then do a computation, like so:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\displaystyle 2 sx$\"\n      ],\n      \"text/plain\": [\n       \"2*sx\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from sympy import symbols,diff\\n\",\n    \"sx,sy = symbols('sx sy')\\n\",\n    \"diff(sx**2, sx)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here, SymPy has taken the derivative of `x**2` for us! It can take the derivative of complicated compound expressions, simplify and factor equations, and much more. There's really not much reason for anyone to do calculus manually nowadays—for calculating gradients, PyTorch does it for us, and for showing the equations, SymPy does it for us!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once we have have defined those functions, we can use them to write the backward pass. Since each gradient is automatically populated in the right tensor, we don't need to store the results of those `_grad` functions anywhere—we just need to execute them in the reverse order of the forward pass, to make sure that in each function `out.g` exists:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def forward_and_backward(inp, targ):\\n\",\n    \"    # forward pass:\\n\",\n    \"    l1 = inp @ w1 + b1\\n\",\n    \"    l2 = relu(l1)\\n\",\n    \"    out = l2 @ w2 + b2\\n\",\n    \"    # we don't actually need the loss in backward!\\n\",\n    \"    loss = mse(out, targ)\\n\",\n    \"    \\n\",\n    \"    # backward pass:\\n\",\n    \"    mse_grad(out, targ)\\n\",\n    \"    lin_grad(l2, out, w2, b2)\\n\",\n    \"    relu_grad(l1, l2)\\n\",\n    \"    lin_grad(inp, l1, w1, b1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And now we can access the gradients of our model parameters in `w1.g`, `b1.g`, `w2.g`, and `b2.g`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have successfully defined our model—now let's make it a bit more like a PyTorch module.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Refactoring the Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The three functions we used have two associated functions: a forward pass and a backward pass. Instead of writing them separately, we can create a class to wrap them together. That class can also store the inputs and outputs for the backward pass. This way, we will just have to call `backward`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Relu():\\n\",\n    \"    def __call__(self, inp):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.out = inp.clamp_min(0.)\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self): self.inp.g = (self.inp>0).float() * self.out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`__call__` is a magic name in Python that will make our class callable. This is what will be executed when we type `y = Relu()(x)`. We can do the same for our linear layer and the MSE loss:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Lin():\\n\",\n    \"    def __init__(self, w, b): self.w,self.b = w,b\\n\",\n    \"        \\n\",\n    \"    def __call__(self, inp):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.out = inp@self.w + self.b\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        self.inp.g = self.out.g @ self.w.t()\\n\",\n    \"        self.w.g = self.inp.t() @ self.out.g\\n\",\n    \"        self.b.g = self.out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Mse():\\n\",\n    \"    def __call__(self, inp, targ):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.targ = targ\\n\",\n    \"        self.out = (inp.squeeze() - targ).pow(2).mean()\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        x = (self.inp.squeeze()-self.targ).unsqueeze(-1)\\n\",\n    \"        self.inp.g = 2.*x/self.targ.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we can put everything in a model that we initiate with our tensors `w1`, `b1`, `w2`, `b2`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model():\\n\",\n    \"    def __init__(self, w1, b1, w2, b2):\\n\",\n    \"        self.layers = [Lin(w1,b1), Relu(), Lin(w2,b2)]\\n\",\n    \"        self.loss = Mse()\\n\",\n    \"        \\n\",\n    \"    def __call__(self, x, targ):\\n\",\n    \"        for l in self.layers: x = l(x)\\n\",\n    \"        return self.loss(x, targ)\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        self.loss.backward()\\n\",\n    \"        for l in reversed(self.layers): l.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"What is really nice about this refactoring and registering things as layers of our model is that the forward and backward passes are now really easy to write. If we want to instantiate our model, we just need to write:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = Model(w1, b1, w2, b2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The forward pass can then be executed with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = model(x, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And the backward pass with:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Going to PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The  `Lin`, `Mse` and `Relu` classes we wrote have a lot in common, so we could make them all inherit from the same base class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LayerFunction():\\n\",\n    \"    def __call__(self, *args):\\n\",\n    \"        self.args = args\\n\",\n    \"        self.out = self.forward(*args)\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def forward(self):  raise Exception('not implemented')\\n\",\n    \"    def bwd(self):      raise Exception('not implemented')\\n\",\n    \"    def backward(self): self.bwd(self.out, *self.args)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then we just need to implement `forward` and `bwd` in each of our subclasses:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Relu(LayerFunction):\\n\",\n    \"    def forward(self, inp): return inp.clamp_min(0.)\\n\",\n    \"    def bwd(self, out, inp): inp.g = (inp>0).float() * out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Lin(LayerFunction):\\n\",\n    \"    def __init__(self, w, b): self.w,self.b = w,b\\n\",\n    \"        \\n\",\n    \"    def forward(self, inp): return inp@self.w + self.b\\n\",\n    \"    \\n\",\n    \"    def bwd(self, out, inp):\\n\",\n    \"        inp.g = out.g @ self.w.t()\\n\",\n    \"        self.w.g = inp.t() @ self.out.g\\n\",\n    \"        self.b.g = out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Mse(LayerFunction):\\n\",\n    \"    def forward (self, inp, targ): return (inp.squeeze() - targ).pow(2).mean()\\n\",\n    \"    def bwd(self, out, inp, targ): \\n\",\n    \"        inp.g = 2*(inp.squeeze()-targ).unsqueeze(-1) / targ.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The rest of our model can be the same as before. This is getting closer and closer to what PyTorch does. Each basic function we need to differentiate is written as a `torch.autograd.Function` object that has a `forward` and a `backward` method. PyTorch will then keep trace of any computation we do to be able to properly run the backward pass, unless we set the `requires_grad` attribute of our tensors to `False`.\\n\",\n    \"\\n\",\n    \"Writing one of these is (almost) as easy as writing our original classes. The difference is that we choose what to save and what to put in a context variable (so that we make sure we don't save anything we don't need), and we return the gradients in the `backward` pass. It's very rare to have to write your own `Function` but if you ever need something exotic or want to mess with the gradients of a regular function, here is how to write one:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from torch.autograd import Function\\n\",\n    \"\\n\",\n    \"class MyRelu(Function):\\n\",\n    \"    @staticmethod\\n\",\n    \"    def forward(ctx, i):\\n\",\n    \"        result = i.clamp_min(0.)\\n\",\n    \"        ctx.save_for_backward(i)\\n\",\n    \"        return result\\n\",\n    \"    \\n\",\n    \"    @staticmethod\\n\",\n    \"    def backward(ctx, grad_output):\\n\",\n    \"        i, = ctx.saved_tensors\\n\",\n    \"        return grad_output * (i>0).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The structure used to build a more complex model that takes advantage of those `Function`s is a `torch.nn.Module`. This is the base structure for all models, and all the neural nets you have seen up until now inherited from that class. It mostly helps to register all the trainable parameters, which as we've seen can be used in the training loop.\\n\",\n    \"\\n\",\n    \"To implement an `nn.Module` you just need to:\\n\",\n    \"\\n\",\n    \"- Make sure the superclass `__init__` is called first when you initialize it.\\n\",\n    \"- Define any parameters of the model as attributes with `nn.Parameter`.\\n\",\n    \"- Define a `forward` function that returns the output of your model.\\n\",\n    \"\\n\",\n    \"As an example, here is the linear layer from scratch:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import torch.nn as nn\\n\",\n    \"\\n\",\n    \"class LinearLayer(nn.Module):\\n\",\n    \"    def __init__(self, n_in, n_out):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.weight = nn.Parameter(torch.randn(n_out, n_in) * sqrt(2/n_in))\\n\",\n    \"        self.bias = nn.Parameter(torch.zeros(n_out))\\n\",\n    \"    \\n\",\n    \"    def forward(self, x): return x @ self.weight.t() + self.bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, this class automatically keeps track of what parameters have been defined:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([2, 10]), torch.Size([2]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lin = LinearLayer(10,2)\\n\",\n    \"p1,p2 = lin.parameters()\\n\",\n    \"p1.shape,p2.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It is thanks to this feature of `nn.Module` that we can just say `opt.step()` and have an optimizer loop through the parameters and update each one.\\n\",\n    \"\\n\",\n    \"Note that in PyTorch, the weights are stored as an `n_out x n_in` matrix, which is why we have the transpose in the forward pass.\\n\",\n    \"\\n\",\n    \"By using the linear layer from PyTorch (which uses the Kaiming initialization as well), the model we have been building up during this chapter can be written like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model(nn.Module):\\n\",\n    \"    def __init__(self, n_in, nh, n_out):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\\n\",\n    \"        self.loss = mse\\n\",\n    \"        \\n\",\n    \"    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai provides its own variant of `Module` that is identical to `nn.Module`, but doesn't require you to call `super().__init__()` (it does that for you automatically):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model(Module):\\n\",\n    \"    def __init__(self, n_in, nh, n_out):\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\\n\",\n    \"        self.loss = mse\\n\",\n    \"        \\n\",\n    \"    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the last chapter, we will start from such a model and see how to build a training loop from scratch and refactor it to what we've been using in previous chapters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this chapter we explored the foundations of deep learning, beginning with matrix multiplication and moving on to implementing the forward and backward passes of a neural net from scratch. We then refactored our code to show how PyTorch works beneath the hood.\\n\",\n    \"\\n\",\n    \"Here are a few things to remember:\\n\",\n    \"\\n\",\n    \"- A neural net is basically a bunch of matrix multiplications with nonlinearities in between.\\n\",\n    \"- Python is slow, so to write fast code we have to vectorize it and take advantage of techniques such as elementwise arithmetic and broadcasting.\\n\",\n    \"- Two tensors are broadcastable if the dimensions starting from the end and going backward match (if they are the same, or one of them is 1). To make tensors broadcastable, we may need to add dimensions of size 1 with `unsqueeze` or a `None` index.\\n\",\n    \"- Properly initializing a neural net is crucial to get training started. Kaiming initialization should be used when we have ReLU nonlinearities.\\n\",\n    \"- The backward pass is the chain rule applied multiple times, computing the gradients from the output of our model and going back, one layer at a time.\\n\",\n    \"- When subclassing `nn.Module` (if not using fastai's `Module`) we have to call the superclass `__init__` method in our `__init__` method and we have to define a `forward` function that takes an input and returns the desired result.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write the Python code to implement a single neuron.\\n\",\n    \"1. Write the Python code to implement ReLU.\\n\",\n    \"1. Write the Python code for a dense layer in terms of matrix multiplication.\\n\",\n    \"1. Write the Python code for a dense layer in plain Python (that is, with list comprehensions and functionality built into Python).\\n\",\n    \"1. What is the \\\"hidden size\\\" of a layer?\\n\",\n    \"1. What does the `t` method do in PyTorch?\\n\",\n    \"1. Why is matrix multiplication written in plain Python very slow?\\n\",\n    \"1. In `matmul`, why is `ac==br`?\\n\",\n    \"1. In Jupyter Notebook, how do you measure the time taken for a single cell to execute?\\n\",\n    \"1. What is \\\"elementwise arithmetic\\\"?\\n\",\n    \"1. Write the PyTorch code to test whether every element of `a` is greater than the corresponding element of `b`.\\n\",\n    \"1. What is a rank-0 tensor? How do you convert it to a plain Python data type?\\n\",\n    \"1. What does this return, and why? `tensor([1,2]) + tensor([1])`\\n\",\n    \"1. What does this return, and why? `tensor([1,2]) + tensor([1,2,3])`\\n\",\n    \"1. How does elementwise arithmetic help us speed up `matmul`?\\n\",\n    \"1. What are the broadcasting rules?\\n\",\n    \"1. What is `expand_as`? Show an example of how it can be used to match the results of broadcasting.\\n\",\n    \"1. How does `unsqueeze` help us to solve certain broadcasting problems?\\n\",\n    \"1. How can we use indexing to do the same operation as `unsqueeze`?\\n\",\n    \"1. How do we show the actual contents of the memory used for a tensor?\\n\",\n    \"1. When adding a vector of size 3 to a matrix of size 3×3, are the elements of the vector added to each row or each column of the matrix? (Be sure to check your answer by running this code in a notebook.)\\n\",\n    \"1. Do broadcasting and `expand_as` result in increased memory use? Why or why not?\\n\",\n    \"1. Implement `matmul` using Einstein summation.\\n\",\n    \"1. What does a repeated index letter represent on the left-hand side of einsum?\\n\",\n    \"1. What are the three rules of Einstein summation notation? Why?\\n\",\n    \"1. What are the forward pass and backward pass of a neural network?\\n\",\n    \"1. Why do we need to store some of the activations calculated for intermediate layers in the forward pass?\\n\",\n    \"1. What is the downside of having activations with a standard deviation too far away from 1?\\n\",\n    \"1. How can weight initialization help avoid this problem?\\n\",\n    \"1. What is the formula to initialize weights such that we get a standard deviation of 1 for a plain linear layer, and for a linear layer followed by ReLU?\\n\",\n    \"1. Why do we sometimes have to use the `squeeze` method in loss functions?\\n\",\n    \"1. What does the argument to the `squeeze` method do? Why might it be important to include this argument, even though PyTorch does not require it?\\n\",\n    \"1. What is the \\\"chain rule\\\"? Show the equation in either of the two forms presented in this chapter.\\n\",\n    \"1. Show how to calculate the gradients of `mse(lin(l2, w2, b2), y)` using the chain rule.\\n\",\n    \"1. What is the gradient of ReLU? Show it in math or code. (You shouldn't need to commit this to memory—try to figure it using your knowledge of the shape of the function.)\\n\",\n    \"1. In what order do we need to call the `*_grad` functions in the backward pass? Why?\\n\",\n    \"1. What is `__call__`?\\n\",\n    \"1. What methods must we implement when writing a `torch.autograd.Function`?\\n\",\n    \"1. Write `nn.Linear` from scratch, and test it works.\\n\",\n    \"1. What is the difference between `nn.Module` and fastai's `Module`?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Implement ReLU as a `torch.autograd.Function` and train a model with it.\\n\",\n    \"1. If you are mathematically inclined, find out what the gradients of a linear layer are in mathematical notation. Map that to the implementation we saw in this chapter.\\n\",\n    \"1. Learn about the `unfold` method in PyTorch, and use it along with matrix multiplication to implement your own 2D convolution function. Then train a CNN that uses it.\\n\",\n    \"1. Implement everything in this chapter using NumPy instead of PyTorch. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "18_CAM.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"hide_input\": false\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_cam]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# CNN Interpretation with CAM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we know how to build up pretty much anything from scratch, let's use that knowledge to create entirely new (and very useful!) functionality: the *class activation map*. It gives us some insight into why a CNN made the predictions it did.\\n\",\n    \"\\n\",\n    \"In the process, we'll learn about one handy feature of PyTorch we haven't seen before, the *hook*, and we'll apply many of the concepts introduced in the rest of the book. If you want to really test out your understanding of the material in this book, after you've finished this chapter, try putting it aside and recreating the ideas here yourself from scratch (no peeking!).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## CAM and Hooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The class activation map (CAM) was introduced by Bolei Zhou et al. in [\\\"Learning Deep Features for Discriminative Localization\\\"](https://arxiv.org/abs/1512.04150). It uses the output of the last convolutional layer (just before the average pooling layer) together with the predictions to give us a heatmap visualization of why the model made its decision. This is a useful tool for interpretation.\\n\",\n    \"\\n\",\n    \"More precisely, at each position of our final convolutional layer, we have as many filters as in the last linear layer. We can therefore compute the dot product of those activations with the final weights to get, for each location on our feature map, the score of the feature that was used to make a decision.\\n\",\n    \"\\n\",\n    \"We're going to need a way to get access to the activations inside the model while it's training. In PyTorch this can be done with a *hook*. Hooks are PyTorch's equivalent of fastai's callbacks. However, rather than allowing you to inject code into the training loop like a fastai `Learner` callback, hooks allow you to inject code into the forward and backward calculations themselves. We can attach a hook to any layer of the model, and it will be executed when we compute the outputs (forward hook) or during backpropagation (backward hook). A forward hook is a function that takes three things—a module, its input, and its output—and it can perform any behavior you want. (fastai also provides a handy `HookCallback` that we won't cover here, but take a look at the fastai docs; it makes working with hooks a little easier.)\\n\",\n    \"\\n\",\n    \"To illustrate, we'll use the same cats and dogs model we trained in <<chapter_intro>>:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.145994</td>\\n\",\n       \"      <td>0.019272</td>\\n\",\n       \"      <td>0.006089</td>\\n\",\n       \"      <td>00:14</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: left;\\\">\\n\",\n       \"      <th>epoch</th>\\n\",\n       \"      <th>train_loss</th>\\n\",\n       \"      <th>valid_loss</th>\\n\",\n       \"      <th>error_rate</th>\\n\",\n       \"      <th>time</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>0.053405</td>\\n\",\n       \"      <td>0.052540</td>\\n\",\n       \"      <td>0.010825</td>\\n\",\n       \"      <td>00:19</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"path = untar_data(URLs.PETS)/'images'\\n\",\n    \"def is_cat(x): return x[0].isupper()\\n\",\n    \"dls = ImageDataLoaders.from_name_func(\\n\",\n    \"    path, get_image_files(path), valid_pct=0.2, seed=21,\\n\",\n    \"    label_func=is_cat, item_tfms=Resize(224))\\n\",\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To start, we'll grab a cat picture and a batch of data:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(image_cat())\\n\",\n    \"x, = first(dls.test_dl([img]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For CAM we want to store the activations of the last convolutional layer. We put our hook function in a class so it has a state that we can access later, and just store a copy of the output:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Hook():\\n\",\n    \"    def hook_func(self, m, i, o): self.stored = o.detach().clone()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can then instantiate a `Hook` and attach it to the layer we want, which is the last layer of the CNN body:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"hook_output = Hook()\\n\",\n    \"hook = learn.model[0].register_forward_hook(hook_output.hook_func)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can grab a batch and feed it through our model:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with torch.no_grad(): output = learn.model.eval()(x)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we can access our stored activations:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"act = hook_output.stored[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's also double-check our predictions:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor([[0.0010, 0.9990]], device='cuda:0')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"F.softmax(output, dim=-1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We know `0` (for `False`) is \\\"dog,\\\" because the classes are automatically sorted in fastai, bu we can still double-check by looking at `dls.vocab`: \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#2) [False,True]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"dls.vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So, our model is very confident this was a picture of a cat.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To do the dot product of our weight matrix (2 by number of activations) with the activations (batch size by activations by rows by cols), we use a custom `einsum`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([1, 3, 224, 224])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([2, 7, 7])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"cam_map = torch.einsum('ck,kij->cij', learn.model[1][-1].weight, act)\\n\",\n    \"cam_map.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For each image in our batch, and for each class, we get a 7×7 feature map that tells us where the activations were higher and where they were lower. This will let us see which areas of the pictures influenced the model's decision.\\n\",\n    \"\\n\",\n    \"For instance, we can find out which areas made the model decide this animal was a cat (note that we need to `decode` the input `x` since it's been normalized by the `DataLoader`, and we need to cast to `TensorImage` since at the time this book is written PyTorch does not maintain types when indexing—this may be fixed by the time you are reading this):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"x_dec = TensorImage(dls.train.decode((x,))[0][0])\\n\",\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map[1].detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The areas in bright yellow correspond to high activations and the areas in purple to low activations. In this case, we can see the head and the front paw were the two main areas that made the model decide it was a picture of a cat.\\n\",\n    \"\\n\",\n    \"Once you're done with your hook, you should remove it as otherwise it might leak some memory:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's why it's usually a good idea to have the `Hook` class be a *context manager*, registering the hook when you enter it and removing it when you exit. A context manager is a Python construct that calls `__enter__` when the object is created in a `with` clause, and `__exit__` at the end of the `with` clause. For instance, this is how Python handles the `with open(...) as f:` construct that you'll often see for opening files without requiring an explicit `close(f)` at the end. If we define `Hook` as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Hook():\\n\",\n    \"    def __init__(self, m):\\n\",\n    \"        self.hook = m.register_forward_hook(self.hook_func)   \\n\",\n    \"    def hook_func(self, m, i, o): self.stored = o.detach().clone()\\n\",\n    \"    def __enter__(self, *args): return self\\n\",\n    \"    def __exit__(self, *args): self.hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"we can safely use it this way:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with Hook(learn.model[0]) as hook:\\n\",\n    \"    with torch.no_grad(): output = learn.model.eval()(x.cuda())\\n\",\n    \"    act = hook.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"fastai provides this `Hook` class for you, as well as some other handy classes to make working with hooks easier.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This method is useful, but only works for the last layer. *Gradient CAM* is a variant that addresses this problem.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Gradient CAM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The method we just saw only lets us compute a heatmap with the last activations, since once we have our features, we have to multiply them by the last weight matrix. This won't work for inner layers in the network. A variant introduced in the paper [\\\"Grad-CAM: Why Did You Say That? Visual Explanations from Deep Networks via Gradient-based Localization\\\"](https://arxiv.org/abs/1611.07450) in 2016 uses the gradients of the final activation for the desired class. If you remember a little bit about the backward pass, the gradients of the output of the last layer with respect to the input of that layer are equal to the layer weights, since it is a linear layer.\\n\",\n    \"\\n\",\n    \"With deeper layers, we still want the gradients, but they won't just be equal to the weights anymore. We have to calculate them. The gradients of every layer are calculated for us by PyTorch during the backward pass, but they're not stored (except for tensors where `requires_grad` is `True`). We can, however, register a hook on the backward pass, which PyTorch will give the gradients to as a parameter, so we can store them there. For this we will use a `HookBwd` class that works like `Hook`, but intercepts and stores gradients instead of activations:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class HookBwd():\\n\",\n    \"    def __init__(self, m):\\n\",\n    \"        self.hook = m.register_backward_hook(self.hook_func)   \\n\",\n    \"    def hook_func(self, m, gi, go): self.stored = go[0].detach().clone()\\n\",\n    \"    def __enter__(self, *args): return self\\n\",\n    \"    def __exit__(self, *args): self.hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then for the class index `1` (for `True`, which is \\\"cat\\\") we intercept the features of the last convolutional layer as before, and compute the gradients of the output activations of our class. We can't just call `output.backward()`, because gradients only make sense with respect to a scalar (which is normally our loss) and `output` is a rank-2 tensor. But if we pick a single image (we'll use `0`) and a single class (we'll use `1`), then we *can* calculate the gradients of any weight or activation we like, with respect to that single value, using `output[0,cls].backward()`. Our hook intercepts the gradients that we'll use as weights:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cls = 1\\n\",\n    \"with HookBwd(learn.model[0]) as hookg:\\n\",\n    \"    with Hook(learn.model[0]) as hook:\\n\",\n    \"        output = learn.model.eval()(x.cuda())\\n\",\n    \"        act = hook.stored\\n\",\n    \"    output[0,cls].backward()\\n\",\n    \"    grad = hookg.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The weights for our Grad-CAM are given by the average of our gradients across the feature map. Then it's exactly the same as before:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w = grad[0].mean(dim=[1,2], keepdim=True)\\n\",\n    \"cam_map = (w * act[0]).sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The novelty with Grad-CAM is that we can use it on any layer. For example, here we use it on the output of the second-to-last ResNet group:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with HookBwd(learn.model[0][-2]) as hookg:\\n\",\n    \"    with Hook(learn.model[0][-2]) as hook:\\n\",\n    \"        output = learn.model.eval()(x.cuda())\\n\",\n    \"        act = hook.stored\\n\",\n    \"    output[0,cls].backward()\\n\",\n    \"    grad = hookg.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w = grad[0].mean(dim=[1,2], keepdim=True)\\n\",\n    \"cam_map = (w * act[0]).sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And we can now view the activation map for this layer:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Model interpretation is an area of active research, and we just scraped the surface of what is possible in this brief chapter. Class activation maps give us insight into why a model predicted a certain result by showing the areas of the images that were most responsible for a given prediction. This can help us analyze false positives and figure out what kind of data is missing in our training to avoid them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a \\\"hook\\\" in PyTorch?\\n\",\n    \"1. Which layer does CAM use the outputs of?\\n\",\n    \"1. Why does CAM require a hook?\\n\",\n    \"1. Look at the source code of the `ActivationStats` class and see how it uses hooks.\\n\",\n    \"1. Write a hook that stores the activations of a given layer in a model (without peeking, if possible).\\n\",\n    \"1. Why do we call `eval` before getting the activations? Why do we use `no_grad`?\\n\",\n    \"1. Use `torch.einsum` to compute the \\\"dog\\\" or \\\"cat\\\" score of each of the locations in the last activation of the body of the model.\\n\",\n    \"1. How do you check which order the categories are in (i.e., the correspondence of index->category)?\\n\",\n    \"1. Why are we using `decode` when displaying the input image?\\n\",\n    \"1. What is a \\\"context manager\\\"? What special methods need to be defined to create one?\\n\",\n    \"1. Why can't we use plain CAM for the inner layers of a network?\\n\",\n    \"1. Why do we need to register a hook on the backward pass in order to do Grad-CAM?\\n\",\n    \"1. Why can't we call `output.backward()` when `output` is a rank-2 tensor of output activations per image per class?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Try removing `keepdim` and see what happens. Look up this parameter in the PyTorch docs. Why do we need it in this notebook?\\n\",\n    \"1. Create a notebook like this one, but for NLP, and use it to find which words in a movie review are most significant in assessing the sentiment of a particular movie review.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "19_learner.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A fastai Learner from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This final chapter (other than the conclusion and the online chapters) is going to look a bit different. It contains far more code and far less prose than the previous chapters. We will introduce new Python keywords and libraries without discussing them. This chapter is meant to be the start of a significant research project for you. You see, we are going to implement many of the key pieces of the fastai and PyTorch APIs from scratch, building on nothing other than the components that we developed in <<chapter_foundations>>! The key goal here is to end up with your own `Learner` class, and some callbacks—enough to be able to train a model on Imagenette, including examples of each of the key techniques we've studied. On the way to building `Learner`, we will create our own version of `Module`, `Parameter`, and parallel `DataLoader` so you have a very good idea of what those PyTorch classes do.\\n\",\n    \"\\n\",\n    \"The end-of-chapter questionnaire is particularly important for this chapter. This is where we will be pointing you in the many interesting directions that you could take, using this chapter as your starting point. We suggest that you follow along with this chapter on your computer, and do lots of experiments, web searches, and whatever else you need to understand what's going on. You've built up the skills and expertise to do this in the rest of this book, so we think you are going to do great!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's begin by gathering (manually) some data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Have a look at the source to `untar_data` to see how it works. We'll use it here to access the 160-pixel version of Imagenette for use in this chapter:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMAGENETTE_160)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To access the image files, we can use `get_image_files`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Path('/home/jhoward/.fastai/data/imagenette2-160/val/n03417042/n03417042_3752.JPEG')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = get_image_files(path)\\n\",\n    \"t[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Or we could do the same thing using just Python's standard library, with `glob`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Path('/home/jhoward/.fastai/data/imagenette2-160/val/n03417042/n03417042_3752.JPEG')\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"from glob import glob\\n\",\n    \"files = L(glob(f'{path}/**/*.JPEG', recursive=True)).map(Path)\\n\",\n    \"files[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you look at the source for `get_image_files`, you'll see it uses Python's `os.walk`; this is a faster and more flexible function than `glob`, so be sure to try it out.\\n\",\n    \"\\n\",\n    \"We can open an image with the Python Imaging Library's `Image` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=213x160 at 0x7FA45AC27D50>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im = Image.open(files[0])\\n\",\n    \"im\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([160, 213, 3])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"im_t = tensor(im)\\n\",\n    \"im_t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's going to be the basis of our independent variable. For our dependent variable, we can use `Path.parent` from `pathlib`. First we'll need our vocab:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(#10) ['n03417042','n03445777','n03888257','n03394916','n02979186','n03000684','n03425413','n01440764','n03028079','n02102040']\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"lbls = files.map(Self.parent.name()).unique(); lbls\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"...and the reverse mapping, thanks to `L.val2idx`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"{'n03417042': 0,\\n\",\n       \" 'n03445777': 1,\\n\",\n       \" 'n03888257': 2,\\n\",\n       \" 'n03394916': 3,\\n\",\n       \" 'n02979186': 4,\\n\",\n       \" 'n03000684': 5,\\n\",\n       \" 'n03425413': 6,\\n\",\n       \" 'n01440764': 7,\\n\",\n       \" 'n03028079': 8,\\n\",\n       \" 'n02102040': 9}\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"v2i = lbls.val2idx(); v2i\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's all the pieces we need to put together our `Dataset`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dataset\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A `Dataset` in PyTorch can be anything that supports indexing (`__getitem__`) and `len`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Dataset:\\n\",\n    \"    def __init__(self, fns): self.fns=fns\\n\",\n    \"    def __len__(self): return len(self.fns)\\n\",\n    \"    def __getitem__(self, i):\\n\",\n    \"        im = Image.open(self.fns[i]).resize((64,64)).convert('RGB')\\n\",\n    \"        y = v2i[self.fns[i].parent.name]\\n\",\n    \"        return tensor(im).float()/255, tensor(y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We need a list of training and validation filenames to pass to `Dataset.__init__`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(9469, 3925)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"train_filt = L(o.parent.parent.name=='train' for o in files)\\n\",\n    \"train,valid = files[train_filt],files[~train_filt]\\n\",\n    \"len(train),len(valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can try it out:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([64, 64, 3]), tensor(0))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"train_ds,valid_ds = Dataset(train),Dataset(valid)\\n\",\n    \"x,y = train_ds[0]\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 144x144 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"show_image(x, title=lbls[y]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As you see, our dataset is returning the independent and dependent variables as a tuple, which is just what we need. We'll need to be able to collate these into a mini-batch. Generally this is done with `torch.stack`, which is what we'll use here:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def collate(idxs, ds): \\n\",\n    \"    xb,yb = zip(*[ds[i] for i in idxs])\\n\",\n    \"    return torch.stack(xb),torch.stack(yb)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here's a mini-batch with two items, for testing our `collate`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([2, 64, 64, 3]), tensor([0, 0]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x,y = collate([1,2], train_ds)\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a dataset and a collation function, we're ready to create `DataLoader`. We'll add two more things here: an optional `shuffle` for the training set, and a `ProcessPoolExecutor` to do our preprocessing in parallel. A parallel data loader is very important, because opening and decoding a JPEG image is a slow process. One CPU core is not enough to decode images fast enough to keep a modern GPU busy. Here's our `DataLoader` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DataLoader:\\n\",\n    \"    def __init__(self, ds, bs=128, shuffle=False, n_workers=1):\\n\",\n    \"        self.ds,self.bs,self.shuffle,self.n_workers = ds,bs,shuffle,n_workers\\n\",\n    \"\\n\",\n    \"    def __len__(self): return (len(self.ds)-1)//self.bs+1\\n\",\n    \"\\n\",\n    \"    def __iter__(self):\\n\",\n    \"        idxs = L.range(self.ds)\\n\",\n    \"        if self.shuffle: idxs = idxs.shuffle()\\n\",\n    \"        chunks = [idxs[n:n+self.bs] for n in range(0, len(self.ds), self.bs)]\\n\",\n    \"        with ProcessPoolExecutor(self.n_workers) as ex:\\n\",\n    \"            yield from ex.map(collate, chunks, ds=self.ds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's try it out with our training and validation datasets:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(torch.Size([128, 64, 64, 3]), torch.Size([128]), 74)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"n_workers = min(16, defaults.cpus)\\n\",\n    \"train_dl = DataLoader(train_ds, bs=128, shuffle=True, n_workers=n_workers)\\n\",\n    \"valid_dl = DataLoader(valid_ds, bs=256, shuffle=False, n_workers=n_workers)\\n\",\n    \"xb,yb = first(train_dl)\\n\",\n    \"xb.shape,yb.shape,len(train_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This data loader is not much slower than PyTorch's, but it's far simpler. So if you're debugging a complex data loading process, don't be afraid to try doing things manually to help you see exactly what's going on.\\n\",\n    \"\\n\",\n    \"For normalization, we'll need image statistics. Generally it's fine to calculate these on a single training mini-batch, since precision isn't needed here:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[tensor([0.4544, 0.4453, 0.4141]), tensor([0.2812, 0.2766, 0.2981])]\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"stats = [xb.mean((0,1,2)),xb.std((0,1,2))]\\n\",\n    \"stats\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Our `Normalize` class just needs to store these stats and apply them (to see why the `to_device` is needed, try commenting it out, and see what happens later in this notebook):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Normalize:\\n\",\n    \"    def __init__(self, stats): self.stats=stats\\n\",\n    \"    def __call__(self, x):\\n\",\n    \"        if x.device != self.stats[0].device:\\n\",\n    \"            self.stats = to_device(self.stats, x.device)\\n\",\n    \"        return (x-self.stats[0])/self.stats[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We always like to test everything we build in a notebook, as soon as we build it:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"norm = Normalize(stats)\\n\",\n    \"def tfm_x(x): return norm(x).permute((0,3,1,2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(tensor([0.3732, 0.4907, 0.5633]), tensor([1.0212, 1.0311, 1.0131]))\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = tfm_x(x)\\n\",\n    \"t.mean((0,2,3)),t.std((0,2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here `tfm_x` isn't just applying `Normalize`, but is also permuting the axis order from `NHWC` to `NCHW` (see <<chapter_convolutions>> if you need a reminder of what these acronyms refer to). PIL uses `HWC` axis order, which we can't use with PyTorch, hence the need for this `permute`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's all we need for the data for our model. So now we need the model itself!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Module and Parameter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create a model, we'll need `Module`. To create `Module`, we'll need `Parameter`, so let's start there. Recall that in <<chapter_collab>> we said that the `Parameter` class \\\"doesn't actually add any functionality (other than automatically calling `requires_grad_` for us). It's only used as a \\\"marker\\\" to show what to include in `parameters`.\\\" Here's a definition which does exactly that:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Parameter(Tensor):\\n\",\n    \"    def __new__(self, x): return Tensor._make_subclass(Parameter, x, True)\\n\",\n    \"    def __init__(self, *args, **kwargs): self.requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The implementation here is a bit awkward: we have to define the special `__new__` Python method and use the internal PyTorch method `_make_subclass` because, as at the time of writing, PyTorch doesn't otherwise work correctly with this kind of subclassing or provide an officially supported API to do this. This may have been fixed by the time you read this, so look on the book's website to see if there are updated details.\\n\",\n    \"\\n\",\n    \"Our `Parameter` now behaves just like a tensor, as we wanted:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(3., requires_grad=True)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Parameter(tensor(3.))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have this, we can define `Module`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Module:\\n\",\n    \"    def __init__(self):\\n\",\n    \"        self.hook,self.params,self.children,self._training = None,[],[],False\\n\",\n    \"        \\n\",\n    \"    def register_parameters(self, *ps): self.params += ps\\n\",\n    \"    def register_modules   (self, *ms): self.children += ms\\n\",\n    \"        \\n\",\n    \"    @property\\n\",\n    \"    def training(self): return self._training\\n\",\n    \"    @training.setter\\n\",\n    \"    def training(self,v):\\n\",\n    \"        self._training = v\\n\",\n    \"        for m in self.children: m.training=v\\n\",\n    \"            \\n\",\n    \"    def parameters(self):\\n\",\n    \"        return self.params + sum([m.parameters() for m in self.children], [])\\n\",\n    \"\\n\",\n    \"    def __setattr__(self,k,v):\\n\",\n    \"        super().__setattr__(k,v)\\n\",\n    \"        if isinstance(v,Parameter): self.register_parameters(v)\\n\",\n    \"        if isinstance(v,Module):    self.register_modules(v)\\n\",\n    \"        \\n\",\n    \"    def __call__(self, *args, **kwargs):\\n\",\n    \"        res = self.forward(*args, **kwargs)\\n\",\n    \"        if self.hook is not None: self.hook(res, args)\\n\",\n    \"        return res\\n\",\n    \"    \\n\",\n    \"    def cuda(self):\\n\",\n    \"        for p in self.parameters(): p.data = p.data.cuda()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The key functionality is in the definition of `parameters`:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"self.params + sum([m.parameters() for m in self.children], [])\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This means that we can ask any `Module` for its parameters, and it will return them, including all its child modules (recursively). But how does it know what its parameters are? It's thanks to implementing Python's special `__setattr__` method, which is called for us any time Python sets an attribute on a class. Our implementation includes this line:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"if isinstance(v,Parameter): self.register_parameters(v)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"As you see, this is where we use our new `Parameter` class as a \\\"marker\\\"—anything of this class is added to our `params`.\\n\",\n    \"\\n\",\n    \"Python's `__call__` allows us to define what happens when our object is treated as a function; we just call `forward` (which doesn't exist here, so it'll need to be added by subclasses). Before we do, we'll call a hook, if it's defined. Now you can see that PyTorch hooks aren't doing anything fancy at all—they're just calling any hooks that have been registered.\\n\",\n    \"\\n\",\n    \"Other than these pieces of functionality, our `Module` also provides `cuda` and `training` attributes, which we'll use shortly.\\n\",\n    \"\\n\",\n    \"Now we can create our first `Module`, which is `ConvLayer`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ConvLayer(Module):\\n\",\n    \"    def __init__(self, ni, nf, stride=1, bias=True, act=True):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.w = Parameter(torch.zeros(nf,ni,3,3))\\n\",\n    \"        self.b = Parameter(torch.zeros(nf)) if bias else None\\n\",\n    \"        self.act,self.stride = act,stride\\n\",\n    \"        init = nn.init.kaiming_normal_ if act else nn.init.xavier_normal_\\n\",\n    \"        init(self.w)\\n\",\n    \"    \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        x = F.conv2d(x, self.w, self.b, stride=self.stride, padding=1)\\n\",\n    \"        if self.act: x = F.relu(x)\\n\",\n    \"        return x\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We're not implementing `F.conv2d` from scratch, since you should have already done that (using `unfold`) in the questionnaire in <<chapter_foundations>>. Instead, we're just creating a small class that wraps it up along with bias and weight initialization. Let's check that it works correctly with `Module.parameters`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"2\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l = ConvLayer(3, 4)\\n\",\n    \"len(l.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And that we can call it (which will result in `forward` being called):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([128, 4, 64, 64])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"xbt = tfm_x(xb)\\n\",\n    \"r = l(xbt)\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In the same way, we can implement `Linear`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Linear(Module):\\n\",\n    \"    def __init__(self, ni, nf):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.w = Parameter(torch.zeros(nf,ni))\\n\",\n    \"        self.b = Parameter(torch.zeros(nf))\\n\",\n    \"        nn.init.xavier_normal_(self.w)\\n\",\n    \"    \\n\",\n    \"    def forward(self, x): return x@self.w.t() + self.b\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"and test if it works:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([3, 2])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"l = Linear(4,2)\\n\",\n    \"r = l(torch.ones(3,4))\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's also create a testing module to check that if we include multiple parameters as attributes, they are all correctly registered:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.c,self.l = ConvLayer(3,4),Linear(4,2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we have a conv layer and a linear layer, each of which has weights and biases, we'd expect four parameters in total:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"4\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t = T()\\n\",\n    \"len(t.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We should also find that calling `cuda` on this class puts all these parameters on the GPU:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"device(type='cuda', index=5)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"t.cuda()\\n\",\n    \"t.l.w.device\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can now use those pieces to create a CNN.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Simple CNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've seen, a `Sequential` class makes many architectures easier to implement, so let's make one:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Sequential(Module):\\n\",\n    \"    def __init__(self, *layers):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.layers = layers\\n\",\n    \"        self.register_modules(*layers)\\n\",\n    \"\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        for l in self.layers: x = l(x)\\n\",\n    \"        return x\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `forward` method here just calls each layer in turn. Note that we have to use the `register_modules` method we defined in `Module`, since otherwise the contents of `layers` won't appear in `parameters`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> important: All The Code is Here: Remember that we're not using any PyTorch functionality for modules here; we're defining everything ourselves. So if you're not sure what `register_modules` does, or why it's needed, have another look at our code for `Module` to see what we wrote!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can create a simplified `AdaptivePool` that only handles pooling to a 1×1 output, and flattens it as well, by just using `mean`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class AdaptivePool(Module):\\n\",\n    \"    def forward(self, x): return x.mean((2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's enough for us to create a CNN!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_cnn():\\n\",\n    \"    return Sequential(\\n\",\n    \"        ConvLayer(3 ,16 ,stride=2), #32\\n\",\n    \"        ConvLayer(16,32 ,stride=2), #16\\n\",\n    \"        ConvLayer(32,64 ,stride=2), # 8\\n\",\n    \"        ConvLayer(64,128,stride=2), # 4\\n\",\n    \"        AdaptivePool(),\\n\",\n    \"        Linear(128, 10)\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's see if our parameters are all being registered correctly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"10\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"m = simple_cnn()\\n\",\n    \"len(m.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can try adding a hook. Note that we've only left room for one hook in `Module`; you could make it a list, or use something like `Pipeline` to run a few as a single function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.5239089727401733 0.8776043057441711\\n\",\n      \"0.43470510840415955 0.8347987532615662\\n\",\n      \"0.4357188045978546 0.7621666193008423\\n\",\n      \"0.46562111377716064 0.7416611313819885\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"torch.Size([128, 10])\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def print_stats(outp, inp): print (outp.mean().item(),outp.std().item())\\n\",\n    \"for i in range(4): m.layers[i].hook = print_stats\\n\",\n    \"\\n\",\n    \"r = m(xbt)\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have data and model. Now we need a loss function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've already seen how to define \\\"negative log likelihood\\\":\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def nll(input, target): return -input[range(target.shape[0]), target].mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Well actually, there's no log here, since we're using the same definition as PyTorch. That means we need to put the log together with softmax:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(-1.2790, grad_fn=<SelectBackward>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def log_softmax(x): return (x.exp()/(x.exp().sum(-1,keepdim=True))).log()\\n\",\n    \"\\n\",\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Combining these gives us our cross-entropy loss:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(2.5666, grad_fn=<NegBackward>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"loss = nll(sm, yb)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that the formula:\\n\",\n    \"\\n\",\n    \"$$\\\\log \\\\left ( \\\\frac{a}{b} \\\\right ) = \\\\log(a) - \\\\log(b)$$ \\n\",\n    \"\\n\",\n    \"gives a simplification when we compute the log softmax, which was previously defined as `(x.exp()/(x.exp().sum(-1))).log()`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(-1.2790, grad_fn=<SelectBackward>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def log_softmax(x): return x - x.exp().sum(-1,keepdim=True).log()\\n\",\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then, there is a more stable way to compute the log of the sum of exponentials, called the [LogSumExp](https://en.wikipedia.org/wiki/LogSumExp) trick. The idea is to use the following formula:\\n\",\n    \"\\n\",\n    \"$$\\\\log \\\\left ( \\\\sum_{j=1}^{n} e^{x_{j}} \\\\right ) = \\\\log \\\\left ( e^{a} \\\\sum_{j=1}^{n} e^{x_{j}-a} \\\\right ) = a + \\\\log \\\\left ( \\\\sum_{j=1}^{n} e^{x_{j}-a} \\\\right )$$\\n\",\n    \"\\n\",\n    \"where $a$ is the maximum of $x_{j}$.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Here's the same thing in code:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(True)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"x = torch.rand(5)\\n\",\n    \"a = x.max()\\n\",\n    \"x.exp().sum().log() == a + (x-a).exp().sum().log()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll put that into a function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(3.9784, grad_fn=<SelectBackward>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def logsumexp(x):\\n\",\n    \"    m = x.max(-1)[0]\\n\",\n    \"    return m + (x-m[:,None]).exp().sum(-1).log()\\n\",\n    \"\\n\",\n    \"logsumexp(r)[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"so we can use it for our `log_softmax` function:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def log_softmax(x): return x - x.logsumexp(-1,keepdim=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Which gives the same result as before:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"tensor(-1.2790, grad_fn=<SelectBackward>)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can use these to create `cross_entropy`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def cross_entropy(preds, yb): return nll(log_softmax(preds), yb).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's now combine all those pieces together to create a `Learner`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have data, a model, and a loss function; we only need one more thing before we can fit a model, and that's an optimizer! Here's SGD:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SGD:\\n\",\n    \"    def __init__(self, params, lr, wd=0.): store_attr()\\n\",\n    \"    def step(self):\\n\",\n    \"        for p in self.params:\\n\",\n    \"            p.data -= (p.grad.data + p.data*self.wd) * self.lr\\n\",\n    \"            p.grad.data.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we've seen in this book, life is easier with a `Learner`. The `Learner` class needs to know our training and validation sets, which means we need `DataLoaders` to store them. We don't need any other functionality, just a place to store them and access them:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DataLoaders:\\n\",\n    \"    def __init__(self, *dls): self.train,self.valid = dls\\n\",\n    \"\\n\",\n    \"dls = DataLoaders(train_dl,valid_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we're ready to create our `Learner` class:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Learner:\\n\",\n    \"    def __init__(self, model, dls, loss_func, lr, cbs, opt_func=SGD):\\n\",\n    \"        store_attr()\\n\",\n    \"        for cb in cbs: cb.learner = self\\n\",\n    \"\\n\",\n    \"    def one_batch(self):\\n\",\n    \"        self('before_batch')\\n\",\n    \"        xb,yb = self.batch\\n\",\n    \"        self.preds = self.model(xb)\\n\",\n    \"        self.loss = self.loss_func(self.preds, yb)\\n\",\n    \"        if self.model.training:\\n\",\n    \"            self.loss.backward()\\n\",\n    \"            self.opt.step()\\n\",\n    \"        self('after_batch')\\n\",\n    \"\\n\",\n    \"    def one_epoch(self, train):\\n\",\n    \"        self.model.training = train\\n\",\n    \"        self('before_epoch')\\n\",\n    \"        dl = self.dls.train if train else self.dls.valid\\n\",\n    \"        for self.num,self.batch in enumerate(progress_bar(dl, leave=False)):\\n\",\n    \"            self.one_batch()\\n\",\n    \"        self('after_epoch')\\n\",\n    \"    \\n\",\n    \"    def fit(self, n_epochs):\\n\",\n    \"        self('before_fit')\\n\",\n    \"        self.opt = self.opt_func(self.model.parameters(), self.lr)\\n\",\n    \"        self.n_epochs = n_epochs\\n\",\n    \"        try:\\n\",\n    \"            for self.epoch in range(n_epochs):\\n\",\n    \"                self.one_epoch(True)\\n\",\n    \"                self.one_epoch(False)\\n\",\n    \"        except CancelFitException: pass\\n\",\n    \"        self('after_fit')\\n\",\n    \"        \\n\",\n    \"    def __call__(self,name):\\n\",\n    \"        for cb in self.cbs: getattr(cb,name,noop)()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This is the largest class we've created in the book, but each method is quite small, so by looking at each in turn you should be able to follow what's going on.\\n\",\n    \"\\n\",\n    \"The main method we'll be calling is `fit`. This loops with:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for self.epoch in range(n_epochs)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"and at each epoch calls `self.one_epoch` for each of `train=True` and then `train=False`. Then `self.one_epoch` calls `self.one_batch` for each batch in `dls.train` or `dls.valid`, as appropriate (after wrapping the `DataLoader` in `fastprogress.progress_bar`. Finally, `self.one_batch` follows the usual set of steps to fit one mini-batch that we've seen throughout this book.\\n\",\n    \"\\n\",\n    \"Before and after each step, `Learner` calls `self`, which calls `__call__` (which is standard Python functionality). `__call__` uses `getattr(cb,name)` on each callback in `self.cbs`, which is a Python built-in function that returns the attribute (a method, in this case) with the requested name. So, for instance, `self('before_fit')` will call `cb.before_fit()` for each callback where that method is defined.\\n\",\n    \"\\n\",\n    \"As you can see, `Learner` is really just using our standard training loop, except that it's also calling callbacks at appropriate times. So let's define some callbacks!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Callbacks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In `Learner.__init__` we have:\\n\",\n    \"\\n\",\n    \"```python\\n\",\n    \"for cb in cbs: cb.learner = self\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"In other words, every callback knows what learner it is used in. This is critical, since otherwise a callback can't get information from the learner, or change things in the learner. Because getting information from the learner is so common, we make that easier by defining `Callback` as a subclass of `GetAttr`, with a default attribute of `learner`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Callback(GetAttr): _default='learner'\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`GetAttr` is a fastai class that implements Python's standard `__getattr__` and `__dir__` methods for you, such that any time you try to access an attribute that doesn't exist, it passes the request along to whatever you have defined as `_default`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For instance, we want to move all model parameters to the GPU automatically at the start of `fit`. We could do this by defining `before_fit` as `self.learner.model.cuda()`; however, because `learner` is the default attribute, and we have `SetupLearnerCB` inherit from `Callback` (which inherits from `GetAttr`), we can remove the `.learner` and just call `self.model.cuda()`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SetupLearnerCB(Callback):\\n\",\n    \"    def before_batch(self):\\n\",\n    \"        xb,yb = to_device(self.batch)\\n\",\n    \"        self.learner.batch = tfm_x(xb),yb\\n\",\n    \"\\n\",\n    \"    def before_fit(self): self.model.cuda()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In `SetupLearnerCB` we also move each mini-batch to the GPU, by calling `to_device(self.batch)` (we could also have used the longer `to_device(self.learner.batch)`. Note however that in the line `self.learner.batch = tfm_x(xb),yb` we can't remove `.learner`, because here we're *setting* the attribute, not getting it.\\n\",\n    \"\\n\",\n    \"Before we try our `Learner` out, let's create a callback to track and print progress. Otherwise we won't really know if it's working properly:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class TrackResults(Callback):\\n\",\n    \"    def before_epoch(self): self.accs,self.losses,self.ns = [],[],[]\\n\",\n    \"        \\n\",\n    \"    def after_epoch(self):\\n\",\n    \"        n = sum(self.ns)\\n\",\n    \"        print(self.epoch, self.model.training,\\n\",\n    \"              sum(self.losses).item()/n, sum(self.accs).item()/n)\\n\",\n    \"        \\n\",\n    \"    def after_batch(self):\\n\",\n    \"        xb,yb = self.batch\\n\",\n    \"        acc = (self.preds.argmax(dim=1)==yb).float().sum()\\n\",\n    \"        self.accs.append(acc)\\n\",\n    \"        n = len(xb)\\n\",\n    \"        self.losses.append(self.loss*n)\\n\",\n    \"        self.ns.append(n)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we're ready to use our `Learner` for the first time!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0 True 2.1275552130636814 0.2314922378287042\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0 False 1.9942575636942674 0.2991082802547771\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"cbs = [SetupLearnerCB(),TrackResults()]\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs)\\n\",\n    \"learn.fit(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It's quite amazing to realize that we can implement all the key ideas from fastai's `Learner` in so little code! Let's now add some learning rate scheduling.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Scheduling the Learning Rate\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we're going to get good results, we'll want an LR finder and 1cycle training. These are both *annealing* callbacks—that is, they are gradually changing hyperparameters as we train. Here's `LRFinder`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LRFinder(Callback):\\n\",\n    \"    def before_fit(self):\\n\",\n    \"        self.losses,self.lrs = [],[]\\n\",\n    \"        self.learner.lr = 1e-6\\n\",\n    \"        \\n\",\n    \"    def before_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        self.opt.lr *= 1.2\\n\",\n    \"\\n\",\n    \"    def after_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        if self.opt.lr>10 or torch.isnan(self.loss): raise CancelFitException\\n\",\n    \"        self.losses.append(self.loss.item())\\n\",\n    \"        self.lrs.append(self.opt.lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This shows how we're using `CancelFitException`, which is itself an empty class, only used to signify the type of exception. You can see in `Learner` that this exception is caught. (You should add and test `CancelBatchException`, `CancelEpochException`, etc. yourself.) Let's try it out, by adding it to our list of callbacks:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0 True 2.6336045582954903 0.11014890695955222\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0 False 2.230653363853503 0.18318471337579617\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"    <div>\\n\",\n       \"        <style>\\n\",\n       \"            /* Turns off some styling */\\n\",\n       \"            progress {\\n\",\n       \"                /* gets rid of default border in Firefox and Opera. */\\n\",\n       \"                border: none;\\n\",\n       \"                /* Needs to be in here for Safari polyfill so background images work as expected. */\\n\",\n       \"                background-size: auto;\\n\",\n       \"            }\\n\",\n       \"            .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\\n\",\n       \"                background: #F44336;\\n\",\n       \"            }\\n\",\n       \"        </style>\\n\",\n       \"      <progress value='12' class='' max='74', style='width:300px; height:20px; vertical-align: middle;'></progress>\\n\",\n       \"      16.22% [12/74 00:02<00:12]\\n\",\n       \"    </div>\\n\",\n       \"    \"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"lrfind = LRFinder()\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[lrfind])\\n\",\n    \"learn.fit(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And take a look at the results:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX4AAAD/CAYAAAD2Qb01AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd3ic1ZX48e8ZjXqvtixbkiu2McGN4tBMC21TCCSB1N0UErIkm+wmYTdZFnaXDWx+yW42jQSWJCQhbAiQAAmQhGIMGAw2tsG9SnJX79LU8/tjikbSjDTqI8/5PM88jN736tUdWZy5c95z7xVVxRhjTPJwTHUHjDHGTC4L/MYYk2Qs8BtjTJKxwG+MMUnGAr8xxiQZC/zGGJNknFPdgXiUlJRodXX1VHfDGGOmlc2bNzeqaunA49Mi8FdXV7Np06ap7oYxxkwrIlIb7bileowxJslY4DfGmCRjgd8YY5KMBX5jjEkyFviNMSbJWOA3xpgkY4HfGGMSUEevhxNtvfj94790vgV+Y4xJQL96rY5z73oOt88/7te2wG+MMQnIEwz4qSnjH6Yt8BtjTALy+PykOIQUh4z7tS3wG2NMAnL7/DgnIOiDBX5jjElIHq+SNgFpHrDAb4wxCcnr95PqtMBvjDFJw+Pzk5piqR5jjEkabq9OSEUPWOA3xpiE5PH5pzbHLyK/EpHjItIuIntF5NMx2v1YRDojHi4R6Yg4v05EeiPO7xmvF2KMMacSj8+Pc4pTPXcB1aqaB7wHuFNEVg1spKqfU9Wc0AN4CPjtgGa3RLQ5bUy9N8aYU1Qgxz+FI35V3aGqrtCXwcf8ob5HRLKB64AHxtRDY4xJQh5fAuT4ReRHItIN7AaOA08N8y3XAQ3A+gHH7xKRRhF5RUTWjqSzxhiTLKY8xw+gqp8HcoELgMcA19DfwSeAX6hq5NJytwLzgArgXuBJEYn6yUFEbhKRTSKyqaGhId5uGmPMKcHj85PqTIByTlX1qerLwGzg5ljtRGQOcBHwiwHfv1FVO1TVpaoPAK8AV8f4Wfeq6mpVXV1aWjqSbhpjzLTnToRUzwBOhs7xfxzYoKoHh7mOAhPzlmaMMdOYx+vH6ZiiwC8iZSJyg4jkiEiKiFwB3Ag8P8S3fRz4+YDrFIjIFSKSISJOEfkIcCHwpzH03xhjTkken5+0CUr1OONoowTSOj8m8EZRC3xJVR8XkUpgJ7BUVesARGQNgVTQwDLOVOBOYDHgI3CT+H2qarX8xhgzgNc/cameYQO/qjYQyNdHO1cH5Aw49iqQHeM6Z42um8YYk1zc3imu4zfGGDO5pnwClzHGmMkVqONPgHJOY4wxk8PjU5w24jfGmOThtlSPMcYkF6+leowxJnn4/IpfsRG/McYkC4/PD2B77hpjTLJwhwK/jfiNMSY5eLyhwG85fmOMSQoeX2A1exvxG2NMkvBYqscYY5JLX+C3VI8xxiSFUKpnyrdeNMYYMzks1WOMMUkmVM7ptFSPMcYkh1A5p6V6jDEmSXj9wXJOm7lrjDHJwWbuGmNMkkmImbsi8isROS4i7SKyV0Q+HaPdX4uIT0Q6Ix5rI85Xi8gLItItIrtF5LJxeh3GGHPKSJSZu3cB1aqaB7wHuFNEVsVo+6qq5kQ81kWcewjYAhQD3wAeEZHSUfbdGGNOSQlRzqmqO1TVFfoy+Jg/kh8kIouAlcDtqtqjqo8CbwPXjeQ6xhhzqnMnysxdEfmRiHQDu4HjwFMxmq4QkcZgSug2EXEGj58OHFTVjoi224LHjTHGBIVG/FNezqmqnwdygQuAxwBXlGbrgWVAGYGR/I3AV4PncoC2Ae3bgtccRERuEpFNIrKpoaEh3m4aY8y0502QHD8AqupT1ZeB2cDNUc4fVNVDqupX1beBfwOuD57uBPIGfEse0EEUqnqvqq5W1dWlpXYbwBiTPBJ1By4n8eX4FQglqXYA80QkcoR/ZvC4McaYoPCSDY4pyvGLSJmI3CAiOSKSIiJXEEjhPB+l7VUiMiP4fDFwG/A4gKruBbYCt4tIhohcC7wDeHT8Xo4xxkx/Hu/Up3qUQFrnCNACfBv4kqo+LiKVwVr9ymDbS4G3RKSLwM3fx4BvRlzrBmB18Dp3A9erqiXwjTEmgsfnJ8UhpEzQiN85XINgYL4oxrk6AjdtQ19/BfjKENeqAdaOtJPGGJNMPD7/hJVygi3ZYIwxCcfj0wlL84AFfmOMSTgen3/CavjBAr8xxiQcj88/YZuwgAV+Y4xJOG6f31I9xhiTTDw+tVSPMcYkE4/XRvzGGJNUvH4/qU7L8RtjTNJwWzmnMcYkF4/XT6rDAr8xxiQNj89SPcYYk1Q8Vs5pjDHJxXL8xhiTZLy2ZIMxxiQXW53TGGOSjMenOG3Eb4wxycPW6jHGmCQTWJbZUj3GGJM0bK0eY4xJMh6/kuq0wG+MMUlBVRNjApeI/EpEjotIu4jsFZFPx2j3CRHZHGx3RES+JSLOiPPrRKRXRDqDjz3j9UKMMeZU4PMrqpDqmPoc/11AtarmAe8B7hSRVVHaZQFfAkqAc4BLga8MaHOLquYEH6eNst/GGHNK8vgUYEJTPc7hm4Cq7oj8MviYD2we0O6eiC+PisiDwMVj7aQxxiQLt88PMPWpHgAR+ZGIdAO7gePAU3F824XAjgHH7hKRRhF5RUTWDvHzbhKRTSKyqaGhId5uGmPMtOYJBv6EKOdU1c8DucAFwGOAa6j2IvI3wGrg2xGHbwXmARXAvcCTIjI/xs+7V1VXq+rq0tLSeLtpjDHTmjeU6kmEET+AqvpU9WVgNnBzrHYi8j7gbuAqVW2M+P6Nqtqhqi5VfQB4Bbh6dF03xphTj2cSUj1x5fhjfF/UkbqIXAncB1yjqm8Pcx0FJu7zjDHGTDOhHL9zKlM9IlImIjeISI6IpIjIFcCNwPNR2l4CPAhcp6qvDzhXICJXiEiGiDhF5CME7gH8aXxeijHGTH99Of6pTfUogbTOEaCFQM7+S6r6uIhUBuvxK4NtbwPygaciavWfDp5LBe4EGoBG4AvA+1TVavmNMSbI4534HP+wqR5VbQAuinGuDsiJ+Dpm6WbwOmeNoo/GGJM0wuWctmSDMcYkB2/45m4ClHMaY4yZeKGZu1Od4zfGGDNJPOGqHgv8xhiTFNyW6jHGmOSSKOWcxhhjJslkzNy1wD/O9pzo4J51B6a6G8aYaWoylmW2wD/OHttyhP98Zjfdbu9Ud8UYMw15LMc//TR1ugFo6fZMcU+MMdORxxsM/A4b8U8bTZ2B1aqbg28AxhgzEpbqmYaaugIBv7nbAr8xZuSsnHMaCqd6uizwG2NGLpzjt1TP9KCqNHUFUz0W+I0xo+D1KU6H4HDYiH9a6Hb76PUE3q1bkjzVs7m2hdt+vx1VnequGDOteHz+Ca3hBwv846op4oZuso/4n9x2jF++Vhu+52GMiY/b55/Q3bfAAv+4auzq238+2Uf8h5u7Aaht6p7inhgzvXh8/gldrgEs8I+r0Ig/MzVl2oz43V4/9e29437d2mDgr2vuGvdrG3Mq83jVUj3TSaiGf0FZzrQJ/A9sqOGCb71AbdP4BWi/X8Mj/rqmnnG7rjHJwOPzk+q0VM+0EcpnLyzLoblreszcPdjYhcvr5+6nd4/bNRs6XbiCsw9rbcRvzIh4/Aky4heRX4nIcRFpF5G9IvLpIdp+WUROiEibiPxURNIjzlWLyAsi0i0iu0XksvF4EYmiqdNNTrqTmfkZtHS7p0VFSyjN8/T2E2w82DQu1wzl9Z0Ooc5y/MaMiMebODn+u4BqVc0D3gPcKSKrBjYSkSuAfwQuBaqBecC/RjR5CNgCFAPfAB4RkdJR9z7BNHW5KM5Joyg7DZ9fae9N/IXaTnb0smZeMbPyM/j3P+7E7x/7m1VdMM2zsrIw/NwYEx9PolT1qOoOVQ2VrGjwMT9K008A9wfbtwD/Dvw1gIgsAlYCt6tqj6o+CrwNXDe2l5A4mjrdFGenUZiVBkyP2bsn211UFWdx61WL2X60nUffPDLma9Y1d+MQWDO/mPoOFz1u3zj01Jjk4E6kOn4R+ZGIdAO7gePAU1GanQ5si/h6GzBDRIqD5w6qaseA86fH+Hk3icgmEdnU0NAQbzenVGOni+KcdIqyA4E/0dfr8fr8NHa6KMvL4D1nzmJFZQH/70976HKN7ZNKXVMX5fmZzC/LCXxto35j4pZQE7hU9fNALnAB8BjgitIsB2iL+Dr0PDfKudD53Bg/715VXa2qq0tLp0c2qKkrOOLPnh4j/oZOF6owIy8dEeG2v1pKfYeLe9cfHNN165q7qSzKorIoK/y1MSY+Hp8mTI4fAFX1qerLwGzg5ihNOoG8iK9DzzuinAud7+AU4PcrzV3uQI4/mOpJ9FmrJ9sD790zcjOAQE7+wkWlPL71aNT2T2w7xnt/8HJ4EalY6pp7qCrOoioY+MezVNSYU11gxJ8AOf4onETP8e8Azoz4+kzgpKo2Bc/NE5HcAed3jLIPCaW914PPrxRnp1OUMz1G/CeDFT0z8zPCxy45rZSapm5qGgcH64c21rHtSBuvDVH90+320tjpYk5RFgVZqeSmO8M1/caY4Xl8CVDOKSJlInKDiOSISEqwcudG4PkozX8BfEpElopIIfDPwM8BVHUvsBW4XUQyRORa4B3Ao+P0WqZUY3DWbnFOGtlpKaSlOBI+xx8q5SzLC1fcsva0MgDW7anv17at28PrNc0APLP9RMxrhtI6lUVZiAiVxVnhWbzGmOElSo5fCaR1jgAtwLeBL6nq4yJSKSKdIlIJoKrPAN8CXgBqg4/bI651A7A6eJ27getVdXrcuR1GaNZuSU4gX16YnToNRvwuUhxCcXZf4K8uyWZuSTbr9vb/Z1m3tx6fX5lbks2fdpzEF6PsM1S3X1WcFf6v1fIbE7+ESPWoaoOqXqSqBaqap6pnqOp9wXN1qpqjqnUR7f9LVWcE2/5NRBkoqlqjqmtVNVNVT1PVZyfmZU2+UD6/OJjmKcxKS/jZuyfbeynNSSdlwLrfFy0q5dUDTfR6+sow/7LzJCU56XzpsoU0drrYUtcS9ZqRI36AOUVZHGnpiflGYYzpz+NNjBG/iUNoxB8q5SzKTkv4FTpPdriYEZHmCVl7Wikurz+cy3d7/by4p4HLlpRxyeIy0lIcMdM9dc3d5GY4yc9MBaCqKBu3z8+JCVgIbix6PT6++tttHGmxTyMmsbh9OqH77YIF/rBvPbObh984POrvD+X4QxU9hdlpg1I99R29rL7zWf7l8e0JMampvr2XsryMQcfPnVdMutPBuj2BdM/rh5rpcHm5bMkMcjNSOW9BMX/aeSLqkhR1zd1UFQfy+9A38k+0yp49Jzr47eYjPP127PsVxkwFW5Z5khxv6+GeFw/wyBhmrTZ3uSnMSsUZ/AcrykobdHP3rcNtNHa6+MWrtVzzvZfYdrh11D+vtqmL+o6xjaJPtvdGHfFnpKawZn5x+Abvs7tOkpHq4LwFJQBcuWwmh5t72Hm8fdD3hmr4Q0K5/kSr7KnvCHxC23Vi8GswZip5EyHHnwx+t+UoqmMLToF1evqCaGF2Gq3dHrwRNe/7GzoB+PFHV9Lr8fH+ezbwkxcPjPhnqSofvX8j//rEzlH31+X10dLtCdfwD7R2UV9Z5192nuT8BaVkpqUAcNmSGTgE/jQg3ePzK0eae5gTEfjL8zNwOiThNmRpCAb+3cdPiWkk5hTi8Wl4ADlRkj7wqyqPbg6M9E+09/a7oTkSjcF1ekJCz1t7+m7w7q/vpDQ3nSuXlfP0ly7kgoUl3P3Mbrrd0ZdIiDWiP9DQyeHmHg5FqbWPV31o8laUVA/0lXX++MUDHG3t4fKlZeFzxTnpnFVdxDM7+gf+k+29uH1+qoqyw8ecKQ4qCjMTrqQz9LvdX9857IQ0YyaLqibWWj2nqreOtHGgoYuz5xahCkdaRrdxSFOni5IBI37oP4lrf30nC0oD69fkZ6byvuUVqMLxtsEB/khLN+d+8zn++NbxQedCufejraPf5ORklBr+SNUl2VQXZ/GbTYcRgUsWz+h3/splM9l7spODwU8xMLiiJ6SyKGvUn6Zau9184qevs7++c/jGIxBK9bh9fg42JNb9B5O8vMHqtzRL9UysR988QrrTwefXBiYij3arwKYud7iiB/pu8oZ24lJVDjR0siC4cBkE0iAAx6IE8H31nfgVfrdl8H2H9fsaAWjr8dA5ygXVTg4z4ofAqF8Vls8poDS3/xvEFafPBOg36o8V+KuKs0ad6nnszaO8uLeB1w81j+r7Y2nocJGRGvjz3215fpMgQp8+bcQ/gVxeH09sO8a7Tp/J6bPygdFtDu7x+Wnt9oRr+AEKswPljKGSzoYOFx293n6Bf1ZBJgDHWweP+ENvBuv3NtLe25cu6vX42HiwiZnBgH10lJ9QQiP+oQN/YHG8y5bMGHRuVkEmZ1cXcd/6g+Fr1TV1k+IQZhX0v2ZlURZtPR7aukc2r0FVeXhToNKqsTPamoCjV9/hYsWcQlJThF2W5zcJwuMNjPgt8E+gF3bX09rt4bqVFZTkpJGVljKqlSRbwpO3+kbF4aWZg5O4QqmKyMA/Mz8Dkegpm1BAd/v8PLfrZPj4xkPNuLx+PnTWnEC71uH7+82ndvHQ63X9jp3s6CUtxUFhVmrM7zt/QQlfv3oxHzmnMvp1338GvR4/f//wVvx+pa65m4qCzEE3piqDOf+R/m53HGtn94lAUG4a58Df0N5LeUEGC8py2RWlOsmYqeDxB0f8Vsc/cR7ZfJSy3HQuWFgaWFemaHTLC4Rm7ZZEpHrCm7EER/yhip7IwJ+a4qAsN53jbVECf2sPFQWZlOdn9Mvzv7ingTSng/evrAi0G2bEv25PPfeuP8jPXjnU73h9u4uy4HLMsThTHNx04XwKstKinl9QlsPt717KK/ub+Mn6g4NKOUPCtfwjTKP9dtNh0pwOZuSlh+dJjERDh4s/7xhcp6+qNHS6KMvNYEl5rqV6TMIIp3ocluOfEE2dLtbtqefaFRXhJQsqi7JGNeJv6hw84s9ITSErLSV8bn99JznpTsoG5MrL8zM5FiXVc7Slh9mFmVx9Rnm/dM/6fQ2cM7eIOYVZpKU4ODLEDV6318+/PRko+dx7spPWiHkFgRr+2GmeeH3orDlcfcZMvvPnPew+0U5lcZTAXzzydfl7PT5+v/UYV5w+k6ribBpGMeL/3nP7+OyvNg+6D9La7cHjU8py01kyM4+T7a7wvRhjppKleibYH946jtevXLdqdvhYVXEg8A+37+wDG2r6LVnQ1NV/uYaQyGUbDjR0Mr8sZ9AIe1ZBBseijPiPtfZQEQz8oXTP0dYe9td3ctGiUhwOobwgY8gR/09fOcTBxi5uDt643lzbt75OrMlbIyUi3HXtOyjLTafX44864s9Jd1KSk8bTb5/gwY21bK5tGfam9LO7TtLW4+EDq2ZTkpM24lSPqvLCnvpgpVb/N5xQRU9pbjqLywOrhO+2dI9JAG6fpXom1Cv7G6ksymLRjL7tASqLsnB5/UOOLg80dPKvT+7gjid2hCdnhdIQJTmDA39oJBlZyhlpVn4mx1p7+i1/4AmubTO7IJMVcwqYFUz3rA+umHnhosBN14qCzKgVQQAn2nr53nP7uGzJDP7u0oWkpkh4WWUIpnpiTN4aqfysVL57wwrSnQ7eUZEftc21Kyo41NjFN363nevu2cCZ//pnNg6xrv/Dm45Qnp/BeQtKKMkZearnQENnuDT3cHP/31Fo8lZZbjpLygN7A+06YTd4zdQLpXqsnHMCqCqbals4q7qo3/HK4sBNyKEqe37w/H78Gpjs9dzuwJIGTZ0unA4hL6P/jdLCrMCIv73Xw8l2V7/8fkh5QSa9nkBVUMiJtl78ChWFmTgcwlXBdM8f3zpOeX4GC4PXqSjIjFnLf9fTu/D6lX/5q6VkpKZwRkU+m2oCI/4ul5cOl3dcUj0hZ88t4u07ruCdwWUdBvrGNUt5+4538dLXLubej63Cr8prB6OXaB5v6+GlfQ1cv2p2eNnoth4Pbm/8E61Ccx0g2og/NIchg5KcdEpy0m3EbxKClXNOoAMNXTR3uTl7bmG/48PtEXuwoZPHtx7lk+fNpTw/g1+9VgsEcvxF2Wk4BtyQCY34D0Sp6AmpCJY+Rgbw0PNQuWco3fPy/kYuDN6IhsAbQ32Ha1BA3FTTzONbj/G5C+eF8+tnVRfx1pFWej2+iFLOsad6IqUN8/FURJhTlMW7Tp9JdXF2zGqax94MLKFxfTANV5Lbf05EPF7YU8/CshwyU1MGjfgjUz1A8AavjfjN1PP4LMc/YTYFUx6rB4z4KwoycQjUxVhJ8gfP7yfN6eDzF8/nhrMqeWlfI7VNXYFN1nMGB9HCrMAKndFKOUPK84O1/BGzd0Ppm4pg4A+le6AvzRM6H5j52z+wPbHtGNlpKdy8dkH42FnVRXh8yrbDrXFN3ppoS8pzYy6Q9uS2Y5xdXURV8BNYaKOYeGv5u1xe3jjUwsWLy5hTlMnhASP+hg4XWWkp5KQ7g33JY8/Jjn7rKhkzFUIjfqelesbf6zXNFGenMa8ku9/xNKeD8vzMqCP+gw2d/H7rUT52bhUlOenccPYcUhzCrzfW0dTlGpTfByjKTqXL7WPn8XbSUhzMKcwc1CY0qo/M1Ydu2IbOORzCu8+cRVqKg/MjUikVwesNvMG7/Wgbp1fkhxdVA1hVFfh0s6m2JZzqGO8R/0gsnplHbVM3XQNu8na6vOw52cE7FxSHj5UGR/zxBv4NB5pw+/ysPa2UOYVZg5bhqO9w9auuWjwzF7fXT02CLR1tkk9fjt9G/OPujZpmVlcXRq1hr4qxR+wPXgiM9m+6MFAhMyMvg8uXzODhTYc53to7qKIH+tbreaOmmeqSrKgr7hVnp5GW4uhX2XO0tYeSnHQyUvsC95cuW8RTf3c++RETrkKfCCJLOn1+ZefxdpbN6n+TtTA7jUUzcnijpjlinZ6pHPEHbqoOTLG8daQVVThzTkH4WGjE3xTnDd4X9tSTnZbC6qoiZhdmcqS5u9/N8/r23n5LUCyeGbzBazN4zRSzHP8EOdHWy+HmnkE3dkOi7RF7qLGL328JjPYjA8ZHz62ipdvDifbefvvWhoRW6Nx5rD1qmgcIl2VG1vIHJm/1D8qZaSksKMvtd6w8PzMw8zdiRHuwoZNej59lFXmDftbq6iI217RwrLWXzNQUcoOpjqmwJFRGOSDds+1wGwDLZ/cF/pLc+FM9qsqLexo4f2EJaU4Hc4qy6HB5aYtYJTU0eStkQVkOTofYDF4z5dyJUscvIukicr+I1IpIh4hsEZGrYrT9cXDz9dDDJSIdEefXiUhvxPk94/li4vFGML8fK/DPKcqiqcvdr878py8fIjWlb7Qf8s75xVQHb54WR0n1hGbv+pWopZwh5fkZHB9wc7ciSlpooDRnYOZv5I3ht48GAucZUcoqz64uosPlZf2+huByERObRxxKRUEmuRnOQcF22+FWqoqzwp+WALLTUkh3OsIzpIeyr76To6094WWlZwd/j5HpnoZ2V7838DSngwVlOXaD10y5cKrHOfU5fidwGLgIyAduAx4WkeqBDVX1c8HN13NUNQd4CPjtgGa3RLQ5bUy9H4VNNc1kpaVw+qzBI2IgvJZ8aNTf6/Hx+NajXLls5qAVKh0O4SPnVAGDa/ih/4Su+TFG/BDI5Ydy/KoamLxVMHzgh8G1/NuPtpOR6mBelDea1dWBPP/Bhq5BM4gnm4iwZGbeoPTKtiOtnBkx2g+1LclJp7Fj+BF/aNew0AJzswv77wDW4/bR4fIO+rdcPDPXSjrNlPP6EyTVo6pdqnqHqtaoql9V/wAcAlYN9X0ikg1cBzwwPl0dH6/XtLCysjDmDjcDSzr/vPMk7b1ePrBqTtT2H1w9hytOn8G584oHnYsctcZK9UBgEtfJDhden5+mLje9Hn/4xu5wKgqz+o34tx9rY2l5XngZin5tg2v/wNRW9IQsLs9lz4mO8Ezpk+29HG/r7ZffDynJSaMxyoj/Cw9t4dLvrON/nt1HTWMXL+xuYPHM3HC1VGg3sNCIP3LyVqSls/I41tY77ovBGTMSoSUbEm4HLhGZASwCdgzT9DqgAVg/4PhdItIoIq+IyNqR/vyxaO/1sPtEe3jkG03fujKBCo/fbjpMRUEm75w/OLBDYNbqTz62Olx6GKkgM3AjVgTmlQw94vf5lfoOVzhfP5IR//HWXvx+xe9Xdh5rZ1mM2bMiEk5xTWVFT8iS8jw6Xd5wUA7tQbx8zuD+Rxvxqyrr9tTT1OXmu8/tZe231/HqwaZwmgcCG97kZjjDJZ2Rk7ciragM/E1sHcM+yMaMVXjJhkQq5xSRVOBB4AFV3T1M808Av9DIcgq4FZgHVAD3Ak+KyPxo3ywiN4nIJhHZ1NDQEK3JkFSVO57YwQMbasLHNte2oBrIdceSn5lKfmYqdc3dHGvt4eX9jVy3smLQ5Kx4OFMc5GemUlGQ2a+0cqDy4I3c4209fTX8ceT4Q+3cvsAyEzVNXXS6vIMqeiKdFXzTS4QRf99yCYEUy9bDraQ4JLw3QqTinLTwmkghLd0eOnq9fOGShWz4x0v4+tWLuWhRKR9YPbtfuzmFfTuAhSdvDZh3sWxWPk6HsKXOAr+ZOglXzikiDuCXgBu4ZZi2cwjcE/hF5HFV3aiqHarqUtUHgFeAq6NdQ1XvVdXVqrq6tLQ0WpMhef3KkZYebn9iB3c/vRu/X9lU04zTISyvHJxKiBTaMSq0CXvkQm4jVZqb3m89oGhCo/ujrb3htM3sgsGLnUX/3kAAP9LSw/ZjgQAaa8QP8M4FJTgE5pUO/oQy2RbNyEGE8A3ebUdaWTwzt18Za0hJTjpNne5+C+iF6u6ri7Moz8/kpgvn88Anz2b+gPsbc4oyB6d6BnziyUxLYUl5Hm/WtWDMVJmscs646vkkUP5xPzADuFpVh9tK6ePABlU9OEw7BSbkM01qioMff3Qltz+xgx+/eIATbT3UNndzekU+WWlDv+w5RVlsP9rG4eZuzp5bFDWNE6///uBycjOG/nmhvPvx1h6OtyRVve0AACAASURBVPWSnZZCXmZ8pZYVwTeIo6097DjaRlqKg4UzYqeV5pfmsP5rF8edSppIWWlO5gaXbvD7lbcOt/Ge5bOiti3OScfrV9p7PeH9AWqCm81Xlwz97zO7MIv1extRVeo7eklxSHhrzEgrKgt4dPMRfH6Neo/EmImWaEs23AMsAd6tqvHs9fdx4OeRB0SkQESuEJEMEXGKyEeAC4E/jaTDI+FMcXDn+5bx1StO4/dbj7GlrpWzqmLn90OqigIj/pqmbj4whtE+wBmz84cNTLkZqeSmOznW2hMu5Yy31DJy9u72Y20sLs8d9o9mdmHWlJZyRlocXCfnYGMXHS5v1Bu70Fc1FVnLX9PUjUP6SjZjmVOYSY/HR2Onm/r2wCzraKm7FZUFdLl97Ku3sk4zNTyJkuMXkSrgs8By4EREDf5HRKQy+Lwyov0aYDaDyzhTgTsJ3PBtBL4AvE9VJ7SWX0T424sX8F8fPJPcDCfvCm4SPpSq4A3erLQUrj6jfCK7FzarIJNjbb0jKuWEwFr3+ZmpHGnpZvvR9qj58US2JLh0w4YDgQ3kl8cM/KFJXH2VPbVNXcwqyCTdGfv+CURW9nQPmrwVacWcwKDA8vxmqnh8fpwOmfCB2bD5BFWtZeh0TL+8gqq+Cgwa4qpqA3DWSDs4Xt6/cjbXrqiI6xcaChTXnFFO9iTNbg3M3g2M+FcMcw9ioIqCTDYeaqatxxN14lYiWxy8wfvwpsNkp6UMys+H9AX+iBF/Yxdzh/k0BRG1/C091Le7wqm1gaqKsyjKTmNLXQs3nh19n2FjJpLHpxOe5oEkW7Ih3nfRMyryOX9BCZ++YN4E96jPrIJMDjV20drtibuGP6SiMDO8Ami0pRoSWWjphu1H2zljdn7M3HpoZnTkej01Td3hT2dDCaWCDjd3U9/hGjR5K0REWDGngDdtxG+miNvrn/A0DyRZ4I9XbkYqv/r0OZw2c+hqnPE0Kz+DbrcPiL+GPyTU3umQYSuIEk1o6QYgZn4fAstfOKRvxN/a7aatx0N1HDfes9OdFGWnUdfUTXOXa8hZyysqC9hf39lvbR9jJovH5x92X4vxYIE/QUSO8oe7WTlQKPAvnBG9FDKRhZZugMC+A7GkOISi7L4tGA+FKnrirLiaU5jJtiOt+BVKh5jDEJrItc0mcpkp4PH5LdWTTEJLDACjSvUALIux/lCiC6V7hhrxQ3DZhuCIP7Q9ZnVJfPMdZhdlsedkoFpn4OStSO+YnY+I3eA1U8M7STn+qVuX1/QTma4Z6SbooU8IQ03cSmQfW1PFrIJMZg4zmzgwiSsQ+GuauhDpu3E7nNmFgd3KYPDkrUi5GaksKstly2GbyGUmn9vnn/Ddt8ACf8KYkR8IRuUFGSOePLRsVj5fv3ox71tRMRFdm3ALynIH7TUQTXFOGnV1gZF+TWMXs/Iz405tzYl4gxhqxA+BPP/T20/g9+uoluowZrQ8Pv+EL9cAlupJGOnOFEpz00c1o9bhEG66cD75manDN57G+o/4u+NO80BfiS4Qs6onZEVlAW09Hg7ZVoxmklk5ZxL68NmVXDtNR+2ToTgnjS63jx63j9qmrhEtpRFKh+Vnpg77KWFlZd9ELlWlrdtDbVMX/dcbNGb8BW7uWqonqXz58kVT3YWEFprEdaChk5ZuD3NHEPhDn6SGG+1DYD2j3HQn//bkDm5/fDtdwTLb+z6+msuXzhhFz42JT6CO30b8xoSF1uvZXBu48RrP5K2QjNQUZuSlx7XzmMMhfPHShayZX8yHzqrk61cvBrA9eUegrdvDeXc/z8fu38gjm4/028rUxOb166TU8duI30wboRF/KPAPt/jdQH9z3ty4t5z8zIXz+Ax9M7fvf/lQuIR0KA0dLj7w4w3894eWh+cEJKP9DYG9jzt6Pby0r5F//v3bXLtiNt+8dlnCLBCYiAJr9Ux8WLYRv5k2iiMCv0jfNpnx+txF83n/ytGttlpVnB3elW0of9l5kpqmbl7cO/LNg04lDcGdzn79mXN59OY1nDuvmIder6O910b+Q7FUjzEDFAf3MD7a2kN5XsakzlKuKsqiJo4R/3O7TgKw81hyp4XqIza8WVVVxPuWB4oWGm1P4yF5fH5SbckGY/pkpKaQG1wtdSyb44xGVXEWDR0uut2xR6w9bh8v7w8sL70zye8H1Le7cAgUZwc+pYVXV+2wwD8Uj0+tjt+YgUqCOfqR5vfHKvRGU9cce9T/6sFGXF4/a+YVc6SlJ6kXeqvv6KUkJz08GbEkN7i6apd7qG9LepNVzmmB30wroXRP9QgqesZDqIKopjF24H9uVz3ZaSn8zXnVQHJXAQ1c/jrafgpmMJvAZUwUoQAy6ameotCIP/oNXlXl+d31XLCwlOXBjXSSOc9f395/+evwstqW6hmSrc5pTBShDVni2XlrPOVnpVKQlRqzpHPX8Q6Ot/VyyZIyynIzKMlJT+o8f31H/y0uA8tqp9HQaameoViqx5goKgozSXM6RlzKOR6qirJiBv5QNc/Fp5UBsHRWXtKO+L0+P01drkGroEautWSiS5gRv4iki8j9IlIrIh0iskVErorR9q9FxBexIXuniKyNOF8tIi+ISLeI7BaRy8bxtZgk8Ik11Tz+t+eRmTb5G85UFWdTGyPV89zues6cUxDOay8tz2NffQdur38yu5gQmrvcqDJoslxxxH4KZjBVTagcvxM4DFwE5AO3AQ+LSHWM9q+qak7EY13EuYeALUAx8A3gEREpHWXfTRLKTneypHxqNpypKs7iaEvPoGDe0OFi25FWLl1cFj62dFYeHp+G90JOJqEa/tIB+0qU5PTtoGYG8/gCiwAmxNaLqtqlqneoao2q+lX1D8AhYNVIfpCILAJWArerao+qPgq8DVw3mo4bM9kqi7Lwa2ACWaR1e+pRhUsiA3/wzSkZ8/z1wVm7luoZGa8/MKBIyBy/iMwAFgE7YjRZISKNIrJXRG4TkdDCE6cDB1W1I6LttuBxYxJeaO5A7YB1+p/bVc+MvHROj9j6cm5JNhmpjqTM89e3B2ftRkn1hJbVNoN5vIERv9ORACP+SCKSCjwIPKCqu6M0WQ8sA8oIjORvBL4aPJcDtA1o3wZE3XpJRG4SkU0isqmhIbnXPTGJoSp4QzlyElevx8f6fQ1csnhGv8XHUhzC4pl57Dw+8E/+1NeX6hk84ger5Y/F7QuO+BMh1RMiIg7gl4AbuCVaG1U9qKqHgimht4F/A64Pnu4EBiZn84AOolDVe1V1taquLi212wBm6pXmppOZmtJvEtdrB5vodvt4V5R1+kOVPcm2gUt9Ry8FWamkO/vfgA9tedlggT8qTzDwpyVKqkcCQ5n7gRnAdaoa71x0BUKvYgcwT0QiR/hnEjtlZExCERGqirP6TeJ6dtdJMlNTWDO/eFD7peV5tPd6B90TONUNnLwVEhrxN9kN3qjaewNhdTIWH4x3xH8PsAR4t6rG/CsWkauC9wAQkcUEKoAeB1DVvcBW4HYRyRCRa4F3AI+Oof/GTKrKiFp+VeXZnfVcuKgk6v+sS4M5/2TL8w+cvBUSmnxnqZ7oNuxvAvq2/pxI8dTxVwGfBZYDJyLq8z8iIpXB55XB5pcCb4lIF/AU8BjwzYjL3QCsBlqAu4HrVdUS+GbaqCrOora5G79f2XGsnRPtvVy2JPp2jItn5iISu7Kno9fDx+7fyO4Tp9YbQ8OAdXpCwoHflm2Iat3eBuaVZjNnEiYnDrvVi6rW0peuiSYnou1XgK8Mca0aYG383TMmsVQVZ+P2+jnZ0ctfdp7EIf3LOCNlpTmZW5Idc8T/2sFmXtrXyP0vHeL/feDMiez2pFFVGjqip3rSnSnkZThthc4oetw+XjvYxEfPqZqUn2dLNhgzAqFVOmubunl210lWVRWGdwaLZml5XswR/6baZgCeevv4KVPi2Nbjwe3zx9zUviQn3W7uRvHawSbcXj9rT5ucQhYL/MaMQGiVzlcPNLHjWHvMNE/Isop8jrT0hCc1RXqztoXcDCddbh9/3nliQvo72fp23hqc44fg7F1L9Qzy4t4GMlNTOHtu0aT8PAv8xozArIIMnA7hwY21AFwWpYwz0juD1T6hG3chLq+PbUfa+ODqOVQUZPLI5iMT0+FJFmvyVkhJrq3XE826PfWsmV88aduJWuA3ZgScKQ5mF2bS2OlmXkk280tzhmx/+qx8CrJSeWlfY7/jO4614/b6Oau6kPevrOCV/Y2caBv8qWC6CS/XECPwF2enW45/gJrGLmqaurlo0eTNV7LAb8wIVQY3gRlutA+BGbznzS/h5f0N/SZyba5pAWBlVSHvXzkbv8LjW49OTIcnUTypntZuT3iykgmM9oFJy++DBX5jRiy07eNw+f2Q8xeWcLLd1W+lzs21LVQWZVGWm8HckmxWVhbw6JtHpv0s3/p2F1lpKeSkRy8YDO+9a5O4wtbtbWBuSfak7ipngd+YEbp86QwuWzKDlcEtFodz/oISgHC6R1XZVNvC6qq+iTrvXzmbvSc72THNJ3vVd/TGTPOArdczUK/Hx6sHmiY1zQMW+I0ZsQsWlvK/n1iNM84NM+YUZVFdnMXL+wOB/3BzD42dLlZGBP53v2MWaSkOHn1zet/kjTVrN6TkFJ696/crf9pxgg/95FU+/cAmdhwbfoG+1w424ZrEMs4QC/zGTILzF5aEa7VD9furq/sCf35WKpctLeOJrcemdf67ocNFaV48I/5TJ9Xj8yuPbD7Cu767ns/+cjNHW3t4o6aZa773Ml/6vy0cbo6+XSfAuj0NpDsdnDtv8FpPE8kCvzGT4PwFpXS7fWypa2FzbQu56U4WlvVfkfy6lbNp6nLzwu76Kerl2NW394ZX4YzmVEz1/M+ze/nKb7fhdAj/c8Ny1n1lLeu/djE3r53PMztOcMl31rF+7+CVaXrcPp56+zjnLYi+1tNEssBvzCRYM78Yh8DL+xvZXNvCiqpCUhz9V0K5cFEpJTnp07amv8vlpcvtG7TzVqSstBQyUh2nzE5cbT0efvZKDVctm8nTf3cB711egTPFQX5mKrdeuZgXv3oxcwqzuOPJHYM+yf1swyHqO1zcvHb+pPfbAr8xkyA/M5Uz5xTwzPYT7DnZwaooKzCmpji4dsUsnt9dPy0DY0OolHOIHL+InFJ77/5iQw0dLi9fuGRhv414QmbkZfCNa5ZwsKGLB1+rDR9v7XZzz7oDXLq4jLOqJ2e2biQL/MZMkgsWlLCvvhPV/vn9SNevmoPXrzy+9dgk927swjX8Q1T1QGjT9cR+Y3ty2zGu+p+XcHljr6HU5fLy01cOcenisvAS3NFcsriM8xeU8N3n9tHWHVhz/551B+h0efnqlaeNe9/jYYHfmEly/sJA5YZD4Mw50UtBT5uZyztm50/LdE+sTdYHKslJS/gR/6831rHreDuvH2qO2eah1+to6fbw+YsXDHktEeEb1yyhvcfD957fx/G2Hn6+oYZrl1eweGbsN4yJZIHfmEmyorKA7LQUlpTnxZzgBHD9qtnsPN4eVzlgIulbpyd2qgcSf8Tf3OVm46HA2krr9kTfLqTX4+Pe9QdZM6+YVVXDb5yypDyPD501hwc21HDro2+jCl++fNG49nskLPAbM0lSUxz809VL+MIlQ48QwzX9m6fXEg71HS5SU4TCrNQh25XkpNPc5cbvH/9Zyi/va+TNupYxXePZnSfxK1QUZPLCnugVVo9sPkJ9h4tbhvm3jPTlyxeR7nSwfm8DHzm3clI2XInFAr8xk+ij51Zx5bLyIdsUZqdx2dIyfr/1KG7v9Knpr+8IlHJGu8kZqSQnDZ9faeke33SPqvIPv93KF369ZUxzIf604wQVBZl86vy5HGzoorapq995j8/Pj188wPI5BeHVV+NRlpvB165czOzCTG4ZJj000SzwG5OArl81m+Yud8wRZyIKTN4aOs0DhDeuGe9VOg8393Cy3cXR1h6eevv4qK7R6fLy0r5Grjh9ZnhntYHpnqe3n+BISw9/e/GCYd/kBvrEO6tZ/9WLh9y8ZzJY4DcmAV24sJSy3HS++NAWPnb/Rn7y4gF2HmtP6EXcapu6KY8j8IcncY3zhixv1ARuxBZmpfKTFw8O+l3VNHZx3/qDdLu9Ma+xbk89bp+fK5fNpLokm7kl2f3efFWV+186yNySbC6NseXmcByOkb1ZTAQL/MYkIGeKg1986mw+fE4lJ9t7uevp3Vz9vZf4h4e3JeQ2jYebu6lr7uacecPXpJcGV+gc7y0Y36hpJi/Dya1XLmbn8XZeidj8ptvt5VMPvMF/PLWLK7/7Eq8eaIp6jWe2n6A4Oy18w3btaaW8eqCJXk/gd765toVtR9r45HnVCRHAR2vYwC8i6SJyv4jUikiHiGwRkatitP2EiGwWkXYROSIi3xIRZ8T5dSLSKyKdwcee8XwxxpxKFs/M4/Z3n86fv3wRG79+KV+8dCG/23qUa3/0yqC883h5YtsxPv3AG3S5Yo+KowmtPHrBwuEXGyvODqZ6xrmk842aZlZXF3HtygrKctP5yfoD4XP//oedHGzs4utXL0YEbrzvNW77/XY6I15nr8fHC7vredfpM8Kzqi8+rQyX18+rBwNvFPe/fIj8zFSuWzV7XPs+2WLXlPVvcxi4CKgDrgYeFpEzVLVmQNss4EvARqAUeAL4CnB3RJtbVPV/x9hvY5LKjLwM/v7yRayqKuTv/m8Lf/X9l/mnq5aQmeagtdtDW4+Hc+YWsybKzUafX9lS18LO4+3sPNbO7hMdrK4q5B+vWtxvhdFXDzTx97/Zitev/MdTu/jmtWfE3b+X9jVQnp/B/NLh15TPz0zF6ZBxLels6nRxoKGL61fNId2Zwl+fV823ntnDzmPtHGrs4qHXD3Pz2vncdOF8PnZuNd/+8x5++soh1u9r4Hs3rODMOQVsONBIl9vHu06fGb7u2XOLyExNYd3uehaU5vCnHSf47EXzyUqLJ3QmrmF7r6pdwB0Rh/4gIoeAVUDNgLb3RHx5VEQeBC4eezeNMQAXLSrlyVvO5+YHN/P1373d75xD9vH1q5fwqfPnhm86Hm3t4YsPbWFzbaDEsTArlcribP735UPUNHXzgw+vICM1hUONXdz84GaqirNYM7+YX71Wx+VLZ3DxacPnsX1+5ZX9jVy5bGZcNzsdDqE4J41NtS38/JVDtPd6cXl9vHd5BYtm5A77/dFsCr6+s4Izoj9yThU/fH4/dz29i62HWzlzTgF/H6ybz0xL4ba/WsqVy2bypf/bynX3bOCrV5zG/vpOctOd/Sp1MlJTeOf8Yl7Y00CKw4FDhE+sqR5VHxPJiN+2RGQGsAjYEUfzC6O0u0tE7gb2AN9Q1XUxfs5NwE0AlZWVI+2mMaesOUVZPHbzeew92UF2upP8zFRSU4Sv/vYt7vzjLg40dPKv71nGi3sb+Mpvt+HzK3e//wwuOq2UmXkZiAgPbKjhjid38LH7N/KdDyznkz9/A4cIP/vrsynLS+eNQy3c+shb/PnLF1KQlTZkf9460kp7rzc8Mzke1cXZbDzUHJ4Z6xD48YsH+eg5lXz58kXD/syB3jjUTJrTwRmz84HAp4obzq7k/pcPkZPu5Ps3rCB1wP4JZ1UX8dQXL+AfH3uLu57eDcB7l88i3dl/pcy1i8t4bnc9v9pYyzXvKGdm/vA3sBOdjKRKQERSgaeBA6r62WHa/g3w78ByVW0MHjsH2Am4gRuAHwTPH4h5IWD16tW6adOmuPtpTDLy+5Xv/GUPP3zhAHNLsjnU2MUZFfl8/8YVVJcMTsH84a1jfPk3W1EFhwi//sw5rA4uGLb9aBvv++ErXHVGOd+/ccWQP/f7z+3jv57dy+Z/vpyi7PgCdpfLS2Oni7yMVHIynHT0evmvv+zh1xvryM9M5Z+uXsIHV8+J+7W/94evkJ7i4OHPrQkfO9baw8d/+jpfvmwR17wj9twJVeWh1w/z7T/v4fs3ruC84I5pIYebu7ngWy8A8MQt5/GO2fHtvJYIRGSzqq4edEJV43oQuBH8f8BTQOowbd8HnATOGKbdM8AXhvvZq1atUmNMfB5787Auve1pvf3x7drr8Q7Z9qW9DXr+fz6nv99yZNC57z+3V6tu/YP+5o26Ia/xgXs26DXfWz+mPofsPNamH7hng1bd+gfdcbQtru/pcnl0/j/9Ub/1zK5x6UM0V313vX7oJxsm7PoTBdikUWJqXKkeCSTu7gdmAFerqmeItlcC9wHXqOrbsdqF3neA6VsTZUwCunbFbN57ZkVc5YbnLyzhpa9dEvXc5y6az/q9jXztkbd47WAT//JXSwelYDpdXt6sa+EzF84bl74vKc/jvo+vZs3dz3HfSwf57w8tH/Z7ttS14vVr+NPKRHjw0+eQknLqhKp46/jvAZYA71bVnliNROQS4EHgOlV9fcC5AhG5QkQyRMQpIh8hcA/gT6PsuzEmhvGoMXemOPjlp8/mC5cs4PGtx7j8v9fz5x0n+rV57UATXr9ywYD0yFjkZ6Vy49mVPLHtGEdb+4ebbreXbz2zm/31neFjb9Q0I0Jci6WNVmF2GnkZQ69BNJ3EU8dfBXwWWA6ciKjB/4iIVAafh+6+3gbkA09FtHs6eC4VuBNoABqBLwDvU1Wr5TcmQaU7U/iHd53G4397HqU56dz0y838xx93hhdYe3l/IxmpDlbF2F9gtD55/lwAfvryoX7H/+OPu/jRugPccO+r7DnRAQQC/+KZeadUYJ5owwZ+Va1VVVHVDFXNiXg8qKp1wed1wbYXq6pzQLurgucaVPUsVc1V1QJVPVdV/zLRL9AYM3bLKvJ5/Jbz+MSaKu576RBffngrbq+f9fsaOGdu8aBKmLGqKMjkPWfO4qHX68Kblzy36yQPbqzj/SsqcIhw432vsf1oG1vqWjl7nN94TnW2ZIMxJi6pKQ7ueM/p3HrlYh7feowb73uNgw1dXLBw/NI8kT5zwTy63T5+tbGWhg4XX3vkLZaU53HXdWfwm8+uIS3FwfU/3kC328dZcyd/+8LpzAK/MSZuIsLNa+fznQ+cybbDrUB8yzSMxtJZeVy4qJSfvVLDVx/ZRofLy//csJx0ZwpzS7L5v5vOpTB4s3l1lQX+kZje846NMVPiulWzmZmfwcaDTSyakTNhP+dzF87jw/+7kXV7Grj93Uv7zeytLsnmsc+/k90nOk6JSVWTyQK/MWZUzltQMmiy03hbM7+Y8xYUk5ueGnWphPL8TMrzMye0D6ciC/zGmIQlIvzyk+dM6yWQE5Hl+I0xCc2C/vizwG+MMUnGAr8xxiQZC/zGGJNkLPAbY0ySscBvjDFJxgK/McYkGQv8xhiTZEa09eJUEZEGoBVoCx7Kj/I89N8SAss+j1TkNUdyPtrxaP2L9Tzy2GT2PZ5jw/U3UX7n8fQ78nmi9DuevkY+n+h+x9PHWMfsb2Vk/Rru/Hj1u0pVBy+mFG1brkR8APcO9Tziv1G3GhvJ9UdyPtrx4foard+T3fd4jsXR34T4ncfT71Ppb2Wi+m1/K4n7tzLafsd6TKdUz5PDPI88Ntbrj+R8tOPD9TXy+Vj7Hc81hutjrGPD9TdRfufx9DvyeaL0e+Cxqe53rDb2tzJ6CdnvaZHqGQkR2aTRdpWfBqZr363fk2u69humb9+na79jmU4j/njdO9UdGIPp2nfr9+Sarv2G6dv36drvqE65Eb8xxpihnYojfmOMMUOwwG+MMUkmaQO/iKwVkedE5AURuXaq+xMPEakWkQYRWRd8TMxmpxNERG4MzsmYNkRkhohsEJEXReR5ESmf6j7FQ0TWiMirwX4/JCKpU92neIhIvoi8LiKdIrJsqvszHBH5DxF5SUQeEZGsqe5PvJIy8ItIBvAPwFWqerGq/m6q+zQCL6rq2uBj2gRREXEA1wOHp7ovI9QInK+qFwG/AD41xf2JVy1wSbDfB4H3TnF/4tUNXAM8MtUdGU7wjWm+ql4APAt8coq7FLekDPzAO4Ee4EkR+Z2IzJzqDo3AecERxjdFZDptTfRhAv8z+6e6IyOhqj5VDfU5F9gxlf2Jl6oeU9We4JdepsnvXVU902hAcwHwdPD508D5U9iXEUn4wC8it4jIJhFxicjPB5wrCgbuLhGpFZEPx3nZGcAC4N3AfcAd49ppJqzfxwn0+0KgDHj/+PZ6YvotIinAB4HfjHd/B/ycifidIyLLRWQjcAvw5jh3e8L6Hfz+ucBVwB/Gscuha09YvyfTGF5HIX1LJbQBRZPU5TGbDputHwPuBK4AMgec+yHgJhDIlwN/FJFtqrojOIqP9nHxegLr/ryiqm4ReQ74x+nQb1U9AbgAROQx4Fzg0UTvd/BaD6uqf4I/pEzI71xVtwLniMgHgX8CPjcd+i0iecADwMdU1T3OfZ6wfk9AP4czqtcBtBBYE4fgf5snp7vjYDTrT0zFg8A/zM8jvs4m8A+yKOLYL4G747hWMYGcnADnAD+bJv3Oi3h+F/DxadLv/wT+DDxDYGT0vWn0t5Ie8fwK4L+mSb+dwB8J5Pkn7Hc93v2OaP9zYNlE930srwM4A/h18PlNwBcms79jeUyHEX8siwCfqu6NOLYNuGi4b1TVJhH5HfAigdznZN6UGXW/gYtE5A4CN8AOAbeNf/diGsvv+9bQcwlMff/iBPRvKGP5na8Ukf8EfEAv0+dv5UYCg5p/EZF/Ae5R1QlNtUUYS78RkacIjK5PE5GfqOrPx7+LcRnydajq28H0z0tAPfDxKejjqEznwJ/D4OVM2wjcgBuWqv6QwMe4yTbqfqvqk4zPom6jMabfd4hOzXonY/mdv0rgnspUGEu/f0lgdDoVxvr/5tXj3qPRGfZ1qOo/TWqPxknC39wdQieQN+BYHtAxBX0ZCev35Juufbd+T61T5XUMMp0D/17AKSILI46dSeKX21m/J9907bv1e2qdKq9j0cWqrAAAAKpJREFUkIQP/CLiDE64SgFSRCRDRJyq2gU8BvybiGSLyHkEJqlM1cfbfqzfk2+69t36PbVOldcxIlN9dzmOO+13ADrgcUfwXBHwe6ALqAM+PNX9tX5b363fid3vU/V1jORhyzIbY0ySSfhUjzHGmPFlgd8YY5KMBX5jjEkyFviNMSbJWOA3xpgkY4HfGGOSjAV+Y4xJMhb4jTEmyVjgN8aYJGOB3xhjksz/B16or5tZf/HHAAAAAElFTkSuQmCC\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot(lrfind.lrs[:-2],lrfind.losses[:-2])\\n\",\n    \"plt.xscale('log')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can define our `OneCycle` training callback:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class OneCycle(Callback):\\n\",\n    \"    def __init__(self, base_lr): self.base_lr = base_lr\\n\",\n    \"    def before_fit(self): self.lrs = []\\n\",\n    \"\\n\",\n    \"    def before_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        n = len(self.dls.train)\\n\",\n    \"        bn = self.epoch*n + self.num\\n\",\n    \"        mn = self.n_epochs*n\\n\",\n    \"        pct = bn/mn\\n\",\n    \"        pct_start,div_start = 0.25,10\\n\",\n    \"        if pct<pct_start:\\n\",\n    \"            pct /= pct_start\\n\",\n    \"            lr = (1-pct)*self.base_lr/div_start + pct*self.base_lr\\n\",\n    \"        else:\\n\",\n    \"            pct = (pct-pct_start)/(1-pct_start)\\n\",\n    \"            lr = (1-pct)*self.base_lr\\n\",\n    \"        self.opt.lr = lr\\n\",\n    \"        self.lrs.append(lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We'll try an LR of 0.1:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"onecyc = OneCycle(0.1)\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[onecyc])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's fit for a while and see how it looks (we won't show all the output in the book—try it in the notebook to see the results):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide_output\\n\",\n    \"learn.fit(8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally, we'll check that the learning rate followed the schedule we defined (as you see, we're not using cosine annealing here):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot(onecyc.lrs);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have explored how the key concepts of the fastai library are implemented by re-implementing them in this chapter. Since it's mostly full of code, you should definitely try to experiment with it by looking at the corresponding notebook on the book's website. Now that you know how it's built, as a next step be sure to check out the intermediate and advanced tutorials in the fastai documentation to learn how to customize every bit of the library.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> tip: Experiments: For the questions here that ask you to explain what some function or class is, you should also complete your own code experiments.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is `glob`?\\n\",\n    \"1. How do you open an image with the Python imaging library?\\n\",\n    \"1. What does `L.map` do?\\n\",\n    \"1. What does `Self` do?\\n\",\n    \"1. What is `L.val2idx`?\\n\",\n    \"1. What methods do you need to implement to create your own `Dataset`?\\n\",\n    \"1. Why do we call `convert` when we open an image from Imagenette?\\n\",\n    \"1. What does `~` do? How is it useful for splitting training and validation sets?\\n\",\n    \"1. Does `~` work with the `L` or `Tensor` classes? What about NumPy arrays, Python lists, or pandas DataFrames?\\n\",\n    \"1. What is `ProcessPoolExecutor`?\\n\",\n    \"1. How does `L.range(self.ds)` work?\\n\",\n    \"1. What is `__iter__`?\\n\",\n    \"1. What is `first`?\\n\",\n    \"1. What is `permute`? Why is it needed?\\n\",\n    \"1. What is a recursive function? How does it help us define the `parameters` method?\\n\",\n    \"1. Write a recursive function that returns the first 20 items of the Fibonacci sequence.\\n\",\n    \"1. What is `super`?\\n\",\n    \"1. Why do subclasses of `Module` need to override `forward` instead of defining `__call__`?\\n\",\n    \"1. In `ConvLayer`, why does `init` depend on `act`?\\n\",\n    \"1. Why does `Sequential` need to call `register_modules`?\\n\",\n    \"1. Write a hook that prints the shape of every layer's activations.\\n\",\n    \"1. What is \\\"LogSumExp\\\"?\\n\",\n    \"1. Why is `log_softmax` useful?\\n\",\n    \"1. What is `GetAttr`? How is it helpful for callbacks?\\n\",\n    \"1. Reimplement one of the callbacks in this chapter without inheriting from `Callback` or `GetAttr`.\\n\",\n    \"1. What does `Learner.__call__` do?\\n\",\n    \"1. What is `getattr`? (Note the case difference to `GetAttr`!)\\n\",\n    \"1. Why is there a `try` block in `fit`?\\n\",\n    \"1. Why do we check for `model.training` in `one_batch`?\\n\",\n    \"1. What is `store_attr`?\\n\",\n    \"1. What is the purpose of `TrackResults.before_epoch`?\\n\",\n    \"1. What does `model.cuda` do? How does it work?\\n\",\n    \"1. Why do we need to check `model.training` in `LRFinder` and `OneCycle`?\\n\",\n    \"1. Use cosine annealing in `OneCycle`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write `resnet18` from scratch (refer to <<chapter_resnet>> as needed), and train it with the `Learner` in this chapter.\\n\",\n    \"1. Implement a batchnorm layer from scratch and use it in your `resnet18`.\\n\",\n    \"1. Write a Mixup callback for use in this chapter.\\n\",\n    \"1. Add momentum to SGD.\\n\",\n    \"1. Pick a few features that you're interested in from fastai (or any other library) and implement them in this chapter.\\n\",\n    \"1. Pick a research paper that's not yet implemented in fastai or PyTorch and implement it in this chapter.\\n\",\n    \"  - Port it over to fastai.\\n\",\n    \"  - Submit a pull request to fastai, or create your own extension module and release it. \\n\",\n    \"  - Hint: you may find it helpful to use [`nbdev`](https://nbdev.fast.ai/) to create and deploy your package.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "20_conclusion.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[chapter_conclusion]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Concluding Thoughts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations! You've made it! If you have worked through all of the notebooks to this point, then you have joined the small, but growing group of people that are able to harness the power of deep learning to solve real problems. You may not feel that way yet—in fact you probably don't. We have seen again and again that students that complete the fast.ai courses dramatically underestimate how effective they are as deep learning practitioners. We've also seen that these people are often underestimated by others with a classic academic background. So if you are to rise above your own expectations and the expectations of others, what you do next, after closing this book, is even more important than what you've done to get to this point.\\n\",\n    \"\\n\",\n    \"The most important thing is to keep the momentum going. In fact, as you know from your study of optimizers, momentum is something that can build upon itself! So think about what you can do now to maintain and accelerate your deep learning journey. <<do_next>> can give you a few ideas.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"<img alt=\\\"What to do next\\\" width=\\\"550\\\" caption=\\\"What to do next\\\" id=\\\"do_next\\\" src=\\\"images/att_00053.png\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We've talked a lot in this book about the value of writing, whether it be code or prose. But perhaps you haven't quite written as much as you had hoped so far. That's okay! Now is a great chance to turn that around. You have a lot to say, at this point. Perhaps you have tried some experiments on a dataset that other people don't seem to have looked at in quite the same way. Tell the world about it! Or perhaps thinking about trying out some ideas that occurred to you while you were reading—now is a great time to turn those ideas into code.\\n\",\n    \"\\n\",\n    \"If you'd like to share your ideas, one fairly low-key place to do so is the [fast.ai forums](https://forums.fast.ai/). You will find that the community there is very supportive and helpful, so please do drop by and let us know what you've been up to. Or see if you can answer a few questions for those folks who are earlier in their journey than you.\\n\",\n    \"\\n\",\n    \"And if you do have some successes, big or small, in your deep learning journey, be sure to let us know! It's especially helpful if you post about them on the forums, because learning about the successes of other students can be extremely motivating.\\n\",\n    \"\\n\",\n    \"Perhaps the most important approach for many people to stay connected with their learning journey is to build a community around it. For instance, you could try to set up a small deep learning meetup in your local neighborhood, or a study group, or even offer to do a talk at a local meetup about what you've learned so far or some particular aspect that interested you. It's okay that you are not the world's leading expert just yet—the important thing to remember is that you now know about plenty of stuff that other people don't, so they are very likely to appreciate your perspective.\\n\",\n    \"\\n\",\n    \"Another community event which many people find useful is a regular book club or paper reading club. You might find that there are some in your neighbourhood already, and if not you could try to get one started yourself. Even if there is just one other person doing it with you, it will help give you the support and encouragement to get going.\\n\",\n    \"\\n\",\n    \"If you are not in a geography where it's easy to get together with like-minded folks in person, drop by the forums, because there are always people starting up virtual study groups. These generally involve a bunch of folks getting together over video chat once a week or so to discuss some deep learning topic.\\n\",\n    \"\\n\",\n    \"Hopefully, by this point, you have a few little projects that you've put together and experiments that you've run. Our recommendation for the next step is to pick one of these and make it as good as you can. Really polish it up into the best piece of work that you can—something you are really proud of. This will force you to go much deeper into a topic, which will really test your understanding and give you the opportunity to see what you can do when you really put your mind to it.\\n\",\n    \"\\n\",\n    \"Also, you may want to take a look at the fast.ai free online course that covers the same material as this book. Sometimes, seeing the same material in two different ways can really help to crystallize the ideas. In fact, human learning researchers have found that one of the best ways to learn material is to see the same thing from different angles, described in different ways.\\n\",\n    \"\\n\",\n    \"Your final mission, should you choose to accept it, is to take this book and give it to somebody that you know—and get somebody else started on their own deep learning journey!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to make participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, gender identity and expression, level of experience,\neducation, socio-economic status, nationality, personal appearance, race,\nreligion, or sexual identity and orientation.\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n  advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n  address, without explicit permission\n\nThese examples of unacceptable behaviour are requirements; we will not allow them\nin any fast.ai project, including this one.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nThese examples are shown only to help you participate effectively -- they are not\nrequirements, just requests and guidance.\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing or otherwise unacceptable behavior may be\nreported by contacting the project team at info@fast.ai. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n"
  },
  {
    "path": "LICENSE",
    "content": "All code, including code in notebooks, but not including prose, is covered\nunder the following license:\n\n                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<https://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
  },
  {
    "path": "README.md",
    "content": "[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# The fastai book\n\nThese notebooks cover an introduction to deep learning, [fastai](https://docs.fast.ai/), and [PyTorch](https://pytorch.org/). fastai is a layered API for deep learning; for more information, see [the fastai paper](https://www.mdpi.com/2078-2489/11/2/108). Everything in this repo is copyright Jeremy Howard and Sylvain Gugger, 2020 onwards. A selection of chapters is available to [read online here](https://fastai.github.io/fastbook2e/).\n\nThe notebooks in this repo are used for [a MOOC](https://course.fast.ai) and form the basis of [this book](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), which is currently available for purchase. It does not have the same GPL restrictions that are on this repository.\n\nThe code in the notebooks and python `.py` files is covered by the GPL v3 license; see the LICENSE file for details. The remainder (including all markdown cells in the notebooks and other prose) is not licensed for any redistribution or change of format or medium, other than making copies of the notebooks or forking this repo for your own private use. No commercial or broadcast use is allowed. We are making these materials freely available to help you learn deep learning, so please respect our copyright and these restrictions.\n\nIf you see someone hosting a copy of these materials somewhere else, please let them know that their actions are not allowed and may lead to legal action. Moreover, they would be hurting the community because we're not likely to release additional materials in this way if people ignore our copyright.\n\n## Colab\n\nInstead of cloning this repo and opening it on your machine, you can read and work with the notebooks using [Google Colab](https://research.google.com/colaboratory/). This is the recommended approach for folks who are just getting started -- there's no need to set up a Python development environment on your own machine, since you can just work directly in your web-browser.\n\nYou can open any chapter of the book in Colab by clicking on one of these links: [Introduction to Jupyter](https://colab.research.google.com/github/fastai/fastbook/blob/master/app_jupyter.ipynb) | [Chapter 1, Intro](https://colab.research.google.com/github/fastai/fastbook/blob/master/01_intro.ipynb) | [Chapter 2, Production](https://colab.research.google.com/github/fastai/fastbook/blob/master/02_production.ipynb) | [Chapter 3, Ethics](https://colab.research.google.com/github/fastai/fastbook/blob/master/03_ethics.ipynb) | [Chapter 4, MNIST Basics](https://colab.research.google.com/github/fastai/fastbook/blob/master/04_mnist_basics.ipynb) | [Chapter 5, Pet Breeds](https://colab.research.google.com/github/fastai/fastbook/blob/master/05_pet_breeds.ipynb) | [Chapter 6, Multi-Category](https://colab.research.google.com/github/fastai/fastbook/blob/master/06_multicat.ipynb) | [Chapter 7, Sizing and TTA](https://colab.research.google.com/github/fastai/fastbook/blob/master/07_sizing_and_tta.ipynb) | [Chapter 8, Collab](https://colab.research.google.com/github/fastai/fastbook/blob/master/08_collab.ipynb) | [Chapter 9, Tabular](https://colab.research.google.com/github/fastai/fastbook/blob/master/09_tabular.ipynb) | [Chapter 10, NLP](https://colab.research.google.com/github/fastai/fastbook/blob/master/10_nlp.ipynb) | [Chapter 11, Mid-Level API](https://colab.research.google.com/github/fastai/fastbook/blob/master/11_midlevel_data.ipynb) | [Chapter 12, NLP Deep-Dive](https://colab.research.google.com/github/fastai/fastbook/blob/master/12_nlp_dive.ipynb) | [Chapter 13, Convolutions](https://colab.research.google.com/github/fastai/fastbook/blob/master/13_convolutions.ipynb) | [Chapter 14, Resnet](https://colab.research.google.com/github/fastai/fastbook/blob/master/14_resnet.ipynb) | [Chapter 15, Arch Details](https://colab.research.google.com/github/fastai/fastbook/blob/master/15_arch_details.ipynb) | [Chapter 16, Optimizers and Callbacks](https://colab.research.google.com/github/fastai/fastbook/blob/master/16_accel_sgd.ipynb) | [Chapter 17, Foundations](https://colab.research.google.com/github/fastai/fastbook/blob/master/17_foundations.ipynb) | [Chapter 18, GradCAM](https://colab.research.google.com/github/fastai/fastbook/blob/master/18_CAM.ipynb) | [Chapter 19, Learner](https://colab.research.google.com/github/fastai/fastbook/blob/master/19_learner.ipynb) | [Chapter 20, conclusion](https://colab.research.google.com/github/fastai/fastbook/blob/master/20_conclusion.ipynb)\n\n\n## Contributions\n\nIf you make any pull requests to this repo, then you are assigning copyright of that work to Jeremy Howard and Sylvain Gugger. (Additionally, if you are making small edits to spelling or text, please specify the name of the file and a very brief description of what you're fixing. It's difficult for reviewers to know which corrections have already been made. Thank you.)\n\n## Citations\n\nIf you wish to cite the book, you may use the following:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n\n"
  },
  {
    "path": "README_ar.md",
    "content": "[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Arabic](./README_ar.md)\n\n# Fastai  كتاب\n\n\n[PyTorch](https://pytorch.org/) و [fastai](https://docs.fast.ai/) تغطي هذه الدفاتر مقدمة للتعلم العميق\n\n[The fastai paper](https://www.mdpi.com/2078-2489/11/2/108) عبارة عن واجهة برمجة متعددة الطبقات للتعلم العميق؛ لمزيد من المعلومات، راجع الورقة fastai\n \n بدءا من عام 2020 فصاعدا, حقوق الطبع والنشر لهذا المستودع ومحتوياته تعود إلى جيريمي هوارد وسيلفين غوججر. مجموعة مختارة من الفصول متاحة  [اقرأ على الانترنت هنا](https://fastai.github.io/fastbook2e/)\n\n   يتم استخدام دفاتر الملاحظات الموجودة في هذا المستودع في [دورة مفتوحة المصدر](\nhttps://course.fast.ai) وتشكل أساس هذا [الكتاب](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527) المتاح للشراء حاليًا \n و الذي بدوره لا يخضع لنفس قيود الملكية الفكرية المطبقة على هذا المستودع\n\nالكود الموجود في دفاتر الملاحظات وملفات البايثون يخضع لقوانين الرخصة العمومية الشاملة (الاصدار 3),  راجع ملف الترخيص للحصول على تفاصيل اكثر.\nأما الباقي (بما في ذلك جميع خلايا النصوص في دفاتر الملاحظات وغيرها) فهي غير مرخصة لإعادة التوزيع أو تغيير في الشكل و النوع، بخلاف عمل نسخ من هذا المستودع لاستخدامك الشخصي.لايسمح أي استخدام تجاري لهذه المواد.هذا المستودع متاح مجانًا لمساعدتك على تعلم التعلم العميق، لذا يرجى احترام حقوق النشر الخاصة بنا\n\nإذا رأيت شخصًا يستضيف نسخة من هذه المواد في مكان آخر ، فيرجى إعلامه بأن أفعاله غير مسموح بها وقد تؤدي إلى الملاحقة القانونية. علاوة على ذلك ، سوف تضر افعاله المنفردة بالمجتمع ككل لأننا من غير المحتمل أن ننشر موادا إضافية بهذه الطريقة (مجانا) إذا تجاهل الناس حقوق الطبع والنشر الخاصة بنا\n\n## Colab  غوغل كولاب\n\n يمكنك القراءة والعمل مع دفاتر الملاحظات باستخدام [غوغل كولاب](https://research.google.com/colaboratory/) كبديل عوضا عن استنساخ هذا المستودع وفتحه على جهازك \n\nهذا هو الأسلوب الموصى به بالنسبة للأشخاص المبتدئين في هذا المجال حيث يمكنك العمل مباشرة في متصفح الويب الخاص بك و ليست هناك حاجة لإعداد بيئة تطوير بايثون على جهازك الخاص\n\n :يمكنك فتح أي فصل من الكتاب في منصة غوغل كولاب بالضغط على أحد هذه الروابط ادناه \n\n [مقدمة إلى جوبيتر](https://colab.research.google.com/github/fastai/fastbook/blob/master/app_jupyter.ipynb)| [الفصل 1، المقدمة](https://colab.research.google.com/github/fastai/fastbook/blob/master/01_intro.ipynb) | [الفصل 2، من النموذج إلى الإنتاج](https://colab.research.google.com/github/fastai/fastbook/blob/master/02_production.ipynb) |[الفصل 3، أخلاقيات معالحة البيانات](https://colab.research.google.com/github/fastai/fastbook/blob/master/03_ethics.ipynb) |\n [الفصل 4، تدريب مصنف أرقام](https://colab.research.google.com/github/fastai/fastbook/blob/master/04_mnist_basics.ipynb)| [الفصل 5، تصنيف الصور](https://colab.research.google.com/github/fastai/fastbook/blob/master/05_pet_breeds.ipynb) | [الفصل 6، تصنيف الصور（تابع）](https://colab.research.google.com/github/fastai/fastbook/blob/master/06_multicat.ipynb) | [الفصل 7، تدريب نموذج حديث](https://colab.research.google.com/github/fastai/fastbook/blob/master/07_sizing_and_tta.ipynb) | [الفصل 8 ،نبذة مفصلة في التصفية التعاونية](https://colab.research.google.com/github/fastai/fastbook/blob/master/08_collab.ipynb) | [الفصل 9، نبذة مفصلة في النمذجة الجدولية](https://colab.research.google.com/github/fastai/fastbook/blob/master/09_tabular.ipynb) |[الفصل 10، معالجة اللغات الطبيعية](https://colab.research.google.com/github/fastai/fastbook/blob/master/10_nlp.ipynb) | [الفصل 11، واجهة  برمجة التطبيقات للمستوى المتوسط](https://colab.research.google.com/github/fastai/fastbook/blob/master/11_midlevel_data.ipynb) | [الفصل 12،  نبذة مفصلة في معالجة اللغات الطبيعية](https://colab.research.google.com/github/fastai/fastbook/blob/master/12_nlp_dive.ipynb) | [الفصل 13، الشبكات العصبية التلافيفية ](https://colab.research.google.com/github/fastai/fastbook/blob/master/13_convolutions.ipynb) | [الفصل 14، ريسنيت](https://colab.research.google.com/github/fastai/fastbook/blob/master/14_resnet.ipynb) | [الفصل 15، هندسة التطبيقات، نبذة مفصلة](https://colab.research.google.com/github/fastai/fastbook/blob/master/15_arch_details.ipynb) | [الفصل 16، عملية التدريب](https://colab.research.google.com/github/fastai/fastbook/blob/master/16_accel_sgd.ipynb) | [الفصل 17، الشبكة العصبية من الأسس](https://colab.research.google.com/github/fastai/fastbook/blob/master/17_foundations.ipynb) | [الفصل 18، تفسير الشبكات العصبية](https://colab.research.google.com/github/fastai/fastbook/blob/master/18_CAM.ipynb) | [fastai الفصل 19، متعلم سريع من الصفر](https://colab.research.google.com/github/fastai/fastbook/blob/master/19_learner.ipynb) |\n\n[الفصل 20، الخاتمة](https://colab.research.google.com/github/fastai/fastbook/blob/master/20_conclusion.ipynb)\n\n\n## مساهمات \n\nإذا قمت بتقديم أي طلبات سحب لهذا المستودع، فإنك تقوم بتعيين حقوق الطبع والنشر لهذا العمل لجيريمي هوارد وسيلفان جوجر. (بالإضافة إلى ذلك، إذا كنت تقوم بإجراء تعديلات صغيرة على التهجئة أو النص، فيرجى تحديد اسم الملف وارفاق وصف موجز لما قمت بتعديله لتسهيل عمل المراجعين في معرفة التصحيحات التي تم إجراؤها بالفعل. شكرًا لك.)\n\n\n## اقتباسات\n\n:إذا أردت الاستشهاد بالكتاب يمكنك استخدام الصيفة الموضحة في الاسفل\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n\n"
  },
  {
    "path": "README_bn.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# fastai বই\n\nএই নোটবুকগুলি প্রারম্ভিক ডীপ লার্নিং, [fastai](https://docs.fast.ai/), এবং [PyTorch](https://pytorch.org/) কভার করে। fastai হল ডীপ লার্নিং -এর জন্য একটি স্তরবিশিষ্ট API; আরও জানার জন্য [fastai পেপারটি](https://www.mdpi.com/2078-2489/11/2/108) দেখুন। এই রেপোর অন্তর্ভুক্ত সমস্তকিছুর স্বত্ব ২০২০ সাল থেকে জেরেমি হাওয়ার্ড ও সিলভ্যাঁ গাগার দ্বারা রক্ষিত।\n\nএই নোটবুকগুলি [একটি MOOC -এ](https://course.fast.ai) ব্যবহৃত হয় এবং এগুলি [এই বইটার](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527) ভিত্তি, যা এখন কিনতে পাওয়া যাচ্ছে। এই খসড়ার অন্তর্ভুক্ত বিষয়বস্তু GPL লাইসেন্সের আওতাধীন, কিন্তু বইটি GPL লাইসেন্সের বাঁধাধরার আওতাভুক্ত নয়।\n\nএই নোটবুকগুলিতে ব্যবহৃত কোড এবং পাইথন `.py` ফাইলগুলি GPL v3 লাইসেন্সের আওতাধীন। আরও জানার জন্য LICENSE ফাইলটি দেখুন।\n\nবাদবাকি সমস্তকিছুর (নোটবুকের সমস্ত মার্কডাউন সেল এবং অন্যান্য টেক্সটের) কোনরকম পুনর্বিতরণ বা তাদের আকার বা মাধ্যমের কোনরকম পরিবর্তন অনুমোদিত নয়। তবে এই নোটবুকগুলিকে ব্যক্তিগত ব্যবহারের প্রয়োজনে কপি করা যেতে পারে, বা রেপোটিকে ফর্ক করা যেতে পারে। এই নোটবুকগুলি ব্যবসায়িক উদ্দেশ্যে ব্যবহার করা বা কোনভাবে সম্প্রচার করা নিষিদ্ধ। আমরা আপনাদের ডীপ লার্নিং শেখায় সাহায্য করার জন্য এই মেটেরিয়ালগুলি বিনামূল্যে উপলব্ধ করছি। সুতরাং আমাদের স্বত্বাধিকারকে সম্মান করুন, এবং বিধিনিষেধগুলিকে মান্যতা দিন।\n\nযদি আপনি এই মেটেরিয়ালগুলি বা তাদের কোন কপিকে অন্য কোথাও কারও দ্বারা হোস্টেড হতে দেখেন, তাহলে তাঁদের জানান যে তাঁদের কার্যকলাপ অনুমোদিত নয়, এবং তাঁদের বিরুদ্ধে আইনী ব্যবস্থা নেওয়া হতে পারে। উপরন্তু, তাঁরা ব্যবহারকারী গোষ্ঠীর ক্ষতিসাধন করবেন, কারণ আমাদের স্বত্বাধিকার ক্ষতিগ্রস্ত হলে আমরা এইভাবে অতিরিক্ত মেটেরিয়াল প্রকাশ করার আগে অনেকবার ভাববো।\n\nএইটা একটা শুরুর দিকের খসড়া। যদি আপনার নোটবুকগুলি রান করতে কোনরকম সমস্যা হয়, তাহলে [fastai-dev ফোরামে](https://forums.fast.ai/c/fastai-users/fastai-dev/) উত্তরের খোঁজ করুন, অথবা সাহায্যের প্রয়োজন হলে সাহায্য চান। নোটবুকগুলি রান করতে কোনরকম সমস্যা হলে তা জানানোর জন্য অনুগ্রহ করে গিটহাব ইস্যুর ব্যবহার করবেন না।\n\nআপনি যদি এই রেপোতে কোন পুল রিকোয়েস্ট তৈরি করেন, তাহলে আপনি সেই কাজের স্বত্বাধিকার জেরেমি হাওয়ার্ড এবং সিলভ্যাঁ গাগারকে অর্পণ করছেন। (আরও জেনে রাখুন- আপনি যদি বানান বা লেখায় ছোট আকারের কোন ভুল সংশোধন করতে চান, তাহলে অনুগ্রহ করে ফাইলের নাম এবং আপনার করা পরিবর্তনের একটা অতিসংক্ষিপ্ত বিবরণ যোগ করুন। রিভিউয়ারদের পক্ষে বিভিন্ন ফাইল এবং সম্পর্কিত পরিবর্তনের হিসেব রাখা কঠিন হয়ে দাঁড়াচ্ছে। ধন্যবাদ।)\n"
  },
  {
    "path": "README_es.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# The fastai book\n\nUna colección de Jupyter Notebooks que cubren una introducción al Deep Learning, [fastai](https://docs.fast.ai/) y [PyTorch](https://pytorch.org/). fastai es una API en capas para Deep Learning; para mayor información lea [la publicación](https://www.mdpi.com/2078-2489/11/2/108). Todos los documentos incluídos en este repositorio tienen derechos de autor para Jeremy Howard y Sylvain Gugger, desde 2020 en adelante.\n\nEstos Notebooks son usados para [el MOOC](https://course.fast.ai) (Massive Open Online Courses por sus siglas en ingles, cursos abiertos masivos en línea) y forman la base del  [libro](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), el cual se encuentra actualmente disponible para su compra. El libro no tiene las mismas restricciones de GPL que se incluyen en este borrador.\n\nEl código en los Notebooks y en los archivos de python `.py` está cubierto por la licencia GPL v3; consulte el archivo de LICENSE para obtener más detalles.\n\nEl resto de textos (incluidas todas las celdas de Markdown en los Notebooks) no tienen licencia para su redistribución o cambio de formato o medio, más allá del uso de copias de los Notebooks o bifurcar el repositorio para uso privado. No se permite el uso comercial o de difusión. Ponemos estos materiales a su disposición de forma gratuita para ayudarle a aprender sobre Deep Learning, así que por favor respete las restricciones y nuestros derechos de autor.\n\nSi observa a alguien usando una copia de estos materiales incumpliendo la licencia, por favor infórmele que sus acciones no están permitidas y pueden dar lugar a acciones legales. Además, estarían perjudicando a la comunidad porque es probable que dejemos de publicar materiales adicionales si la gente ignora nuestros derechos de autor.\n\nEste es un borrador inicial. Si encuentra problemas ejecutando los Notebooks, podrá buscar ayuda y respuestas en el [foro fastai-dev](https://forums.fast.ai/c/fastai-users/fastai-dev/). Por favor, no utilice _GitHub issues_ para problemas relacionados con la ejecución de los Notebooks.\n\nTodo _pull request_ realizado a este repositorio queda asignado bajo derechos de autor a Jeremy Howard y Sylvain Gugger. (Además, si realiza pequeñas modificaciones en la ortografía o el texto, por favor indique el nombre del archivo y una descripción breve de lo que está corrigiendo. A los revisores les resulta cada vez más difícil saber qué correcciones ya se han realizado. Gracias).\n"
  },
  {
    "path": "README_id.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# Buku fastai\n\nNotebook-notebook ini membahas pengantar deep learning, [fastai](https://docs.fast.ai/), dan [PyTorch](https://pytorch.org/). fastai adalah API berlapis untuk deep learning; untuk informasi lebih lanjut, lihat [the fastai paper](https://www.mdpi.com/2078-2489/11/2/108). Semua yang ada di repo ini adalah hak cipta Jeremy Howard dan Sylvain Gugger, 2020 dan seterusnya.\n\nNotebook ini digunakan untuk [MOOC](https://course.fast.ai) dan menjadi dasar untuk [buku ini](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), yang saat ini tersedia untuk dibeli. Buku tersebut tidak memiliki batasan GPL yang sama dengan yang ada di draf ini.\n\nKode dalam notebook dan file python `.py` dilindungi oleh lisensi GPL v3; lihat file LICENSE untuk lebih detail.\n\nLebih dari itu (termasuk semua sel-sel markdown di notebook-notebook dan prosa lainnya) tidak dilisensikan untuk pendistribusian ulang atau perubahan format atau media, selain untuk membuat salinan dari notebook-notebook atau me-fork repo ini untuk penggunaan pribadi anda sendiri. Tidak ada penggunaan komersial atau hak siaran diperbolehkan. Kami menyediakan materi ini secara gratis untuk membantu anda mempelajari deep learning, jadi mohon harap hormati hak cipta kami dan batasan-batasan ini.\n\nJika anda melihat seseorang menghosting salinan materi ini di tempat lain, beri tahu mereka bahwa tindakan mereka tidak diizinkan dan dapat menyebabkan tindakan hukum. Selain itu, mereka akan merugikan komunitas karena kami tidak mungkin merilis materi tambahan dengan cara ini jika orang mengabaikan hak cipta kami.\n\nIni adalah draf awal. Jika anda mengalami kebuntuan saat menjalankan notebook, silakan cari [forum fastai-dev](https://forums.fast.ai/c/fastai-users/fastai-dev/) untuk mendapatkan jawaban, dan mintalah bantuan di sana jika diperlukan. Harap jangan gunakan GitHub issues untuk masalah menjalankan notebook.\n\nJika anda membuat pull request apa pun ke repo ini, anda memberikan hak cipta atas karya tersebut kepada Jeremy Howard dan Sylvain Gugger. (Selain itu, jika anda membuat pengeditan kecil pada ejaan atau teks, harap sebutkan nama file dan uraian singkat perihal apa saja yang anda perbaiki. Seiring berjalannya waktu, semakin sulit bagi peninjau untuk mengetahui koreksi mana yang telah dilakukan. Terima kasih.)\n\n## Kutipan\n\nJika Anda ingin mengutip buku tersebut, Anda dapat menggunakan:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```"
  },
  {
    "path": "README_it.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# Il libro di fastai\n\nQuesti notebooks contengono un'introduzione al deep learning, [fastai](https://docs.fast.ai/), e [PyTorch](https://pytorch.org/). fastai è un API a più livelli per il deep learning; per ulteriori informazioni, si rimanda al [paper di fastai](https://www.mdpi.com/2078-2489/11/2/108). Tutto ciò che è contenuto in questa repo è copyright di Jeremy Howard e Sylvain Gugger, dal 2020 in poi.\n\nQuesti notebooks sono utilizzati come [MOOC (Massive Open Online Courses)](https://course.fast.ai) e costituiscono la base di [questo libro](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), attualmente disponibile per l'acquisto. Il libro non ha le stesse restrizioni GPL presenti in questa bozza.\n\nIl codice presente nei notebook e i file python `.py` sono coperti dalla licena GPL v3; consulta il file LICENSE per maggiori dettagli.\n\nIl resto (incluse tutte le celle di markdown dei notebooks) non è concesso in licenza per alcuna ridistribuzione o cambio di formato o supporto, salvo la creazione di copie dei notebooks o fork della repo per uso privato. Non è consentito alcun uso commerciale o distributivo. Stiamo rendendo questi materiali disponibili gratuitamente per aiutarti ad apprendere il deep learning, quindi ti preghiamo di rispettare il nostro copyright e queste restrizioni.\n\nQualora si notasse qualcuno intendo ad utilizzare una copia di questi materiali da qualche altra parte, si prega di informarlo che le sue azioni non sono consentite e potrebbero portare a un'azione legale. Inoltre, danneggerebbero la comunità perché è probabile che in questo modo non rilasceremo più materiale aggiuntivo se le persone ignorano il nostro copyright.\n\nQuesta è una prima bozza. Se si incontrano difficoltà nell'eseguire i notebooks, si prega di cercare risposte nel [fastai-dev forum](https://forums.fast.ai/c/fastai-users/fastai-dev/), chiedendo aiuto lì se necessario. Si prega di non utilizzare GitHub issues per problemi relativi all'esecuzione dei notebooks.\n\nQualsiasi pull request a questa repo assegna il copyright del lavoro a Jeremy Howard e Sylvain Gugger. (Inoltre, se si stanno apportando piccole modifiche all'ortografia o al testo, si prega di specificare il nome del file e una breve descrizione di ciò che si sta sistemando. È difficile per i revisori sapere quali correzioni sono già state apportate. Grazie.)\n\n## Citazioni\n\nQualora si desiderasse citare il libro, è possibile farlo nella seguente maniera:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n"
  },
  {
    "path": "README_ja.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# The fastai book\n\nこのレポジトリにあるノートブックは、ディープラーニング、[fastai](https://docs.fast.ai/)、 [PyTorch](https://pytorch.org/)の入門を扱っています。fastaiはディープラーニングのための階層型のAPIを提供します。更に詳しく学びたい方は[the fastai paper](https://www.mdpi.com/2078-2489/11/2/108)をお読みください。このレポジトリの全てはJeremy HowardとSylvain Guggerが2020年以降の著作権を保持します。一部のセクションは[オンラインで読む](https://fastai.github.io/fastbook2e/)ことができます。\n\nこのレポジトリにあるノートブックは[a MOOC](https://course.fast.ai)で使われており、また[この本](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527)のベースとなっています。このレポジトリにあるようなGPLの制限はありません。\n\nこのレポジトリにあるノートブック内のコードやPythonのファイル`.py`はGPL v3ライセンスで公開されています。詳細は[LICENSE ファイル](./LICENSE)を参照してください。それ以外のもの（すべてのマークダウンセルやその他文章を含む）は私的利用の目的のみにおいて、再配布やフォーマット・媒体の変更、ノートブックのコピーを作成したり、レポジトリをフォークすることが可能です。営利目的、放映目的での利用は認められません。多くの方がディープラーニングを学ぶのを手助けするために自由に利用できるようにしていますので、著作権とこれらの制限を尊重してください。\n\nもし、これらの資料のコピーをどこかでホストしている人を見かけたら、その行為が許されないものであり、法的措置につながる可能性があることを教えてあげてください。また、この著作権を無視する人がいるようであれば、私たちは追加の資料を公開できなくなるため、コミュニティにも損害を与えることになります。\n\n## Colab\n\nこのレポジトリをクローンして自分のマシンで開く代わりに、[Google Colab](https://research.google.com/colaboratory/)を使ってノートブックを読んだり、作業することができます。この方法はPythonの開発環境をセットアップする必要がなく、ブラウザ上ですぐに作業を始められるので、勉強を始められたばかりの方には特におすすめです。\n\nこの本の任意の章を次のリンクから開くことができます:: [Introduction to Jupyter](https://colab.research.google.com/github/fastai/fastbook/blob/master/app_jupyter.ipynb) | [Chapter 1, Intro](https://colab.research.google.com/github/fastai/fastbook/blob/master/01_intro.ipynb) | [Chapter 2, Production](https://colab.research.google.com/github/fastai/fastbook/blob/master/02_production.ipynb) | [Chapter 3, Ethics](https://colab.research.google.com/github/fastai/fastbook/blob/master/03_ethics.ipynb) | [Chapter 4, MNIST Basics](https://colab.research.google.com/github/fastai/fastbook/blob/master/04_mnist_basics.ipynb) | [Chapter 5, Pet Breeds](https://colab.research.google.com/github/fastai/fastbook/blob/master/05_pet_breeds.ipynb) | [Chapter 6, Multi-Category](https://colab.research.google.com/github/fastai/fastbook/blob/master/06_multicat.ipynb) | [Chapter 7, Sizing and TTA](https://colab.research.google.com/github/fastai/fastbook/blob/master/07_sizing_and_tta.ipynb) | [Chapter 8, Collab](https://colab.research.google.com/github/fastai/fastbook/blob/master/08_collab.ipynb) | [Chapter 9, Tabular](https://colab.research.google.com/github/fastai/fastbook/blob/master/09_tabular.ipynb) | [Chapter 10, NLP](https://colab.research.google.com/github/fastai/fastbook/blob/master/10_nlp.ipynb) | [Chapter 11, Mid-Level API](https://colab.research.google.com/github/fastai/fastbook/blob/master/11_midlevel_data.ipynb) | [Chapter 12, NLP Deep-Dive](https://colab.research.google.com/github/fastai/fastbook/blob/master/12_nlp_dive.ipynb) | [Chapter 13, Convolutions](https://colab.research.google.com/github/fastai/fastbook/blob/master/13_convolutions.ipynb) | [Chapter 14, Resnet](https://colab.research.google.com/github/fastai/fastbook/blob/master/14_resnet.ipynb) | [Chapter 15, Arch Details](https://colab.research.google.com/github/fastai/fastbook/blob/master/15_arch_details.ipynb) | [Chapter 16, Optimizers and Callbacks](https://colab.research.google.com/github/fastai/fastbook/blob/master/16_accel_sgd.ipynb) | [Chapter 17, Foundations](https://colab.research.google.com/github/fastai/fastbook/blob/master/17_foundations.ipynb) | [Chapter 18, GradCAM](https://colab.research.google.com/github/fastai/fastbook/blob/master/18_CAM.ipynb) | [Chapter 19, Learner](https://colab.research.google.com/github/fastai/fastbook/blob/master/19_learner.ipynb) | [Chapter 20, conclusion](https://colab.research.google.com/github/fastai/fastbook/blob/master/20_conclusion.ipynb)\n\n\n## コントリビューション\n\nこのレポジトリに対してプルリクエストをした場合、その著作権はすべてJeremy HowardとSylvain Guggerに譲渡されます。（また、テキストやスペルの修正などの小さな変更を加える場合は、修正をするファイル名と修正事項に関する簡潔な説明文を含めてください。でないとレビュアーにはどこが修正されているか判断するのが困難です。よろしくおねがいします。）\n\n## 引用\n\nこの本を引用する場合は下記の内容をお使いください:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n\n"
  },
  {
    "path": "README_ko.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# The fastai book - draft\n\n이 draft는 [fastai](https://docs.fast.ai/), [PyTorch](https://pytorch.org/) 에 대한 소개를 다루고 있습니다. fastai는 딥러닝을 위한 레이어드 API입니다. fastai에 대한 자세한 정보는 [the fastai paper](https://www.mdpi.com/2078-2489/11/2/108) 를 참고하실 수 있습니다. 이 저장소는 2020년부터 Jeremy Howard와 Sylvain Gugger가 저작권을 갖고 있습니다.\n\n이 노트북들은 2020년 3월부터 샌프란시스코에서 [강의하는 과정](https://www.usfca.edu/data-institute/certificates/deep-learning-part-one) 에 사용되며, 2020년 7월경부터는 MOOC 강좌로 이용할 수 있을 것입니다. 우리의 계획은 이 노트북들이 [이 책](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527) 의 기본이 되어 선주문할 수 있게 하는 것입니다. 그 책에는 이 초안에 있는 것과 같은 GPL 규제를 가지고 있지 않을 것입니다.\n\n노트북에 포함된 코드와 python `.py` 파일의 코드는 GPL v3 라이센스로 처리됩니다. 자세한 내용은 License 파일을 참조 부탁드립니다.\n\n나머지(노트북 및 기타 모든 마크다운 셀 포함)는 노트북의 복사본을 만들거나 개인적으로 이 리포(repo)를 요청하는 것 외에는, 형식이나 매체의 재배포 또는 변경에 대해 허가되지 않습니다. 또한, 상업적으로 사용하거나 방송용으로의 이용은 허용되지 않습니다. 딥러닝을 배우는 데 도움이 될 수 있도록 이러한 자료를 무료로 제공하고 있으니, 당사의 저작권 및 제한 조치를 따라 주세요.\n\n다른 곳에서 이러한 자료의 사본을 호스팅하는 사람을 보게 되면, 불법 행위이며, 법적 조치로 이어질 수 있음을 알려주기 바랍니다. 또한 만약 사람들이 이 제한을 무시한다면, 더 이상 이런 식으로 추가 자료를 발표하지 않을 것이기 때문에 꼭 지켜주시길 바랍니다.\n\n이것은 가장 초안입니다. 노트북을 실행할 때 오류가 발생한다면 [fastai-v2 포럼](https://forums.fast.ai/c/fastai-users/fastai-v2) 에서 답변을 검색하고, 도움을 요청하십시오. GitHub issue 에서는 이러한 문제를 다루지 않을 것이니 올려주시지 않기를 부탁드립니다.\n\n만약 이 repo에 PR을 보낸다면, 해당 저작물의 저작권을 Jeremy Howard와 Sylvain Gugger에게 할당하는 것입니다. (추가적으로, 철자법이나 텍스트에 대해 편집을 한다면, 파일의 이름과 당신이 고치고 있는 것에 대한 간단한 설명을 함께 명시해주십시오. 검토자들이 어떤 수정이 이루어졌는지 확인하는 것이 어렵기 때문입니다. 감사합니다.)\n"
  },
  {
    "path": "README_pt.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# O Livro fastai\n\nEstes cadernos Jupyter cobrem a introdução a _deep learning_, [fastai](https://docs.fast.ai/), e [PyTorch](https://pytorch.org/). A fastai é como uma interface por camadas para _deep learning_. Para mais informações, ler o [paper sobre a fastai](https://www.mdpi.com/2078-2489/11/2/108). Todos os direitos dos conteúdos deste repositório são reservados a Jeremy Howard e Sylvain Gugger, de 2020 ao presente.\n\nOs cadernos são usados para o [curso online](https://course.fast.ai) e são a base [deste livro](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), que se econtra atualmente para a venda. O livro não contém as mesmas restrições da licença GPL que constam neste rascunho.\n\nO código existente nos cadernos e ficheiros python `.py` estão abrangidos pela licença GPLv3. Ver o ficheiro LICENSE para mais detalhes.\n\nOs restantes conteúdos, incluindo todas as celas markdown nos cadernos e outros textos, não são licenciados para nenhuma redistribuição ou alteração de formato ou meio, além de cópias dos cadernos ou bifurcações do repositório para uso privado. Nenhum uso comercial ou de distribuição é permitido. Estes materiais são distribuídos gratuitamente para poder ajudar a aprender sobre _deep learning_ e, como tal, pede-se o respeito pelas licenças e estas restrições.\n\nSe souber de alguém a fornecer uma cópia destes materiais noutro sítio, por favor, indique-lhe que não é permitido e pode levar a ação judicial. Além do mais, estariam a prejudicar a comunidade pois deixaremos de publicar novos materiais se as licenças e restrições forem continuamente ignoradas.\n\nEste repositório é um esboço inicial. Se se deparar com algum problema ao correr os cadernos, por favor use o [fastai-dev forum](https://forums.fast.ai/c/fastai-users/fastai-dev/) para obter ajuda e crie novas perguntas se for necessário. Não utilize os _issues_ do GitHub para problemas relacionados com a execução dos cadernos.\n\nAo fazer um pedido de junção de alterações (_pull request_) para este repositório está a transferir todos os direitos desse trabalho para o Jeremy Howard e Sylvain Gugger (Adicionalmente, se for uma alteração de texto mínima para corrigir ortografia ou melhorar gramática, por favor, indique o nome do ficheiro e uma breve descrição do que está a alterar. É difícil para quem mantém o repositório saber quais correções já foram feitas. Obrigado.)\n\n## Citações\n\nSe deseja citar o livre, pode fazê-lo da seguinte forma:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n"
  },
  {
    "path": "README_tr.md",
    "content": "[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md) / [Turkish](./README_tr.md)\n# Fastai kitabı\n\nBu Jupyter Notebook'ları, Derin Öğrenme, [fastai](https://docs.fast.ai/) ve [PyTorch](https://pytorch.org/) hakkında eğitim içermektedir. Fastai, Derin Öğrenme tekniklerine özel katmanlı API içermektedir; daha fazla bilgi için [bkz.](https://www.mdpi.com/2078-2489/11/2/108) Bu Repodaki her şeyin telif hakkı, 2020'den itiabaren, Jeremy Howard ve Sylvain Gugger'a aittir. Seçili okunabilen bölümlere [buradan ulaşabilirsiniz](https://fastai.github.io/fastbook2e/).\n\nRepoda bulunan Jupyter Notebook'ları, [bu çevrimiçi kurs](https://course.fast.ai) için hazırlanmıştır. Ayrıca, şuan satılık olan, [bu kitabın](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527) temellerini oluşturmaktadır.\nKitap, aynı GPL kısıtlamalarına tabii değildir.\n\nJupyter Notebook'ları ve python `.py` dosyalarının tamamı GPL v3 ile lisanslanmıştı; daha fazla detay için LICENSE'a bakınız. Geri kalanı (notebooklarda bulunan markdown hücreleri dahil olmak üzere), herhangi bir yeniden dağıtım veya format değişmi için, Repo'yu çatallamak ve özel kullanımınız hariç, lisanslanmamıştır. Ticari veya yayın amaçlı kullanıma izin verilmez. Deri Öğrenme konularını öğrenebilmeniz amacıyla bu içeriği ücretsiz sunuyoruz. Dolayısıyla, lütfen bahsi geçen kısıtlamalara ve telif hakkına saygı gösteriniz. \n\nBu içeriği başka yerlerde yayınlanan birisini görürseniz lütfen yaptıklarının izinli olmadığını ve onlar hakkında soruşturma başlatılabileceğini söyleyiniz. Dahası, topluluğa da zarar vermiş olacaklardır çünkü eğer insanlar telif hakkımızı göz ardı ederse bu şekilde içerik yayınlamamız pek olası değildir.\n\n## Colab\n\nRepo'yu klonlayıp bilgisayarınızda çalıştırmak yerine, [Google Colab](https://research.google.com/colaboratory/) kullanarak Notebook'ları çalışabilirsiniz. Bu, yeni başlayanlar için önerilen yaklaşımdır; doğrudan web tarayıcınızda çalışabileceğiniz için kendi makinenizde bir Python geliştirme ortamı kurmanıza da gerek yoktur.\n\nKitabın herhangi bir bölümüne Google Colab üzerine bu linklerden ulaşabilirsiniz: [Jupyter'e Giriş](https://colab.research.google.com/github/fastai/fastbook/blob/master/app_jupyter.ipynb) | [Bölüm 1, Giriş](https://colab.research.google.com/github/fastai/fastbook/blob/master/01_intro.ipynb) | [Bölüm 2, Production](https://colab.research.google.com/github/fastai/fastbook/blob/master/02_production.ipynb) | [Bölüm 3, Etikler](https://colab.research.google.com/github/fastai/fastbook/blob/master/03_ethics.ipynb) | [Bölüm 4, MNIST temelleri](https://colab.research.google.com/github/fastai/fastbook/blob/master/04_mnist_basics.ipynb) | [Bölüm 5, Pet Breeds](https://colab.research.google.com/github/fastai/fastbook/blob/master/05_pet_breeds.ipynb) | [Bölüm 6, Multi-Category](https://colab.research.google.com/github/fastai/fastbook/blob/master/06_multicat.ipynb) | [Bölüm 7, Sizing and TTA](https://colab.research.google.com/github/fastai/fastbook/blob/master/07_sizing_and_tta.ipynb) | [Bölüm 8, Collab](https://colab.research.google.com/github/fastai/fastbook/blob/master/08_collab.ipynb) | [Bölüm 9, Tabular](https://colab.research.google.com/github/fastai/fastbook/blob/master/09_tabular.ipynb) | [Bölüm 10, NLP](https://colab.research.google.com/github/fastai/fastbook/blob/master/10_nlp.ipynb) | [Bölüm 11, Mid-Level API](https://colab.research.google.com/github/fastai/fastbook/blob/master/11_midlevel_data.ipynb) | [Bölüm 12, NLP Deep-Dive](https://colab.research.google.com/github/fastai/fastbook/blob/master/12_nlp_dive.ipynb) | [Bölüm 13, Convolutions](https://colab.research.google.com/github/fastai/fastbook/blob/master/13_convolutions.ipynb) | [Bölüm 14, Resnet](https://colab.research.google.com/github/fastai/fastbook/blob/master/14_resnet.ipynb) | [Bölüm 15, Arch Details](https://colab.research.google.com/github/fastai/fastbook/blob/master/15_arch_details.ipynb) | [Bölüm 16, Optimizers and Callbacks](https://colab.research.google.com/github/fastai/fastbook/blob/master/16_accel_sgd.ipynb) | [Bölüm 17, Foundations](https://colab.research.google.com/github/fastai/fastbook/blob/master/17_foundations.ipynb) | [Bölüm 18, GradCAM](https://colab.research.google.com/github/fastai/fastbook/blob/master/18_CAM.ipynb) | [Bölüm 19, Learner](https://colab.research.google.com/github/fastai/fastbook/blob/master/19_learner.ipynb) | [Bölüm 20, conclusion](https://colab.research.google.com/github/fastai/fastbook/blob/master/20_conclusion.ipynb)\n\n\n## Contributions / Katkılar\n\nBu Repo'ya herhangi bir Pull isteğinde bulunursanız bu çalışmanın telif hakkını Jeremy Howard ve Sylvain Gugger'a devretmiş olursunuz. (Ayrıca, yazım veya metin üzerinde küçük düzenlemeler yapıyorsanız, lütfen dosyanın adını ve neyi düzelttiğinizin çok kısa bir açıklamasını belirtin. İncelemeyi yapanların hangi düzeltmelerin daha önce yapıldığını bilmesi zordur. Teşekkür ederiz.)\n\n## Atıf\n\nKitaba atıfta bulunmak istiyorsanız, şunu kullanabilirsiniz:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n\n"
  },
  {
    "path": "README_vn.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# Cuốn sách fastai\n\nNhững notebooks này giới thiệu về học sâu, sử dụng [fastai](https://docs.fast.ai/) và [PyTorch](https://pytorch.org/). Fastai là một thư viện API cho học sâu;  để biết thêm thông tin, hãy xem [fastai paper](https://www.mdpi.com/2078-2489/11/2/108). Mọi tài liệu trong repo này thuộc bản quyền của Jeremy Howard và Sylvain Gugger, từ năm 2020 trở đi.\n\nCác notebooks được sử dụng cho khóa học online mở [a MOOC](https://course.fast.ai) và là nội dung cơ bản của cuốn [sách này](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527), và hiện bạn có thể đặt mua. Cuốn sách này không có các hạn chế GPL giống như trong bản notebooks ở repo này.\n\nMã nguồn trong các notebooks và file python `.py` được đăng ký giấy phép GPL v3; chi tiết xem tại file LICENSE.\n\nNhững phần còn lại (bao gồm tất cả các markdown cells trong các notebooks cùng các nội dung khác) không được phép phân phối hoặc thay đổi định dạng hoặc phương tiện nào. Trừ trường hợp, bản sao của notebooks hoặc forking của notebooks này cho mục đích sử dụng cá nhân. Không được phép sử dụng notebooks cho mục đích thương mại hoặc quảng bá. Chúng tôi cung cấp miễn phí những tài liệu này để giúp bạn học về học sâu, vì vậy hãy tôn trọng bản quyền của chúng tôi và những hạn chế này.\n\nNếu bạn thấy ai đó lưu trữ bản sao của những tài liệu này ở một nơi khác, vui lòng cho họ biết rằng hành động của họ là không được phép và có thể dẫn đến hành động pháp lý. Hơn nữa, chúng sẽ gây tổn hại cho cộng đồng vì chúng tôi không có khả năng sẽ không tiếp tục phát hành tài liệu bổ sung theo cách này nếu mọi người bỏ qua bản quyền của chúng tôi.\n\nĐây là một bản thảo draft. Nếu bạn gặp khó khăn khi chạy các notebooks, vui lòng tìm kiếm câu trả lời và yêu cầu trợ giúp nếu cần tại [diễn đàn fastai-dev](https://forums.fast.ai/c/fastai-users/fastai-dev/). Vui lòng không sử dụng GitHub cho các lỗi (issues) khi chạy notebooks.\n\nNếu bạn thực hiện bất kỳ pull requests nào đối với repo này, thì bạn đang chuyển nhượng bản quyền của nội dung đó cho Jeremy Howard và Sylvain Gugger. (Ngoài ra, nếu bạn thực hiện các chỉnh sửa nhỏ như về lỗi chính tả, vui lòng nêu rõ tên của tệp file văn bản và mô tả rất ngắn gọn về những gì bạn đang sửa. Bởi vì rất khó để reviewers biết bạn đã sửa những nơi nào. Xin cảm ơn!)\n\n## Trích dẫn\n\nNếu bạn muốn trích dẫn cuốn sách, bạn có thể sử dụng như sau:\n\n```\n@book{howard2020deep,\ntitle={Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD},\nauthor={Howard, J. and Gugger, S.},\nisbn={9781492045526},\nurl={https://books.google.no/books?id=xd6LxgEACAAJ},\nyear={2020},\npublisher={O'Reilly Media, Incorporated}\n}\n```\n"
  },
  {
    "path": "README_zh.md",
    "content": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fastai/fastbook/master)  \n[English](./README.md) / [Spanish](./README_es.md) / [Korean](./README_ko.md) / [Chinese](./README_zh.md) / [Bengali](./README_bn.md) / [Indonesian](./README_id.md) / [Italian](./README_it.md) / [Portuguese](./README_pt.md) / [Vietnamese](./README_vn.md) / [Japanese](./README_ja.md)\n\n# The fastai book\n\n这些notebook包含了对深度学习，[fastai](https://docs.fast.ai/)，以及[PyTorch](https://pytorch.org/)的介绍。fastai是一个用于深度学习的分层API；要了解更多信息，请阅读[the fastai paper](https://www.mdpi.com/2078-2489/11/2/108)论文。本repo的所有内容的版权都属于Jeremy Howard和Sylvain Gugger，起自2020年。\n\n这些notebook被用于[一个MOOC课程](https://course.fast.ai)，并且是[这本书](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527)（目前可供购买）的基础。书籍并没有本稿的GPL限制。\n\nnotebook 里的代码以及 python 的 `.py` 文件受到 GPL v3 开源协议的保护；更多详情请查看 LICENSE 文件。\n\n其余部分（包括 notebook 里的 markdown 单元以及其他文字内容）可以用于重新发布，调整格式或者载体。你可以复制这里的 notebook 或者 fork 本 repo 用于个人目的。但是任何商业传播行为都是不被允许的。我们制作这些资料是用来帮助你学习深度学习的，所以请遵守我们的版权以及上述限制.\n\n如果你在别的地方发现任何人持有这些资料的副本，请告诉他们，他们的行为是不被允许的，并可能导致法律措施被采取。而且，他们可能会对社区造成伤害。这是因为如果人们忽视我们的版权，我们可能不会再像这样发布新的资料。\n\n这些资料还属于初稿阶段。如果你在运行这些 notebook 时遇到困难，请尝试在[fastai-dev forum](https://forums.fast.ai/c/fastai-users/fastai-dev/)搜索或者寻求帮助。请不要因为运行 notebook 中遇到的问题而使用 GitHub issues。\n\n若果你要为本 repo 创建 pull request，那么你的作品版权将归于 Jeremy Howard 和 Sylvain Gugger。（另外，如果你是对拼写和文本做一些小修改，请标注文件名并对你的修改提供一个简单的说明。因为对 reviewer 来说，越来越难发现哪些地方已经被改正了。非常感谢。）\n"
  },
  {
    "path": "app_blog.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[[appendix_blog]]\\n\",\n    \"[appendix]\\n\",\n    \"[role=\\\"Creating a blog\\\"]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Creating a Blog\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Unfortunately, when it comes to blogging, it seems like you have to make a difficult decision: either use a platform that makes it easy but subjects you and your readers to advertisements, paywalls, and fees, or spend hours setting up your own hosting service and weeks learning about all kinds of intricate details. Perhaps the biggest benefit to the \\\"do-it-yourself\\\" approach is that you really own your own posts, rather than being at the whim of a service provider and their decisions about how to monetize your content in the future.\\n\",\n    \"\\n\",\n    \"It turns out, however, that you can have the best of both worlds! \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Blogging with GitHub Pages\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A great solution is to host your blog on a platform called [GitHub Pages](https://pages.github.com/), which is free, has no ads or pay wall, and makes your data available in a standard way such that you can at any time move your blog to another host. But all the approaches I’ve seen to using GitHub Pages have required knowledge of the command line and arcane tools that only software developers are likely to be familiar with. For instance, GitHub's [own documentation](https://help.github.com/en/github/working-with-github-pages/creating-a-github-pages-site-with-jekyll) on setting up a blog includes a long list of instructions that involve installing the Ruby programming language, using the `git` command-line tool, copying over version numbers, and more—17 steps in total!\\n\",\n    \"\\n\",\n    \"To cut down the hassle, we’ve created an easy approach that allows you to use an *entirely browser-based interface* for all your blogging needs. You will be up and running with your new blog within about five minutes. It doesn’t cost anything, and you can easily add your own custom domain to it if you wish to. In this section, we'll explain how to do it, using a template we've created called *fast\\\\_template*. (NB: be sure to check the [book's website](https://book.fast.ai) for the latest blog recommendations, since new tools are always coming out).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Repository\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You’ll need an account on GitHub, so head over there now and create an account if you don’t have one already. Make sure that you are logged in. Normally, GitHub is used by software developers for writing code, and they use a sophisticated command-line tool to work with it—but we're going to show you an approach that doesn't use the command line at all!\\n\",\n    \"\\n\",\n    \"To get started, point your browser to [https://github.com/fastai/fast_template/generate](https://github.com/fastai/fast_template/generate) (you need to be logged in to GitHub for the link to work). This will allow you to create a place to store your blog, called a *repository*. You will a screen like the one in <<github_repo>>. Note that you have to enter your repository name using the *exact* format shown here—that is, your GitHub username followed by `.github.io`.\\n\",\n    \"\\n\",\n    \"<img width=\\\"440\\\" src=\\\"images/fast_template/image1.png\\\" id=\\\"github_repo\\\" caption=\\\"Creating your repository\\\" alt=\\\"Screenshot of the GitHub page for creating a new repository\\\">\\n\",\n    \"\\n\",\n    \"Once you’ve entered that, and any description you like, click \\\"Create repository from template.\\\" You have the choice to make the repository \\\"private,\\\" but since you are creating a blog that you want other people to read, having the underlying files publicly available hopefully won't be a problem for you.\\n\",\n    \"\\n\",\n    \"Now, let's set up your home page!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting Up Your Home Page\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When readers arrive at your blog the first thing that they will see is the content of a file called *index.md*. This is a [markdown](https://guides.github.com/features/mastering-markdown/) file.  Markdown is a powerful yet simple way of creating formatted text, such as bullet points, italics, hyperlinks, and so forth. It is very widely used, including for all the formatting in Jupyter notebooks, nearly every part of the GitHub site, and many other places all over the internet. To create markdown text, you can just type in plain English, then add some special characters to add special behavior. For instance, if you type a `*` character before and after a word or phrase, that will put it in *italics*. Let’s try it now.\\n\",\n    \"\\n\",\n    \"To open the file, click its filename in GitHub. To edit it, click on the pencil icon at the far right hand side of the screen as shown in <<fastpage_edit>>.\\n\",\n    \"\\n\",\n    \"<img width=\\\"800\\\" src=\\\"images/fast_template/image3.png\\\" alt=\\\"Screenshot showing where to click to edit the file\\\" id=\\\"fastpage_edit\\\" caption=\\\"Click Edit this file\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can add to, edit, or replace the texts that you see. Click \\\"Preview changes\\\" (<<fastpage_preview>>) to see what your markdown text will look like in your blog. Lines that you have added or changed will appear with a green bar on the lefthand side.\\n\",\n    \"\\n\",\n    \"<img width=\\\"350\\\" src=\\\"images/fast_template/image4.png\\\" alt=\\\"Screenshot showing where to click to preview changes\\\" id=\\\"fastpage_preview\\\" caption=\\\"Preview changes to catch any mistake\\\">\\n\",\n    \"\\n\",\n    \"To save your changes, scroll to the bottom of the page and click \\\"Commit changes,\\\" as shown in <<fastpage_commit>>. On GitHub, to \\\"commit\\\" something means to save it to the GitHub server.\\n\",\n    \"\\n\",\n    \"<img width=\\\"600\\\" src=\\\"images/fast_template/image5.png\\\" alt=\\\"Screenshot showing where to click to commit the changes\\\" id=\\\"fastpage_commit\\\" caption=\\\"Commit your changes to save them\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Next, you should configure your blog’s settings. To do so, click on the file called *\\\\_config.yml*, then click the edit button like you did for the index file. Change the title, description, and GitHub username values (see <<github_config>>. You need to leave the names before the colons in place, and type your new values in after the colon (and a space) on each line. You can also add to your email address and Twitter username if you wish, but note that these will appear on your public blog if you fill them in here.\\n\",\n    \"\\n\",\n    \"<img width=\\\"800\\\" src=\\\"images/fast_template/image6.png\\\" id=\\\"github_config\\\" caption=\\\"Fill in the config file\\\" alt=\\\"Screenshot showing the config file and how to fill it in\\\">\\n\",\n    \"\\n\",\n    \"After you’re done, commit your changes just like you did with the index file, then wait a minute or so while GitHub processes your new blog. Point your web browser to *&lt;username> .github.io* (replacing *&lt;username>* with your GitHub username). You should see your blog, which will look something like <<github_blog>>.\\n\",\n    \"\\n\",\n    \"<img width=\\\"540\\\" src=\\\"images/fast_template/image7.png\\\" id=\\\"github_blog\\\" caption=\\\"Your blog is online!\\\" alt=\\\"Screenshot showing the website username.github.io\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating Posts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now you’re ready to create your first post. All your posts will go in the *\\\\_posts* folder. Click on that now, and then click the \\\"Create file\\\" button. You need to be careful to name your file using the format *&lt;year>-&lt;month>-&lt;day>-&lt;name>.md*, as shown in <<fastpage_name>>, where *&lt;year>* is a four-digit number, and *&lt;month>* and *&lt;day>* are two-digit numbers. *&lt;name>* can be anything you want that will help you remember what this post was about. The *.md* extension is for markdown documents.\\n\",\n    \"\\n\",\n    \"<img width=\\\"440\\\" src=\\\"images/fast_template/image8.png\\\" alt=\\\"Screenshot showing the right syntax to create a new blog post\\\" id=\\\"fastpage_name\\\" caption=\\\"Naming your posts\\\">\\n\",\n    \"\\n\",\n    \"You can then type the contents of your first post. The only rule is that the first line of your post must be a markdown heading. This is created by putting `# ` at the start of a line, as shown in <<fastpage_title>> (that creates a level-1 heading, which you should just use once at the start of your document; you can create level-2 headings using `## `, level 3 with `###`, and so forth).\\n\",\n    \"\\n\",\n    \"<img width=\\\"300\\\" src=\\\"images/fast_template/image9.png\\\" alt=\\\"Screenshot showing the start of a blog post\\\" id=\\\"fastpage_title\\\" caption=\\\"Markdown syntax for a title\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As before, you can click the \\\"Preview\\\" button to see how your markdown formatting will look (<<fastpage_preview1>>).\\n\",\n    \"\\n\",\n    \"<img width=\\\"400\\\" src=\\\"images/fast_template/image10.png\\\" alt=\\\"Screenshot showing the same blog post interpreted in HTML\\\" id=\\\"fastpage_preview1\\\" caption=\\\"What the previous markdown syntax will look like on your blog\\\">\\n\",\n    \"\\n\",\n    \"And you will need to click the \\\"Commit new file\\\" button to save it to GitHub, as shown in <<fastpage_commit1>>.\\n\",\n    \"\\n\",\n    \"<img width=\\\"700\\\" src=\\\"images/fast_template/image11.png\\\" alt=\\\"Screenshot showing where to click to commit the new file\\\" id=\\\"fastpage_commit1\\\" caption=\\\"Commit your changes to save them\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Have a look at your blog home page again, and you will see that this post has now appeared--<<fastpage_live>> shows the result with the sample pose we just added. (Remember that you will need to wait a minute or so for GitHub to process the request before the file shows up.)\\n\",\n    \"\\n\",\n    \"<img width=\\\"500\\\" src=\\\"images/fast_template/image12.png\\\" alt=\\\"Screenshot showing the first post on the blog website\\\" id=\\\"fastpage_live\\\" caption=\\\"Your first post is live!\\\">\\n\",\n    \"\\n\",\n    \"You may have noticed that we provided a sample blog post, which you can go ahead and delete now. Go to your *\\\\_posts* folder, as before, and click on *2020-01-14-welcome.md*. Then click the trash icon on the far right, as shown in <<fastpage_delete>>.\\n\",\n    \"\\n\",\n    \"<img width=\\\"400\\\" src=\\\"images/fast_template/image13.png\\\" alt=\\\"Screenshot showing how to delete the mock post\\\" id=\\\"fastpage_delete\\\" caption=\\\"Delete the sample blog post\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In GitHub, nothing actually changes until you commit—including when you delete a file! So, after you click the trash icon, scroll down to the bottom of the page and commit your changes.\\n\",\n    \"\\n\",\n    \"You can include images in your posts by adding a line of markdown like\\n\",\n    \"the following:\\n\",\n    \"\\n\",\n    \"    ![Image description](images/filename.jpg)\\n\",\n    \"\\n\",\n    \"For this to work, you will need to put the image inside your *images* folder. To do this, click the *images* folder, them click \\\"Upload files\\\" button (<<fastpage_upload>>).\\n\",\n    \"\\n\",\n    \"<img width=\\\"400\\\" src=\\\"images/fast_template/image14.png\\\" alt=\\\"Screenshot showing how to upload new files\\\" id=\\\"fastpage_upload\\\" caption=\\\"Upload a file from your computer\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's see how to do all of this directly from your computer.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Synchronizing GitHub and Your Computer\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are lots of reasons you might want to copy your blog content from GitHub to your computer--you might want to be able to read or edit your posts offline, or maybe you’d like a backup in case something happens to your GitHub repository.\\n\",\n    \"\\n\",\n    \"GitHub does more than just let you copy your repository to your computer; it lets you *synchronize* it with your computer. That means you can make changes on GitHub, and they’ll copy over to your computer, and you can make changes on your computer, and they’ll copy over to GitHub. You can even let other people access and modify your blog, and their changes and your changes will be automatically combined together the next time you sync.\\n\",\n    \"\\n\",\n    \"To make this work, you have to install an application called [GitHub Desktop](https://desktop.github.com/) on your computer. It runs on Mac, Windows, and Linux. Follow the directions to install it, and when you run it it’ll ask you to log in to GitHub and select the repository to sync. Click \\\"Clone a repository from the Internet,\\\" as shown in <<fastpage_clone>>.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/gitblog/image1.png\\\" width=\\\"400\\\" alt=\\\"A screenshot showing how to clone your repository\\\" id=\\\"fastpage_clone\\\" caption=\\\"Clone your repository on GitHub Desktop\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Once GitHub has finished syncing your repo, you’ll be able to click \\\"View the files of your repository in Explorer\\\" (or Finder), as shown in <<fastpage_explorer>> and you’ll see the local copy of your blog! Try editing one of the files on your computer. Then return to GitHub Desktop, and you’ll see the \\\"Sync\\\" button is waiting for you to press it. When you click it your changes will be copied over to GitHub, where you’ll see them reflected on the website.\\n\",\n    \"\\n\",\n    \"<img src=\\\"images/gitblog/image2.png\\\" width=\\\"600\\\" alt=\\\"A screenshot showing the cloned repository\\\" id=\\\"fastpage_explorer\\\" caption=\\\"Viewing your files locally\\\">\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you haven't used `git` before, GitHub Desktop is a great way to get started. As you'll discover, it's a fundamental tool used by most data scientists. Another tool that we hope you now love is Jupyter Notebooks--and there's a way to write your blog directly with that too!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Jupyter for Blogging\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can also write blog posts using Jupyter notebooks. Your markdown cells, code cells, and all the outputs will appear in your exported blog post. The best way to do this may have changed by the time you are reading this book, so be sure to check out the [book's website](https://book.fast.ai) for the latest information. As we write this, the easiest way to create a blog from notebooks is to use [`fastpages`](http://fastpages.fast.ai/), which is a more advanced version of `fast_template`. \\n\",\n    \"\\n\",\n    \"To blog with a notebook, just pop it in the *\\\\_notebooks* folder in your blog repo, and it will appear in your list of blog posts. When you write your notebook, write whatever you want your audience to see. Since most writing platforms make it hard to include code and outputs, many of us are in the habit of including fewer real examples than we should. This is a great way to instead get into the habit of including lots of examples as you write.\\n\",\n    \"\\n\",\n    \"Often, you'll want to hide boilerplate such as import statements. You can add `#hide` to the top of any cell to make it not show up in output. Jupyter displays the result of the last line of a cell, so there's no need to include `print()`. (Including extra code that isn't needed means there's more cognitive overhead for the reader; so don't include code that you don't really need!)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "app_jupyter.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"raw\",\n   \"metadata\": {},\n   \"source\": [\n    \"[appendix]\\n\",\n    \"[role=\\\"Jupyter notebook 101\\\"]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Appendix: Jupyter Notebook 101\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You can read this tutorial in the book, but we strongly suggest reading it in a (yes, you guessed it) Jupyter Notebook. This way, you will be able to actually *try* the different commands we will introduce here. If you followed one of our tutorials in the previous section, you should have been left in the course folder. Just click on `nbs` then `dl1` and you should find the tutorial named `00_notebook_tutorial`. Click on it to open a new tab and you'll be ready to go.\\n\",\n    \"\\n\",\n    \"If you are on your personal machine, clone the course repository and navigate inside before following the same steps.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Introduction\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's build up from the basics: what is a Jupyter Notebook? Well, we wrote this book using Jupyter Notebooks. A notebook is a document made of cells. You can write in some of them (markdown cells) or you can perform calculations in Python (code cells) and run them like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"2\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"1+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Cool, huh? This combination of prose and code makes Jupyter Notebook ideal for experimentation: we can see the rationale for each experiment, the code, and the results in one comprehensive document. \\n\",\n    \"\\n\",\n    \"Other renowned institutions in academia and industry use Jupyter Notebook, including Google, Microsoft, IBM, Bloomberg, Berkeley and NASA among others. Even Nobel-winning economists [use Jupyter Notebooks](https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper/)  for their experiments and some suggest that Jupyter Notebooks will be the [new format for research papers](https://www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676/).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Writing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A type of cell in which you can write text is called a _Markdown cell_. [_Markdown_](https://en.wikipedia.org/wiki/Markdown) is a very popular markup language. To specify that a cell is Markdown you need to click in the drop-down menu in the toolbar and select Markdown.\\n\",\n    \"\\n\",\n    \"Click on the the '+' button on the left and select Markdown from the toolbar. Now you can type your first Markdown cell. Write 'My first markdown cell' and press run.\\n\",\n    \"\\n\",\n    \"![add](images/chapter1_add.png)\\n\",\n    \"\\n\",\n    \"You should see something like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"My first markdown cell\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now try making your first _Code_ cell: follow the same steps as before but don't change the cell type (when you add a cell its default type is _Code_). Type something like 3/2. You should see '1.5' as output.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"1.5\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"3/2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Modes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you made a mistake in your *Markdown* cell and you have already run it, you will notice that you cannot edit it just by clicking on it. This is because you are in **Command Mode**. Jupyter Notebooks have two distinct modes:\\n\",\n    \"\\n\",\n    \"- Edit Mode:: Allows you to edit a cell's content.\\n\",\n    \"\\n\",\n    \"- Command Mode:: Allows you to edit the notebook as a whole and use keyboard shortcuts but not edit a cell's content. \\n\",\n    \"\\n\",\n    \"You can toggle between these two by either pressing <kbd>ESC</kbd> and <kbd>Enter</kbd> or clicking outside a cell or inside it (you need to double click if it's a Markdown cell). You can always tell which mode you're on: the current cell will have a green border in **Edit Mode** and a blue border in **Command Mode**. Try it!\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Other Important Considerations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Your notebook is autosaved every 120 seconds. If you want to manually save it you can just press the save button on the upper left corner or press <kbd>s</kbd> in **Command Mode**.\\n\",\n    \"\\n\",\n    \"![Save](images/chapter1_save.png)\\n\",\n    \"\\n\",\n    \"To know if your *kernel* (the Python engine executing your instructions behind the scenes) is computing or not, you can check the dot in your upper right corner. If the dot is full, it means that the kernel is working. If not, it is idle. You can place the mouse on it and the state of the kernel will be displayed.\\n\",\n    \"\\n\",\n    \"![Busy](images/chapter1_busy.png)\\n\",\n    \"\\n\",\n    \"There are a couple of shortcuts you must know about which we use **all** the time (always in **Command Mode**). These are:\\n\",\n    \"\\n\",\n    \" - Shift+Enter:: Run the code or markdown on a cell\\n\",\n    \" \\n\",\n    \" - Up Arrow+Down Arrow:: Toggle across cells\\n\",\n    \" \\n\",\n    \" - b:: Create new cell\\n\",\n    \" \\n\",\n    \" - 0+0:: Reset Kernel\\n\",\n    \"\\n\",\n    \"You can find more shortcuts by typing <kbd>h</kbd> (for help).\\n\",\n    \"\\n\",\n    \"You may need to use a terminal in a Jupyter Notebook environment (for example to git pull on a repository). That is very easy to do: just press 'New' in your Home directory and 'Terminal'. Don't know how to use the Terminal? We made a tutorial for that as well. You can find it [here](https://course19.fast.ai/terminal_tutorial.html).\\n\",\n    \"\\n\",\n    \"![Terminal](images/chapter1_terminal.png)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"That's it. This is all you need to know to use Jupyter Notebooks. That said, we have more tips and tricks below, so don't jump to the next section just yet.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Markdown Formatting\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Italics, Bold, Strikethrough, Inline, Blockquotes and Links\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The five most important concepts to format your code appropriately when using Markdown are:\\n\",\n    \"    \\n\",\n    \"- *Italics*:: Surround your text with \\\\_ or \\\\*.\\n\",\n    \"\\n\",\n    \"- **Bold**:: Surround your text with \\\\__ or \\\\**.\\n\",\n    \"\\n\",\n    \"- `inline`:: Surround your text with \\\\`.\\n\",\n    \"\\n\",\n    \"- blockquote:: Place \\\\> before your text.\\n\",\n    \"\\n\",\n    \"- [Links](http://course-v3.fast.ai/):: Surround the text you want to link with \\\\[\\\\] and place the link adjacent to the text, surrounded with ().\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Headings\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice that including a hashtag before the text in a markdown cell makes the text a heading. The number of hashtags you include will determine the priority of the header (# is level one, ## is level two, ### is level three and #### is level four). We will add three new cells with the + button on the left to see how every level of heading looks.\\n\",\n    \"\\n\",\n    \"In the notebook, double click on some headings and find out what level they are!\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Lists\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are three types of lists in markdown.\\n\",\n    \"\\n\",\n    \"Ordered list:\\n\",\n    \"\\n\",\n    \"1. Step 1\\n\",\n    \"    2. Step 1B\\n\",\n    \"3. Step 3\\n\",\n    \"\\n\",\n    \"Unordered list\\n\",\n    \"\\n\",\n    \"* learning rate\\n\",\n    \"* cycle length\\n\",\n    \"* weight decay\\n\",\n    \"\\n\",\n    \"Task list\\n\",\n    \"\\n\",\n    \"- [x] Learn Jupyter Notebooks\\n\",\n    \"    - [x] Writing\\n\",\n    \"    - [x] Modes\\n\",\n    \"    - [x] Other Considerations\\n\",\n    \"- [ ] Change the world\\n\",\n    \"\\n\",\n    \"In the notebook, double click on them to see how they are built! \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Code Capabilities\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"**Code** cells are different than **Markdown** cells in that they have an output cell. This means that we can _keep_ the results of our code within the notebook and share them. Let's say we want to show a graph that explains the result of an experiment. We can just run the necessary cells and save the notebook. The output will be there when we open it again! Try it out by running the next four cells.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Import necessary libraries\\n\",\n    \"from fastai.vision.all import * \\n\",\n    \"import matplotlib.pyplot as plt\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from PIL import Image\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(1, 2, 4, 8)\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"a = 1\\n\",\n    \"b = a + 1\\n\",\n    \"c = b + a + 1\\n\",\n    \"d = c + b + a + 1\\n\",\n    \"a, b, c ,d\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot([a,b,c,d])\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also print images while experimenting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\\n\",\n      \"text/plain\": [\n       \"<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=197x250 at 0x7F3E279ABE50>\"\n      ]\n     },\n     \"execution_count\": null,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"Image.open(image_cat())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Running the App Locally\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"You may be running Jupyter Notebook from an interactive coding environment like Gradient, Sagemaker or Salamander. You can also run a Jupyter Notebook server from your local computer. What's more, if you have installed Anaconda you don't even need to install Jupyter (if not, just `pip install jupyter`).\\n\",\n    \"\\n\",\n    \"You just need to run `jupyter notebook` in your terminal. Remember to run it from a folder that contains all the folders/files you will want to access. You will be able to open, view, and edit files located within the directory in which you run this command but not files in parent directories.\\n\",\n    \"\\n\",\n    \"If a browser tab does not open automatically once you run the command, you should CTRL+CLICK the link starting with 'http://localhost:' and this will open a new tab in your default browser.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating a Notebook\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that you have your own Jupyter Notebook server running, you will probably want to write your own notebook. Click on 'New' in the upper left corner and 'Python 3' in the drop-down list (we are going to use a [Python kernel](https://github.com/ipython/ipython) for all our experiments).\\n\",\n    \"\\n\",\n    \"![new_notebook](images/chapter1_new_notebook.png)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Shortcuts and Tricks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here is a list of useful tricks when in a Jupyter Notebook. Make sure you learn them early and use them as often as you can!\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Command Mode Shortcuts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are a couple of useful keyboard shortcuts in `Command Mode` that you can leverage to make Jupyter Notebook faster to use. Remember that you can switch back and forth between `Command Mode` and `Edit Mode` with <kbd>Esc</kbd> and <kbd>Enter</kbd>.\\n\",\n    \"\\n\",\n    \"- m:: Convert cell to Markdown\\n\",\n    \"- y:: Convert cell to Code\\n\",\n    \"- d+d:: Delete cell\\n\",\n    \"- o:: Toggle between hide or show output\\n\",\n    \"- Shift+Arrow up/Arrow down:: Select multiple cells. Once you have selected them you can operate on them like a batch (run, copy, paste etc).\\n\",\n    \"- Shift+M:: Merge selected cells\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cell Tricks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There are also some tricks that you can code into a cell:\\n\",\n    \"\\n\",\n    \"- `?function-name`:: Shows the definition and docstring for that function\\n\",\n    \"- `??function-name`:: Shows the source code for that function\\n\",\n    \"- `doc(function-name)`:: Shows the definition, docstring **and links to the documentation** of the function\\n\",\n    \"(only works with fastai library imported)\\n\",\n    \"- Shift+Tab (press once):: See which parameters to pass to a function \\n\",\n    \"- Shift+Tab (press three times):: Get additional information on the method\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Line Magics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Line magics are functions that you can run on cells. They should be at the beginning of a line and take as an argument the rest of the line from where they are called. You call them by placing a '%' sign before the command. The most useful ones are:\\n\",\n    \"\\n\",\n    \"- `%matplotlib inline`:: Ensures that all matplotlib plots will be plotted in the output cell within the notebook and will be kept in the notebook when saved.\\n\",\n    \"\\n\",\n    \"This command is always called together at the beginning of every notebook of the fast.ai course.\\n\",\n    \"\\n\",\n    \"``` python\\n\",\n    \"%matplotlib inline\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"- `%timeit`:: Runs a line ten thousand times and displays the average time it took to run.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"56.1 µs ± 592 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%timeit [i+1 for i in range(1000)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"`%debug`: Inspects a function which is showing an error using the [Python debugger](https://docs.python.org/3/library/pdb.html). If you type this in a cell just after an error, you will be directed to a console where you can inspect the values of all the variables.\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/01_intro.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Your Deep Learning Journey\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning Is for Everyone\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Neural Networks: A Brief History\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Who We Are\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## How to Learn Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Your Projects and Your Mindset\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Software: PyTorch, fastai, and Jupyter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Your First Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Getting a GPU Deep Learning Server\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running Your First Notebook\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# CLICK ME\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)/'images'\\n\",\n    \"\\n\",\n    \"def is_cat(x): return x[0].isupper()\\n\",\n    \"dls = ImageDataLoaders.from_name_func(\\n\",\n    \"    path, get_image_files(path), valid_pct=0.2, seed=42,\\n\",\n    \"    label_func=is_cat, item_tfms=Resize(224))\\n\",\n    \"\\n\",\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: This Book Was Written in Jupyter Notebooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"1+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(image_cat())\\n\",\n    \"img.to_thumb(192)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"uploader = widgets.FileUpload()\\n\",\n    \"uploader\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# For the book, we can't actually click an upload button, so we fake it\\n\",\n    \"uploader = SimpleNamespace(data = ['images/chapter1_cat_example.jpg'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(uploader.data[0])\\n\",\n    \"is_cat,_,probs = learn.predict(img)\\n\",\n    \"print(f\\\"Is this a cat?: {is_cat}.\\\")\\n\",\n    \"print(f\\\"Probability it's a cat: {probs[1].item():.6f}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Is Machine Learning?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''program[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->program->results''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results; weights->model''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''ordering=in\\n\",\n    \"model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results; weights->model; results->performance\\n\",\n    \"performance->weights[constraint=false label=update]''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''model[shape=box3d width=1 height=0.7]\\n\",\n    \"inputs->model->results''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Is a Neural Network?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Bit of Deep Learning Jargon\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''ordering=in\\n\",\n    \"model[shape=box3d width=1 height=0.7 label=architecture]\\n\",\n    \"inputs->model->predictions; parameters->model; labels->loss; predictions->loss\\n\",\n    \"loss->parameters[constraint=false label=update]''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Limitations Inherent To Machine Learning\\n\",\n    \"\\n\",\n    \"From this picture we can now see some fundamental things about training a deep learning model:\\n\",\n    \"\\n\",\n    \"- A model cannot be created without data.\\n\",\n    \"- A model can only learn to operate on the patterns seen in the input data used to train it.\\n\",\n    \"- This learning approach only creates *predictions*, not recommended *actions*.\\n\",\n    \"- It's not enough to just have examples of input data; we need *labels* for that data too (e.g., pictures of dogs and cats aren't enough to train a model; we need a label for each one, saying which ones are dogs, and which are cats).\\n\",\n    \"\\n\",\n    \"Generally speaking, we've seen that most organizations that say they don't have enough data, actually mean they don't have enough *labeled* data. If any organization is interested in doing something in practice with a model, then presumably they have some inputs they plan to run their model against. And presumably they've been doing that some other way for a while (e.g., manually, or with some heuristic program), so they have data from those processes! For instance, a radiology practice will almost certainly have an archive of medical scans (since they need to be able to check how their patients are progressing over time), but those scans may not have structured labels containing a list of diagnoses or interventions (since radiologists generally create free-text natural language reports, not structured data). We'll be discussing labeling approaches a lot in this book, because it's such an important issue in practice.\\n\",\n    \"\\n\",\n    \"Since these kinds of machine learning models can only make *predictions* (i.e., attempt to replicate labels), this can result in a significant gap between organizational goals and model capabilities. For instance, in this book you'll learn how to create a *recommendation system* that can predict what products a user might purchase. This is often used in e-commerce, such as to customize products shown on a home page by showing the highest-ranked items. But such a model is generally created by looking at a user and their buying history (*inputs*) and what they went on to buy or look at (*labels*), which means that the model is likely to tell you about products the user already has or already knows about, rather than new products that they are most likely to be interested in hearing about. That's very different to what, say, an expert at your local bookseller might do, where they ask questions to figure out your taste, and then tell you about authors or series that you've never heard of before.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### How Our Image Recognizer Works\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### What Our Image Recognizer Learned\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Image Recognizers Can Tackle Non-Image Tasks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Jargon Recap\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning Is Not Just for Image Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.CAMVID_TINY)\\n\",\n    \"dls = SegmentationDataLoaders.from_label_func(\\n\",\n    \"    path, bs=8, fnames = get_image_files(path/\\\"images\\\"),\\n\",\n    \"    label_func = lambda o: path/'labels'/f'{o.stem}_P{o.suffix}',\\n\",\n    \"    codes = np.loadtxt(path/'codes.txt', dtype=str)\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"learn = unet_learner(dls, resnet34)\\n\",\n    \"learn.fine_tune(8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.show_results(max_n=6, figsize=(7,8))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\\n\",\n    \"learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)\\n\",\n    \"learn.fine_tune(4, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you hit a \\\"CUDA out of memory error\\\" after running this cell, click on the menu Kernel, then restart. Instead of executing the cell above, copy and paste the following code in it:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test', bs=32)\\n\",\n    \"learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)\\n\",\n    \"learn.fine_tune(4, 1e-2)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This reduces the batch size to 32 (we will explain this later). If you keep hitting the same error, change 32 to 16.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.predict(\\\"I really liked that movie!\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: The Order Matters\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.tabular.all import *\\n\",\n    \"path = untar_data(URLs.ADULT_SAMPLE)\\n\",\n    \"\\n\",\n    \"dls = TabularDataLoaders.from_csv(path/'adult.csv', path=path, y_names=\\\"salary\\\",\\n\",\n    \"    cat_names = ['workclass', 'education', 'marital-status', 'occupation',\\n\",\n    \"                 'relationship', 'race'],\\n\",\n    \"    cont_names = ['age', 'fnlwgt', 'education-num'],\\n\",\n    \"    procs = [Categorify, FillMissing, Normalize])\\n\",\n    \"\\n\",\n    \"learn = tabular_learner(dls, metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.collab import *\\n\",\n    \"path = untar_data(URLs.ML_SAMPLE)\\n\",\n    \"dls = CollabDataLoaders.from_csv(path/'ratings.csv')\\n\",\n    \"learn = collab_learner(dls, y_range=(0.5,5.5))\\n\",\n    \"learn.fine_tune(10)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.show_results()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Datasets: Food for Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Validation Sets and Test Sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Use Judgment in Defining Test Sets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A _Choose Your Own Adventure_ moment\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"It can be hard to know in pages and pages of prose what the key things are that you really need to focus on and remember. So, we've prepared a list of questions and suggested steps to complete at the end of each chapter. All the answers are in the text of the chapter, so if you're not sure about anything here, reread that part of the text and make sure you understand it. Answers to all these questions are also available on the [book's website](https://book.fast.ai). You can also visit [the forums](https://forums.fast.ai) if you get stuck to get help from other folks studying this material.\\n\",\n    \"\\n\",\n    \"For more questions, including detailed answers and links to the video timeline, have a look at Radek Osmulski's [aiquizzes](http://aiquizzes.com/howto).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Do you need these for deep learning?\\n\",\n    \"\\n\",\n    \"   - Lots of math T / F\\n\",\n    \"   - Lots of data T / F\\n\",\n    \"   - Lots of expensive computers T / F\\n\",\n    \"   - A PhD T / F\\n\",\n    \"   \\n\",\n    \"1. Name five areas where deep learning is now the best in the world.\\n\",\n    \"1. What was the name of the first device that was based on the principle of the artificial neuron?\\n\",\n    \"1. Based on the book of the same name, what are the requirements for parallel distributed processing (PDP)?\\n\",\n    \"1. What were the two theoretical misunderstandings that held back the field of neural networks?\\n\",\n    \"1. What is a GPU?\\n\",\n    \"1. Open a notebook and execute a cell containing: `1+1`. What happens?\\n\",\n    \"1. Follow through each cell of the stripped version of the notebook for this chapter. Before executing each cell, guess what will happen.\\n\",\n    \"1. Complete the Jupyter Notebook online appendix.\\n\",\n    \"1. Why is it hard to use a traditional computer program to recognize images in a photo?\\n\",\n    \"1. What did Samuel mean by \\\"weight assignment\\\"?\\n\",\n    \"1. What term do we normally use in deep learning for what Samuel called \\\"weights\\\"?\\n\",\n    \"1. Draw a picture that summarizes Samuel's view of a machine learning model.\\n\",\n    \"1. Why is it hard to understand why a deep learning model makes a particular prediction?\\n\",\n    \"1. What is the name of the theorem that shows that a neural network can solve any mathematical problem to any level of accuracy?\\n\",\n    \"1. What do you need in order to train a model?\\n\",\n    \"1. How could a feedback loop impact the rollout of a predictive policing model?\\n\",\n    \"1. Do we always have to use 224×224-pixel images with the cat recognition model?\\n\",\n    \"1. What is the difference between classification and regression?\\n\",\n    \"1. What is a validation set? What is a test set? Why do we need them?\\n\",\n    \"1. What will fastai do if you don't provide a validation set?\\n\",\n    \"1. Can we always use a random sample for a validation set? Why or why not?\\n\",\n    \"1. What is overfitting? Provide an example.\\n\",\n    \"1. What is a metric? How does it differ from \\\"loss\\\"?\\n\",\n    \"1. How can pretrained models help?\\n\",\n    \"1. What is the \\\"head\\\" of a model?\\n\",\n    \"1. What kinds of features do the early layers of a CNN find? How about the later layers?\\n\",\n    \"1. Are image models only useful for photos?\\n\",\n    \"1. What is an \\\"architecture\\\"?\\n\",\n    \"1. What is segmentation?\\n\",\n    \"1. What is `y_range` used for? When do we need it?\\n\",\n    \"1. What are \\\"hyperparameters\\\"?\\n\",\n    \"1. What's the best way to avoid failures when using AI in an organization?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Each chapter also has a \\\"Further Research\\\" section that poses questions that aren't fully answered in the text, or gives more advanced assignments. Answers to these questions aren't on the book's website; you'll need to do your own research!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why is a GPU useful for deep learning? How is a CPU different, and why is it less effective for deep learning?\\n\",\n    \"1. Try to think of three areas where feedback loops might impact the use of machine learning. See if you can find documented examples of that happening in practice.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/02_production.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from fastai.vision.widgets import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# From Model to Production\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Practice of Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Starting Your Project\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The State of Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Computer vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Text (natural language processing)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Combining text and images\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Tabular data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Recommendation systems\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Other data types\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Drivetrain Approach\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Gathering Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# clean\\n\",\n    \"To download images with Bing Image Search, sign up at [Microsoft Azure](https://azure.microsoft.com/en-us/services/cognitive-services/bing-web-search-api/) for a free account. You will be given a key, which you can copy and enter in a cell as follows (replacing 'XXX' with your key and executing it):\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"key = os.environ.get('AZURE_SEARCH_KEY', 'XXX')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"search_images_bing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"results = search_images_bing(key, 'grizzly bear')\\n\",\n    \"ims = results.attrgot('contentUrl')\\n\",\n    \"len(ims)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"ims = ['http://3.bp.blogspot.com/-S1scRCkI3vY/UHzV2kucsPI/AAAAAAAAA-k/YQ5UzHEm9Ss/s1600/Grizzly%2BBear%2BWildlife.jpg']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dest = 'images/grizzly.jpg'\\n\",\n    \"download_url(ims[0], dest)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im = Image.open(dest)\\n\",\n    \"im.to_thumb(128,128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bear_types = 'grizzly','black','teddy'\\n\",\n    \"path = Path('bears')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"if not path.exists():\\n\",\n    \"    path.mkdir()\\n\",\n    \"    for o in bear_types:\\n\",\n    \"        dest = (path/o)\\n\",\n    \"        dest.mkdir(exist_ok=True)\\n\",\n    \"        results = search_images_bing(key, f'{o} bear')\\n\",\n    \"        download_images(dest, urls=results.attrgot('contentUrl'))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fns = get_image_files(path)\\n\",\n    \"fns\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"failed = verify_images(fns)\\n\",\n    \"failed\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"failed.map(Path.unlink);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Getting Help in Jupyter Notebooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## From Data to DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = DataBlock(\\n\",\n    \"    blocks=(ImageBlock, CategoryBlock), \\n\",\n    \"    get_items=get_image_files, \\n\",\n    \"    splitter=RandomSplitter(valid_pct=0.2, seed=42),\\n\",\n    \"    get_y=parent_label,\\n\",\n    \"    item_tfms=Resize(128))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = bears.dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128, ResizeMethod.Squish))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128, ResizeMethod.Pad, pad_mode='zeros'))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.valid.show_batch(max_n=4, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(item_tfms=RandomResizedCrop(128, min_scale=0.3))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.train.show_batch(max_n=4, nrows=1, unique=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Data Augmentation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(item_tfms=Resize(128), batch_tfms=aug_transforms(mult=2))\\n\",\n    \"dls = bears.dataloaders(path)\\n\",\n    \"dls.train.show_batch(max_n=8, nrows=2, unique=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training Your Model, and Using It to Clean Your Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bears = bears.new(\\n\",\n    \"    item_tfms=RandomResizedCrop(224, min_scale=0.5),\\n\",\n    \"    batch_tfms=aug_transforms())\\n\",\n    \"dls = bears.dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18, metrics=error_rate)\\n\",\n    \"learn.fine_tune(4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"interp = ClassificationInterpretation.from_learner(learn)\\n\",\n    \"interp.plot_confusion_matrix()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"interp.plot_top_losses(5, nrows=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cleaner = ImageClassifierCleaner(learn)\\n\",\n    \"cleaner\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# for idx in cleaner.delete(): cleaner.fns[idx].unlink()\\n\",\n    \"# for idx,cat in cleaner.change(): shutil.move(str(cleaner.fns[idx]), path/cat)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Turning Your Model into an Online Application\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using the Model for Inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.export()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = Path()\\n\",\n    \"path.ls(file_exts='.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn_inf = load_learner(path/'export.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn_inf.predict('images/grizzly.jpg')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn_inf.dls.vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Notebook App from the Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"btn_upload = widgets.FileUpload()\\n\",\n    \"btn_upload\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# For the book, we can't actually click an upload button, so we fake it\\n\",\n    \"btn_upload = SimpleNamespace(data = ['images/grizzly.jpg'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(btn_upload.data[-1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"out_pl = widgets.Output()\\n\",\n    \"out_pl.clear_output()\\n\",\n    \"with out_pl: display(img.to_thumb(128,128))\\n\",\n    \"out_pl\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pred,pred_idx,probs = learn_inf.predict(img)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lbl_pred = widgets.Label()\\n\",\n    \"lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\\n\",\n    \"lbl_pred\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"btn_run = widgets.Button(description='Classify')\\n\",\n    \"btn_run\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def on_click_classify(change):\\n\",\n    \"    img = PILImage.create(btn_upload.data[-1])\\n\",\n    \"    out_pl.clear_output()\\n\",\n    \"    with out_pl: display(img.to_thumb(128,128))\\n\",\n    \"    pred,pred_idx,probs = learn_inf.predict(img)\\n\",\n    \"    lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\\n\",\n    \"\\n\",\n    \"btn_run.on_click(on_click_classify)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"#Putting back btn_upload to a widget for next cell\\n\",\n    \"btn_upload = widgets.FileUpload()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"VBox([widgets.Label('Select your bear!'), \\n\",\n    \"      btn_upload, btn_run, out_pl, lbl_pred])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Turning Your Notebook into a Real App\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# !pip install voila\\n\",\n    \"# !jupyter serverextension enable --sys-prefix voila \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Deploying your app\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## How to Avoid Disaster\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Unforeseen Consequences and Feedback Loops\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Get Writing!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Provide an example of where the bear classification model might work poorly in production, due to structural or style differences in the training data.\\n\",\n    \"1. Where do text models currently have a major deficiency?\\n\",\n    \"1. What are possible negative societal implications of text generation models?\\n\",\n    \"1. In situations where a model might make mistakes, and those mistakes could be harmful, what is a good alternative to automating a process?\\n\",\n    \"1. What kind of tabular data is deep learning particularly good at?\\n\",\n    \"1. What's a key downside of directly using a deep learning model for recommendation systems?\\n\",\n    \"1. What are the steps of the Drivetrain Approach?\\n\",\n    \"1. How do the steps of the Drivetrain Approach map to a recommendation system?\\n\",\n    \"1. Create an image recognition model using data you curate, and deploy it on the web.\\n\",\n    \"1. What is `DataLoaders`?\\n\",\n    \"1. What four things do we need to tell fastai to create `DataLoaders`?\\n\",\n    \"1. What does the `splitter` parameter to `DataBlock` do?\\n\",\n    \"1. How do we ensure a random split always gives the same validation set?\\n\",\n    \"1. What letters are often used to signify the independent and dependent variables?\\n\",\n    \"1. What's the difference between the crop, pad, and squish resize approaches? When might you choose one over the others?\\n\",\n    \"1. What is data augmentation? Why is it needed?\\n\",\n    \"1. What is the difference between `item_tfms` and `batch_tfms`?\\n\",\n    \"1. What is a confusion matrix?\\n\",\n    \"1. What does `export` save?\\n\",\n    \"1. What is it called when we use a model for getting predictions, instead of training?\\n\",\n    \"1. What are IPython widgets?\\n\",\n    \"1. When might you want to use CPU for deployment? When might GPU be better?\\n\",\n    \"1. What are the downsides of deploying your app to a server, instead of to a client (or edge) device such as a phone or PC?\\n\",\n    \"1. What are three examples of problems that could occur when rolling out a bear warning system in practice?\\n\",\n    \"1. What is \\\"out-of-domain data\\\"?\\n\",\n    \"1. What is \\\"domain shift\\\"?\\n\",\n    \"1. What are the three steps in the deployment process?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Consider how the Drivetrain Approach maps to a project or problem you're interested in.\\n\",\n    \"1. When might it be best to avoid certain types of data augmentation?\\n\",\n    \"1. For a project you're interested in applying deep learning to, consider the thought experiment \\\"What would happen if it went really, really well?\\\"\\n\",\n    \"1. Start a blog, and write your first blog post. For instance, write about what you think deep learning might be useful for in a domain you're interested in.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/03_ethics.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Acknowledgement: Dr. Rachel Thomas\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Key Examples for Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bugs and Recourse: Buggy Algorithm Used for Healthcare Benefits\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feedback Loops: YouTube's Recommendation System\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bias: Professor Latanya Sweeney \\\"Arrested\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Why Does This Matter?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Integrating Machine Learning with Product Design\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Topics in Data Ethics\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Recourse and Accountability\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feedback Loops\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Historical bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Measurement bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Aggregation bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Representation bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Addressing different types of bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Disinformation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Identifying and Addressing Ethical Issues\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Analyze a Project You Are Working On\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Processes to Implement\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Ethical lenses\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Power of Diversity\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fairness, Accountability, and Transparency\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Role of Policy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Effectiveness of Regulation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Rights and Policy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cars: A Historical Precedent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Does ethics provide a list of \\\"right answers\\\"?\\n\",\n    \"1. How can working with people of different backgrounds help when considering ethical questions?\\n\",\n    \"1. What was the role of IBM in Nazi Germany? Why did the company participate as it did? Why did the workers participate?\\n\",\n    \"1. What was the role of the first person jailed in the Volkswagen diesel scandal?\\n\",\n    \"1. What was the problem with a database of suspected gang members maintained by California law enforcement officials?\\n\",\n    \"1. Why did YouTube's recommendation algorithm recommend videos of partially clothed children to pedophiles, even though no employee at Google had programmed this feature?\\n\",\n    \"1. What are the problems with the centrality of metrics?\\n\",\n    \"1. Why did Meetup.com not include gender in its recommendation system for tech meetups?\\n\",\n    \"1. What are the six types of bias in machine learning, according to Suresh and Guttag?\\n\",\n    \"1. Give two examples of historical race bias in the US.\\n\",\n    \"1. Where are most images in ImageNet from?\\n\",\n    \"1. In the paper [\\\"Does Machine Learning Automate Moral Hazard and Error\\\"](https://scholar.harvard.edu/files/sendhil/files/aer.p20171084.pdf) why is sinusitis found to be predictive of a stroke?\\n\",\n    \"1. What is representation bias?\\n\",\n    \"1. How are machines and people different, in terms of their use for making decisions?\\n\",\n    \"1. Is disinformation the same as \\\"fake news\\\"?\\n\",\n    \"1. Why is disinformation through auto-generated text a particularly significant issue?\\n\",\n    \"1. What are the five ethical lenses described by the Markkula Center?\\n\",\n    \"1. Where is policy an appropriate tool for addressing data ethics issues?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research:\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Read the article \\\"What Happens When an Algorithm Cuts Your Healthcare\\\". How could problems like this be avoided in the future?\\n\",\n    \"1. Research to find out more about YouTube's recommendation system and its societal impacts. Do you think recommendation systems must always have feedback loops with negative results? What approaches could Google take to avoid them? What about the government?\\n\",\n    \"1. Read the paper [\\\"Discrimination in Online Ad Delivery\\\"](https://arxiv.org/abs/1301.6822). Do you think Google should be considered responsible for what happened to Dr. Sweeney? What would be an appropriate response?\\n\",\n    \"1. How can a cross-disciplinary team help avoid negative consequences?\\n\",\n    \"1. Read the paper \\\"Does Machine Learning Automate Moral Hazard and Error\\\". What actions do you think should be taken to deal with the issues identified in this paper?\\n\",\n    \"1. Read the article \\\"How Will We Prevent AI-Based Forgery?\\\" Do you think Etzioni's proposed approach could work? Why?\\n\",\n    \"1. Complete the section \\\"Analyze a Project You Are Working On\\\" in this chapter.\\n\",\n    \"1. Consider whether your team could be more diverse. If so, what approaches might help?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning in Practice: That's a Wrap!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations! You've made it to the end of the first section of the book. In this section we've tried to show you what deep learning can do, and how you can use it to create real applications and products. At this point, you will get a lot more out of the book if you spend some time trying out what you've learned. Perhaps you have already been doing this as you go along—in which case, great! If not, that's no problem either... Now is a great time to start experimenting yourself.\\n\",\n    \"\\n\",\n    \"If you haven't been to the [book's website](https://book.fast.ai) yet, head over there now. It's really important that you get yourself set up to run the notebooks. Becoming an effective deep learning practitioner is all about practice, so you need to be training models. So, please go get the notebooks running now if you haven't already! And also have a look on the website for any important updates or notices; deep learning changes fast, and we can't change the words that are printed in this book, so the website is where you need to look to ensure you have the most up-to-date information.\\n\",\n    \"\\n\",\n    \"Make sure that you have completed the following steps:\\n\",\n    \"\\n\",\n    \"- Connect to one of the GPU Jupyter servers recommended on the book's website.\\n\",\n    \"- Run the first notebook yourself.\\n\",\n    \"- Upload an image that you find in the first notebook; then try a few different images of different kinds to see what happens.\\n\",\n    \"- Run the second notebook, collecting your own dataset based on image search queries that you come up with.\\n\",\n    \"- Think about how you can use deep learning to help you with your own projects, including what kinds of data you could use, what kinds of problems may come up, and how you might be able to mitigate these issues in practice.\\n\",\n    \"\\n\",\n    \"In the next section of the book you will learn about how and why deep learning works, instead of just seeing how you can use it in practice. Understanding the how and why is important for both practitioners and researchers, because in this fairly new field nearly every project requires some level of customization and debugging. The better you understand the foundations of deep learning, the better your models will be. These foundations are less important for executives, product managers, and so forth (although still useful, so feel free to keep reading!), but they are critical for anybody who is actually training and deploying models themselves.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/04_mnist_basics.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"from fastbook import *\\n\",\n    \"\\n\",\n    \"matplotlib.rc('image', cmap='Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Under the Hood: Training a Digit Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Pixels: The Foundations of Computer Vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Sidebar: Tenacity and Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST_SAMPLE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(path/'train').ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"threes = (path/'train'/'3').ls().sorted()\\n\",\n    \"sevens = (path/'train'/'7').ls().sorted()\\n\",\n    \"threes\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im3_path = threes[1]\\n\",\n    \"im3 = Image.open(im3_path)\\n\",\n    \"im3\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"array(im3)[4:10,4:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tensor(im3)[4:10,4:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im3_t = tensor(im3)\\n\",\n    \"df = pd.DataFrame(im3_t[4:15,4:22])\\n\",\n    \"df.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## First Try: Pixel Similarity\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"seven_tensors = [tensor(Image.open(o)) for o in sevens]\\n\",\n    \"three_tensors = [tensor(Image.open(o)) for o in threes]\\n\",\n    \"len(three_tensors),len(seven_tensors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_image(three_tensors[1]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"stacked_sevens = torch.stack(seven_tensors).float()/255\\n\",\n    \"stacked_threes = torch.stack(three_tensors).float()/255\\n\",\n    \"stacked_threes.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"len(stacked_threes.shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"stacked_threes.ndim\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mean3 = stacked_threes.mean(0)\\n\",\n    \"show_image(mean3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mean7 = stacked_sevens.mean(0)\\n\",\n    \"show_image(mean7);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"a_3 = stacked_threes[1]\\n\",\n    \"show_image(a_3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dist_3_abs = (a_3 - mean3).abs().mean()\\n\",\n    \"dist_3_sqr = ((a_3 - mean3)**2).mean().sqrt()\\n\",\n    \"dist_3_abs,dist_3_sqr\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dist_7_abs = (a_3 - mean7).abs().mean()\\n\",\n    \"dist_7_sqr = ((a_3 - mean7)**2).mean().sqrt()\\n\",\n    \"dist_7_abs,dist_7_sqr\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"F.l1_loss(a_3.float(),mean7), F.mse_loss(a_3,mean7).sqrt()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### NumPy Arrays and PyTorch Tensors\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"data = [[1,2,3],[4,5,6]]\\n\",\n    \"arr = array (data)\\n\",\n    \"tns = tensor(data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"arr  # numpy\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns  # pytorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns[:,1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns[1,1:3]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns.type()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tns*1.5\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Computing Metrics Using Broadcasting\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_3_tens = torch.stack([tensor(Image.open(o)) \\n\",\n    \"                            for o in (path/'valid'/'3').ls()])\\n\",\n    \"valid_3_tens = valid_3_tens.float()/255\\n\",\n    \"valid_7_tens = torch.stack([tensor(Image.open(o)) \\n\",\n    \"                            for o in (path/'valid'/'7').ls()])\\n\",\n    \"valid_7_tens = valid_7_tens.float()/255\\n\",\n    \"valid_3_tens.shape,valid_7_tens.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mnist_distance(a,b): return (a-b).abs().mean((-1,-2))\\n\",\n    \"mnist_distance(a_3, mean3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_3_dist = mnist_distance(valid_3_tens, mean3)\\n\",\n    \"valid_3_dist, valid_3_dist.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tensor([1,2,3]) + tensor(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(valid_3_tens-mean3).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def is_3(x): return mnist_distance(x,mean3) < mnist_distance(x,mean7)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"is_3(a_3), is_3(a_3).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"is_3(valid_3_tens)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"accuracy_3s =      is_3(valid_3_tens).float() .mean()\\n\",\n    \"accuracy_7s = (1 - is_3(valid_7_tens).float()).mean()\\n\",\n    \"\\n\",\n    \"accuracy_3s,accuracy_7s,(accuracy_3s+accuracy_7s)/2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Stochastic Gradient Descent (SGD)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''\\n\",\n    \"init->predict->loss->gradient->step->stop\\n\",\n    \"step->predict[label=repeat]\\n\",\n    \"''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(x): return x**2\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(f, 'x', 'x**2')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(f, 'x', 'x**2')\\n\",\n    \"plt.scatter(-1.5, f(-1.5), color='red');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Calculating Gradients\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xt = tensor(3.).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"yt = f(xt)\\n\",\n    \"yt\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"yt.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xt.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xt = tensor([3.,4.,10.]).requires_grad_()\\n\",\n    \"xt\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(x): return (x**2).sum()\\n\",\n    \"\\n\",\n    \"yt = f(xt)\\n\",\n    \"yt\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"yt.backward()\\n\",\n    \"xt.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Stepping With a Learning Rate\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### An End-to-End SGD Example\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"time = torch.arange(0,20).float(); time\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"speed = torch.randn(20)*3 + 0.75*(time-9.5)**2 + 1\\n\",\n    \"plt.scatter(time,speed);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(t, params):\\n\",\n    \"    a,b,c = params\\n\",\n    \"    return a*(t**2) + (b*t) + c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse(preds, targets): return ((preds-targets)**2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 1: Initialize the parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"params = torch.randn(3).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"orig_params = params.clone()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 2: Calculate the predictions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = f(time, params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def show_preds(preds, ax=None):\\n\",\n    \"    if ax is None: ax=plt.subplots()[1]\\n\",\n    \"    ax.scatter(time, speed)\\n\",\n    \"    ax.scatter(time, to_np(preds), color='red')\\n\",\n    \"    ax.set_ylim(-300,100)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_preds(preds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 3: Calculate the loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = mse(preds, speed)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 4: Calculate the gradients\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss.backward()\\n\",\n    \"params.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"params.grad * 1e-5\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"params\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 5: Step the weights. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lr = 1e-5\\n\",\n    \"params.data -= lr * params.grad.data\\n\",\n    \"params.grad = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = f(time,params)\\n\",\n    \"mse(preds, speed)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_preds(preds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def apply_step(params, prn=True):\\n\",\n    \"    preds = f(time, params)\\n\",\n    \"    loss = mse(preds, speed)\\n\",\n    \"    loss.backward()\\n\",\n    \"    params.data -= lr * params.grad.data\\n\",\n    \"    params.grad = None\\n\",\n    \"    if prn: print(loss.item())\\n\",\n    \"    return preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 6: Repeat the process \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"for i in range(10): apply_step(params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"params = orig_params.detach().requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"_,axs = plt.subplots(1,4,figsize=(12,3))\\n\",\n    \"for ax in axs: show_preds(apply_step(params, False), ax)\\n\",\n    \"plt.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Step 7: stop\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Summarizing Gradient Descent\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gv('''\\n\",\n    \"init->predict->loss->gradient->step->stop\\n\",\n    \"step->predict[label=repeat]\\n\",\n    \"''')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The MNIST Loss Function\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_x = torch.cat([stacked_threes, stacked_sevens]).view(-1, 28*28)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_y = tensor([1]*len(threes) + [0]*len(sevens)).unsqueeze(1)\\n\",\n    \"train_x.shape,train_y.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dset = list(zip(train_x,train_y))\\n\",\n    \"x,y = dset[0]\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_x = torch.cat([valid_3_tens, valid_7_tens]).view(-1, 28*28)\\n\",\n    \"valid_y = tensor([1]*len(valid_3_tens) + [0]*len(valid_7_tens)).unsqueeze(1)\\n\",\n    \"valid_dset = list(zip(valid_x,valid_y))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def init_params(size, std=1.0): return (torch.randn(size)*std).requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights = init_params((28*28,1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bias = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(train_x[0]*weights.T).sum() + bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def linear1(xb): return xb@weights + bias\\n\",\n    \"preds = linear1(train_x)\\n\",\n    \"preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"corrects = (preds>0.0).float() == train_y\\n\",\n    \"corrects\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"corrects.float().mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with torch.no_grad(): weights[0] *= 1.0001\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = linear1(train_x)\\n\",\n    \"((preds>0.0).float() == train_y).float().mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"trgts  = tensor([1,0,1])\\n\",\n    \"prds   = tensor([0.9, 0.4, 0.2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mnist_loss(predictions, targets):\\n\",\n    \"    return torch.where(targets==1, 1-predictions, predictions).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"torch.where(trgts==1, 1-prds, prds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mnist_loss(prds,trgts)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mnist_loss(tensor([0.9, 0.4, 0.8]),trgts)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sigmoid\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sigmoid(x): return 1/(1+torch.exp(-x))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(torch.sigmoid, title='Sigmoid', min=-4, max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mnist_loss(predictions, targets):\\n\",\n    \"    predictions = predictions.sigmoid()\\n\",\n    \"    return torch.where(targets==1, 1-predictions, predictions).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### SGD and Mini-Batches\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"coll = range(15)\\n\",\n    \"dl = DataLoader(coll, batch_size=5, shuffle=True)\\n\",\n    \"list(dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"ds = L(enumerate(string.ascii_lowercase))\\n\",\n    \"ds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dl = DataLoader(ds, batch_size=6, shuffle=True)\\n\",\n    \"list(dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Putting It All Together\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights = init_params((28*28,1))\\n\",\n    \"bias = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dl = DataLoader(dset, batch_size=256)\\n\",\n    \"xb,yb = first(dl)\\n\",\n    \"xb.shape,yb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"valid_dl = DataLoader(valid_dset, batch_size=256)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"batch = train_x[:4]\\n\",\n    \"batch.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = linear1(batch)\\n\",\n    \"preds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = mnist_loss(preds, train_y[:4])\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss.backward()\\n\",\n    \"weights.grad.shape,weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def calc_grad(xb, yb, model):\\n\",\n    \"    preds = model(xb)\\n\",\n    \"    loss = mnist_loss(preds, yb)\\n\",\n    \"    loss.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"calc_grad(batch, train_y[:4], linear1)\\n\",\n    \"weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"calc_grad(batch, train_y[:4], linear1)\\n\",\n    \"weights.grad.mean(),bias.grad\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"weights.grad.zero_()\\n\",\n    \"bias.grad.zero_();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_epoch(model, lr, params):\\n\",\n    \"    for xb,yb in dl:\\n\",\n    \"        calc_grad(xb, yb, model)\\n\",\n    \"        for p in params:\\n\",\n    \"            p.data -= p.grad*lr\\n\",\n    \"            p.grad.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(preds>0.0).float() == train_y[:4]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def batch_accuracy(xb, yb):\\n\",\n    \"    preds = xb.sigmoid()\\n\",\n    \"    correct = (preds>0.5) == yb\\n\",\n    \"    return correct.float().mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"batch_accuracy(linear1(batch), train_y[:4])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def validate_epoch(model):\\n\",\n    \"    accs = [batch_accuracy(model(xb), yb) for xb,yb in valid_dl]\\n\",\n    \"    return round(torch.stack(accs).mean().item(), 4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"validate_epoch(linear1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lr = 1.\\n\",\n    \"params = weights,bias\\n\",\n    \"train_epoch(linear1, lr, params)\\n\",\n    \"validate_epoch(linear1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"for i in range(20):\\n\",\n    \"    train_epoch(linear1, lr, params)\\n\",\n    \"    print(validate_epoch(linear1), end=' ')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating an Optimizer\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"linear_model = nn.Linear(28*28,1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w,b = linear_model.parameters()\\n\",\n    \"w.shape,b.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class BasicOptim:\\n\",\n    \"    def __init__(self,params,lr): self.params,self.lr = list(params),lr\\n\",\n    \"\\n\",\n    \"    def step(self, *args, **kwargs):\\n\",\n    \"        for p in self.params: p.data -= p.grad.data * self.lr\\n\",\n    \"\\n\",\n    \"    def zero_grad(self, *args, **kwargs):\\n\",\n    \"        for p in self.params: p.grad = None\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt = BasicOptim(linear_model.parameters(), lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_epoch(model):\\n\",\n    \"    for xb,yb in dl:\\n\",\n    \"        calc_grad(xb, yb, model)\\n\",\n    \"        opt.step()\\n\",\n    \"        opt.zero_grad()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"validate_epoch(linear_model)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def train_model(model, epochs):\\n\",\n    \"    for i in range(epochs):\\n\",\n    \"        train_epoch(model)\\n\",\n    \"        print(validate_epoch(model), end=' ')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_model(linear_model, 20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"linear_model = nn.Linear(28*28,1)\\n\",\n    \"opt = SGD(linear_model.parameters(), lr)\\n\",\n    \"train_model(linear_model, 20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = DataLoaders(dl, valid_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, nn.Linear(28*28,1), opt_func=SGD,\\n\",\n    \"                loss_func=mnist_loss, metrics=batch_accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit(10, lr=lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Adding a Nonlinearity\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_net(xb): \\n\",\n    \"    res = xb@w1 + b1\\n\",\n    \"    res = res.max(tensor(0.0))\\n\",\n    \"    res = res@w2 + b2\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = init_params((28*28,30))\\n\",\n    \"b1 = init_params(30)\\n\",\n    \"w2 = init_params((30,1))\\n\",\n    \"b2 = init_params(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(F.relu)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_net = nn.Sequential(\\n\",\n    \"    nn.Linear(28*28,30),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Linear(30,1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, simple_net, opt_func=SGD,\\n\",\n    \"                loss_func=mnist_loss, metrics=batch_accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit(40, 0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.plot(L(learn.recorder.values).itemgot(2));\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.recorder.values[-1][2]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Going Deeper\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = ImageDataLoaders.from_folder(path)\\n\",\n    \"learn = vision_learner(dls, resnet18, pretrained=False,\\n\",\n    \"                    loss_func=F.cross_entropy, metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(1, 0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Jargon Recap\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How is a grayscale image represented on a computer? How about a color image?\\n\",\n    \"1. How are the files and folders in the `MNIST_SAMPLE` dataset structured? Why?\\n\",\n    \"1. Explain how the \\\"pixel similarity\\\" approach to classifying digits works.\\n\",\n    \"1. What is a list comprehension? Create one now that selects odd numbers from a list and doubles them.\\n\",\n    \"1. What is a \\\"rank-3 tensor\\\"?\\n\",\n    \"1. What is the difference between tensor rank and shape? How do you get the rank from the shape?\\n\",\n    \"1. What are RMSE and L1 norm?\\n\",\n    \"1. How can you apply a calculation on thousands of numbers at once, many thousands of times faster than a Python loop?\\n\",\n    \"1. Create a 3×3 tensor or array containing the numbers from 1 to 9. Double it. Select the bottom-right four numbers.\\n\",\n    \"1. What is broadcasting?\\n\",\n    \"1. Are metrics generally calculated using the training set, or the validation set? Why?\\n\",\n    \"1. What is SGD?\\n\",\n    \"1. Why does SGD use mini-batches?\\n\",\n    \"1. What are the seven steps in SGD for machine learning?\\n\",\n    \"1. How do we initialize the weights in a model?\\n\",\n    \"1. What is \\\"loss\\\"?\\n\",\n    \"1. Why can't we always use a high learning rate?\\n\",\n    \"1. What is a \\\"gradient\\\"?\\n\",\n    \"1. Do you need to know how to calculate gradients yourself?\\n\",\n    \"1. Why can't we use accuracy as a loss function?\\n\",\n    \"1. Draw the sigmoid function. What is special about its shape?\\n\",\n    \"1. What is the difference between a loss function and a metric?\\n\",\n    \"1. What is the function to calculate new weights using a learning rate?\\n\",\n    \"1. What does the `DataLoader` class do?\\n\",\n    \"1. Write pseudocode showing the basic steps taken in each epoch for SGD.\\n\",\n    \"1. Create a function that, if passed two arguments `[1,2,3,4]` and `'abcd'`, returns `[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]`. What is special about that output data structure?\\n\",\n    \"1. What does `view` do in PyTorch?\\n\",\n    \"1. What are the \\\"bias\\\" parameters in a neural network? Why do we need them?\\n\",\n    \"1. What does the `@` operator do in Python?\\n\",\n    \"1. What does the `backward` method do?\\n\",\n    \"1. Why do we have to zero the gradients?\\n\",\n    \"1. What information do we have to pass to `Learner`?\\n\",\n    \"1. Show Python or pseudocode for the basic steps of a training loop.\\n\",\n    \"1. What is \\\"ReLU\\\"? Draw a plot of it for values from `-2` to `+2`.\\n\",\n    \"1. What is an \\\"activation function\\\"?\\n\",\n    \"1. What's the difference between `F.relu` and `nn.ReLU`?\\n\",\n    \"1. The universal approximation theorem shows that any function can be approximated as closely as needed using just one nonlinearity. So why do we normally use more?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Create your own implementation of `Learner` from scratch, based on the training loop shown in this chapter.\\n\",\n    \"1. Complete all the steps in this chapter using the full MNIST datasets (that is, for all digits, not just 3s and 7s). This is a significant project and will take you quite a bit of time to complete! You'll need to do some of your own research to figure out how to overcome some obstacles you'll meet on the way.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/05_pet_breeds.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Image Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## From Dogs and Cats to Pet Breeds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(path/\\\"images\\\").ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fname = (path/\\\"images\\\").ls()[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"re.findall(r'(.+)_\\\\d+.jpg$', fname.name)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pets = DataBlock(blocks = (ImageBlock, CategoryBlock),\\n\",\n    \"                 get_items=get_image_files, \\n\",\n    \"                 splitter=RandomSplitter(seed=42),\\n\",\n    \"                 get_y=using_attr(RegexLabeller(r'(.+)_\\\\d+.jpg$'), 'name'),\\n\",\n    \"                 item_tfms=Resize(460),\\n\",\n    \"                 batch_tfms=aug_transforms(size=224, min_scale=0.75))\\n\",\n    \"dls = pets.dataloaders(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Presizing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock1 = DataBlock(blocks=(ImageBlock(), CategoryBlock()),\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460))\\n\",\n    \"# Place an image in the 'images/grizzly.jpg' subfolder where this notebook is located before running this\\n\",\n    \"dls1 = dblock1.dataloaders([(Path.cwd()/'images'/'grizzly.jpg')]*100, bs=8)\\n\",\n    \"dls1.train.get_idxs = lambda: Inf.ones\\n\",\n    \"x,y = dls1.valid.one_batch()\\n\",\n    \"_,axs = subplots(1, 2)\\n\",\n    \"\\n\",\n    \"x1 = TensorImage(x.clone())\\n\",\n    \"x1 = x1.affine_coord(sz=224)\\n\",\n    \"x1 = x1.rotate(draw=30, p=1.)\\n\",\n    \"x1 = x1.zoom(draw=1.2, p=1.)\\n\",\n    \"x1 = x1.warp(draw_x=-0.2, draw_y=0.2, p=1.)\\n\",\n    \"\\n\",\n    \"tfms = setup_aug_tfms([Rotate(draw=30, p=1, size=224), Zoom(draw=1.2, p=1., size=224),\\n\",\n    \"                       Warp(draw_x=-0.2, draw_y=0.2, p=1., size=224)])\\n\",\n    \"x = Pipeline(tfms)(x)\\n\",\n    \"#x.affine_coord(coord_tfm=coord_tfm, sz=size, mode=mode, pad_mode=pad_mode)\\n\",\n    \"TensorImage(x[0]).show(ctx=axs[0])\\n\",\n    \"TensorImage(x1[0]).show(ctx=axs[1]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Checking and Debugging a DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.show_batch(nrows=1, ncols=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pets1 = DataBlock(blocks = (ImageBlock, CategoryBlock),\\n\",\n    \"                 get_items=get_image_files, \\n\",\n    \"                 splitter=RandomSplitter(seed=42),\\n\",\n    \"                 get_y=using_attr(RegexLabeller(r'(.+)_\\\\d+.jpg$'), 'name'))\\n\",\n    \"pets1.summary(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Cross-Entropy Loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Viewing Activations and Labels\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dls.one_batch()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds,_ = learn.get_preds(dl=[(x,y)])\\n\",\n    \"preds[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"len(preds[0]),preds[0].sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Softmax\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(torch.sigmoid, min=-4,max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"torch.random.manual_seed(42);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"acts = torch.randn((6,2))*2\\n\",\n    \"acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"acts.sigmoid()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(acts[:,0]-acts[:,1]).sigmoid()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sm_acts = torch.softmax(acts, dim=1)\\n\",\n    \"sm_acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Log Likelihood\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"targ = tensor([0,1,0,1,1,0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sm_acts\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"idx = range(6)\\n\",\n    \"sm_acts[idx, targ]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from IPython.display import HTML\\n\",\n    \"df = pd.DataFrame(sm_acts, columns=[\\\"3\\\",\\\"7\\\"])\\n\",\n    \"df['targ'] = targ\\n\",\n    \"df['idx'] = idx\\n\",\n    \"df['result'] = sm_acts[range(6), targ]\\n\",\n    \"t = df.style.hide_index()\\n\",\n    \"#To have html code compatible with our script\\n\",\n    \"html = t._repr_html_().split('</style>')[1]\\n\",\n    \"html = re.sub(r'<table id=\\\"([^\\\"]+)\\\"\\\\s*>', r'<table >', html)\\n\",\n    \"display(HTML(html))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"-sm_acts[idx, targ]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"F.nll_loss(sm_acts, targ, reduction='none')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Taking the Log\\n\",\n    \"\\n\",\n    \"Recall that cross entropy loss may involve the multiplication of many numbers.  Multiplying lots of negative numbers together can cause problems like [numerical underflow](https://en.wikipedia.org/wiki/Arithmetic_underflow) in computers.  Therefore, we want to transform these probabilities to larger values so we can perform mathematical operations on them.  There is a mathematical function that does exactly this: the *logarithm* (available as `torch.log`). It is not defined for numbers less than 0, and looks like this between 0 and 1:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(torch.log, min=0,max=1, ty='log(x)', tx='x')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(lambda x: -1*torch.log(x), min=0,max=1, tx='x', ty='- log(x)', title = 'Log Loss when true label = 1')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from IPython.display import HTML\\n\",\n    \"df['loss'] = -torch.log(tensor(df['result']))\\n\",\n    \"t = df.style.hide_index()\\n\",\n    \"#To have html code compatible with our script\\n\",\n    \"html = t._repr_html_().split('</style>')[1]\\n\",\n    \"html = re.sub(r'<table id=\\\"([^\\\"]+)\\\"\\\\s*>', r'<table >', html)\\n\",\n    \"display(HTML(html))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Negative Log Likelihood\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss_func = nn.CrossEntropyLoss()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss_func(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"F.cross_entropy(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nn.CrossEntropyLoss(reduction='none')(acts, targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Model Interpretation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"interp = ClassificationInterpretation.from_learner(learn)\\n\",\n    \"interp.plot_confusion_matrix(figsize=(12,12), dpi=60)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"interp.most_confused(min_val=5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving Our Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Learning Rate Finder\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1, base_lr=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"lr_min,lr_steep = learn.lr_find(suggest_funcs=(minimum, steep))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"print(f\\\"Minimum/10: {lr_min:.2e}, steepest point: {lr_steep:.2e}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(2, base_lr=3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Unfreezing and Transfer Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fine_tune??\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fit_one_cycle(3, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.unfreeze()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(6, lr_max=1e-5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Discriminative Learning Rates\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fit_one_cycle(3, 3e-3)\\n\",\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(12, lr_max=slice(1e-6,1e-4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.recorder.plot_loss()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Selecting the Number of Epochs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Deeper Architectures\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.callback.fp16 import *\\n\",\n    \"learn = vision_learner(dls, resnet50, metrics=error_rate).to_fp16()\\n\",\n    \"learn.fine_tune(6, freeze_epochs=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why do we first resize to a large size on the CPU, and then to a smaller size on the GPU?\\n\",\n    \"1. If you are not familiar with regular expressions, find a regular expression tutorial, and some problem sets, and complete them. Have a look on the book's website for suggestions.\\n\",\n    \"1. What are the two ways in which data is most commonly provided, for most deep learning datasets?\\n\",\n    \"1. Look up the documentation for `L` and try using a few of the new methods that it adds.\\n\",\n    \"1. Look up the documentation for the Python `pathlib` module and try using a few methods of the `Path` class.\\n\",\n    \"1. Give two examples of ways that image transformations can degrade the quality of the data.\\n\",\n    \"1. What method does fastai provide to view the data in a `DataLoaders`?\\n\",\n    \"1. What method does fastai provide to help you debug a `DataBlock`?\\n\",\n    \"1. Should you hold off on training a model until you have thoroughly cleaned your data?\\n\",\n    \"1. What are the two pieces that are combined into cross-entropy loss in PyTorch?\\n\",\n    \"1. What are the two properties of activations that softmax ensures? Why is this important?\\n\",\n    \"1. When might you want your activations to not have these two properties?\\n\",\n    \"1. Calculate the `exp` and `softmax` columns of <<bear_softmax>> yourself (i.e., in a spreadsheet, with a calculator, or in a notebook).\\n\",\n    \"1. Why can't we use `torch.where` to create a loss function for datasets where our label can have more than two categories?\\n\",\n    \"1. What is the value of log(-2)? Why?\\n\",\n    \"1. What are two good rules of thumb for picking a learning rate from the learning rate finder?\\n\",\n    \"1. What two steps does the `fine_tune` method do?\\n\",\n    \"1. In Jupyter Notebook, how do you get the source code for a method or function?\\n\",\n    \"1. What are discriminative learning rates?\\n\",\n    \"1. How is a Python `slice` object interpreted when passed as a learning rate to fastai?\\n\",\n    \"1. Why is early stopping a poor choice when using 1cycle training?\\n\",\n    \"1. What is the difference between `resnet50` and `resnet101`?\\n\",\n    \"1. What does `to_fp16` do?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Find the paper by Leslie Smith that introduced the learning rate finder, and read it.\\n\",\n    \"1. See if you can improve the accuracy of the classifier in this chapter. What's the best accuracy you can achieve? Look on the forums and the book's website to see what other students have achieved with this dataset, and how they did it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/06_multicat.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Other Computer Vision Problems\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Multi-Label Classification\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PASCAL_2007)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.read_csv(path/'train.csv')\\n\",\n    \"df.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Pandas and DataFrames\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df.iloc[:,0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df.iloc[0,:]\\n\",\n    \"# Trailing :s are always optional (in numpy, pytorch, pandas, etc.),\\n\",\n    \"#   so this is equivalent:\\n\",\n    \"df.iloc[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df['fname']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tmp_df = pd.DataFrame({'a':[1,2], 'b':[3,4]})\\n\",\n    \"tmp_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tmp_df['c'] = tmp_df['a']+tmp_df['b']\\n\",\n    \"tmp_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Constructing a DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dsets = dblock.datasets(df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"len(dsets.train),len(dsets.valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dsets.train[0]\\n\",\n    \"x,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x['fname']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(get_x = lambda r: r['fname'], get_y = lambda r: r['labels'])\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_x(r): return r['fname']\\n\",\n    \"def get_y(r): return r['labels']\\n\",\n    \"dblock = DataBlock(get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_x(r): return path/'train'/r['fname']\\n\",\n    \"def get_y(r): return r['labels'].split(' ')\\n\",\n    \"dblock = DataBlock(get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   get_x = get_x, get_y = get_y)\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"idxs = torch.where(dsets.train[0][1]==1.)[0]\\n\",\n    \"dsets.train.vocab[idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def splitter(df):\\n\",\n    \"    train = df.index[~df['is_valid']].tolist()\\n\",\n    \"    valid = df.index[df['is_valid']].tolist()\\n\",\n    \"    return train,valid\\n\",\n    \"\\n\",\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   splitter=splitter,\\n\",\n    \"                   get_x=get_x, \\n\",\n    \"                   get_y=get_y)\\n\",\n    \"\\n\",\n    \"dsets = dblock.datasets(df)\\n\",\n    \"dsets.train[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\\n\",\n    \"                   splitter=splitter,\\n\",\n    \"                   get_x=get_x, \\n\",\n    \"                   get_y=get_y,\\n\",\n    \"                   item_tfms = RandomResizedCrop(128, min_scale=0.35))\\n\",\n    \"dls = dblock.dataloaders(df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.show_batch(nrows=1, ncols=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Binary Cross-Entropy\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = to_cpu(dls.train.one_batch())\\n\",\n    \"activs = learn.model(x)\\n\",\n    \"activs.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"activs[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def binary_cross_entropy(inputs, targets):\\n\",\n    \"    inputs = inputs.sigmoid()\\n\",\n    \"    return -torch.where(targets==1, inputs, 1-inputs).log().mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss_func = nn.BCEWithLogitsLoss()\\n\",\n    \"loss = loss_func(activs, y)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def say_hello(name, say_what=\\\"Hello\\\"): return f\\\"{say_what} {name}.\\\"\\n\",\n    \"say_hello('Jeremy'),say_hello('Jeremy', 'Ahoy!')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"f = partial(say_hello, say_what=\\\"Bonjour\\\")\\n\",\n    \"f(\\\"Jeremy\\\"),f(\\\"Sylvain\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet50, metrics=partial(accuracy_multi, thresh=0.2))\\n\",\n    \"learn.fine_tune(3, base_lr=3e-3, freeze_epochs=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.metrics = partial(accuracy_multi, thresh=0.1)\\n\",\n    \"learn.validate()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.metrics = partial(accuracy_multi, thresh=0.99)\\n\",\n    \"learn.validate()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds,targs = learn.get_preds()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"accuracy_multi(preds, targs, thresh=0.9, sigmoid=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs = torch.linspace(0.05,0.95,29)\\n\",\n    \"accs = [accuracy_multi(preds, targs, thresh=i, sigmoid=False) for i in xs]\\n\",\n    \"plt.plot(xs,accs);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regression\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Assemble the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.BIWI_HEAD_POSE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path.ls().sorted()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(path/'01').ls().sorted()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img_files = get_image_files(path)\\n\",\n    \"def img2pose(x): return Path(f'{str(x)[:-7]}pose.txt')\\n\",\n    \"img2pose(img_files[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im = PILImage.create(img_files[0])\\n\",\n    \"im.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im.to_thumb(160)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cal = np.genfromtxt(path/'01'/'rgb.cal', skip_footer=6)\\n\",\n    \"def get_ctr(f):\\n\",\n    \"    ctr = np.genfromtxt(img2pose(f), skip_header=3)\\n\",\n    \"    c1 = ctr[0] * cal[0][0]/ctr[2] + cal[0][2]\\n\",\n    \"    c2 = ctr[1] * cal[1][1]/ctr[2] + cal[1][2]\\n\",\n    \"    return tensor([c1,c2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"get_ctr(img_files[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"biwi = DataBlock(\\n\",\n    \"    blocks=(ImageBlock, PointBlock),\\n\",\n    \"    get_items=get_image_files,\\n\",\n    \"    get_y=get_ctr,\\n\",\n    \"    splitter=FuncSplitter(lambda o: o.parent.name=='13'),\\n\",\n    \"    batch_tfms=aug_transforms(size=(240,320)), \\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = biwi.dataloaders(path)\\n\",\n    \"dls.show_batch(max_n=9, figsize=(8,6))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xb,yb = dls.one_batch()\\n\",\n    \"xb.shape,yb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"yb[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = vision_learner(dls, resnet18, y_range=(-1,1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sigmoid_range(x, lo, hi): return torch.sigmoid(x) * (hi-lo) + lo\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_function(partial(sigmoid_range,lo=-1,hi=1), min=-4, max=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.loss_func\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lr = 1e-2\\n\",\n    \"learn.fine_tune(3, lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"math.sqrt(0.0001)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.show_results(ds_idx=1, nrows=3, figsize=(6,8))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How could multi-label classification improve the usability of the bear classifier?\\n\",\n    \"1. How do we encode the dependent variable in a multi-label classification problem?\\n\",\n    \"1. How do you access the rows and columns of a DataFrame as if it was a matrix?\\n\",\n    \"1. How do you get a column by name from a DataFrame?\\n\",\n    \"1. What is the difference between a `Dataset` and `DataLoader`?\\n\",\n    \"1. What does a `Datasets` object normally contain?\\n\",\n    \"1. What does a `DataLoaders` object normally contain?\\n\",\n    \"1. What does `lambda` do in Python?\\n\",\n    \"1. What are the methods to customize how the independent and dependent variables are created with the data block API?\\n\",\n    \"1. Why is softmax not an appropriate output activation function when using a one hot encoded target?\\n\",\n    \"1. Why is `nll_loss` not an appropriate loss function when using a one-hot-encoded target?\\n\",\n    \"1. What is the difference between `nn.BCELoss` and `nn.BCEWithLogitsLoss`?\\n\",\n    \"1. Why can't we use regular accuracy in a multi-label problem?\\n\",\n    \"1. When is it okay to tune a hyperparameter on the validation set?\\n\",\n    \"1. How is `y_range` implemented in fastai? (See if you can implement it yourself and test it without peeking!)\\n\",\n    \"1. What is a regression problem? What loss function should you use for such a problem?\\n\",\n    \"1. What do you need to do to make sure the fastai library applies the same data augmentation to your input images and your target point coordinates?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Read a tutorial about Pandas DataFrames and experiment with a few methods that look interesting to you. See the book's website for recommended tutorials.\\n\",\n    \"1. Retrain the bear classifier using multi-label classification. See if you can make it work effectively with images that don't contain any bears, including showing that information in the web application. Try an image with two different kinds of bears. Check whether the accuracy on the single-label dataset is impacted using multi-label classification.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/07_sizing_and_tta.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Training a State-of-the-Art Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Imagenette\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.IMAGENETTE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dblock = DataBlock(blocks=(ImageBlock(), CategoryBlock()),\\n\",\n    \"                   get_items=get_image_files,\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460),\\n\",\n    \"                   batch_tfms=aug_transforms(size=224, min_scale=0.75))\\n\",\n    \"dls = dblock.dataloaders(path, bs=64)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Normalization\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_dls(bs, size):\\n\",\n    \"    dblock = DataBlock(blocks=(ImageBlock, CategoryBlock),\\n\",\n    \"                   get_items=get_image_files,\\n\",\n    \"                   get_y=parent_label,\\n\",\n    \"                   item_tfms=Resize(460),\\n\",\n    \"                   batch_tfms=[*aug_transforms(size=size, min_scale=0.75),\\n\",\n    \"                               Normalize.from_stats(*imagenet_stats)])\\n\",\n    \"    return dblock.dataloaders(path, bs=bs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_dls(64, 224)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = xresnet50(n_out=dls.c)\\n\",\n    \"learn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Progressive Resizing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_dls(128, 128)\\n\",\n    \"learn = Learner(dls, xresnet50(n_out=dls.c), loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.dls = get_dls(64, 224)\\n\",\n    \"learn.fine_tune(5, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Test Time Augmentation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds,targs = learn.tta()\\n\",\n    \"accuracy(preds, targs).item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Mixup\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Papers and Math\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"church = PILImage.create(get_image_files_sorted(path/'train'/'n03028079')[0])\\n\",\n    \"gas = PILImage.create(get_image_files_sorted(path/'train'/'n03425413')[0])\\n\",\n    \"church = church.resize((256,256))\\n\",\n    \"gas = gas.resize((256,256))\\n\",\n    \"tchurch = tensor(church).float() / 255.\\n\",\n    \"tgas = tensor(gas).float() / 255.\\n\",\n    \"\\n\",\n    \"_,axs = plt.subplots(1, 3, figsize=(12,4))\\n\",\n    \"show_image(tchurch, ax=axs[0]);\\n\",\n    \"show_image(tgas, ax=axs[1]);\\n\",\n    \"show_image((0.3*tchurch + 0.7*tgas), ax=axs[2]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Label Smoothing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: Label Smoothing, the Paper\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the difference between ImageNet and Imagenette? When is it better to experiment on one versus the other?\\n\",\n    \"1. What is normalization?\\n\",\n    \"1. Why didn't we have to care about normalization when using a pretrained model?\\n\",\n    \"1. What is progressive resizing?\\n\",\n    \"1. Implement progressive resizing in your own project. Did it help?\\n\",\n    \"1. What is test time augmentation? How do you use it in fastai?\\n\",\n    \"1. Is using TTA at inference slower or faster than regular inference? Why?\\n\",\n    \"1. What is Mixup? How do you use it in fastai?\\n\",\n    \"1. Why does Mixup prevent the model from being too confident?\\n\",\n    \"1. Why does training with Mixup for five epochs end up worse than training without Mixup?\\n\",\n    \"1. What is the idea behind label smoothing?\\n\",\n    \"1. What problems in your data can label smoothing help with?\\n\",\n    \"1. When using label smoothing with five categories, what is the target associated with the index 1?\\n\",\n    \"1. What is the first step to take when you want to prototype quick experiments on a new dataset?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\\n\",\n    \"\\n\",\n    \"1. Use the fastai documentation to build a function that crops an image to a square in each of the four corners, then implement a TTA method that averages the predictions on a center crop and those four crops. Did it help? Is it better than the TTA method of fastai?\\n\",\n    \"1. Find the Mixup paper on arXiv and read it. Pick one or two more recent articles introducing variants of Mixup and read them, then try to implement them on your problem.\\n\",\n    \"1. Find the script training Imagenette using Mixup and use it as an example to build a script for a long training on your own project. Execute it and see if it helps.\\n\",\n    \"1. Read the sidebar \\\"Label Smoothing, the Paper\\\", look at the relevant section of the original paper and see if you can follow it. Don't be afraid to ask for help!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/08_collab.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Collaborative Filtering Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A First Look at the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.collab import *\\n\",\n    \"from fastai.tabular.all import *\\n\",\n    \"path = untar_data(URLs.ML_100k)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"ratings = pd.read_csv(path/'u.data', delimiter='\\\\t', header=None,\\n\",\n    \"                      names=['user','movie','rating','timestamp'])\\n\",\n    \"ratings.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"last_skywalker = np.array([0.98,0.9,-0.9])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"user1 = np.array([0.9,0.8,-0.6])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(user1*last_skywalker).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"casablanca = np.array([-0.99,-0.3,0.8])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(user1*casablanca).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Learning the Latent Factors\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating the DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"movies = pd.read_csv(path/'u.item',  delimiter='|', encoding='latin-1',\\n\",\n    \"                     usecols=(0,1), names=('movie','title'), header=None)\\n\",\n    \"movies.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"ratings = ratings.merge(movies)\\n\",\n    \"ratings.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = CollabDataLoaders.from_df(ratings, item_name='title', bs=64)\\n\",\n    \"dls.show_batch()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.classes\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"n_users  = len(dls.classes['user'])\\n\",\n    \"n_movies = len(dls.classes['title'])\\n\",\n    \"n_factors = 5\\n\",\n    \"\\n\",\n    \"user_factors = torch.randn(n_users, n_factors)\\n\",\n    \"movie_factors = torch.randn(n_movies, n_factors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"one_hot_3 = one_hot(3, n_users).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"user_factors.t() @ one_hot_3\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"user_factors[3]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Collaborative Filtering from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Example:\\n\",\n    \"    def __init__(self, a): self.a = a\\n\",\n    \"    def say(self,x): return f'Hello {self.a}, {x}.'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"ex = Example('Sylvain')\\n\",\n    \"ex.say('nice to meet you')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProduct(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        return (users * movies).sum(dim=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = dls.one_batch()\\n\",\n    \"x.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProduct(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProduct(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        return sigmoid_range((users * movies).sum(dim=1), *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProduct(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProductBias(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = Embedding(n_users, n_factors)\\n\",\n    \"        self.user_bias = Embedding(n_users, 1)\\n\",\n    \"        self.movie_factors = Embedding(n_movies, n_factors)\\n\",\n    \"        self.movie_bias = Embedding(n_movies, 1)\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors(x[:,0])\\n\",\n    \"        movies = self.movie_factors(x[:,1])\\n\",\n    \"        res = (users * movies).sum(dim=1, keepdim=True)\\n\",\n    \"        res += self.user_bias(x[:,0]) + self.movie_bias(x[:,1])\\n\",\n    \"        return sigmoid_range(res, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Weight Decay\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = np.linspace(-2,2,100)\\n\",\n    \"a_s = [1,2,5,10,50] \\n\",\n    \"ys = [a * x**2 for a in a_s]\\n\",\n    \"_,ax = plt.subplots(figsize=(8,6))\\n\",\n    \"for a,y in zip(a_s,ys): ax.plot(x,y, label=f'a={a}')\\n\",\n    \"ax.set_ylim([0,5])\\n\",\n    \"ax.legend();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating Our Own Embedding Module\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = torch.ones(3)\\n\",\n    \"\\n\",\n    \"L(T().parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = nn.Parameter(torch.ones(3))\\n\",\n    \"\\n\",\n    \"L(T().parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self): self.a = nn.Linear(1, 3, bias=False)\\n\",\n    \"\\n\",\n    \"t = T()\\n\",\n    \"L(t.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"type(t.a.weight)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def create_params(size):\\n\",\n    \"    return nn.Parameter(torch.zeros(*size).normal_(0, 0.01))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DotProductBias(Module):\\n\",\n    \"    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\\n\",\n    \"        self.user_factors = create_params([n_users, n_factors])\\n\",\n    \"        self.user_bias = create_params([n_users])\\n\",\n    \"        self.movie_factors = create_params([n_movies, n_factors])\\n\",\n    \"        self.movie_bias = create_params([n_movies])\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        users = self.user_factors[x[:,0]]\\n\",\n    \"        movies = self.movie_factors[x[:,1]]\\n\",\n    \"        res = (users*movies).sum(dim=1)\\n\",\n    \"        res += self.user_bias[x[:,0]] + self.movie_bias[x[:,1]]\\n\",\n    \"        return sigmoid_range(res, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = DotProductBias(n_users, n_movies, 50)\\n\",\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Interpreting Embeddings and Biases\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"movie_bias = learn.model.movie_bias.squeeze()\\n\",\n    \"idxs = movie_bias.argsort()[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"idxs = movie_bias.argsort(descending=True)[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"g = ratings.groupby('title')['rating'].count()\\n\",\n    \"top_movies = g.sort_values(ascending=False).index.values[:1000]\\n\",\n    \"top_idxs = tensor([learn.dls.classes['title'].o2i[m] for m in top_movies])\\n\",\n    \"movie_w = learn.model.movie_factors[top_idxs].cpu().detach()\\n\",\n    \"movie_pca = movie_w.pca(3)\\n\",\n    \"fac0,fac1,fac2 = movie_pca.t()\\n\",\n    \"idxs = list(range(50))\\n\",\n    \"X = fac0[idxs]\\n\",\n    \"Y = fac2[idxs]\\n\",\n    \"plt.figure(figsize=(12,12))\\n\",\n    \"plt.scatter(X, Y)\\n\",\n    \"for i, x, y in zip(top_movies[idxs], X, Y):\\n\",\n    \"    plt.text(x,y,i, color=np.random.rand(3)*0.7, fontsize=11)\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using fastai.collab\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = collab_learner(dls, n_factors=50, y_range=(0, 5.5))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"movie_bias = learn.model.i_bias.weight.squeeze()\\n\",\n    \"idxs = movie_bias.argsort(descending=True)[:5]\\n\",\n    \"[dls.classes['title'][i] for i in idxs]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Embedding Distance\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"movie_factors = learn.model.i_weight.weight\\n\",\n    \"idx = dls.classes['title'].o2i['Silence of the Lambs, The (1991)']\\n\",\n    \"distances = nn.CosineSimilarity(dim=1)(movie_factors, movie_factors[idx][None])\\n\",\n    \"idx = distances.argsort(descending=True)[1]\\n\",\n    \"dls.classes['title'][idx]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Bootstrapping a Collaborative Filtering Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Deep Learning for Collaborative Filtering\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"embs = get_emb_sz(dls)\\n\",\n    \"embs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class CollabNN(Module):\\n\",\n    \"    def __init__(self, user_sz, item_sz, y_range=(0,5.5), n_act=100):\\n\",\n    \"        self.user_factors = Embedding(*user_sz)\\n\",\n    \"        self.item_factors = Embedding(*item_sz)\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(user_sz[1]+item_sz[1], n_act),\\n\",\n    \"            nn.ReLU(),\\n\",\n    \"            nn.Linear(n_act, 1))\\n\",\n    \"        self.y_range = y_range\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        embs = self.user_factors(x[:,0]),self.item_factors(x[:,1])\\n\",\n    \"        x = self.layers(torch.cat(embs, dim=1))\\n\",\n    \"        return sigmoid_range(x, *self.y_range)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = CollabNN(*embs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, model, loss_func=MSELossFlat())\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.01)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = collab_learner(dls, use_nn=True, y_range=(0, 5.5), layers=[100,50])\\n\",\n    \"learn.fit_one_cycle(5, 5e-3, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"@delegates(TabularModel)\\n\",\n    \"class EmbeddingNN(TabularModel):\\n\",\n    \"    def __init__(self, emb_szs, layers, **kwargs):\\n\",\n    \"        super().__init__(emb_szs, layers=layers, n_cont=0, out_sz=1, **kwargs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: kwargs and Delegates\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What problem does collaborative filtering solve?\\n\",\n    \"1. How does it solve it?\\n\",\n    \"1. Why might a collaborative filtering predictive model fail to be a very useful recommendation system?\\n\",\n    \"1. What does a crosstab representation of collaborative filtering data look like?\\n\",\n    \"1. Write the code to create a crosstab representation of the MovieLens data (you might need to do some web searching!).\\n\",\n    \"1. What is a latent factor? Why is it \\\"latent\\\"?\\n\",\n    \"1. What is a dot product? Calculate a dot product manually using pure Python with lists.\\n\",\n    \"1. What does `pandas.DataFrame.merge` do?\\n\",\n    \"1. What is an embedding matrix?\\n\",\n    \"1. What is the relationship between an embedding and a matrix of one-hot-encoded vectors?\\n\",\n    \"1. Why do we need `Embedding` if we could use one-hot-encoded vectors for the same thing?\\n\",\n    \"1. What does an embedding contain before we start training (assuming we're not using a pretained model)?\\n\",\n    \"1. Create a class (without peeking, if possible!) and use it.\\n\",\n    \"1. What does `x[:,0]` return?\\n\",\n    \"1. Rewrite the `DotProduct` class (without peeking, if possible!) and train a model with it.\\n\",\n    \"1. What is a good loss function to use for MovieLens? Why? \\n\",\n    \"1. What would happen if we used cross-entropy loss with MovieLens? How would we need to change the model?\\n\",\n    \"1. What is the use of bias in a dot product model?\\n\",\n    \"1. What is another name for weight decay?\\n\",\n    \"1. Write the equation for weight decay (without peeking!).\\n\",\n    \"1. Write the equation for the gradient of weight decay. Why does it help reduce weights?\\n\",\n    \"1. Why does reducing weights lead to better generalization?\\n\",\n    \"1. What does `argsort` do in PyTorch?\\n\",\n    \"1. Does sorting the movie biases give the same result as averaging overall movie ratings by movie? Why/why not?\\n\",\n    \"1. How do you print the names and details of the layers in a model?\\n\",\n    \"1. What is the \\\"bootstrapping problem\\\" in collaborative filtering?\\n\",\n    \"1. How could you deal with the bootstrapping problem for new users? For new movies?\\n\",\n    \"1. How can feedback loops impact collaborative filtering systems?\\n\",\n    \"1. When using a neural network in collaborative filtering, why can we have different numbers of factors for movies and users?\\n\",\n    \"1. Why is there an `nn.Sequential` in the `CollabNN` model?\\n\",\n    \"1. What kind of model should we use if we want to add metadata about users and items, or information such as date and time, to a collaborative filtering model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\\n\",\n    \"\\n\",\n    \"1. Take a look at all the differences between the `Embedding` version of `DotProductBias` and the `create_params` version, and try to understand why each of those changes is required. If you're not sure, try reverting each change to see what happens. (NB: even the type of brackets used in `forward` has changed!)\\n\",\n    \"1. Find three other areas where collaborative filtering is being used, and find out what the pros and cons of this approach are in those areas.\\n\",\n    \"1. Complete this notebook using the full MovieLens dataset, and compare your results to online benchmarks. See if you can improve your accuracy. Look on the book's website and the fast.ai forum for ideas. Note that there are more columns in the full dataset—see if you can use those too (the next chapter might give you ideas).\\n\",\n    \"1. Create a model for MovieLens that works with cross-entropy loss, and compare it to the model in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/09_tabular.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook kaggle waterfallcharts treeinterpreter dtreeviz==1.4.1\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from pandas.api.types import is_string_dtype, is_numeric_dtype, is_categorical_dtype\\n\",\n    \"from fastai.tabular.all import *\\n\",\n    \"from sklearn.ensemble import RandomForestRegressor\\n\",\n    \"from sklearn.tree import DecisionTreeRegressor\\n\",\n    \"from dtreeviz.trees import *\\n\",\n    \"from IPython.display import Image, display_svg, SVG\\n\",\n    \"\\n\",\n    \"pd.options.display.max_rows = 20\\n\",\n    \"pd.options.display.max_columns = 8\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Tabular Modeling Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Categorical Embeddings\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Beyond Deep Learning\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Dataset\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Kaggle Competitions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"creds = ''\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cred_path = Path('~/.kaggle/kaggle.json').expanduser()\\n\",\n    \"if not cred_path.exists():\\n\",\n    \"    cred_path.parent.mkdir(exist_ok=True)\\n\",\n    \"    cred_path.write_text(creds)\\n\",\n    \"    cred_path.chmod(0o600)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"comp = 'bluebook-for-bulldozers'\\n\",\n    \"path = URLs.path(comp)\\n\",\n    \"path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from kaggle import api\\n\",\n    \"\\n\",\n    \"if not path.exists():\\n\",\n    \"    path.mkdir(parents=true)\\n\",\n    \"    api.competition_download_cli(comp, path=path)\\n\",\n    \"    shutil.unpack_archive(str(path/f'{comp}.zip'), str(path))\\n\",\n    \"\\n\",\n    \"path.ls(file_type='text')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Look at the Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df.columns\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df['ProductSize'].unique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sizes = 'Large','Large / Medium','Medium','Small','Mini','Compact'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df['ProductSize'] = df['ProductSize'].astype('category')\\n\",\n    \"df['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dep_var = 'SalePrice'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df[dep_var] = np.log(df[dep_var])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decision Trees\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Handling Dates\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = add_datepart(df, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_test = pd.read_csv(path/'Test.csv', low_memory=False)\\n\",\n    \"df_test = add_datepart(df_test, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"' '.join(o for o in df.columns if o.startswith('sale'))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using TabularPandas and TabularProc\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"procs = [Categorify, FillMissing]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cond = (df.saleYear<2011) | (df.saleMonth<10)\\n\",\n    \"train_idx = np.where( cond)[0]\\n\",\n    \"valid_idx = np.where(~cond)[0]\\n\",\n    \"\\n\",\n    \"splits = (list(train_idx),list(valid_idx))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cont,cat = cont_cat_split(df, 1, dep_var=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to = TabularPandas(df, procs, cat, cont, y_names=dep_var, splits=splits)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"len(to.train),len(to.valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to.show(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to1 = TabularPandas(df, procs, ['state', 'ProductGroup', 'Drive_System', 'Enclosure'], [], y_names=dep_var, splits=splits)\\n\",\n    \"to1.show(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to.items.head(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to1.items[['state', 'ProductGroup', 'Drive_System', 'Enclosure']].head(3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to.classes['ProductSize']\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"save_pickle(path/'to.pkl',to)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Decision Tree\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"to = load_pickle(path/'to.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs,y = to.train.xs,to.train.y\\n\",\n    \"valid_xs,valid_y = to.valid.xs,to.valid.y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor(max_leaf_nodes=4)\\n\",\n    \"m.fit(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"draw_tree(m, xs, size=10, leaves_parallel=True, precision=2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"samp_idx = np.random.permutation(len(y))[:500]\\n\",\n    \"dtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\\n\",\n    \"        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\\n\",\n    \"        orientation='LR')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs.loc[xs['YearMade']<1900, 'YearMade'] = 1950\\n\",\n    \"valid_xs.loc[valid_xs['YearMade']<1900, 'YearMade'] = 1950\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor(max_leaf_nodes=4).fit(xs, y)\\n\",\n    \"\\n\",\n    \"dtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\\n\",\n    \"        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\\n\",\n    \"        orientation='LR')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor()\\n\",\n    \"m.fit(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def r_mse(pred,y): return round(math.sqrt(((pred-y)**2).mean()), 6)\\n\",\n    \"def m_rmse(m, xs, y): return r_mse(m.predict(xs), y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_rmse(m, xs, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m.get_n_leaves(), len(xs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = DecisionTreeRegressor(min_samples_leaf=25)\\n\",\n    \"m.fit(to.train.xs, to.train.y)\\n\",\n    \"m_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m.get_n_leaves()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Categorical Variables\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Random Forests\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"# pip install —pre -f https://sklearn-nightly.scdn8.secure.raxcdn.com scikit-learn —U\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Random Forest\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rf(xs, y, n_estimators=40, max_samples=200_000,\\n\",\n    \"       max_features=0.5, min_samples_leaf=5, **kwargs):\\n\",\n    \"    return RandomForestRegressor(n_jobs=-1, n_estimators=n_estimators,\\n\",\n    \"        max_samples=max_samples, max_features=max_features,\\n\",\n    \"        min_samples_leaf=min_samples_leaf, oob_score=True).fit(xs, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs, y);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = np.stack([t.predict(valid_xs) for t in m.estimators_])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"r_mse(preds.mean(0), valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.plot([r_mse(preds[:i+1].mean(0), valid_y) for i in range(40)]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Out-of-Bag Error\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"r_mse(m.oob_prediction_, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Model Interpretation\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tree Variance for Prediction Confidence\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds = np.stack([t.predict(valid_xs) for t in m.estimators_])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds_std = preds.std(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds_std[:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Feature Importance\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rf_feat_importance(m, df):\\n\",\n    \"    return pd.DataFrame({'cols':df.columns, 'imp':m.feature_importances_}\\n\",\n    \"                       ).sort_values('imp', ascending=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fi = rf_feat_importance(m, xs)\\n\",\n    \"fi[:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def plot_fi(fi):\\n\",\n    \"    return fi.plot('cols', 'imp', 'barh', figsize=(12,7), legend=False)\\n\",\n    \"\\n\",\n    \"plot_fi(fi[:30]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Removing Low-Importance Variables\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to_keep = fi[fi.imp>0.005].cols\\n\",\n    \"len(to_keep)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_imp = xs[to_keep]\\n\",\n    \"valid_xs_imp = valid_xs[to_keep]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs_imp, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_rmse(m, xs_imp, y), m_rmse(m, valid_xs_imp, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"len(xs.columns), len(xs_imp.columns)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_fi(rf_feat_importance(m, xs_imp));\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Removing Redundant Features\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cluster_columns(xs_imp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_oob(df):\\n\",\n    \"    m = RandomForestRegressor(n_estimators=40, min_samples_leaf=15,\\n\",\n    \"        max_samples=50000, max_features=0.5, n_jobs=-1, oob_score=True)\\n\",\n    \"    m.fit(df, y)\\n\",\n    \"    return m.oob_score_\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"get_oob(xs_imp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"{c:get_oob(xs_imp.drop(c, axis=1)) for c in (\\n\",\n    \"    'saleYear', 'saleElapsed', 'ProductGroupDesc','ProductGroup',\\n\",\n    \"    'fiModelDesc', 'fiBaseModel',\\n\",\n    \"    'Hydraulics_Flow','Grouser_Tracks', 'Coupler_System')}\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"to_drop = ['saleYear', 'ProductGroupDesc', 'fiBaseModel', 'Grouser_Tracks']\\n\",\n    \"get_oob(xs_imp.drop(to_drop, axis=1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_final = xs_imp.drop(to_drop, axis=1)\\n\",\n    \"valid_xs_final = valid_xs_imp.drop(to_drop, axis=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"save_pickle(path/'xs_final.pkl', xs_final)\\n\",\n    \"save_pickle(path/'valid_xs_final.pkl', valid_xs_final)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_final = load_pickle(path/'xs_final.pkl')\\n\",\n    \"valid_xs_final = load_pickle(path/'valid_xs_final.pkl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs_final, y)\\n\",\n    \"m_rmse(m, xs_final, y), m_rmse(m, valid_xs_final, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Partial Dependence\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"p = valid_xs_final['ProductSize'].value_counts(sort=False).plot.barh()\\n\",\n    \"c = to.classes['ProductSize']\\n\",\n    \"plt.yticks(range(len(c)), c);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"ax = valid_xs_final['YearMade'].hist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from sklearn.inspection import plot_partial_dependence\\n\",\n    \"\\n\",\n    \"fig,ax = plt.subplots(figsize=(12, 4))\\n\",\n    \"plot_partial_dependence(m, valid_xs_final, ['YearMade','ProductSize'],\\n\",\n    \"                        grid_resolution=20, ax=ax);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Data Leakage\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tree Interpreter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"import warnings\\n\",\n    \"warnings.simplefilter('ignore', FutureWarning)\\n\",\n    \"\\n\",\n    \"from treeinterpreter import treeinterpreter\\n\",\n    \"from waterfall_chart import plot as waterfall\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"row = valid_xs_final.iloc[:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"prediction,bias,contributions = treeinterpreter.predict(m, row.values)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"prediction[0], bias[0], contributions[0].sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"waterfall(valid_xs_final.columns, contributions[0], threshold=0.08, \\n\",\n    \"          rotation_value=45,formatting='{:,.3f}');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Extrapolation and Neural Networks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Extrapolation Problem\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"np.random.seed(42)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_lin = torch.linspace(0,20, steps=40)\\n\",\n    \"y_lin = x_lin + torch.randn_like(x_lin)\\n\",\n    \"plt.scatter(x_lin, y_lin);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_lin = x_lin.unsqueeze(1)\\n\",\n    \"x_lin.shape,xs_lin.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_lin[:,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m_lin = RandomForestRegressor().fit(xs_lin[:30],y_lin[:30])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.scatter(x_lin, y_lin, 20)\\n\",\n    \"plt.scatter(x_lin, m_lin.predict(xs_lin), color='red', alpha=0.5);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Finding Out-of-Domain Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_dom = pd.concat([xs_final, valid_xs_final])\\n\",\n    \"is_valid = np.array([0]*len(xs_final) + [1]*len(valid_xs_final))\\n\",\n    \"\\n\",\n    \"m = rf(df_dom, is_valid)\\n\",\n    \"rf_feat_importance(m, df_dom)[:6]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs_final, y)\\n\",\n    \"print('orig', m_rmse(m, valid_xs_final, valid_y))\\n\",\n    \"\\n\",\n    \"for c in ('SalesID','saleElapsed','MachineID'):\\n\",\n    \"    m = rf(xs_final.drop(c,axis=1), y)\\n\",\n    \"    print(c, m_rmse(m, valid_xs_final.drop(c,axis=1), valid_y))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"time_vars = ['SalesID','MachineID']\\n\",\n    \"xs_final_time = xs_final.drop(time_vars, axis=1)\\n\",\n    \"valid_xs_time = valid_xs_final.drop(time_vars, axis=1)\\n\",\n    \"\\n\",\n    \"m = rf(xs_final_time, y)\\n\",\n    \"m_rmse(m, valid_xs_time, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs['saleYear'].hist();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"filt = xs['saleYear']>2004\\n\",\n    \"xs_filt = xs_final_time[filt]\\n\",\n    \"y_filt = y[filt]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = rf(xs_filt, y_filt)\\n\",\n    \"m_rmse(m, xs_filt, y_filt), m_rmse(m, valid_xs_time, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Using a Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_nn = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\\n\",\n    \"df_nn['ProductSize'] = df_nn['ProductSize'].astype('category')\\n\",\n    \"df_nn['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\\n\",\n    \"df_nn[dep_var] = np.log(df_nn[dep_var])\\n\",\n    \"df_nn = add_datepart(df_nn, 'saledate')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_nn_final = df_nn[list(xs_final_time.columns) + [dep_var]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cont_nn,cat_nn = cont_cat_split(df_nn_final, max_card=9000, dep_var=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cont_nn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df_nn_final[cat_nn].nunique()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xs_filt2 = xs_filt.drop('fiModelDescriptor', axis=1)\\n\",\n    \"valid_xs_time2 = valid_xs_time.drop('fiModelDescriptor', axis=1)\\n\",\n    \"m2 = rf(xs_filt2, y_filt)\\n\",\n    \"m_rmse(m2, xs_filt2, y_filt), m_rmse(m2, valid_xs_time2, valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cat_nn.remove('fiModelDescriptor')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"procs_nn = [Categorify, FillMissing, Normalize]\\n\",\n    \"to_nn = TabularPandas(df_nn_final, procs_nn, cat_nn, cont_nn,\\n\",\n    \"                      splits=splits, y_names=dep_var)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = to_nn.dataloaders(1024)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"y = to_nn.train.y\\n\",\n    \"y.min(),y.max()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = tabular_learner(dls, y_range=(8,12), layers=[500,250],\\n\",\n    \"                        n_out=1, loss_func=F.mse_loss)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"preds,targs = learn.get_preds()\\n\",\n    \"r_mse(preds,targs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.save('nn')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: fastai's Tabular Classes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Ensembling\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rf_preds = m.predict(valid_xs_time)\\n\",\n    \"ens_preds = (to_np(preds.squeeze()) + rf_preds) /2\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"r_mse(ens_preds,valid_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Boosting\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Combining Embeddings with Other Methods\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion: Our Advice for Tabular Modeling\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a continuous variable?\\n\",\n    \"1. What is a categorical variable?\\n\",\n    \"1. Provide two of the words that are used for the possible values of a categorical variable.\\n\",\n    \"1. What is a \\\"dense layer\\\"?\\n\",\n    \"1. How do entity embeddings reduce memory usage and speed up neural networks?\\n\",\n    \"1. What kinds of datasets are entity embeddings especially useful for?\\n\",\n    \"1. What are the two main families of machine learning algorithms?\\n\",\n    \"1. Why do some categorical columns need a special ordering in their classes? How do you do this in Pandas?\\n\",\n    \"1. Summarize what a decision tree algorithm does.\\n\",\n    \"1. Why is a date different from a regular categorical or continuous variable, and how can you preprocess it to allow it to be used in a model?\\n\",\n    \"1. Should you pick a random validation set in the bulldozer competition? If no, what kind of validation set should you pick?\\n\",\n    \"1. What is pickle and what is it useful for?\\n\",\n    \"1. How are `mse`, `samples`, and `values` calculated in the decision tree drawn in this chapter?\\n\",\n    \"1. How do we deal with outliers, before building a decision tree?\\n\",\n    \"1. How do we handle categorical variables in a decision tree?\\n\",\n    \"1. What is bagging?\\n\",\n    \"1. What is the difference between `max_samples` and `max_features` when creating a random forest?\\n\",\n    \"1. If you increase `n_estimators` to a very high value, can that lead to overfitting? Why or why not?\\n\",\n    \"1. In the section \\\"Creating a Random Forest\\\", just after <<max_features>>, why did `preds.mean(0)` give the same result as our random forest?\\n\",\n    \"1. What is \\\"out-of-bag-error\\\"?\\n\",\n    \"1. Make a list of reasons why a model's validation set error might be worse than the OOB error. How could you test your hypotheses?\\n\",\n    \"1. Explain why random forests are well suited to answering each of the following question:\\n\",\n    \"   - How confident are we in our predictions using a particular row of data?\\n\",\n    \"   - For predicting with a particular row of data, what were the most important factors, and how did they influence that prediction?\\n\",\n    \"   - Which columns are the strongest predictors?\\n\",\n    \"   - How do predictions vary as we vary these columns?\\n\",\n    \"1. What's the purpose of removing unimportant variables?\\n\",\n    \"1. What's a good type of plot for showing tree interpreter results?\\n\",\n    \"1. What is the \\\"extrapolation problem\\\"?\\n\",\n    \"1. How can you tell if your test or validation set is distributed in a different way than your training set?\\n\",\n    \"1. Why do we ensure `saleElapsed` is a continuous variable, even although it has less than 9,000 distinct values?\\n\",\n    \"1. What is \\\"boosting\\\"?\\n\",\n    \"1. How could we use embeddings with a random forest? Would we expect this to help?\\n\",\n    \"1. Why might we not always use a neural net for tabular modeling?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Pick a competition on Kaggle with tabular data (current or past) and try to adapt the techniques seen in this chapter to get the best possible results. Compare your results to the private leaderboard.\\n\",\n    \"1. Implement the decision tree algorithm in this chapter from scratch yourself, and try it on the dataset you used in the first exercise.\\n\",\n    \"1. Use the embeddings from the neural net in this chapter in a random forest, and see if you can improve on the random forest results we saw.\\n\",\n    \"1. Explain what each line of the source of `TabularModel` does (with the exception of the `BatchNorm1d` and `Dropout` layers).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/10_nlp.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from IPython.display import display,HTML\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# NLP Deep Dive: RNNs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Text Preprocessing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Tokenization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Word Tokenization with fastai\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"path = untar_data(URLs.IMDB)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"files = get_text_files(path, folders = ['train', 'test', 'unsup'])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"txt = files[0].open().read(); txt[:75]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"spacy = WordTokenizer()\\n\",\n    \"toks = first(spacy([txt]))\\n\",\n    \"print(coll_repr(toks, 30))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"first(spacy(['The U.S. dollar $1 is $1.00.']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tkn = Tokenizer(spacy)\\n\",\n    \"print(coll_repr(tkn(txt), 31))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"defaults.text_proc_rules\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"coll_repr(tkn('&copy;   Fast.ai www.fast.ai/INDEX'), 31)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Subword Tokenization\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"txts = L(o.open().read() for o in files[:2000])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def subword(sz):\\n\",\n    \"    sp = SubwordTokenizer(vocab_sz=sz)\\n\",\n    \"    sp.setup(txts)\\n\",\n    \"    return ' '.join(first(sp([txt]))[:40])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"subword(1000)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"subword(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"subword(10000)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Numericalization with fastai\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"toks = tkn(txt)\\n\",\n    \"print(coll_repr(tkn(txt), 31))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"toks200 = txts[:200].map(tkn)\\n\",\n    \"toks200[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"num = Numericalize()\\n\",\n    \"num.setup(toks200)\\n\",\n    \"coll_repr(num.vocab,20)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums = num(toks)[:20]; nums\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in nums)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Putting Our Texts into Batches for a Language Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"stream = \\\"In this chapter, we will go back over the example of classifying movie reviews we studied in chapter 1 and dig deeper under the surface. First we will look at the processing steps necessary to convert text into numbers and how to customize it. By doing this, we'll have another example of the PreProcessor used in the data block API.\\\\nThen we will study how we build a language model and train it for a while.\\\"\\n\",\n    \"tokens = tkn(stream)\\n\",\n    \"bs,seq_len = 6,15\\n\",\n    \"d_tokens = np.array([tokens[i*seq_len:(i+1)*seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15:i*15+seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15+seq_len:i*15+2*seq_len] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bs,seq_len = 6,5\\n\",\n    \"d_tokens = np.array([tokens[i*15+10:i*15+15] for i in range(bs)])\\n\",\n    \"df = pd.DataFrame(d_tokens)\\n\",\n    \"display(HTML(df.to_html(index=False,header=None)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums200 = toks200.map(num)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dl = LMDataLoader(nums200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = first(dl)\\n\",\n    \"x.shape,y.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in x[0][:20])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"' '.join(num.vocab[o] for o in y[0][:20])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Training a Text Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Language Model Using DataBlock\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"get_imdb = partial(get_text_files, folders=['train', 'test', 'unsup'])\\n\",\n    \"\\n\",\n    \"dls_lm = DataBlock(\\n\",\n    \"    blocks=TextBlock.from_folder(path, is_lm=True),\\n\",\n    \"    get_items=get_imdb, splitter=RandomSplitter(0.1)\\n\",\n    \").dataloaders(path, path=path, bs=128, seq_len=80)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls_lm.show_batch(max_n=2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fine-Tuning the Language Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = language_model_learner(\\n\",\n    \"    dls_lm, AWD_LSTM, drop_mult=0.3, \\n\",\n    \"    metrics=[accuracy, Perplexity()]).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(1, 2e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Saving and Loading Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.save('1epoch')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = learn.load('1epoch')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(10, 2e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.save_encoder('finetuned')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Text Generation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"TEXT = \\\"I liked this movie because\\\"\\n\",\n    \"N_WORDS = 40\\n\",\n    \"N_SENTENCES = 2\\n\",\n    \"preds = [learn.predict(TEXT, N_WORDS, temperature=0.75) \\n\",\n    \"         for _ in range(N_SENTENCES)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"print(\\\"\\\\n\\\".join(preds))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Classifier DataLoaders\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls_clas = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path, vocab=dls_lm.vocab),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path, path=path, bs=128, seq_len=72)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls_clas.show_batch(max_n=3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums_samp = toks200[:10].map(num)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums_samp.map(len)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = text_classifier_learner(dls_clas, AWD_LSTM, drop_mult=0.5, \\n\",\n    \"                                metrics=accuracy).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = learn.load_encoder('finetuned')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Fine-Tuning the Classifier\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(1, 2e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.freeze_to(-2)\\n\",\n    \"learn.fit_one_cycle(1, slice(1e-2/(2.6**4),1e-2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.freeze_to(-3)\\n\",\n    \"learn.fit_one_cycle(1, slice(5e-3/(2.6**4),5e-3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(2, slice(1e-3/(2.6**4),1e-3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Disinformation and Language Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is \\\"self-supervised learning\\\"?\\n\",\n    \"1. What is a \\\"language model\\\"?\\n\",\n    \"1. Why is a language model considered self-supervised?\\n\",\n    \"1. What are self-supervised models usually used for?\\n\",\n    \"1. Why do we fine-tune language models?\\n\",\n    \"1. What are the three steps to create a state-of-the-art text classifier?\\n\",\n    \"1. How do the 50,000 unlabeled movie reviews help us create a better text classifier for the IMDb dataset?\\n\",\n    \"1. What are the three steps to prepare your data for a language model?\\n\",\n    \"1. What is \\\"tokenization\\\"? Why do we need it?\\n\",\n    \"1. Name three different approaches to tokenization.\\n\",\n    \"1. What is `xxbos`?\\n\",\n    \"1. List four rules that fastai applies to text during tokenization.\\n\",\n    \"1. Why are repeated characters replaced with a token showing the number of repetitions and the character that's repeated?\\n\",\n    \"1. What is \\\"numericalization\\\"?\\n\",\n    \"1. Why might there be words that are replaced with the \\\"unknown word\\\" token?\\n\",\n    \"1. With a batch size of 64, the first row of the tensor representing the first batch contains the first 64 tokens for the dataset. What does the second row of that tensor contain? What does the first row of the second batch contain? (Careful—students often get this one wrong! Be sure to check your answer on the book's website.)\\n\",\n    \"1. Why do we need padding for text classification? Why don't we need it for language modeling?\\n\",\n    \"1. What does an embedding matrix for NLP contain? What is its shape?\\n\",\n    \"1. What is \\\"perplexity\\\"?\\n\",\n    \"1. Why do we have to pass the vocabulary of the language model to the classifier data block?\\n\",\n    \"1. What is \\\"gradual unfreezing\\\"?\\n\",\n    \"1. Why is text generation always likely to be ahead of automatic identification of machine-generated texts?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. See what you can learn about language models and disinformation. What are the best language models today? Take a look at some of their outputs. Do you find them convincing? How could a bad actor best use such a model to create conflict and uncertainty?\\n\",\n    \"1. Given the limitation that models are unlikely to be able to consistently recognize machine-generated texts, what other approaches may be needed to handle large-scale disinformation campaigns that leverage deep learning?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/11_midlevel_data.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\\n\",\n    \"from IPython.display import display,HTML\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Data Munging with fastai's Mid-Level API\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Going Deeper into fastai's Layered API\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"\\n\",\n    \"dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMDB)\\n\",\n    \"dls = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transforms\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"files = get_text_files(path, folders = ['train', 'test'])\\n\",\n    \"txts = L(o.open().read() for o in files[:2000])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tok = Tokenizer.from_folder(path)\\n\",\n    \"tok.setup(txts)\\n\",\n    \"toks = txts.map(tok)\\n\",\n    \"toks[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"num = Numericalize()\\n\",\n    \"num.setup(toks)\\n\",\n    \"nums = toks.map(num)\\n\",\n    \"nums[0][:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"nums_dec = num.decode(nums[0][:10]); nums_dec\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tok.decode(nums_dec)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tok((txts[0], txts[1]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Writing Your Own Transform\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def f(x:int): return x+1\\n\",\n    \"tfm = Transform(f)\\n\",\n    \"tfm(2),tfm(2.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"@Transform\\n\",\n    \"def f(x:int): return x+1\\n\",\n    \"f(2),f(2.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class NormalizeMean(Transform):\\n\",\n    \"    def setups(self, items): self.mean = sum(items)/len(items)\\n\",\n    \"    def encodes(self, x): return x-self.mean\\n\",\n    \"    def decodes(self, x): return x+self.mean\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tfm = NormalizeMean()\\n\",\n    \"tfm.setup([1,2,3,4,5])\\n\",\n    \"start = 2\\n\",\n    \"y = tfm(start)\\n\",\n    \"z = tfm.decode(y)\\n\",\n    \"tfm.mean,y,z\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Pipeline\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tfms = Pipeline([tok, num])\\n\",\n    \"t = tfms(txts[0]); t[:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tfms.decode(t)[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## TfmdLists and Datasets: Transformed Collections\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### TfmdLists\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = tls[0]; t[:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls.decode(t)[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls.show(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cut = int(len(files)*0.8)\\n\",\n    \"splits = [list(range(cut)), list(range(cut,len(files)))]\\n\",\n    \"tls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize], \\n\",\n    \"                splits=splits)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls.valid[0][:20]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lbls = files.map(parent_label)\\n\",\n    \"lbls\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cat = Categorize()\\n\",\n    \"cat.setup(lbls)\\n\",\n    \"cat.vocab, cat(lbls[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls_y = TfmdLists(files, [parent_label, Categorize()])\\n\",\n    \"tls_y[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Datasets\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_tfms = [Tokenizer.from_folder(path), Numericalize]\\n\",\n    \"y_tfms = [parent_label, Categorize()]\\n\",\n    \"dsets = Datasets(files, [x_tfms, y_tfms])\\n\",\n    \"x,y = dsets[0]\\n\",\n    \"x[:20],y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_tfms = [Tokenizer.from_folder(path), Numericalize]\\n\",\n    \"y_tfms = [parent_label, Categorize()]\\n\",\n    \"dsets = Datasets(files, [x_tfms, y_tfms], splits=splits)\\n\",\n    \"x,y = dsets.valid[0]\\n\",\n    \"x[:20],y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = dsets.valid[0]\\n\",\n    \"dsets.decode(t)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = dsets.dataloaders(bs=64, before_batch=pad_input)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tfms = [[Tokenizer.from_folder(path), Numericalize], [parent_label, Categorize]]\\n\",\n    \"files = get_text_files(path, folders = ['train', 'test'])\\n\",\n    \"splits = GrandparentSplitter(valid_name='test')(files)\\n\",\n    \"dsets = Datasets(files, tfms, splits=splits)\\n\",\n    \"dls = dsets.dataloaders(dl_type=SortedDL, before_batch=pad_input)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMDB)\\n\",\n    \"dls = DataBlock(\\n\",\n    \"    blocks=(TextBlock.from_folder(path),CategoryBlock),\\n\",\n    \"    get_y = parent_label,\\n\",\n    \"    get_items=partial(get_text_files, folders=['train', 'test']),\\n\",\n    \"    splitter=GrandparentSplitter(valid_name='test')\\n\",\n    \").dataloaders(path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Applying the Mid-Level Data API: SiamesePair\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\\n\",\n    \"files = get_image_files(path/\\\"images\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseImage(fastuple):\\n\",\n    \"    def show(self, ctx=None, **kwargs): \\n\",\n    \"        img1,img2,same_breed = self\\n\",\n    \"        if not isinstance(img1, Tensor):\\n\",\n    \"            if img2.size != img1.size: img2 = img2.resize(img1.size)\\n\",\n    \"            t1,t2 = tensor(img1),tensor(img2)\\n\",\n    \"            t1,t2 = t1.permute(2,0,1),t2.permute(2,0,1)\\n\",\n    \"        else: t1,t2 = img1,img2\\n\",\n    \"        line = t1.new_zeros(t1.shape[0], t1.shape[1], 10)\\n\",\n    \"        return show_image(torch.cat([t1,line,t2], dim=2), \\n\",\n    \"                          title=same_breed, ctx=ctx)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(files[0])\\n\",\n    \"s = SiameseImage(img, img, True)\\n\",\n    \"s.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img1 = PILImage.create(files[1])\\n\",\n    \"s1 = SiameseImage(img, img1, False)\\n\",\n    \"s1.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"s2 = Resize(224)(s1)\\n\",\n    \"s2.show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def label_func(fname):\\n\",\n    \"    return re.match(r'^(.*)_\\\\d+.jpg$', fname.name).groups()[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseTransform(Transform):\\n\",\n    \"    def __init__(self, files, label_func, splits):\\n\",\n    \"        self.labels = files.map(label_func).unique()\\n\",\n    \"        self.lbl2files = {l: L(f for f in files if label_func(f) == l) \\n\",\n    \"                          for l in self.labels}\\n\",\n    \"        self.label_func = label_func\\n\",\n    \"        self.valid = {f: self._draw(f) for f in files[splits[1]]}\\n\",\n    \"        \\n\",\n    \"    def encodes(self, f):\\n\",\n    \"        f2,t = self.valid.get(f, self._draw(f))\\n\",\n    \"        img1,img2 = PILImage.create(f),PILImage.create(f2)\\n\",\n    \"        return SiameseImage(img1, img2, t)\\n\",\n    \"    \\n\",\n    \"    def _draw(self, f):\\n\",\n    \"        same = random.random() < 0.5\\n\",\n    \"        cls = self.label_func(f)\\n\",\n    \"        if not same: \\n\",\n    \"            cls = random.choice(L(l for l in self.labels if l != cls)) \\n\",\n    \"        return random.choice(self.lbl2files[cls]),same\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"splits = RandomSplitter()(files)\\n\",\n    \"tfm = SiameseTransform(files, label_func, splits)\\n\",\n    \"tfm(files[0]).show();\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tls = TfmdLists(files, tfm, splits=splits)\\n\",\n    \"show_at(tls.valid, 0);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = tls.dataloaders(after_item=[Resize(224), ToTensor], \\n\",\n    \"    after_batch=[IntToFloatTensor, Normalize.from_stats(*imagenet_stats)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Why do we say that fastai has a \\\"layered\\\" API? What does it mean?\\n\",\n    \"1. Why does a `Transform` have a `decode` method? What does it do?\\n\",\n    \"1. Why does a `Transform` have a `setup` method? What does it do?\\n\",\n    \"1. How does a `Transform` work when called on a tuple?\\n\",\n    \"1. Which methods do you need to implement when writing your own `Transform`?\\n\",\n    \"1. Write a `Normalize` transform that fully normalizes items (subtract the mean and divide by the standard deviation of the dataset), and that can decode that behavior. Try not to peek!\\n\",\n    \"1. Write a `Transform` that does the numericalization of tokenized texts (it should set its vocab automatically from the dataset seen and have a `decode` method). Look at the source code of fastai if you need help.\\n\",\n    \"1. What is a `Pipeline`?\\n\",\n    \"1. What is a `TfmdLists`? \\n\",\n    \"1. What is a `Datasets`? How is it different from a `TfmdLists`?\\n\",\n    \"1. Why are `TfmdLists` and `Datasets` named with an \\\"s\\\"?\\n\",\n    \"1. How can you build a `DataLoaders` from a `TfmdLists` or a `Datasets`?\\n\",\n    \"1. How do you pass `item_tfms` and `batch_tfms` when building a `DataLoaders` from a `TfmdLists` or a `Datasets`?\\n\",\n    \"1. What do you need to do when you want to have your custom items work with methods like `show_batch` or `show_results`?\\n\",\n    \"1. Why can we easily apply fastai data augmentation transforms to the `SiamesePair` we built?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Use the mid-level API to prepare the data in `DataLoaders` on your own datasets. Try this with the Pet dataset and the Adult dataset from Chapter 1.\\n\",\n    \"1. Look at the Siamese tutorial in the fastai documentation to learn how to customize the behavior of `show_batch` and `show_results` for new type of items. Implement it in your own project.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Understanding fastai's Applications: Wrap Up\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations—you've completed all of the chapters in this book that cover the key practical parts of training models and using deep learning! You know how to use all of fastai's built-in applications, and how to customize them using the data block API and loss functions. You even know how to create a neural network from scratch, and train it! (And hopefully you now know some of the questions to ask to make sure your creations help improve society too.)\\n\",\n    \"\\n\",\n    \"The knowledge you already have is enough to create full working prototypes of many types of neural network applications. More importantly, it will help you understand the capabilities and limitations of deep learning models, and how to design a system that's well adapted to them.\\n\",\n    \"\\n\",\n    \"In the rest of this book we will be pulling apart those applications, piece by piece, to understand the foundations they are built on. This is important knowledge for a deep learning practitioner, because it is what allows you to inspect and debug models that you build and create new applications that are customized for your particular projects.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/12_nlp_dive.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A Language Model from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.text.all import *\\n\",\n    \"path = untar_data(URLs.HUMAN_NUMBERS)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lines = L()\\n\",\n    \"with open(path/'train.txt') as f: lines += L(*f.readlines())\\n\",\n    \"with open(path/'valid.txt') as f: lines += L(*f.readlines())\\n\",\n    \"lines\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"text = ' . '.join([l.strip() for l in lines])\\n\",\n    \"text[:100]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"tokens = text.split(' ')\\n\",\n    \"tokens[:10]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"vocab = L(*tokens).unique()\\n\",\n    \"vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"word2idx = {w:i for i,w in enumerate(vocab)}\\n\",\n    \"nums = L(word2idx[i] for i in tokens)\\n\",\n    \"nums\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Our First Language Model from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"L((tokens[i:i+3], tokens[i+3]) for i in range(0,len(tokens)-4,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"seqs = L((tensor(nums[i:i+3]), nums[i+3]) for i in range(0,len(nums)-4,3))\\n\",\n    \"seqs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"bs = 64\\n\",\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(seqs[:cut], seqs[cut:], bs=64, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Our Language Model in PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel1(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        h = F.relu(self.h_h(self.i_h(x[:,0])))\\n\",\n    \"        h = h + self.i_h(x[:,1])\\n\",\n    \"        h = F.relu(self.h_h(h))\\n\",\n    \"        h = h + self.i_h(x[:,2])\\n\",\n    \"        h = F.relu(self.h_h(h))\\n\",\n    \"        return self.h_o(h)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel1(len(vocab), 64), loss_func=F.cross_entropy, \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"n,counts = 0,torch.zeros(len(vocab))\\n\",\n    \"for x,y in dls.valid:\\n\",\n    \"    n += y.shape[0]\\n\",\n    \"    for i in range_of(vocab): counts[i] += (y==i).long().sum()\\n\",\n    \"idx = torch.argmax(counts)\\n\",\n    \"idx, vocab[idx.item()], counts[idx].item()/n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Our First Recurrent Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel2(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        h = 0\\n\",\n    \"        for i in range(3):\\n\",\n    \"            h = h + self.i_h(x[:,i])\\n\",\n    \"            h = F.relu(self.h_h(h))\\n\",\n    \"        return self.h_o(h)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel2(len(vocab), 64), loss_func=F.cross_entropy, \\n\",\n    \"                metrics=accuracy)\\n\",\n    \"learn.fit_one_cycle(4, 1e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving the RNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Maintaining the State of an RNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel3(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        self.h = 0\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        for i in range(3):\\n\",\n    \"            self.h = self.h + self.i_h(x[:,i])\\n\",\n    \"            self.h = F.relu(self.h_h(self.h))\\n\",\n    \"        out = self.h_o(self.h)\\n\",\n    \"        self.h = self.h.detach()\\n\",\n    \"        return out\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h = 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = len(seqs)//bs\\n\",\n    \"m,bs,len(seqs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def group_chunks(ds, bs):\\n\",\n    \"    m = len(ds) // bs\\n\",\n    \"    new_ds = L()\\n\",\n    \"    for i in range(m): new_ds += L(ds[i + m*j] for j in range(bs))\\n\",\n    \"    return new_ds\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(\\n\",\n    \"    group_chunks(seqs[:cut], bs), \\n\",\n    \"    group_chunks(seqs[cut:], bs), \\n\",\n    \"    bs=bs, drop_last=True, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel3(len(vocab), 64), loss_func=F.cross_entropy,\\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(10, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating More Signal\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sl = 16\\n\",\n    \"seqs = L((tensor(nums[i:i+sl]), tensor(nums[i+1:i+sl+1]))\\n\",\n    \"         for i in range(0,len(nums)-sl-1,sl))\\n\",\n    \"cut = int(len(seqs) * 0.8)\\n\",\n    \"dls = DataLoaders.from_dsets(group_chunks(seqs[:cut], bs),\\n\",\n    \"                             group_chunks(seqs[cut:], bs),\\n\",\n    \"                             bs=bs, drop_last=True, shuffle=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"[L(vocab[o] for o in s) for s in seqs[0]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel4(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)  \\n\",\n    \"        self.h_h = nn.Linear(n_hidden, n_hidden)     \\n\",\n    \"        self.h_o = nn.Linear(n_hidden,vocab_sz)\\n\",\n    \"        self.h = 0\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        outs = []\\n\",\n    \"        for i in range(sl):\\n\",\n    \"            self.h = self.h + self.i_h(x[:,i])\\n\",\n    \"            self.h = F.relu(self.h_h(self.h))\\n\",\n    \"            outs.append(self.h_o(self.h))\\n\",\n    \"        self.h = self.h.detach()\\n\",\n    \"        return torch.stack(outs, dim=1)\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h = 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def loss_func(inp, targ):\\n\",\n    \"    return F.cross_entropy(inp.view(-1, len(vocab)), targ.view(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel4(len(vocab), 64), loss_func=loss_func,\\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Multilayer RNNs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel5(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.RNN(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h = torch.zeros(n_layers, bs, n_hidden)\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        res,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        self.h = h.detach()\\n\",\n    \"        return self.h_o(res)\\n\",\n    \"    \\n\",\n    \"    def reset(self): self.h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel5(len(vocab), 64, 2), \\n\",\n    \"                loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Exploding or Disappearing Activations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Building an LSTM from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMCell(Module):\\n\",\n    \"    def __init__(self, ni, nh):\\n\",\n    \"        self.forget_gate = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.input_gate  = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.cell_gate   = nn.Linear(ni + nh, nh)\\n\",\n    \"        self.output_gate = nn.Linear(ni + nh, nh)\\n\",\n    \"\\n\",\n    \"    def forward(self, input, state):\\n\",\n    \"        h,c = state\\n\",\n    \"        h = torch.cat([h, input], dim=1)\\n\",\n    \"        forget = torch.sigmoid(self.forget_gate(h))\\n\",\n    \"        c = c * forget\\n\",\n    \"        inp = torch.sigmoid(self.input_gate(h))\\n\",\n    \"        cell = torch.tanh(self.cell_gate(h))\\n\",\n    \"        c = c + inp * cell\\n\",\n    \"        out = torch.sigmoid(self.output_gate(h))\\n\",\n    \"        h = out * torch.tanh(c)\\n\",\n    \"        return h, (h,c)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LSTMCell(Module):\\n\",\n    \"    def __init__(self, ni, nh):\\n\",\n    \"        self.ih = nn.Linear(ni,4*nh)\\n\",\n    \"        self.hh = nn.Linear(nh,4*nh)\\n\",\n    \"\\n\",\n    \"    def forward(self, input, state):\\n\",\n    \"        h,c = state\\n\",\n    \"        # One big multiplication for all the gates is better than 4 smaller ones\\n\",\n    \"        gates = (self.ih(input) + self.hh(h)).chunk(4, 1)\\n\",\n    \"        ingate,forgetgate,outgate = map(torch.sigmoid, gates[:3])\\n\",\n    \"        cellgate = gates[3].tanh()\\n\",\n    \"\\n\",\n    \"        c = (forgetgate*c) + (ingate*cellgate)\\n\",\n    \"        h = outgate * c.tanh()\\n\",\n    \"        return h, (h,c)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = torch.arange(0,10); t\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t.chunk(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Language Model Using LSTMs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel6(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        res,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        self.h = [h_.detach() for h_ in h]\\n\",\n    \"        return self.h_o(res)\\n\",\n    \"    \\n\",\n    \"    def reset(self): \\n\",\n    \"        for h in self.h: h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel6(len(vocab), 64, 2), \\n\",\n    \"                loss_func=CrossEntropyLossFlat(), \\n\",\n    \"                metrics=accuracy, cbs=ModelResetter)\\n\",\n    \"learn.fit_one_cycle(15, 1e-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Regularizing an LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dropout\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Dropout(Module):\\n\",\n    \"    def __init__(self, p): self.p = p\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        if not self.training: return x\\n\",\n    \"        mask = x.new(*x.shape).bernoulli_(1-p)\\n\",\n    \"        return x * mask.div_(1-p)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Activation Regularization and Temporal Activation Regularization\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Training a Weight-Tied Regularized LSTM\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LMModel7(Module):\\n\",\n    \"    def __init__(self, vocab_sz, n_hidden, n_layers, p):\\n\",\n    \"        self.i_h = nn.Embedding(vocab_sz, n_hidden)\\n\",\n    \"        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\\n\",\n    \"        self.drop = nn.Dropout(p)\\n\",\n    \"        self.h_o = nn.Linear(n_hidden, vocab_sz)\\n\",\n    \"        self.h_o.weight = self.i_h.weight\\n\",\n    \"        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\\n\",\n    \"        \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        raw,h = self.rnn(self.i_h(x), self.h)\\n\",\n    \"        out = self.drop(raw)\\n\",\n    \"        self.h = [h_.detach() for h_ in h]\\n\",\n    \"        return self.h_o(out),raw,out\\n\",\n    \"    \\n\",\n    \"    def reset(self): \\n\",\n    \"        for h in self.h: h.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, LMModel7(len(vocab), 64, 2, 0.5),\\n\",\n    \"                loss_func=CrossEntropyLossFlat(), metrics=accuracy,\\n\",\n    \"                cbs=[ModelResetter, RNNRegularizer(alpha=2, beta=1)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = TextLearner(dls, LMModel7(len(vocab), 64, 2, 0.4),\\n\",\n    \"                    loss_func=CrossEntropyLossFlat(), metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(15, 1e-2, wd=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. If the dataset for your project is so big and complicated that working with it takes a significant amount of time, what should you do?\\n\",\n    \"1. Why do we concatenate the documents in our dataset before creating a language model?\\n\",\n    \"1. To use a standard fully connected network to predict the fourth word given the previous three words, what two tweaks do we need to make to our model?\\n\",\n    \"1. How can we share a weight matrix across multiple layers in PyTorch?\\n\",\n    \"1. Write a module that predicts the third word given the previous two words of a sentence, without peeking.\\n\",\n    \"1. What is a recurrent neural network?\\n\",\n    \"1. What is \\\"hidden state\\\"?\\n\",\n    \"1. What is the equivalent of hidden state in ` LMModel1`?\\n\",\n    \"1. To maintain the state in an RNN, why is it important to pass the text to the model in order?\\n\",\n    \"1. What is an \\\"unrolled\\\" representation of an RNN?\\n\",\n    \"1. Why can maintaining the hidden state in an RNN lead to memory and performance problems? How do we fix this problem?\\n\",\n    \"1. What is \\\"BPTT\\\"?\\n\",\n    \"1. Write code to print out the first few batches of the validation set, including converting the token IDs back into English strings, as we showed for batches of IMDb data in <<chapter_nlp>>.\\n\",\n    \"1. What does the `ModelResetter` callback do? Why do we need it?\\n\",\n    \"1. What are the downsides of predicting just one output word for each three input words?\\n\",\n    \"1. Why do we need a custom loss function for `LMModel4`?\\n\",\n    \"1. Why is the training of `LMModel4` unstable?\\n\",\n    \"1. In the unrolled representation, we can see that a recurrent neural network actually has many layers. So why do we need to stack RNNs to get better results?\\n\",\n    \"1. Draw a representation of a stacked (multilayer) RNN.\\n\",\n    \"1. Why should we get better results in an RNN if we call `detach` less often? Why might this not happen in practice with a simple RNN?\\n\",\n    \"1. Why can a deep network result in very large or very small activations? Why does this matter?\\n\",\n    \"1. In a computer's floating-point representation of numbers, which numbers are the most precise?\\n\",\n    \"1. Why do vanishing gradients prevent training?\\n\",\n    \"1. Why does it help to have two hidden states in the LSTM architecture? What is the purpose of each one?\\n\",\n    \"1. What are these two states called in an LSTM?\\n\",\n    \"1. What is tanh, and how is it related to sigmoid?\\n\",\n    \"1. What is the purpose of this code in `LSTMCell`: `h = torch.cat([h, input], dim=1)`\\n\",\n    \"1. What does `chunk` do in PyTorch?\\n\",\n    \"1. Study the refactored version of `LSTMCell` carefully to ensure you understand how and why it does the same thing as the non-refactored version.\\n\",\n    \"1. Why can we use a higher learning rate for `LMModel6`?\\n\",\n    \"1. What are the three regularization techniques used in an AWD-LSTM model?\\n\",\n    \"1. What is \\\"dropout\\\"?\\n\",\n    \"1. Why do we scale the acitvations with dropout? Is this applied during training, inference, or both?\\n\",\n    \"1. What is the purpose of this line from `Dropout`: `if not self.training: return x`\\n\",\n    \"1. Experiment with `bernoulli_` to understand how it works.\\n\",\n    \"1. How do you set your model in training mode in PyTorch? In evaluation mode?\\n\",\n    \"1. Write the equation for activation regularization (in math or code, as you prefer). How is it different from weight decay?\\n\",\n    \"1. Write the equation for temporal activation regularization (in math or code, as you prefer). Why wouldn't we use this for computer vision problems?\\n\",\n    \"1. What is \\\"weight tying\\\" in a language model?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. In ` LMModel2`, why can `forward` start with `h=0`? Why don't we need to say `h=torch.zeros(...)`?\\n\",\n    \"1. Write the code for an LSTM from scratch (you may refer to <<lstm>>).\\n\",\n    \"1. Search the internet for the GRU architecture and implement it from scratch, and try training a model. See if you can get results similar to those we saw in this chapter. Compare your results to the results of PyTorch's built in `GRU` module.\\n\",\n    \"1. Take a look at the source code for AWD-LSTM in fastai, and try to map each of the lines of code to the concepts shown in this chapter.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/13_convolutions.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"from fastbook import *\\n\",\n    \"\\n\",\n    \"matplotlib.rc('image', cmap='Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Convolutional Neural Networks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Magic of Convolutions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"top_edge = tensor([[-1,-1,-1],\\n\",\n    \"                   [ 0, 0, 0],\\n\",\n    \"                   [ 1, 1, 1]]).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST_SAMPLE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im3 = Image.open(path/'train'/'3'/'12.png')\\n\",\n    \"show_image(im3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im3_t = tensor(im3)\\n\",\n    \"im3_t[0:3,0:3] * top_edge\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(im3_t[0:3,0:3] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = pd.DataFrame(im3_t[:10,:20])\\n\",\n    \"df.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(im3_t[4:7,6:9] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(im3_t[7:10,17:20] * top_edge).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def apply_kernel(row, col, kernel):\\n\",\n    \"    return (im3_t[row-1:row+2,col-1:col+2] * kernel).sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"apply_kernel(5,7,top_edge)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Mapping a Convolution Kernel\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"[[(i,j) for j in range(1,5)] for i in range(1,5)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rng = range(1,27)\\n\",\n    \"top_edge3 = tensor([[apply_kernel(i,j,top_edge) for j in rng] for i in rng])\\n\",\n    \"\\n\",\n    \"show_image(top_edge3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"left_edge = tensor([[-1,1,0],\\n\",\n    \"                    [-1,1,0],\\n\",\n    \"                    [-1,1,0]]).float()\\n\",\n    \"\\n\",\n    \"left_edge3 = tensor([[apply_kernel(i,j,left_edge) for j in rng] for i in rng])\\n\",\n    \"\\n\",\n    \"show_image(left_edge3);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Convolutions in PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"diag1_edge = tensor([[ 0,-1, 1],\\n\",\n    \"                     [-1, 1, 0],\\n\",\n    \"                     [ 1, 0, 0]]).float()\\n\",\n    \"diag2_edge = tensor([[ 1,-1, 0],\\n\",\n    \"                     [ 0, 1,-1],\\n\",\n    \"                     [ 0, 0, 1]]).float()\\n\",\n    \"\\n\",\n    \"edge_kernels = torch.stack([left_edge, top_edge, diag1_edge, diag2_edge])\\n\",\n    \"edge_kernels.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mnist = DataBlock((ImageBlock(cls=PILImageBW), CategoryBlock), \\n\",\n    \"                  get_items=get_image_files, \\n\",\n    \"                  splitter=GrandparentSplitter(),\\n\",\n    \"                  get_y=parent_label)\\n\",\n    \"\\n\",\n    \"dls = mnist.dataloaders(path)\\n\",\n    \"xb,yb = first(dls.valid)\\n\",\n    \"xb.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xb,yb = to_cpu(xb),to_cpu(yb)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"edge_kernels.shape,edge_kernels.unsqueeze(1).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"edge_kernels = edge_kernels.unsqueeze(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"batch_features = F.conv2d(xb, edge_kernels)\\n\",\n    \"batch_features.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_image(batch_features[0,0]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Strides and Padding\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Understanding the Convolution Equations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Our First Convolutional Neural Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the CNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_net = nn.Sequential(\\n\",\n    \"    nn.Linear(28*28,30),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Linear(30,1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_net\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"broken_cnn = sequential(\\n\",\n    \"    nn.Conv2d(1,30, kernel_size=3, padding=1),\\n\",\n    \"    nn.ReLU(),\\n\",\n    \"    nn.Conv2d(30,1, kernel_size=3, padding=1)\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"broken_cnn(xb).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\\n\",\n    \"    if act: res = nn.Sequential(res, nn.ReLU())\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_cnn = sequential(\\n\",\n    \"    conv(1 ,4),            #14x14\\n\",\n    \"    conv(4 ,8),            #7x7\\n\",\n    \"    conv(8 ,16),           #4x4\\n\",\n    \"    conv(16,32),           #2x2\\n\",\n    \"    conv(32,2, act=False), #1x1\\n\",\n    \"    Flatten(),\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"simple_cnn(xb).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, simple_cnn, loss_func=F.cross_entropy, metrics=accuracy)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.summary()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(2, 0.01)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Understanding Convolution Arithmetic\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = learn.model[0]\\n\",\n    \"m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m[0].weight.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m[0].bias.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Receptive Fields\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Note About Twitter\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Color Images\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im = image2tensor(Image.open(image_bear()))\\n\",\n    \"im.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_image(im);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"_,axs = subplots(1,3)\\n\",\n    \"for bear,ax,color in zip(im,axs,('Reds','Greens','Blues')):\\n\",\n    \"    show_image(255-bear, ax=ax, cmap=color)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Improving Training Stability\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.MNIST)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"Path.BASE_PATH = path\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path.ls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_dls(bs=64):\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock(cls=PILImageBW), CategoryBlock), \\n\",\n    \"        get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter('training','testing'),\\n\",\n    \"        get_y=parent_label,\\n\",\n    \"        batch_tfms=Normalize()\\n\",\n    \"    ).dataloaders(path, bs=bs)\\n\",\n    \"\\n\",\n    \"dls = get_dls()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.show_batch(max_n=9, figsize=(4,4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Simple Baseline\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\\n\",\n    \"    if act: res = nn.Sequential(res, nn.ReLU())\\n\",\n    \"    return res\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_cnn():\\n\",\n    \"    return sequential(\\n\",\n    \"        conv(1 ,8, ks=5),        #14x14\\n\",\n    \"        conv(8 ,16),             #7x7\\n\",\n    \"        conv(16,32),             #4x4\\n\",\n    \"        conv(32,64),             #2x2\\n\",\n    \"        conv(64,10, act=False),  #1x1\\n\",\n    \"        Flatten(),\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastai.callback.hook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def fit(epochs=1):\\n\",\n    \"    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\\n\",\n    \"                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\\n\",\n    \"    learn.fit(epochs, 0.06)\\n\",\n    \"    return learn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Increase Batch Size\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_dls(512)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1cycle Training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def fit(epochs=1, lr=0.06):\\n\",\n    \"    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\\n\",\n    \"                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\\n\",\n    \"    learn.fit_one_cycle(epochs, lr)\\n\",\n    \"    return learn\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.recorder.plot_sched()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.plot_layer_stats(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Batch Normalization\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def conv(ni, nf, ks=3, act=True):\\n\",\n    \"    layers = [nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)]\\n\",\n    \"    if act: layers.append(nn.ReLU())\\n\",\n    \"    layers.append(nn.BatchNorm2d(nf))\\n\",\n    \"    return nn.Sequential(*layers)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = fit()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.activation_stats.color_dim(-4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = fit(5, lr=0.1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusions\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a \\\"feature\\\"?\\n\",\n    \"1. Write out the convolutional kernel matrix for a top edge detector.\\n\",\n    \"1. Write out the mathematical operation applied by a 3×3 kernel to a single pixel in an image.\\n\",\n    \"1. What is the value of a convolutional kernel apply to a 3×3 matrix of zeros?\\n\",\n    \"1. What is \\\"padding\\\"?\\n\",\n    \"1. What is \\\"stride\\\"?\\n\",\n    \"1. Create a nested list comprehension to complete any task that you choose.\\n\",\n    \"1. What are the shapes of the `input` and `weight` parameters to PyTorch's 2D convolution?\\n\",\n    \"1. What is a \\\"channel\\\"?\\n\",\n    \"1. What is the relationship between a convolution and a matrix multiplication?\\n\",\n    \"1. What is a \\\"convolutional neural network\\\"?\\n\",\n    \"1. What is the benefit of refactoring parts of your neural network definition?\\n\",\n    \"1. What is `Flatten`? Where does it need to be included in the MNIST CNN? Why?\\n\",\n    \"1. What does \\\"NCHW\\\" mean?\\n\",\n    \"1. Why does the third layer of the MNIST CNN have `7*7*(1168-16)` multiplications?\\n\",\n    \"1. What is a \\\"receptive field\\\"?\\n\",\n    \"1. What is the size of the receptive field of an activation after two stride 2 convolutions? Why?\\n\",\n    \"1. Run *conv-example.xlsx* yourself and experiment with *trace precedents*.\\n\",\n    \"1. Have a look at Jeremy or Sylvain's list of recent Twitter \\\"like\\\"s, and see if you find any interesting resources or ideas there.\\n\",\n    \"1. How is a color image represented as a tensor?\\n\",\n    \"1. How does a convolution work with a color input?\\n\",\n    \"1. What method can we use to see that data in `DataLoaders`?\\n\",\n    \"1. Why do we double the number of filters after each stride-2 conv?\\n\",\n    \"1. Why do we use a larger kernel in the first conv with MNIST (with `simple_cnn`)?\\n\",\n    \"1. What information does `ActivationStats` save for each layer?\\n\",\n    \"1. How can we access a learner's callback after training?\\n\",\n    \"1. What are the three statistics plotted by `plot_layer_stats`? What does the x-axis represent?\\n\",\n    \"1. Why are activations near zero problematic?\\n\",\n    \"1. What are the upsides and downsides of training with a larger batch size?\\n\",\n    \"1. Why should we avoid using a high learning rate at the start of training?\\n\",\n    \"1. What is 1cycle training?\\n\",\n    \"1. What are the benefits of training with a high learning rate?\\n\",\n    \"1. Why do we want to use a low learning rate at the end of training?\\n\",\n    \"1. What is \\\"cyclical momentum\\\"?\\n\",\n    \"1. What callback tracks hyperparameter values during training (along with other information)?\\n\",\n    \"1. What does one column of pixels in the `color_dim` plot represent?\\n\",\n    \"1. What does \\\"bad training\\\" look like in `color_dim`? Why?\\n\",\n    \"1. What trainable parameters does a batch normalization layer contain?\\n\",\n    \"1. What statistics are used to normalize in batch normalization during training? How about during validation?\\n\",\n    \"1. Why do models with batch normalization layers generalize better?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What features other than edge detectors have been used in computer vision (especially before deep learning became popular)?\\n\",\n    \"1. There are other normalization layers available in PyTorch. Try them out and see what works best. Learn about why other normalization layers have been developed, and how they differ from batch normalization.\\n\",\n    \"1. Try moving the activation function after the batch normalization layer in `conv`. Does it make a difference? See what you can find out about what order is recommended, and why.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/14_resnet.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# ResNets\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Going Back to Imagenette\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_data(url, presize, resize):\\n\",\n    \"    path = untar_data(url)\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock, CategoryBlock), get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter(valid_name='val'),\\n\",\n    \"        get_y=parent_label, item_tfms=Resize(presize),\\n\",\n    \"        batch_tfms=[*aug_transforms(min_scale=0.5, size=resize),\\n\",\n    \"                    Normalize.from_stats(*imagenet_stats)],\\n\",\n    \"    ).dataloaders(path, bs=128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_160, 160, 128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.show_batch(max_n=4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def avg_pool(x): return x.mean((2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni, nf): return ConvLayer(ni, nf, stride=2)\\n\",\n    \"def get_model():\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        block(3, 16),\\n\",\n    \"        block(16, 32),\\n\",\n    \"        block(32, 64),\\n\",\n    \"        block(64, 128),\\n\",\n    \"        block(128, 256),\\n\",\n    \"        nn.AdaptiveAvgPool2d(1),\\n\",\n    \"        Flatten(),\\n\",\n    \"        nn.Linear(256, dls.c))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_learner(m):\\n\",\n    \"    return Learner(dls, m, loss_func=nn.CrossEntropyLoss(), metrics=accuracy\\n\",\n    \"                  ).to_fp16()\\n\",\n    \"\\n\",\n    \"learn = get_learner(get_model())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Building a Modern CNN: ResNet\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Skip Connections\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResBlock(Module):\\n\",\n    \"    def __init__(self, ni, nf):\\n\",\n    \"        self.convs = nn.Sequential(\\n\",\n    \"            ConvLayer(ni,nf),\\n\",\n    \"            ConvLayer(nf,nf, norm_type=NormType.BatchZero))\\n\",\n    \"        \\n\",\n    \"    def forward(self, x): return x + self.convs(x)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _conv_block(ni,nf,stride):\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        ConvLayer(ni, nf, stride=stride),\\n\",\n    \"        ConvLayer(nf, nf, act_cls=None, norm_type=NormType.BatchZero))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResBlock(Module):\\n\",\n    \"    def __init__(self, ni, nf, stride=1):\\n\",\n    \"        self.convs = _conv_block(ni,nf,stride)\\n\",\n    \"        self.idconv = noop if ni==nf else ConvLayer(ni, nf, 1, act_cls=None)\\n\",\n    \"        self.pool = noop if stride==1 else nn.AvgPool2d(2, ceil_mode=True)\\n\",\n    \"\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        return F.relu(self.convs(x) + self.idconv(self.pool(x)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni,nf): return ResBlock(ni, nf, stride=2)\\n\",\n    \"learn = get_learner(get_model())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def block(ni, nf):\\n\",\n    \"    return nn.Sequential(ResBlock(ni, nf, stride=2), ResBlock(nf, nf))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(get_model())\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A State-of-the-Art ResNet\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _resnet_stem(*sizes):\\n\",\n    \"    return [\\n\",\n    \"        ConvLayer(sizes[i], sizes[i+1], 3, stride = 2 if i==0 else 1)\\n\",\n    \"            for i in range(len(sizes)-1)\\n\",\n    \"    ] + [nn.MaxPool2d(kernel_size=3, stride=2, padding=1)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"_resnet_stem(3,32,32,64)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ResNet(nn.Sequential):\\n\",\n    \"    def __init__(self, n_out, layers, expansion=1):\\n\",\n    \"        stem = _resnet_stem(3,32,32,64)\\n\",\n    \"        self.block_szs = [64, 64, 128, 256, 512]\\n\",\n    \"        for i in range(1,5): self.block_szs[i] *= expansion\\n\",\n    \"        blocks = [self._make_layer(*o) for o in enumerate(layers)]\\n\",\n    \"        super().__init__(*stem, *blocks,\\n\",\n    \"                         nn.AdaptiveAvgPool2d(1), Flatten(),\\n\",\n    \"                         nn.Linear(self.block_szs[-1], n_out))\\n\",\n    \"    \\n\",\n    \"    def _make_layer(self, idx, n_layers):\\n\",\n    \"        stride = 1 if idx==0 else 2\\n\",\n    \"        ch_in,ch_out = self.block_szs[idx:idx+2]\\n\",\n    \"        return nn.Sequential(*[\\n\",\n    \"            ResBlock(ch_in if i==0 else ch_out, ch_out, stride if i==0 else 1)\\n\",\n    \"            for i in range(n_layers)\\n\",\n    \"        ])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rn = ResNet(dls.c, [2,2,2,2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(rn)\\n\",\n    \"learn.fit_one_cycle(5, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bottleneck Layers\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def _conv_block(ni,nf,stride):\\n\",\n    \"    return nn.Sequential(\\n\",\n    \"        ConvLayer(ni, nf//4, 1),\\n\",\n    \"        ConvLayer(nf//4, nf//4, stride=stride), \\n\",\n    \"        ConvLayer(nf//4, nf, 1, act_cls=None, norm_type=NormType.BatchZero))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_320, presize=320, resize=224)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"rn = ResNet(dls.c, [3,4,6,3], 4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(rn)\\n\",\n    \"learn.fit_one_cycle(20, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. How did we get to a single vector of activations in the CNNs used for MNIST in previous chapters? Why isn't that suitable for Imagenette?\\n\",\n    \"1. What do we do for Imagenette instead?\\n\",\n    \"1. What is \\\"adaptive pooling\\\"?\\n\",\n    \"1. What is \\\"average pooling\\\"?\\n\",\n    \"1. Why do we need `Flatten` after an adaptive average pooling layer?\\n\",\n    \"1. What is a \\\"skip connection\\\"?\\n\",\n    \"1. Why do skip connections allow us to train deeper models?\\n\",\n    \"1. What does <<resnet_depth>> show? How did that lead to the idea of skip connections?\\n\",\n    \"1. What is \\\"identity mapping\\\"?\\n\",\n    \"1. What is the basic equation for a ResNet block (ignoring batchnorm and ReLU layers)?\\n\",\n    \"1. What do ResNets have to do with residuals?\\n\",\n    \"1. How do we deal with the skip connection when there is a stride-2 convolution? How about when the number of filters changes?\\n\",\n    \"1. How can we express a 1×1 convolution in terms of a vector dot product?\\n\",\n    \"1. Create a `1x1 convolution` with `F.conv2d` or `nn.Conv2d` and apply it to an image. What happens to the `shape` of the image?\\n\",\n    \"1. What does the `noop` function return?\\n\",\n    \"1. Explain what is shown in <<resnet_surface>>.\\n\",\n    \"1. When is top-5 accuracy a better metric than top-1 accuracy?\\n\",\n    \"1. What is the \\\"stem\\\" of a CNN?\\n\",\n    \"1. Why do we use plain convolutions in the CNN stem, instead of ResNet blocks?\\n\",\n    \"1. How does a bottleneck block differ from a plain ResNet block?\\n\",\n    \"1. Why is a bottleneck block faster?\\n\",\n    \"1. How do fully convolutional nets (and nets with adaptive pooling in general) allow for progressive resizing?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Try creating a fully convolutional net with adaptive average pooling for MNIST (note that you'll need fewer stride-2 layers). How does it compare to a network without such a pooling layer?\\n\",\n    \"1. In <<chapter_foundations>> we introduce *Einstein summation notation*. Skip ahead to see how this works, and then write an implementation of the 1×1 convolution operation using `torch.einsum`. Compare it to the same operation using `torch.conv2d`.\\n\",\n    \"1. Write a \\\"top-5 accuracy\\\" function using plain PyTorch or plain Python.\\n\",\n    \"1. Train a model on Imagenette for more epochs, with and without label smoothing. Take a look at the Imagenette leaderboards and see how close you can get to the best results shown. Read the linked pages describing the leading approaches.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/15_arch_details.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Application Architectures Deep Dive\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Computer Vision\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### vision_learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model_meta[resnet50]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"create_head(20,2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### unet_learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A Siamese Network\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastai.vision.all import *\\n\",\n    \"path = untar_data(URLs.PETS)\\n\",\n    \"files = get_image_files(path/\\\"images\\\")\\n\",\n    \"\\n\",\n    \"class SiameseImage(fastuple):\\n\",\n    \"    def show(self, ctx=None, **kwargs): \\n\",\n    \"        img1,img2,same_breed = self\\n\",\n    \"        if not isinstance(img1, Tensor):\\n\",\n    \"            if img2.size != img1.size: img2 = img2.resize(img1.size)\\n\",\n    \"            t1,t2 = tensor(img1),tensor(img2)\\n\",\n    \"            t1,t2 = t1.permute(2,0,1),t2.permute(2,0,1)\\n\",\n    \"        else: t1,t2 = img1,img2\\n\",\n    \"        line = t1.new_zeros(t1.shape[0], t1.shape[1], 10)\\n\",\n    \"        return show_image(torch.cat([t1,line,t2], dim=2), \\n\",\n    \"                          title=same_breed, ctx=ctx)\\n\",\n    \"    \\n\",\n    \"def label_func(fname):\\n\",\n    \"    return re.match(r'^(.*)_\\\\d+.jpg$', fname.name).groups()[0]\\n\",\n    \"\\n\",\n    \"class SiameseTransform(Transform):\\n\",\n    \"    def __init__(self, files, label_func, splits):\\n\",\n    \"        self.labels = files.map(label_func).unique()\\n\",\n    \"        self.lbl2files = {l: L(f for f in files if label_func(f) == l) for l in self.labels}\\n\",\n    \"        self.label_func = label_func\\n\",\n    \"        self.valid = {f: self._draw(f) for f in files[splits[1]]}\\n\",\n    \"        \\n\",\n    \"    def encodes(self, f):\\n\",\n    \"        f2,t = self.valid.get(f, self._draw(f))\\n\",\n    \"        img1,img2 = PILImage.create(f),PILImage.create(f2)\\n\",\n    \"        return SiameseImage(img1, img2, t)\\n\",\n    \"    \\n\",\n    \"    def _draw(self, f):\\n\",\n    \"        same = random.random() < 0.5\\n\",\n    \"        cls = self.label_func(f)\\n\",\n    \"        if not same: cls = random.choice(L(l for l in self.labels if l != cls)) \\n\",\n    \"        return random.choice(self.lbl2files[cls]),same\\n\",\n    \"    \\n\",\n    \"splits = RandomSplitter()(files)\\n\",\n    \"tfm = SiameseTransform(files, label_func, splits)\\n\",\n    \"tls = TfmdLists(files, tfm, splits=splits)\\n\",\n    \"dls = tls.dataloaders(after_item=[Resize(224), ToTensor], \\n\",\n    \"    after_batch=[IntToFloatTensor, Normalize.from_stats(*imagenet_stats)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SiameseModel(Module):\\n\",\n    \"    def __init__(self, encoder, head):\\n\",\n    \"        self.encoder,self.head = encoder,head\\n\",\n    \"    \\n\",\n    \"    def forward(self, x1, x2):\\n\",\n    \"        ftrs = torch.cat([self.encoder(x1), self.encoder(x2)], dim=1)\\n\",\n    \"        return self.head(ftrs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"encoder = create_body(resnet34, cut=-2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"head = create_head(512*2, 2, ps=0.5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = SiameseModel(encoder, head)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def loss_func(out, targ):\\n\",\n    \"    return nn.CrossEntropyLoss()(out, targ.long())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def siamese_splitter(model):\\n\",\n    \"    return [params(model.encoder), params(model.head)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = Learner(dls, model, loss_func=loss_func, \\n\",\n    \"                splitter=siamese_splitter, metrics=accuracy)\\n\",\n    \"learn.freeze()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(4, 3e-3)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.unfreeze()\\n\",\n    \"learn.fit_one_cycle(4, slice(1e-6,1e-4))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Natural Language Processing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Tabular\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Wrapping Up Architectures\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the \\\"head\\\" of a neural net?\\n\",\n    \"1. What is the \\\"body\\\" of a neural net?\\n\",\n    \"1. What is \\\"cutting\\\" a neural net? Why do we need to do this for transfer learning?\\n\",\n    \"1. What is `model_meta`? Try printing it to see what's inside.\\n\",\n    \"1. Read the source code for `create_head` and make sure you understand what each line does.\\n\",\n    \"1. Look at the output of `create_head` and make sure you understand why each layer is there, and how the `create_head` source created it.\\n\",\n    \"1. Figure out how to change the dropout, layer size, and number of layers created by `vision_learner`, and see if you can find values that result in better accuracy from the pet recognizer.\\n\",\n    \"1. What does `AdaptiveConcatPool2d` do?\\n\",\n    \"1. What is \\\"nearest neighbor interpolation\\\"? How can it be used to upsample convolutional activations?\\n\",\n    \"1. What is a \\\"transposed convolution\\\"? What is another name for it?\\n\",\n    \"1. Create a conv layer with `transpose=True` and apply it to an image. Check the output shape.\\n\",\n    \"1. Draw the U-Net architecture.\\n\",\n    \"1. What is \\\"BPTT for Text Classification\\\" (BPT3C)?\\n\",\n    \"1. How do we handle different length sequences in BPT3C?\\n\",\n    \"1. Try to run each line of `TabularModel.forward` separately, one line per cell, in a notebook, and look at the input and output shapes at each step.\\n\",\n    \"1. How is `self.layers` defined in `TabularModel`?\\n\",\n    \"1. What are the five steps for preventing over-fitting?\\n\",\n    \"1. Why don't we reduce architecture complexity before trying other approaches to preventing overfitting?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write your own custom head and try training the pet recognizer with it. See if you can get a better result than fastai's default.\\n\",\n    \"1. Try switching between `AdaptiveConcatPool2d` and `AdaptiveAvgPool2d` in a CNN head and see what difference it makes.\\n\",\n    \"1. Write your own custom splitter to create a separate parameter group for every ResNet block, and a separate group for the stem. Try training with it, and see if it improves the pet recognizer.\\n\",\n    \"1. Read the online chapter about generative image models, and create your own colorizer, super-resolution model, or style transfer model.\\n\",\n    \"1. Create a custom head using nearest neighbor interpolation and use it to do segmentation on CamVid.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/16_accel_sgd.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# The Training Process\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Establishing a Baseline\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_data(url, presize, resize):\\n\",\n    \"    path = untar_data(url)\\n\",\n    \"    return DataBlock(\\n\",\n    \"        blocks=(ImageBlock, CategoryBlock), get_items=get_image_files, \\n\",\n    \"        splitter=GrandparentSplitter(valid_name='val'),\\n\",\n    \"        get_y=parent_label, item_tfms=Resize(presize),\\n\",\n    \"        batch_tfms=[*aug_transforms(min_scale=0.5, size=resize),\\n\",\n    \"                    Normalize.from_stats(*imagenet_stats)],\\n\",\n    \"    ).dataloaders(path, bs=128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls = get_data(URLs.IMAGENETTE_160, 160, 128)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def get_learner(**kwargs):\\n\",\n    \"    return vision_learner(dls, resnet34, pretrained=False,\\n\",\n    \"                    metrics=accuracy, **kwargs).to_fp16()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner()\\n\",\n    \"learn.fit_one_cycle(3, 0.003)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(opt_func=SGD)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.lr_find()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit_one_cycle(3, 0.03, moms=(0,0,0))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## A Generic Optimizer\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sgd_cb(p, lr, **kwargs): p.data.add_(-lr, p.grad.data)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt_func = partial(Optimizer, cbs=[sgd_cb])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit(3, 0.03)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Momentum\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = np.linspace(-4, 4, 100)\\n\",\n    \"y = 1 - (x/3) ** 2\\n\",\n    \"x1 = x + np.random.randn(100) * 0.1\\n\",\n    \"y1 = y + np.random.randn(100) * 0.1\\n\",\n    \"plt.scatter(x1,y1)\\n\",\n    \"idx = x1.argsort()\\n\",\n    \"beta,avg,res = 0.7,0,[]\\n\",\n    \"for i in idx:\\n\",\n    \"    avg = beta * avg + (1-beta) * y1[i]\\n\",\n    \"    res.append(avg/(1-beta**(i+1)))\\n\",\n    \"plt.plot(x1[idx],np.array(res), color='red');\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = np.linspace(-4, 4, 100)\\n\",\n    \"y = 1 - (x/3) ** 2\\n\",\n    \"x1 = x + np.random.randn(100) * 0.1\\n\",\n    \"y1 = y + np.random.randn(100) * 0.1\\n\",\n    \"_,axs = plt.subplots(2,2, figsize=(12,8))\\n\",\n    \"betas = [0.5,0.7,0.9,0.99]\\n\",\n    \"idx = x1.argsort()\\n\",\n    \"for beta,ax in zip(betas, axs.flatten()):\\n\",\n    \"    ax.scatter(x1,y1)\\n\",\n    \"    avg,res = 0,[]\\n\",\n    \"    for i in idx:\\n\",\n    \"        avg = beta * avg + (1-beta) * y1[i]\\n\",\n    \"        res.append(avg)#/(1-beta**(i+1)))\\n\",\n    \"    ax.plot(x1[idx],np.array(res), color='red');\\n\",\n    \"    ax.set_title(f'beta={beta}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def average_grad(p, mom, grad_avg=None, **kwargs):\\n\",\n    \"    if grad_avg is None: grad_avg = torch.zeros_like(p.grad.data)\\n\",\n    \"    return {'grad_avg': grad_avg*mom + p.grad.data}\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def momentum_step(p, lr, grad_avg, **kwargs): p.data.add_(-lr, grad_avg)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"opt_func = partial(Optimizer, cbs=[average_grad,momentum_step], mom=0.9)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit_one_cycle(3, 0.03)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.recorder.plot_sched()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## RMSProp\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def average_sqr_grad(p, sqr_mom, sqr_avg=None, **kwargs):\\n\",\n    \"    if sqr_avg is None: sqr_avg = torch.zeros_like(p.grad.data)\\n\",\n    \"    return {'sqr_avg': sqr_mom*sqr_avg + (1-sqr_mom)*p.grad.data**2}\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def rms_prop_step(p, lr, sqr_avg, eps, grad_avg=None, **kwargs):\\n\",\n    \"    denom = sqr_avg.sqrt().add_(eps)\\n\",\n    \"    p.data.addcdiv_(-lr, p.grad, denom)\\n\",\n    \"\\n\",\n    \"opt_func = partial(Optimizer, cbs=[average_sqr_grad,rms_prop_step],\\n\",\n    \"                   sqr_mom=0.99, eps=1e-7)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn = get_learner(opt_func=opt_func)\\n\",\n    \"learn.fit_one_cycle(3, 0.003)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Adam\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Decoupled Weight Decay\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Callbacks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating a Callback\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ModelResetter(Callback):\\n\",\n    \"    def before_train(self):    self.model.reset()\\n\",\n    \"    def before_validate(self): self.model.reset()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class RNNRegularizer(Callback):\\n\",\n    \"    def __init__(self, alpha=0., beta=0.): self.alpha,self.beta = alpha,beta\\n\",\n    \"\\n\",\n    \"    def after_pred(self):\\n\",\n    \"        self.raw_out,self.out = self.pred[1],self.pred[2]\\n\",\n    \"        self.learn.pred = self.pred[0]\\n\",\n    \"\\n\",\n    \"    def after_loss(self):\\n\",\n    \"        if not self.training: return\\n\",\n    \"        if self.alpha != 0.:\\n\",\n    \"            self.learn.loss += self.alpha * self.out[-1].float().pow(2).mean()\\n\",\n    \"        if self.beta != 0.:\\n\",\n    \"            h = self.raw_out[-1]\\n\",\n    \"            if len(h)>1:\\n\",\n    \"                self.learn.loss += self.beta * (h[:,1:] - h[:,:-1]\\n\",\n    \"                                               ).float().pow(2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Callback Ordering and Exceptions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class TerminateOnNaNCallback(Callback):\\n\",\n    \"    run_before=Recorder\\n\",\n    \"    def after_batch(self):\\n\",\n    \"        if torch.isinf(self.loss) or torch.isnan(self.loss):\\n\",\n    \"            raise CancelFitException\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is the equation for a step of SGD, in math or code (as you prefer)?\\n\",\n    \"1. What do we pass to `vision_learner` to use a non-default optimizer?\\n\",\n    \"1. What are optimizer callbacks?\\n\",\n    \"1. What does `zero_grad` do in an optimizer?\\n\",\n    \"1. What does `step` do in an optimizer? How is it implemented in the general optimizer?\\n\",\n    \"1. Rewrite `sgd_cb` to use the `+=` operator, instead of `add_`.\\n\",\n    \"1. What is \\\"momentum\\\"? Write out the equation.\\n\",\n    \"1. What's a physical analogy for momentum? How does it apply in our model training settings?\\n\",\n    \"1. What does a bigger value for momentum do to the gradients?\\n\",\n    \"1. What are the default values of momentum for 1cycle training?\\n\",\n    \"1. What is RMSProp? Write out the equation.\\n\",\n    \"1. What do the squared values of the gradients indicate?\\n\",\n    \"1. How does Adam differ from momentum and RMSProp?\\n\",\n    \"1. Write out the equation for Adam.\\n\",\n    \"1. Calculate the values of `unbias_avg` and `w.avg` for a few batches of dummy values.\\n\",\n    \"1. What's the impact of having a high `eps` in Adam?\\n\",\n    \"1. Read through the optimizer notebook in fastai's repo, and execute it.\\n\",\n    \"1. In what situations do dynamic learning rate methods like Adam change the behavior of weight decay?\\n\",\n    \"1. What are the four steps of a training loop?\\n\",\n    \"1. Why is using callbacks better than writing a new training loop for each tweak you want to add?\\n\",\n    \"1. What aspects of the design of fastai's callback system make it as flexible as copying and pasting bits of code?\\n\",\n    \"1. How can you get the list of events available to you when writing a callback?\\n\",\n    \"1. Write the `ModelResetter` callback (without peeking).\\n\",\n    \"1. How can you access the necessary attributes of the training loop inside a callback? When can you use or not use the shortcuts that go with them?\\n\",\n    \"1. How can a callback influence the control flow of the training loop?\\n\",\n    \"1. Write the `TerminateOnNaN` callback (without peeking, if possible).\\n\",\n    \"1. How do you make sure your callback runs after or before another callback?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Look up the \\\"Rectified Adam\\\" paper, implement it using the general optimizer framework, and try it out. Search for other recent optimizers that work well in practice, and pick one to implement.\\n\",\n    \"1. Look at the mixed-precision callback with the documentation. Try to understand what each event and line of code does.\\n\",\n    \"1. Implement your own version of the learning rate finder from scratch. Compare it with fastai's version.\\n\",\n    \"1. Look at the source code of the callbacks that ship with fastai. See if you can find one that's similar to what you're looking to do, to get some inspiration.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Foundations of Deep Learning: Wrap up\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Congratulations, you have made it to the end of the \\\"foundations of deep learning\\\" section of the book! You now understand how all of fastai's applications and most important architectures are built, and the recommended ways to train them—and you have all the information you need to build these from scratch. While you probably won't need to create your own training loop, or batchnorm layer, for instance, knowing what is going on behind the scenes is very helpful for debugging, profiling, and deploying your solutions.\\n\",\n    \"\\n\",\n    \"Since you understand the foundations of fastai's applications now, be sure to spend some time digging through the source notebooks and running and experimenting with parts of them. This will give you a better idea of how everything in fastai is developed.\\n\",\n    \"\\n\",\n    \"In the next section, we will be looking even further under the covers: we'll explore how the actual forward and backward passes of a neural network are done, and we will see what tools are at our disposal to get better performance. We will then continue with a project that brings together all the material in the book, which we will use to build a tool for interpreting convolutional neural networks. Last but not least, we'll finish by building fastai's `Learner` class from scratch.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/17_foundations.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A Neural Net from the Foundations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Building a Neural Net Layer from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Modeling a Neuron\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Matrix Multiplication from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import torch\\n\",\n    \"from torch import tensor\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape # n_rows * n_cols\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"        for j in range(bc):\\n\",\n    \"            for k in range(ac): c[i,j] += a[i,k] * b[k,j]\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m1 = torch.randn(5,28*28)\\n\",\n    \"m2 = torch.randn(784,10)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%time t1=matmul(m1, m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%timeit -n 20 t2=m1@m2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Elementwise Arithmetic\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"a = tensor([10., 6, -4])\\n\",\n    \"b = tensor([2., 8, 7])\\n\",\n    \"a + b\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"a < b\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(a < b).all(), (a==b).all()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"(a + b).mean().item()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"m*m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"n = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"m*n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"        for j in range(bc): c[i,j] = (a[i] * b[:,j]).sum()\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%timeit -n 20 t3 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Broadcasting\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting with a scalar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"a = tensor([10., 6, -4])\\n\",\n    \"a > 0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"(m - 5) / 2.73\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting a vector to a matrix\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"m.shape,c.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m + c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c.expand_as(m)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = c.expand_as(m)\\n\",\n    \"t.storage()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t.stride(), t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c + m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c = tensor([10.,20])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6]])\\n\",\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"m = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\\n\",\n    \"c = c.unsqueeze(1)\\n\",\n    \"m.shape,c.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c+m\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = c.expand_as(m)\\n\",\n    \"t.storage()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t.stride(), t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c = tensor([10.,20,30])\\n\",\n    \"c.shape, c.unsqueeze(0).shape,c.unsqueeze(1).shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c.shape, c[None,:].shape,c[:,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"c[None].shape,c[...,None].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b):\\n\",\n    \"    ar,ac = a.shape\\n\",\n    \"    br,bc = b.shape\\n\",\n    \"    assert ac==br\\n\",\n    \"    c = torch.zeros(ar, bc)\\n\",\n    \"    for i in range(ar):\\n\",\n    \"#       c[i,j] = (a[i,:]          * b[:,j]).sum() # previous\\n\",\n    \"        c[i]   = (a[i  ].unsqueeze(-1) * b).sum(dim=0)\\n\",\n    \"    return c\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%timeit -n 20 t4 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Broadcasting rules\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Einstein Summation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def matmul(a,b): return torch.einsum('ik,kj->ij', a, b)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%timeit -n 20 t5 = matmul(m1,m2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The Forward and Backward Passes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Defining and Initializing a Layer\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def lin(x, w, b): return x @ w + b\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = torch.randn(100,50)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l1.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l1.mean(), l1.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ torch.randn(100,100)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ (torch.randn(100,100) * 0.01)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = x @ (torch.randn(100,100) * 0.1)\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from math import sqrt\\n\",\n    \"w1 = torch.randn(100,50) / sqrt(100)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1) / sqrt(50)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l1.mean(),l1.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def relu(x): return x.clamp_min(0.)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l2 = relu(l1)\\n\",\n    \"l2.mean(),l2.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = relu(x @ (torch.randn(100,100) * 0.1))\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"for i in range(50): x = relu(x @ (torch.randn(100,100) * sqrt(2/100)))\\n\",\n    \"x[0:5,0:5]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.randn(200, 100)\\n\",\n    \"y = torch.randn(200)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w1 = torch.randn(100,50) * sqrt(2 / 100)\\n\",\n    \"b1 = torch.zeros(50)\\n\",\n    \"w2 = torch.randn(50,1) * sqrt(2 / 50)\\n\",\n    \"b2 = torch.zeros(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l1 = lin(x, w1, b1)\\n\",\n    \"l2 = relu(l1)\\n\",\n    \"l2.mean(), l2.std()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def model(x):\\n\",\n    \"    l1 = lin(x, w1, b1)\\n\",\n    \"    l2 = relu(l1)\\n\",\n    \"    l3 = lin(l2, w2, b2)\\n\",\n    \"    return l3\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"out = model(x)\\n\",\n    \"out.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse(output, targ): return (output.squeeze(-1) - targ).pow(2).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = mse(out, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Gradients and the Backward Pass\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def mse_grad(inp, targ): \\n\",\n    \"    # grad of loss with respect to output of previous layer\\n\",\n    \"    inp.g = 2. * (inp.squeeze() - targ).unsqueeze(-1) / inp.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def relu_grad(inp, out):\\n\",\n    \"    # grad of relu with respect to input activations\\n\",\n    \"    inp.g = (inp>0).float() * out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def lin_grad(inp, out, w, b):\\n\",\n    \"    # grad of matmul with respect to input\\n\",\n    \"    inp.g = out.g @ w.t()\\n\",\n    \"    w.g = inp.t() @ out.g\\n\",\n    \"    b.g = out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sidebar: SymPy\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from sympy import symbols,diff\\n\",\n    \"sx,sy = symbols('sx sy')\\n\",\n    \"diff(sx**2, sx)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End sidebar\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def forward_and_backward(inp, targ):\\n\",\n    \"    # forward pass:\\n\",\n    \"    l1 = inp @ w1 + b1\\n\",\n    \"    l2 = relu(l1)\\n\",\n    \"    out = l2 @ w2 + b2\\n\",\n    \"    # we don't actually need the loss in backward!\\n\",\n    \"    loss = mse(out, targ)\\n\",\n    \"    \\n\",\n    \"    # backward pass:\\n\",\n    \"    mse_grad(out, targ)\\n\",\n    \"    lin_grad(l2, out, w2, b2)\\n\",\n    \"    relu_grad(l1, l2)\\n\",\n    \"    lin_grad(inp, l1, w1, b1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Refactoring the Model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Relu():\\n\",\n    \"    def __call__(self, inp):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.out = inp.clamp_min(0.)\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self): self.inp.g = (self.inp>0).float() * self.out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Lin():\\n\",\n    \"    def __init__(self, w, b): self.w,self.b = w,b\\n\",\n    \"        \\n\",\n    \"    def __call__(self, inp):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.out = inp@self.w + self.b\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        self.inp.g = self.out.g @ self.w.t()\\n\",\n    \"        self.w.g = self.inp.t() @ self.out.g\\n\",\n    \"        self.b.g = self.out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Mse():\\n\",\n    \"    def __call__(self, inp, targ):\\n\",\n    \"        self.inp = inp\\n\",\n    \"        self.targ = targ\\n\",\n    \"        self.out = (inp.squeeze() - targ).pow(2).mean()\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        x = (self.inp.squeeze()-self.targ).unsqueeze(-1)\\n\",\n    \"        self.inp.g = 2.*x/self.targ.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model():\\n\",\n    \"    def __init__(self, w1, b1, w2, b2):\\n\",\n    \"        self.layers = [Lin(w1,b1), Relu(), Lin(w2,b2)]\\n\",\n    \"        self.loss = Mse()\\n\",\n    \"        \\n\",\n    \"    def __call__(self, x, targ):\\n\",\n    \"        for l in self.layers: x = l(x)\\n\",\n    \"        return self.loss(x, targ)\\n\",\n    \"    \\n\",\n    \"    def backward(self):\\n\",\n    \"        self.loss.backward()\\n\",\n    \"        for l in reversed(self.layers): l.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model = Model(w1, b1, w2, b2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = model(x, y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"model.backward()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Going to PyTorch\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LayerFunction():\\n\",\n    \"    def __call__(self, *args):\\n\",\n    \"        self.args = args\\n\",\n    \"        self.out = self.forward(*args)\\n\",\n    \"        return self.out\\n\",\n    \"    \\n\",\n    \"    def forward(self):  raise Exception('not implemented')\\n\",\n    \"    def bwd(self):      raise Exception('not implemented')\\n\",\n    \"    def backward(self): self.bwd(self.out, *self.args)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Relu(LayerFunction):\\n\",\n    \"    def forward(self, inp): return inp.clamp_min(0.)\\n\",\n    \"    def bwd(self, out, inp): inp.g = (inp>0).float() * out.g\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Lin(LayerFunction):\\n\",\n    \"    def __init__(self, w, b): self.w,self.b = w,b\\n\",\n    \"        \\n\",\n    \"    def forward(self, inp): return inp@self.w + self.b\\n\",\n    \"    \\n\",\n    \"    def bwd(self, out, inp):\\n\",\n    \"        inp.g = out.g @ self.w.t()\\n\",\n    \"        self.w.g = inp.t() @ self.out.g\\n\",\n    \"        self.b.g = out.g.sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Mse(LayerFunction):\\n\",\n    \"    def forward (self, inp, targ): return (inp.squeeze() - targ).pow(2).mean()\\n\",\n    \"    def bwd(self, out, inp, targ): \\n\",\n    \"        inp.g = 2*(inp.squeeze()-targ).unsqueeze(-1) / targ.shape[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from torch.autograd import Function\\n\",\n    \"\\n\",\n    \"class MyRelu(Function):\\n\",\n    \"    @staticmethod\\n\",\n    \"    def forward(ctx, i):\\n\",\n    \"        result = i.clamp_min(0.)\\n\",\n    \"        ctx.save_for_backward(i)\\n\",\n    \"        return result\\n\",\n    \"    \\n\",\n    \"    @staticmethod\\n\",\n    \"    def backward(ctx, grad_output):\\n\",\n    \"        i, = ctx.saved_tensors\\n\",\n    \"        return grad_output * (i>0).float()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import torch.nn as nn\\n\",\n    \"\\n\",\n    \"class LinearLayer(nn.Module):\\n\",\n    \"    def __init__(self, n_in, n_out):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.weight = nn.Parameter(torch.randn(n_out, n_in) * sqrt(2/n_in))\\n\",\n    \"        self.bias = nn.Parameter(torch.zeros(n_out))\\n\",\n    \"    \\n\",\n    \"    def forward(self, x): return x @ self.weight.t() + self.bias\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lin = LinearLayer(10,2)\\n\",\n    \"p1,p2 = lin.parameters()\\n\",\n    \"p1.shape,p2.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model(nn.Module):\\n\",\n    \"    def __init__(self, n_in, nh, n_out):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\\n\",\n    \"        self.loss = mse\\n\",\n    \"        \\n\",\n    \"    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Model(Module):\\n\",\n    \"    def __init__(self, n_in, nh, n_out):\\n\",\n    \"        self.layers = nn.Sequential(\\n\",\n    \"            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\\n\",\n    \"        self.loss = mse\\n\",\n    \"        \\n\",\n    \"    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write the Python code to implement a single neuron.\\n\",\n    \"1. Write the Python code to implement ReLU.\\n\",\n    \"1. Write the Python code for a dense layer in terms of matrix multiplication.\\n\",\n    \"1. Write the Python code for a dense layer in plain Python (that is, with list comprehensions and functionality built into Python).\\n\",\n    \"1. What is the \\\"hidden size\\\" of a layer?\\n\",\n    \"1. What does the `t` method do in PyTorch?\\n\",\n    \"1. Why is matrix multiplication written in plain Python very slow?\\n\",\n    \"1. In `matmul`, why is `ac==br`?\\n\",\n    \"1. In Jupyter Notebook, how do you measure the time taken for a single cell to execute?\\n\",\n    \"1. What is \\\"elementwise arithmetic\\\"?\\n\",\n    \"1. Write the PyTorch code to test whether every element of `a` is greater than the corresponding element of `b`.\\n\",\n    \"1. What is a rank-0 tensor? How do you convert it to a plain Python data type?\\n\",\n    \"1. What does this return, and why? `tensor([1,2]) + tensor([1])`\\n\",\n    \"1. What does this return, and why? `tensor([1,2]) + tensor([1,2,3])`\\n\",\n    \"1. How does elementwise arithmetic help us speed up `matmul`?\\n\",\n    \"1. What are the broadcasting rules?\\n\",\n    \"1. What is `expand_as`? Show an example of how it can be used to match the results of broadcasting.\\n\",\n    \"1. How does `unsqueeze` help us to solve certain broadcasting problems?\\n\",\n    \"1. How can we use indexing to do the same operation as `unsqueeze`?\\n\",\n    \"1. How do we show the actual contents of the memory used for a tensor?\\n\",\n    \"1. When adding a vector of size 3 to a matrix of size 3×3, are the elements of the vector added to each row or each column of the matrix? (Be sure to check your answer by running this code in a notebook.)\\n\",\n    \"1. Do broadcasting and `expand_as` result in increased memory use? Why or why not?\\n\",\n    \"1. Implement `matmul` using Einstein summation.\\n\",\n    \"1. What does a repeated index letter represent on the left-hand side of einsum?\\n\",\n    \"1. What are the three rules of Einstein summation notation? Why?\\n\",\n    \"1. What are the forward pass and backward pass of a neural network?\\n\",\n    \"1. Why do we need to store some of the activations calculated for intermediate layers in the forward pass?\\n\",\n    \"1. What is the downside of having activations with a standard deviation too far away from 1?\\n\",\n    \"1. How can weight initialization help avoid this problem?\\n\",\n    \"1. What is the formula to initialize weights such that we get a standard deviation of 1 for a plain linear layer, and for a linear layer followed by ReLU?\\n\",\n    \"1. Why do we sometimes have to use the `squeeze` method in loss functions?\\n\",\n    \"1. What does the argument to the `squeeze` method do? Why might it be important to include this argument, even though PyTorch does not require it?\\n\",\n    \"1. What is the \\\"chain rule\\\"? Show the equation in either of the two forms presented in this chapter.\\n\",\n    \"1. Show how to calculate the gradients of `mse(lin(l2, w2, b2), y)` using the chain rule.\\n\",\n    \"1. What is the gradient of ReLU? Show it in math or code. (You shouldn't need to commit this to memory—try to figure it using your knowledge of the shape of the function.)\\n\",\n    \"1. In what order do we need to call the `*_grad` functions in the backward pass? Why?\\n\",\n    \"1. What is `__call__`?\\n\",\n    \"1. What methods must we implement when writing a `torch.autograd.Function`?\\n\",\n    \"1. Write `nn.Linear` from scratch, and test it works.\\n\",\n    \"1. What is the difference between `nn.Module` and fastai's `Module`?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Implement ReLU as a `torch.autograd.Function` and train a model with it.\\n\",\n    \"1. If you are mathematically inclined, find out what the gradients of a linear layer are in mathematical notation. Map that to the implementation we saw in this chapter.\\n\",\n    \"1. Learn about the `unfold` method in PyTorch, and use it along with matrix multiplication to implement your own 2D convolution function. Then train a CNN that uses it.\\n\",\n    \"1. Implement everything in this chapter using NumPy instead of PyTorch. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/18_CAM.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# CNN Interpretation with CAM\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## CAM and Hooks\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.PETS)/'images'\\n\",\n    \"def is_cat(x): return x[0].isupper()\\n\",\n    \"dls = ImageDataLoaders.from_name_func(\\n\",\n    \"    path, get_image_files(path), valid_pct=0.2, seed=21,\\n\",\n    \"    label_func=is_cat, item_tfms=Resize(224))\\n\",\n    \"learn = vision_learner(dls, resnet34, metrics=error_rate)\\n\",\n    \"learn.fine_tune(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"img = PILImage.create(image_cat())\\n\",\n    \"x, = first(dls.test_dl([img]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Hook():\\n\",\n    \"    def hook_func(self, m, i, o): self.stored = o.detach().clone()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"hook_output = Hook()\\n\",\n    \"hook = learn.model[0].register_forward_hook(hook_output.hook_func)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with torch.no_grad(): output = learn.model.eval()(x)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"act = hook_output.stored[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"F.softmax(output, dim=-1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dls.vocab\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cam_map = torch.einsum('ck,kij->cij', learn.model[1][-1].weight, act)\\n\",\n    \"cam_map.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x_dec = TensorImage(dls.train.decode((x,))[0][0])\\n\",\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map[1].detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Hook():\\n\",\n    \"    def __init__(self, m):\\n\",\n    \"        self.hook = m.register_forward_hook(self.hook_func)   \\n\",\n    \"    def hook_func(self, m, i, o): self.stored = o.detach().clone()\\n\",\n    \"    def __enter__(self, *args): return self\\n\",\n    \"    def __exit__(self, *args): self.hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with Hook(learn.model[0]) as hook:\\n\",\n    \"    with torch.no_grad(): output = learn.model.eval()(x.cuda())\\n\",\n    \"    act = hook.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Gradient CAM\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class HookBwd():\\n\",\n    \"    def __init__(self, m):\\n\",\n    \"        self.hook = m.register_backward_hook(self.hook_func)   \\n\",\n    \"    def hook_func(self, m, gi, go): self.stored = go[0].detach().clone()\\n\",\n    \"    def __enter__(self, *args): return self\\n\",\n    \"    def __exit__(self, *args): self.hook.remove()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cls = 1\\n\",\n    \"with HookBwd(learn.model[0]) as hookg:\\n\",\n    \"    with Hook(learn.model[0]) as hook:\\n\",\n    \"        output = learn.model.eval()(x.cuda())\\n\",\n    \"        act = hook.stored\\n\",\n    \"    output[0,cls].backward()\\n\",\n    \"    grad = hookg.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w = grad[0].mean(dim=[1,2], keepdim=True)\\n\",\n    \"cam_map = (w * act[0]).sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"with HookBwd(learn.model[0][-2]) as hookg:\\n\",\n    \"    with Hook(learn.model[0][-2]) as hook:\\n\",\n    \"        output = learn.model.eval()(x.cuda())\\n\",\n    \"        act = hook.stored\\n\",\n    \"    output[0,cls].backward()\\n\",\n    \"    grad = hookg.stored\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"w = grad[0].mean(dim=[1,2], keepdim=True)\\n\",\n    \"cam_map = (w * act[0]).sum(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"_,ax = plt.subplots()\\n\",\n    \"x_dec.show(ctx=ax)\\n\",\n    \"ax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\\n\",\n    \"              interpolation='bilinear', cmap='magma');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is a \\\"hook\\\" in PyTorch?\\n\",\n    \"1. Which layer does CAM use the outputs of?\\n\",\n    \"1. Why does CAM require a hook?\\n\",\n    \"1. Look at the source code of the `ActivationStats` class and see how it uses hooks.\\n\",\n    \"1. Write a hook that stores the activations of a given layer in a model (without peeking, if possible).\\n\",\n    \"1. Why do we call `eval` before getting the activations? Why do we use `no_grad`?\\n\",\n    \"1. Use `torch.einsum` to compute the \\\"dog\\\" or \\\"cat\\\" score of each of the locations in the last activation of the body of the model.\\n\",\n    \"1. How do you check which order the categories are in (i.e., the correspondence of index->category)?\\n\",\n    \"1. Why are we using `decode` when displaying the input image?\\n\",\n    \"1. What is a \\\"context manager\\\"? What special methods need to be defined to create one?\\n\",\n    \"1. Why can't we use plain CAM for the inner layers of a network?\\n\",\n    \"1. Why do we need to register a hook on the backward pass in order to do Grad-CAM?\\n\",\n    \"1. Why can't we call `output.backward()` when `output` is a rank-2 tensor of output activations per image per class?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Try removing `keepdim` and see what happens. Look up this parameter in the PyTorch docs. Why do we need it in this notebook?\\n\",\n    \"1. Create a notebook like this one, but for NLP, and use it to find which words in a movie review are most significant in assessing the sentiment of a particular movie review.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/19_learner.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A fastai Learner from Scratch\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"path = untar_data(URLs.IMAGENETTE_160)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = get_image_files(path)\\n\",\n    \"t[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from glob import glob\\n\",\n    \"files = L(glob(f'{path}/**/*.JPEG', recursive=True)).map(Path)\\n\",\n    \"files[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im = Image.open(files[0])\\n\",\n    \"im\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"im_t = tensor(im)\\n\",\n    \"im_t.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lbls = files.map(Self.parent.name()).unique(); lbls\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"v2i = lbls.val2idx(); v2i\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Dataset\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Dataset:\\n\",\n    \"    def __init__(self, fns): self.fns=fns\\n\",\n    \"    def __len__(self): return len(self.fns)\\n\",\n    \"    def __getitem__(self, i):\\n\",\n    \"        im = Image.open(self.fns[i]).resize((64,64)).convert('RGB')\\n\",\n    \"        y = v2i[self.fns[i].parent.name]\\n\",\n    \"        return tensor(im).float()/255, tensor(y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_filt = L(o.parent.parent.name=='train' for o in files)\\n\",\n    \"train,valid = files[train_filt],files[~train_filt]\\n\",\n    \"len(train),len(valid)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"train_ds,valid_ds = Dataset(train),Dataset(valid)\\n\",\n    \"x,y = train_ds[0]\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"show_image(x, title=lbls[y]);\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def collate(idxs, ds): \\n\",\n    \"    xb,yb = zip(*[ds[i] for i in idxs])\\n\",\n    \"    return torch.stack(xb),torch.stack(yb)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x,y = collate([1,2], train_ds)\\n\",\n    \"x.shape,y\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DataLoader:\\n\",\n    \"    def __init__(self, ds, bs=128, shuffle=False, n_workers=1):\\n\",\n    \"        self.ds,self.bs,self.shuffle,self.n_workers = ds,bs,shuffle,n_workers\\n\",\n    \"\\n\",\n    \"    def __len__(self): return (len(self.ds)-1)//self.bs+1\\n\",\n    \"\\n\",\n    \"    def __iter__(self):\\n\",\n    \"        idxs = L.range(self.ds)\\n\",\n    \"        if self.shuffle: idxs = idxs.shuffle()\\n\",\n    \"        chunks = [idxs[n:n+self.bs] for n in range(0, len(self.ds), self.bs)]\\n\",\n    \"        with ProcessPoolExecutor(self.n_workers) as ex:\\n\",\n    \"            yield from ex.map(collate, chunks, ds=self.ds)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"n_workers = min(16, defaults.cpus)\\n\",\n    \"train_dl = DataLoader(train_ds, bs=128, shuffle=True, n_workers=n_workers)\\n\",\n    \"valid_dl = DataLoader(valid_ds, bs=256, shuffle=False, n_workers=n_workers)\\n\",\n    \"xb,yb = first(train_dl)\\n\",\n    \"xb.shape,yb.shape,len(train_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"stats = [xb.mean((0,1,2)),xb.std((0,1,2))]\\n\",\n    \"stats\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Normalize:\\n\",\n    \"    def __init__(self, stats): self.stats=stats\\n\",\n    \"    def __call__(self, x):\\n\",\n    \"        if x.device != self.stats[0].device:\\n\",\n    \"            self.stats = to_device(self.stats, x.device)\\n\",\n    \"        return (x-self.stats[0])/self.stats[1]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"norm = Normalize(stats)\\n\",\n    \"def tfm_x(x): return norm(x).permute((0,3,1,2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = tfm_x(x)\\n\",\n    \"t.mean((0,2,3)),t.std((0,2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Module and Parameter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Parameter(Tensor):\\n\",\n    \"    def __new__(self, x): return Tensor._make_subclass(Parameter, x, True)\\n\",\n    \"    def __init__(self, *args, **kwargs): self.requires_grad_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"Parameter(tensor(3.))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Module:\\n\",\n    \"    def __init__(self):\\n\",\n    \"        self.hook,self.params,self.children,self._training = None,[],[],False\\n\",\n    \"        \\n\",\n    \"    def register_parameters(self, *ps): self.params += ps\\n\",\n    \"    def register_modules   (self, *ms): self.children += ms\\n\",\n    \"        \\n\",\n    \"    @property\\n\",\n    \"    def training(self): return self._training\\n\",\n    \"    @training.setter\\n\",\n    \"    def training(self,v):\\n\",\n    \"        self._training = v\\n\",\n    \"        for m in self.children: m.training=v\\n\",\n    \"            \\n\",\n    \"    def parameters(self):\\n\",\n    \"        return self.params + sum([m.parameters() for m in self.children], [])\\n\",\n    \"\\n\",\n    \"    def __setattr__(self,k,v):\\n\",\n    \"        super().__setattr__(k,v)\\n\",\n    \"        if isinstance(v,Parameter): self.register_parameters(v)\\n\",\n    \"        if isinstance(v,Module):    self.register_modules(v)\\n\",\n    \"        \\n\",\n    \"    def __call__(self, *args, **kwargs):\\n\",\n    \"        res = self.forward(*args, **kwargs)\\n\",\n    \"        if self.hook is not None: self.hook(res, args)\\n\",\n    \"        return res\\n\",\n    \"    \\n\",\n    \"    def cuda(self):\\n\",\n    \"        for p in self.parameters(): p.data = p.data.cuda()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class ConvLayer(Module):\\n\",\n    \"    def __init__(self, ni, nf, stride=1, bias=True, act=True):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.w = Parameter(torch.zeros(nf,ni,3,3))\\n\",\n    \"        self.b = Parameter(torch.zeros(nf)) if bias else None\\n\",\n    \"        self.act,self.stride = act,stride\\n\",\n    \"        init = nn.init.kaiming_normal_ if act else nn.init.xavier_normal_\\n\",\n    \"        init(self.w)\\n\",\n    \"    \\n\",\n    \"    def forward(self, x):\\n\",\n    \"        x = F.conv2d(x, self.w, self.b, stride=self.stride, padding=1)\\n\",\n    \"        if self.act: x = F.relu(x)\\n\",\n    \"        return x\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l = ConvLayer(3, 4)\\n\",\n    \"len(l.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"xbt = tfm_x(xb)\\n\",\n    \"r = l(xbt)\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Linear(Module):\\n\",\n    \"    def __init__(self, ni, nf):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.w = Parameter(torch.zeros(nf,ni))\\n\",\n    \"        self.b = Parameter(torch.zeros(nf))\\n\",\n    \"        nn.init.xavier_normal_(self.w)\\n\",\n    \"    \\n\",\n    \"    def forward(self, x): return x@self.w.t() + self.b\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"l = Linear(4,2)\\n\",\n    \"r = l(torch.ones(3,4))\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class T(Module):\\n\",\n    \"    def __init__(self):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.c,self.l = ConvLayer(3,4),Linear(4,2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t = T()\\n\",\n    \"len(t.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"t.cuda()\\n\",\n    \"t.l.w.device\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Simple CNN\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Sequential(Module):\\n\",\n    \"    def __init__(self, *layers):\\n\",\n    \"        super().__init__()\\n\",\n    \"        self.layers = layers\\n\",\n    \"        self.register_modules(*layers)\\n\",\n    \"\\n\",\n    \"    def forward(self, x):\\n\",\n    \"        for l in self.layers: x = l(x)\\n\",\n    \"        return x\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class AdaptivePool(Module):\\n\",\n    \"    def forward(self, x): return x.mean((2,3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def simple_cnn():\\n\",\n    \"    return Sequential(\\n\",\n    \"        ConvLayer(3 ,16 ,stride=2), #32\\n\",\n    \"        ConvLayer(16,32 ,stride=2), #16\\n\",\n    \"        ConvLayer(32,64 ,stride=2), # 8\\n\",\n    \"        ConvLayer(64,128,stride=2), # 4\\n\",\n    \"        AdaptivePool(),\\n\",\n    \"        Linear(128, 10)\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"m = simple_cnn()\\n\",\n    \"len(m.parameters())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def print_stats(outp, inp): print (outp.mean().item(),outp.std().item())\\n\",\n    \"for i in range(4): m.layers[i].hook = print_stats\\n\",\n    \"\\n\",\n    \"r = m(xbt)\\n\",\n    \"r.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def nll(input, target): return -input[range(target.shape[0]), target].mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def log_softmax(x): return (x.exp()/(x.exp().sum(-1,keepdim=True))).log()\\n\",\n    \"\\n\",\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"loss = nll(sm, yb)\\n\",\n    \"loss\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def log_softmax(x): return x - x.exp().sum(-1,keepdim=True).log()\\n\",\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"x = torch.rand(5)\\n\",\n    \"a = x.max()\\n\",\n    \"x.exp().sum().log() == a + (x-a).exp().sum().log()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def logsumexp(x):\\n\",\n    \"    m = x.max(-1)[0]\\n\",\n    \"    return m + (x-m[:,None]).exp().sum(-1).log()\\n\",\n    \"\\n\",\n    \"logsumexp(r)[0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def log_softmax(x): return x - x.logsumexp(-1,keepdim=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"sm = log_softmax(r); sm[0][0]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def cross_entropy(preds, yb): return nll(log_softmax(preds), yb).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Learner\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SGD:\\n\",\n    \"    def __init__(self, params, lr, wd=0.): store_attr()\\n\",\n    \"    def step(self):\\n\",\n    \"        for p in self.params:\\n\",\n    \"            p.data -= (p.grad.data + p.data*self.wd) * self.lr\\n\",\n    \"            p.grad.data.zero_()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class DataLoaders:\\n\",\n    \"    def __init__(self, *dls): self.train,self.valid = dls\\n\",\n    \"\\n\",\n    \"dls = DataLoaders(train_dl,valid_dl)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Learner:\\n\",\n    \"    def __init__(self, model, dls, loss_func, lr, cbs, opt_func=SGD):\\n\",\n    \"        store_attr()\\n\",\n    \"        for cb in cbs: cb.learner = self\\n\",\n    \"\\n\",\n    \"    def one_batch(self):\\n\",\n    \"        self('before_batch')\\n\",\n    \"        xb,yb = self.batch\\n\",\n    \"        self.preds = self.model(xb)\\n\",\n    \"        self.loss = self.loss_func(self.preds, yb)\\n\",\n    \"        if self.model.training:\\n\",\n    \"            self.loss.backward()\\n\",\n    \"            self.opt.step()\\n\",\n    \"        self('after_batch')\\n\",\n    \"\\n\",\n    \"    def one_epoch(self, train):\\n\",\n    \"        self.model.training = train\\n\",\n    \"        self('before_epoch')\\n\",\n    \"        dl = self.dls.train if train else self.dls.valid\\n\",\n    \"        for self.num,self.batch in enumerate(progress_bar(dl, leave=False)):\\n\",\n    \"            self.one_batch()\\n\",\n    \"        self('after_epoch')\\n\",\n    \"    \\n\",\n    \"    def fit(self, n_epochs):\\n\",\n    \"        self('before_fit')\\n\",\n    \"        self.opt = self.opt_func(self.model.parameters(), self.lr)\\n\",\n    \"        self.n_epochs = n_epochs\\n\",\n    \"        try:\\n\",\n    \"            for self.epoch in range(n_epochs):\\n\",\n    \"                self.one_epoch(True)\\n\",\n    \"                self.one_epoch(False)\\n\",\n    \"        except CancelFitException: pass\\n\",\n    \"        self('after_fit')\\n\",\n    \"        \\n\",\n    \"    def __call__(self,name):\\n\",\n    \"        for cb in self.cbs: getattr(cb,name,noop)()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Callbacks\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class Callback(GetAttr): _default='learner'\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class SetupLearnerCB(Callback):\\n\",\n    \"    def before_batch(self):\\n\",\n    \"        xb,yb = to_device(self.batch)\\n\",\n    \"        self.learner.batch = tfm_x(xb),yb\\n\",\n    \"\\n\",\n    \"    def before_fit(self): self.model.cuda()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class TrackResults(Callback):\\n\",\n    \"    def before_epoch(self): self.accs,self.losses,self.ns = [],[],[]\\n\",\n    \"        \\n\",\n    \"    def after_epoch(self):\\n\",\n    \"        n = sum(self.ns)\\n\",\n    \"        print(self.epoch, self.model.training,\\n\",\n    \"              sum(self.losses).item()/n, sum(self.accs).item()/n)\\n\",\n    \"        \\n\",\n    \"    def after_batch(self):\\n\",\n    \"        xb,yb = self.batch\\n\",\n    \"        acc = (self.preds.argmax(dim=1)==yb).float().sum()\\n\",\n    \"        self.accs.append(acc)\\n\",\n    \"        n = len(xb)\\n\",\n    \"        self.losses.append(self.loss*n)\\n\",\n    \"        self.ns.append(n)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"cbs = [SetupLearnerCB(),TrackResults()]\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs)\\n\",\n    \"learn.fit(1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Scheduling the Learning Rate\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class LRFinder(Callback):\\n\",\n    \"    def before_fit(self):\\n\",\n    \"        self.losses,self.lrs = [],[]\\n\",\n    \"        self.learner.lr = 1e-6\\n\",\n    \"        \\n\",\n    \"    def before_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        self.opt.lr *= 1.2\\n\",\n    \"\\n\",\n    \"    def after_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        if self.opt.lr>10 or torch.isnan(self.loss): raise CancelFitException\\n\",\n    \"        self.losses.append(self.loss.item())\\n\",\n    \"        self.lrs.append(self.opt.lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"lrfind = LRFinder()\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[lrfind])\\n\",\n    \"learn.fit(2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.plot(lrfind.lrs[:-2],lrfind.losses[:-2])\\n\",\n    \"plt.xscale('log')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class OneCycle(Callback):\\n\",\n    \"    def __init__(self, base_lr): self.base_lr = base_lr\\n\",\n    \"    def before_fit(self): self.lrs = []\\n\",\n    \"\\n\",\n    \"    def before_batch(self):\\n\",\n    \"        if not self.model.training: return\\n\",\n    \"        n = len(self.dls.train)\\n\",\n    \"        bn = self.epoch*n + self.num\\n\",\n    \"        mn = self.n_epochs*n\\n\",\n    \"        pct = bn/mn\\n\",\n    \"        pct_start,div_start = 0.25,10\\n\",\n    \"        if pct<pct_start:\\n\",\n    \"            pct /= pct_start\\n\",\n    \"            lr = (1-pct)*self.base_lr/div_start + pct*self.base_lr\\n\",\n    \"        else:\\n\",\n    \"            pct = (pct-pct_start)/(1-pct_start)\\n\",\n    \"            lr = (1-pct)*self.base_lr\\n\",\n    \"        self.opt.lr = lr\\n\",\n    \"        self.lrs.append(lr)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"onecyc = OneCycle(0.1)\\n\",\n    \"learn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[onecyc])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"learn.fit(8)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.plot(onecyc.lrs);\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Conclusion\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Questionnaire\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"> tip: Experiments: For the questions here that ask you to explain what some function or class is, you should also complete your own code experiments.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. What is `glob`?\\n\",\n    \"1. How do you open an image with the Python imaging library?\\n\",\n    \"1. What does `L.map` do?\\n\",\n    \"1. What does `Self` do?\\n\",\n    \"1. What is `L.val2idx`?\\n\",\n    \"1. What methods do you need to implement to create your own `Dataset`?\\n\",\n    \"1. Why do we call `convert` when we open an image from Imagenette?\\n\",\n    \"1. What does `~` do? How is it useful for splitting training and validation sets?\\n\",\n    \"1. Does `~` work with the `L` or `Tensor` classes? What about NumPy arrays, Python lists, or pandas DataFrames?\\n\",\n    \"1. What is `ProcessPoolExecutor`?\\n\",\n    \"1. How does `L.range(self.ds)` work?\\n\",\n    \"1. What is `__iter__`?\\n\",\n    \"1. What is `first`?\\n\",\n    \"1. What is `permute`? Why is it needed?\\n\",\n    \"1. What is a recursive function? How does it help us define the `parameters` method?\\n\",\n    \"1. Write a recursive function that returns the first 20 items of the Fibonacci sequence.\\n\",\n    \"1. What is `super`?\\n\",\n    \"1. Why do subclasses of `Module` need to override `forward` instead of defining `__call__`?\\n\",\n    \"1. In `ConvLayer`, why does `init` depend on `act`?\\n\",\n    \"1. Why does `Sequential` need to call `register_modules`?\\n\",\n    \"1. Write a hook that prints the shape of every layer's activations.\\n\",\n    \"1. What is \\\"LogSumExp\\\"?\\n\",\n    \"1. Why is `log_softmax` useful?\\n\",\n    \"1. What is `GetAttr`? How is it helpful for callbacks?\\n\",\n    \"1. Reimplement one of the callbacks in this chapter without inheriting from `Callback` or `GetAttr`.\\n\",\n    \"1. What does `Learner.__call__` do?\\n\",\n    \"1. What is `getattr`? (Note the case difference to `GetAttr`!)\\n\",\n    \"1. Why is there a `try` block in `fit`?\\n\",\n    \"1. Why do we check for `model.training` in `one_batch`?\\n\",\n    \"1. What is `store_attr`?\\n\",\n    \"1. What is the purpose of `TrackResults.before_epoch`?\\n\",\n    \"1. What does `model.cuda` do? How does it work?\\n\",\n    \"1. Why do we need to check `model.training` in `LRFinder` and `OneCycle`?\\n\",\n    \"1. Use cosine annealing in `OneCycle`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Further Research\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"1. Write `resnet18` from scratch (refer to <<chapter_resnet>> as needed), and train it with the `Learner` in this chapter.\\n\",\n    \"1. Implement a batchnorm layer from scratch and use it in your `resnet18`.\\n\",\n    \"1. Write a Mixup callback for use in this chapter.\\n\",\n    \"1. Add momentum to SGD.\\n\",\n    \"1. Pick a few features that you're interested in from fastai (or any other library) and implement them in this chapter.\\n\",\n    \"1. Pick a research paper that's not yet implemented in fastai or PyTorch and implement it in this chapter.\\n\",\n    \"  - Port it over to fastai.\\n\",\n    \"  - Submit a pull request to fastai, or create your own extension module and release it. \\n\",\n    \"  - Hint: you may find it helpful to use [`nbdev`](https://nbdev.fast.ai/) to create and deploy your package.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/20_conclusion.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Concluding Thoughts\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 4\n}\n"
  },
  {
    "path": "clean/app_blog.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Creating a Blog\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Blogging with GitHub Pages\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the Repository\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting Up Your Home Page\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating Posts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Synchronizing GitHub and Your Computer\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Jupyter for Blogging\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"jupytext\": {\n   \"split_at_heading\": true\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "clean/app_jupyter.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"#hide\\n\",\n    \"! [ -e /content ] && pip install -Uqq fastbook\\n\",\n    \"import fastbook\\n\",\n    \"fastbook.setup_book()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from fastbook import *\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Appendix: Jupyter Notebook 101\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Introduction\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"1+1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Writing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"3/2\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Modes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Other Important Considerations\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Markdown Formatting\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Italics, Bold, Strikethrough, Inline, Blockquotes and Links\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Headings\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Lists\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Code Capabilities\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Import necessary libraries\\n\",\n    \"from fastai.vision.all import * \\n\",\n    \"import matplotlib.pyplot as plt\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from PIL import Image\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"a = 1\\n\",\n    \"b = a + 1\\n\",\n    \"c = b + a + 1\\n\",\n    \"d = c + b + a + 1\\n\",\n    \"a, b, c ,d\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plt.plot([a,b,c,d])\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"Image.open(image_cat())\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Running the App Locally\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating a Notebook\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Shortcuts and Tricks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Command Mode Shortcuts\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Cell Tricks\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Line Magics\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%timeit [i+1 for i in range(1000)]\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "environment.yml",
    "content": "name: fastbook\nchannels:\n    - fastai\n    - pytorch\n    - defaults\ndependencies:\n  - python>=3.6\n  - pytorch>=1.6\n  - torchvision\n  - pip\n  - pip:\n    - -r requirements.txt\n"
  },
  {
    "path": "requirements.txt",
    "content": "fastai>=2.0.0\ngraphviz\nipywidgets\nmatplotlib\nnbdev>=0.2.12\npandas\nscikit_learn\nazure-cognitiveservices-search-imagesearch\nsentencepiece\n"
  },
  {
    "path": "settings.ini",
    "content": "[DEFAULT]\nlib_name = fastbook\nuser = fastai\ndescription = fastbook\nkeywords = jupyter notebook asciidoc\nauthor = Jeremy Howard and Sylvain Gugger\nauthor_email = info@fast.ai\ncopyright = fast.ai\nbranch = master\nversion = 0.0.1\nmin_python = 3.6\naudience = Developers\nlanguage = English\ncustom_sidebar = False\nlicense = custom\nstatus = 2\nnbs_path = .\ndoc_path = docs\ngit_url = https://github.com/fastai/fastbook/tree/master/\nlib_path = fastbook\ntitle = fastbook\ndoc_host = https://fastai.github.io\ndoc_baseurl = /fastbook/\nhost = github\n\n"
  },
  {
    "path": "tools/clean.py",
    "content": "#!/usr/bin/env python\n\nimport nbformat\nfrom nbdev.export import *\nfrom nbdev.clean import *\nfrom fastcore.all import *\n\n_re_header = re.compile(r'^#+\\s+\\S+')\n_re_clean  = re.compile(r'^\\s*#\\s*clean\\s*')\n\ndef is_header_cell(cell): return _re_header.search(cell['source']) is not None\ndef is_clean_cell(cell): return _re_clean.search(cell['source']) is not None\n\n_re_questionnaire = re.compile(r'^#+\\s+Questionnaire')\n\ndef get_stop_idx(cells):\n    i = 0\n    while i < len(cells) and _re_questionnaire.search(cells[i]['source']) is None: i+=1\n    return i\n\ndef clean_tags(cell):\n    if is_header_cell(cell): return cell\n    for attr in [\"id\", \"caption\", \"alt\", \"width\", \"hide_input\", \"hide_output\", \"clean\"]:\n        cell[\"source\"] = re.sub(r'#\\s*' + attr + r'.*?($|\\n)', '', cell[\"source\"])\n    return cell\n\ndef proc_nb(fname, dest):\n    nb = read_nb(fname)\n    i = get_stop_idx(nb['cells'])\n    nb['cells'] = [clean_tags(c) for j,c in enumerate(nb['cells']) if\n                   c['cell_type']=='code' or is_header_cell(c) or is_clean_cell(c) or j >= i]\n    clean_nb(nb, clear_all=True)\n    with open(dest/fname.name, 'w') as f: nbformat.write(nb, f, version=4)\n\ndef proc_all(path='.', dest_path='clean'):\n    path,dest_path = Path(path),Path(dest_path)\n    fns = [f for f in path.iterdir() if f.suffix == '.ipynb' and not f.name.startswith('_')]\n    for fn in fns: proc_nb(fn, dest=dest_path)\n\nif __name__=='__main__': proc_all()\n\n"
  },
  {
    "path": "translations/cn/01_intro.md",
    "content": "# 第一章：你的深度学习之旅\n\n\n\n你好，感谢你让我们加入你的深度学习之旅，无论你已经走了多远！在本章中，我们将告诉你更多关于本书的内容，介绍深度学习背后的关键概念，并在不同任务上训练我们的第一个模型。无论你是否有技术或数学背景（尽管如果你有也没关系！），我们写这本书是为了让尽可能多的人能够接触到深度学习。\n\n# 深度学习适合每个人\n\n很多人认为你需要各种难以找到的东西才能在深度学习中取得出色的结果，但正如你在本书中所看到的，这些人是错误的。表 1-1 列出了一些你*绝对不需要*进行世界级深度学习的东西。\n\n表 1-1。深度学习不需要的东西\n\n| 迷思（不需要） | 真相 |\n| --- | --- |\n| 大量的数学 | 高中数学就足够了。 |\n| 大量的数据 | 我们已经看到少于 50 个数据项取得了创纪录的结果。 |\n| 大量昂贵的计算机 | 你可以免费获得进行最先进工作所需的设备。 |\n\n*深度学习*是一种计算机技术，通过使用多层神经网络从人类语音识别到动物图像分类等用例来提取和转换数据。每个层从前一层获取输入，并逐渐完善它们。这些层通过最小化错误并提高准确性的算法进行训练。这样，网络学会执行指定的任务。我们将在下一节详细讨论训练算法。\n\n深度学习具有强大、灵活和简单的特点。这就是为什么我们认为它应该应用于许多学科。这些学科包括社会科学、自然科学、艺术、医学、金融、科学研究等等。举个个人例子，尽管没有医学背景，Jeremy 创办了 Enlitic 公司，该公司使用深度学习算法来诊断疾病。在公司成立几个月后，宣布其算法能够比放射科医生更准确地识别恶性肿瘤。\n\n以下是一些不同领域中数千个任务的列表，其中深度学习或大量使用深度学习的方法现在是世界上最好的：\n\n自然语言处理（NLP）\n\n回答问题；语音识别；总结文件；分类文件；在文件中查找名称、日期等；搜索提及某一概念的文章\n\n计算机视觉\n\n卫星和无人机图像解释（例如用于灾害韧性），人脸识别，图像字幕，读取交通标志，定位自动驾驶车辆中的行人和车辆\n\n医学\n\n在放射学图像中找到异常，包括 CT、MRI 和 X 射线图像；在病理学幻灯片中计数特征；在超声波中测量特征；诊断糖尿病视网膜病变\n\n生物学\n\n折叠蛋白;分类蛋白质;许多基因组学任务，如肿瘤-正常测序和分类临床可操作的遗传突变;细胞分类;分析蛋白质/蛋白质相互作用\n\n图像生成\n\n给图像上色，增加图像分辨率，去除图像中的噪音，将图像转换为著名艺术家风格的艺术品\n\n推荐系统\n\n网络搜索，产品推荐，主页布局\n\n玩游戏\n\n国际象棋，围棋，大多数 Atari 视频游戏以及许多实时策略游戏\n\n机器人技术\n\n处理难以定位的物体（例如透明、闪亮、缺乏纹理）或难以拾取的物体\n\n其他应用\n\n金融和物流预测，文本转语音等等…\n\n令人惊讶的是，深度学习有如此多样的应用，然而几乎所有的深度学习都基于一种创新的模型类型：神经网络。\n\n但事实上，神经网络并不是完全新的。为了对该领域有更广泛的视角，值得从一点历史开始。\n\n# 神经网络：简史\n\n1943 年，神经生理学家沃伦·麦卡洛克和逻辑学家沃尔特·皮茨联手开发了人工神经元的数学模型。在他们的论文《神经活动中内在思想的逻辑演算》中，他们宣称：\n\n> 由于神经活动的“全有或全无”特性，神经事件及其之间的关系可以通过命题逻辑来处理。发现每个网络的行为都可以用这些术语来描述。\n\n麦卡洛克和皮茨意识到，可以使用简单的加法和阈值处理来表示真实神经元的简化模型，如图 1-1 所示。皮茨是自学成才的，12 岁时就收到了与伟大的伯特兰·罗素一起在剑桥大学学习的邀请。他没有接受这个邀请，事实上，他一生中没有接受任何高级学位或权威职位的邀请。他大部分著名的工作都是在无家可归时完成的。尽管他没有正式认可的职位，社交孤立日益加剧，但他与麦卡洛克的合作对心理学家弗兰克·罗森布拉特产生了影响。\n\n![自然和人工神经元](img/dlcf_0101.png)\n\n###### 图 1-1\\. 自然和人工神经元\n\n罗森布拉特进一步发展了人工神经元，使其具有学习能力。更重要的是，他致力于构建第一个使用这些原则的设备，即 Mark I 感知器。在《智能自动机的设计》中，罗森布拉特写道：“我们现在将见证这样一台机器的诞生——一台能够在没有任何人类训练或控制的情况下感知、识别和辨认其周围环境的机器。”感知器被建造出来，并成功地识别了简单的形状。\n\n麻省理工学院的教授马文·明斯基（与罗森布拉特在同一所高中，但比他晚一年）与西摩·帕帕特合著了一本名为《感知器》（麻省理工学院出版社）的书，讲述了罗森布拉特的发明。他们表明，这些设备的单层无法学习一些简单但关键的数学函数（如异或）。在同一本书中，他们还表明，使用多层设备可以解决这些限制。不幸的是，这些洞见中只有第一个被广泛认可。因此，全球学术界在接下来的两十年几乎完全放弃了神经网络。\n\n在过去 50 年中，神经网络领域最具影响力的工作可能是由大卫·鲁梅尔哈特、詹姆斯·麦克莱兰和 PDP 研究小组于 1986 年由麻省理工学院出版社出版的多卷本《并行分布式处理》（PDP）。第一章提出了与罗森布拉特所展示的类似希望：\n\n> 人类比今天的计算机更聪明，因为大脑采用了一种更适合处理人类擅长的自然信息处理任务的基本计算架构。我们将介绍一个用于建模认知过程的计算框架，它似乎比其他框架更接近大脑可能进行的计算风格。\n\nPDP 所使用的前提是，传统计算机程序与大脑的工作方式非常不同，这可能是为什么计算机程序在那时如此糟糕地执行大脑发现容易的任务（如识别图片中的物体）。作者声称 PDP 方法“比其他框架更接近”大脑的工作方式，因此可能更能够处理这些任务。\n\n事实上，PDP 中提出的方法与今天的神经网络所使用的方法非常相似。该书将并行分布式处理定义为需要以下内容：\n\n+   一组*处理单元*\n\n+   *激活状态*\n\n+   每个单元的*输出函数*\n\n+   单位之间的*连接模式*\n\n+   通过网络连接传播活动模式的*传播规则*\n\n+   将输入与单位的当前状态相结合以产生单位输出的*激活规则*\n\n+   通过经验修改连接模式的*学习规则*\n\n+   系统必须运行的*环境*\n\n我们将在本书中看到现代神经网络如何处理这些要求。\n\n在 20 世纪 80 年代，大多数模型都建立了第二层神经元，从而避免了由明斯基和帕佩特（这是他们“单元之间的连接模式”，使用前面的框架）所确定的问题。事实上，神经网络在 80 年代和 90 年代被广泛用于真实的实际项目。然而，对理论问题的误解再次阻碍了该领域的发展。理论上，只需添加一个额外的神经元层就足以使这些神经网络能够近似任何数学函数，但实际上这样的网络通常太大且太慢，无法发挥作用。\n\n尽管研究人员 30 年前就表明，要获得实际的良好性能，你需要使用更多层的神经元，但直到最近十年，这个原则才被更广泛地认可和应用。现在，由于计算机硬件的改进、数据可用性的增加以及允许神经网络更快更容易地训练的算法调整，神经网络终于实现了其潜力。我们现在拥有了 Rosenblatt 所承诺的：“一台能够感知、识别和辨认周围环境的机器，无需任何人类训练或控制。”\n\n这就是你将在本书中学会如何构建的内容。但首先，因为我们将花很多时间在一起，让我们彼此稍微了解一下...\n\n# 我们是谁\n\n我们是 Sylvain 和 Jeremy，是你们在这个旅程中的向导。我们希望你们认为我们非常适合这个职位。\n\nJeremy 已经使用和教授机器学习约 30 年。他在 25 年前开始使用神经网络。在此期间，他领导了许多以机器学习为核心的公司和项目，包括成立专注于深度学习和医学的第一家公司 Enlitic，并担任全球最大的机器学习社区 Kaggle 的总裁兼首席科学家。他与 Rachel Thomas 博士共同创立了 fast.ai，这个组织建立了本书基于的课程。\n\n不时地，你会直接从我们这里听到一些侧边栏的信息，比如 Jeremy 在这里说的：\n\n# Jeremy 说\n\n大家好，我是 Jeremy！你可能会感兴趣知道，我没有接受过任何正式的技术教育。我获得了哲学专业的学士学位，成绩并不好。我对做实际项目比对理论研究更感兴趣，所以在大学期间我全职在一家名为麦肯锡公司的管理咨询公司工作。如果你更愿意亲自动手建造东西而不是花费数年学习抽象概念，你会理解我的想法！请留意我的侧边栏，以找到最适合没有数学或正式技术背景的人的信息，也就是像我这样的人...\n\n另一方面，Sylvain 对正式的技术教育了解很多。他已经写了 10 本数学教科书，涵盖了整个法国高级数学课程！\n\n# Sylvain 说\n\n与杰里米不同，我没有花很多年编写和应用机器学习算法。相反，我最近通过观看杰里米的 fast.ai 课程视频进入了机器学习世界。因此，如果你是一个从未打开终端并在命令行中编写命令的人，你会理解我在说什么！请留意我的旁注，以找到最适合具有更多数学或正式技术背景，但缺乏实际编码经验的人的信息，也就是像我这样的人...\n\nfast.ai 课程已经被来自世界各地各行各业的数十万学生研究过。Sylvain 被认为是 Jeremy 见过的该课程中最令人印象深刻的学生，这导致他加入了 fast.ai，然后与 Jeremy 一起成为 fastai 软件库的合著者。\n\n所有这些意味着，在我们之间，你拥有最好的两个世界：那些比任何人都更了解软件的人，因为他们编写了它；数学专家，编码和机器学习专家；以及那些了解在数学中作为相对外行者和在编码和机器学习中作为相对外行者的感受的人。\n\n任何看过体育比赛的人都知道，如果有一个两人评论团队，你还需要第三个人来做“特别评论”。我们的特别评论员是亚历克西斯·加拉格尔（Alexis Gallagher）。亚历克西斯有着非常多样化的背景：他曾是数学生物学研究员，编剧，即兴表演者，麦肯锡顾问（就像 Jeremy 一样！），Swift 编码者和首席技术官。\n\n# 亚历克西斯说\n\n我决定是时候学习这个人工智能的东西了！毕竟，我几乎尝试了所有其他的东西...但我并没有建立机器学习模型的背景。不过...这有多难呢？我将在这本书中一直学习，就像你一样。请留意我的旁注，找到我在学习过程中发现有用的学习提示，希望你也会觉得有用。\n\n# 如何学习深度学习\n\n哈佛教授大卫·帕金斯（David Perkins）在《全面学习》（Jossey-Bass）一书中有很多关于教学的观点。基本思想是教授“整个游戏”。这意味着，如果你在教棒球，你首先带人们去看一场棒球比赛或让他们玩棒球。你不会教他们如何缠绕麻线从头开始制作棒球，也不会教他们抛物线的物理学，或者球在球拍上的摩擦系数。\n\n哥伦比亚数学博士、前布朗大学教授和 K-12 数学教师保罗·洛克哈特（Paul Lockhart）在具有影响力的文章《数学家的悲歌》中设想了一个噩梦般的世界，在那里音乐和艺术的教学方式与数学的教学方式相同。孩子们在掌握音乐符号和理论十多年后才被允许听音乐或演奏音乐，花时间将乐谱转换到不同的音调。在艺术课上，学生学习颜色和应用工具，但直到大学才被允许真正绘画。听起来荒谬吗？这就是数学的教学方式——我们要求学生花费多年时间进行死记硬背和学习干燥、脱离实际的“基础知识”，我们声称这些知识在大多数学生放弃这门学科后才会有回报。\n\n不幸的是，这正是许多关于深度学习的教学资源开始的地方——要求学习者跟随 Hessian 的定义和泰勒近似定理的步伐，而从未给出实际工作代码的示例。我们并不是在抨击微积分。我们喜欢微积分，Sylvain 甚至在大学教过微积分，但我们认为学习深度学习时不是最好的起点！\n\n在深度学习中，如果你有动力修复模型使其表现更好，那真的会有帮助。那时你开始学习相关的理论。但你首先需要有模型。我们几乎所有的教学都是通过真实例子展示的。随着我们构建这些例子，我们会越来越深入，向您展示如何使您的项目变得更好。这意味着您将逐渐学习所有您需要的理论基础，以上下文方式，这样您就会明白为什么重要以及如何运作。\n\n因此，这是我们对您的承诺。在整本书中，我们遵循以下原则：\n\n教授整个游戏\n\n我们将从向您展示如何使用完整、可用、最先进的深度学习网络来解决现实世界问题，使用简单、表达力强的工具开始。然后我们将逐渐深入了解这些工具是如何制作的，以及制作这些工具的工具是如何制作的，依此类推…\n\n始终通过示例教学\n\n我们将确保您能直观理解背景和目的，而不是从代数符号操作开始。\n\n尽可能简化\n\n我们花了多年时间建立工具和教学方法，使以前复杂的主题变得简单。\n\n消除障碍\n\n深度学习直到现在一直是一个独家游戏。我们正在打破这个局面，确保每个人都能参与。\n\n深度学习中最困难的部分是手工制作的：你如何知道你是否有足够的数据，数据是否以正确的格式存在，你的模型是否正确训练，如果不正确，你应该怎么做？这就是为什么我们相信通过实践学习。与基本的数据科学技能一样，通过实践经验才能变得更好。花太多时间在理论上可能会适得其反。关键是只需编写代码并尝试解决问题：理论可以稍后再来，当你有了上下文和动力时。\n\n在旅程中会有困难的时候。有时你会感到困惑。不要放弃！回顾一下书中你肯定没有困惑的部分，然后从那里开始慢慢阅读，找到第一个不清楚的地方。然后尝试一些代码实验，自己搜索更多关于你遇到问题的教程——通常你会找到一个不同的角度来理解材料，可能会帮助你理解。此外，第一次阅读时不理解一切（尤其是代码）是正常的。有时在继续之前按顺序理解材料有时会很困难。有时在你从后面的部分获得更多上下文后，事情就会豁然开朗，从整体上看到更多。所以如果你在某个部分卡住了，尝试继续前进，做个笔记以后再回来。\n\n请记住，要在深度学习中取得成功，您不需要任何特定的学术背景。许多重要的突破是由没有博士学位的人在研究和工业领域取得的，比如 Alec Radford 在大学本科时写的一篇论文《使用深度卷积生成对抗网络进行无监督表示学习》，这是过去十年中最有影响力的论文之一，被引用超过 5000 次。甚至在特斯拉，他们正在努力解决制造自动驾驶汽车这个极具挑战性的问题，首席执行官埃隆·马斯克表示：\n\n> 绝对不需要博士学位。重要的是对人工智能有深刻理解和能够实际应用神经网络（后者才是真正困难的）。甚至不在乎你是否高中毕业。\n\n然而，要成功，您需要将本书中学到的知识应用到个人项目中，并始终坚持不懈。\n\n## 你的项目和心态\n\n无论您是因为兴奋地想要从植物叶片的图片中识别植物是否患病，自动生成编织图案，从 X 射线诊断结核病，还是确定浣熊何时使用您的猫门，我们将尽快让您使用深度学习解决自己的问题（通过他人预训练的模型），然后将逐步深入更多细节。在下一章的前 30 分钟内，您将学会如何使用深度学习以最先进的准确性解决自己的问题！（如果您迫不及待地想要立即开始编码，请随时跳转到那里。）有一个错误的观念认为，要进行深度学习，您需要像谷歌那样拥有计算资源和数据集的规模，但这是不正确的。\n\n那么，什么样的任务适合作为良好的测试案例？您可以训练模型区分毕加索和莫奈的画作，或者挑选您女儿的照片而不是您儿子的照片。专注于您的爱好和激情有助于您设定四到五个小项目，而不是努力解决一个大问题，这在刚开始时效果更好。由于很容易陷入困境，过早野心勃勃往往会适得其反。然后，一旦掌握了基础知识，就努力完成一些让您真正自豪的事情！\n\n# 杰里米说\n\n深度学习几乎可以应用于任何问题。例如，我的第一家创业公司叫做 FastMail，它于 1999 年推出时提供了增强的电子邮件服务（至今仍在提供）。2002 年，我将其设置为使用一种原始形式的深度学习，即单层神经网络，以帮助分类电子邮件并阻止客户收到垃圾邮件。\n\n在深度学习中表现良好的人的共同特征包括好玩和好奇。已故物理学家理查德·费曼就是我们期望在深度学习方面表现出色的人的一个例子：他对亚原子粒子运动的理解来自于他对盘子在空中旋转时摇晃的好奇。\n\n现在让我们专注于您将学到的内容，从软件开始。\n\n# 软件：PyTorch、fastai 和 Jupyter（以及为什么这不重要）\n\n我们已经完成了数百个机器学习项目，使用了数十种软件包和多种编程语言。在 fast.ai，我们编写了大多数当今主要的深度学习和机器学习软件包的课程。在 2017 年 PyTorch 发布后，我们花费了一千多个小时进行测试，然后决定将其用于未来的课程、软件开发和研究。自那时以来，PyTorch 已成为全球增长最快的深度学习库，并且已经被用于顶级会议上的大多数研究论文。这通常是行业使用的领先指标，因为这些论文最终会被商业产品和服务使用。我们发现 PyTorch 是最灵活和表达力强的深度学习库。它不会以速度为代价而简化，而是提供了两者。\n\nPyTorch 最适合作为低级基础库，提供高级功能的基本操作。fastai 库是在 PyTorch 之上添加高级功能的最流行的库。它也特别适合本书的目的，因为它在提供深度分层软件架构方面是独一无二的（甚至有一篇[同行评审的学术论文](https://oreil.ly/Uo3GR)介绍了这种分层 API）。在本书中，随着我们深入研究深度学习的基础，我们也将深入研究 fastai 的各个层次。本书涵盖了 fastai 库的第 2 版，这是一个从头开始重写的版本，提供了许多独特的功能。\n\n然而，学习哪种软件并不重要，因为只需要几天就可以学会从一个库切换到另一个库。真正重要的是正确学习深度学习的基础和技术。我们的重点将是使用尽可能清晰地表达你需要学习的概念的代码。在教授高级概念时，我们将使用高级 fastai 代码。在教授低级概念时，我们将使用低级 PyTorch 或甚至纯 Python 代码。\n\n尽管现在似乎新的深度学习库以快速的速度出现，但你需要为未来几个月和几年内更快的变化做好准备。随着更多人进入这个领域，他们将带来更多的技能和想法，并尝试更多的事情。你应该假设你今天学到的特定库和软件将在一两年内过时。想想在网络编程领域中一直发生的库和技术栈的变化数量——这是一个比深度学习更成熟和增长缓慢的领域。我们坚信学习的重点应该放在理解基础技术以及如何将其应用于实践中，以及如何在新工具和技术发布时快速建立专业知识。\n\n到书的结尾，你将几乎理解 fastai 中的所有代码（以及大部分 PyTorch 代码），因为在每一章中，我们都会深入挖掘，向你展示我们构建和训练模型时究竟发生了什么。这意味着你将学到现代深度学习中使用的最重要的最佳实践，不仅是如何使用它们，还有它们是如何真正工作和实现的。如果你想在另一个框架中使用这些方法，你将有必要的知识来做到这一点。\n\n由于学习深度学习最重要的是编写代码和实验，所以重要的是你有一个很好的代码实验平台。最流行的编程实验平台称为 [Jupyter](https://jupyter.org)。这是我们将在整本书中使用的工具。我们将向你展示如何使用 Jupyter 训练和实验模型，并审查数据预处理和模型开发流程的每个阶段。Jupyter 是在 Python 中进行数据科学最流行的工具，理由充分。它功能强大、灵活且易于使用。我们相信你会喜欢它！\n\n让我们实践一下，训练我们的第一个模型。\n\n# 你的第一个模型\n\n正如我们之前所说，我们将教你如何做事情，然后再解释为什么它们有效。遵循这种自上而下的方法，我们将首先实际训练一个图像分类器，几乎可以 100%准确地识别狗和猫。为了训练这个模型并运行我们的实验，你需要进行一些初始设置。不要担心，这并不像看起来那么难。\n\n# Sylvain 说\n\n即使初始设置看起来令人生畏，也不要跳过设置部分，特别是如果你很少或没有使用终端或命令行的经验。大部分并不是必要的，你会发现最简单的服务器只需使用你平常的网络浏览器就可以设置好。在学习过程中，与本书并行运行你自己的实验是至关重要的。\n\n## 获取 GPU 深度学习服务器\n\n在本书中几乎所有的事情都需要使用一台带有 NVIDIA GPU 的计算机（不幸的是，其他品牌的 GPU 并没有得到主要深度学习库的全面支持）。然而，我们不建议你购买一台；事实上，即使你已经有一台，我们也不建议你立即使用！设置一台计算机需要时间和精力，而你现在想要把所有精力集中在深度学习上。因此，我们建议你租用一台已经预装并准备就绪的计算机。使用时的成本可能只需每小时 0.25 美元，甚至有些选项是免费的。\n\n# 术语：图形处理单元（GPU）\n\n也称为*图形卡*。计算机中一种特殊类型的处理器，可以同时处理成千上万个单个任务，专门设计用于在计算机上显示 3D 环境以进行游戏。这些相同的基本任务与神经网络所做的非常相似，因此 GPU 可以比常规 CPU 快数百倍运行神经网络。所有现代计算机都包含 GPU，但很少包含进行深度学习所需的正确类型的 GPU。\n\n随着公司的兴衰和价格的变化，与本书一起使用的 GPU 服务器的最佳选择将随时间而变化。我们在[书的网站](https://book.fast.ai)上维护了我们推荐选项的列表，所以现在去那里，按照说明连接到 GPU 深度学习服务器。不用担心；在大多数平台上，设置只需要大约两分钟，许多甚至不需要任何付款或信用卡即可开始。\n\n# Alexis 说\n\n我的建议：听取这些建议！如果您喜欢计算机，您可能会想要设置自己的计算机。小心！这是可行的，但令人惊讶地复杂和分散注意力。这本书没有标题为*关于 Ubuntu 系统管理、NVIDIA 驱动程序安装、apt-get、conda、pip 和 Jupyter 笔记本配置的所有内容*。那将是一本独立的书。在工作中设计和部署我们的生产机器学习基础设施后，我可以证明它有其满足感，但与建模无关，就像维护飞机与驾驶飞机无关。\n\n网站上显示的每个选项都包括一个教程；完成教程后，您将看到一个屏幕，看起来像图 1-2。\n\n![Jupyter 笔记本的初始视图](img/dlcf_0102.png)\n\n###### 图 1-2\\. Jupyter 笔记本的初始视图\n\n您现在已经准备好运行您的第一个 Jupyter 笔记本！\n\n# 行话：Jupyter 笔记本\n\n一种软件，允许您在单个交互式文档中包含格式化文本、代码、图像、视频等。Jupyter 因其在许多学术领域和工业中的广泛使用和巨大影响而获得了软件的最高荣誉，ACM 软件系统奖。Jupyter 笔记本是数据科学家用于开发和与深度学习模型交互的最广泛使用的软件。\n\n## 运行您的第一个笔记本\n\n笔记本按章节编号，与本书中呈现的顺序相同。因此，您将看到列出的第一个笔记本是您现在需要使用的笔记本。您将使用此笔记本来训练一个可以识别狗和猫照片的模型。为此，您将下载一组狗和猫照片的数据集，并使用该数据集*训练模型*。\n\n*数据集*只是一堆数据——可以是图像、电子邮件、财务指标、声音或其他任何东西。有许多免费提供的数据集适合用于训练模型。许多这些数据集是由学者创建的，以帮助推动研究，许多是为竞赛提供的（有一些竞赛，数据科学家可以竞争，看看谁有最准确的模型！），有些是其他过程的副产品（如财务申报）。\n\n# 完整和剥离的笔记本\n\n有两个包含不同版本笔记本的文件夹。*full*文件夹包含用于创建您现在阅读的书的确切笔记本，包括所有散文和输出。*stripped*版本具有相同的标题和代码单元格，但所有输出和散文都已删除。阅读书的一部分后，我们建议关闭书，通过 stripped 笔记本进行练习，并尝试在执行之前弄清楚每个单元格将显示什么。还要尝试回想代码正在演示什么。\n\n要打开一个笔记本，只需单击它。笔记本将打开，看起来类似于图 1-3（请注意，不同平台之间可能存在细节上的轻微差异；您可以忽略这些差异）。\n\n![笔记本的示例](img/dlcf_0103.png)\n\n###### 图 1-3\\. 一个 Jupyter 笔记本\n\n一个笔记本由*单元格*组成。有两种主要类型的单元格：\n\n+   包含格式化文本、图像等内容的单元格。这些使用一种称为*Markdown*的格式，您很快就会了解。\n\n+   包含可执行代码的单元格，输出将立即显示在其下方（可以是纯文本、表格、图像、动画、声音，甚至交互式应用程序）。\n\nJupyter 笔记本可以处于两种模式之一：编辑模式或命令模式。在编辑模式下，键盘上的输入以通常的方式输入到单元格中。但是，在命令模式下，您将看不到任何闪烁的光标，键盘上的每个键都将具有特殊功能。\n\n在继续之前，请按下键盘上的 Escape 键切换到命令模式（如果您已经在命令模式下，则此操作无效，因此现在请按下它）。要查看所有可用功能的完整列表，请按 H；按 Escape 键以删除此帮助屏幕。请注意，在命令模式下，与大多数程序不同，命令不需要按住 Control、Alt 或类似键，您只需按下所需的字母键。\n\n您可以通过按下 C 键（需要首先选择单元格，显示为周围有轮廓；如果尚未选择，请单击一次）来复制单元格。然后按 V 键粘贴副本。\n\n单击以“# CLICK ME”开头的单元格以选择它。该行中的第一个字符表示后面的内容是 Python 中的注释，因此在执行单元格时会被忽略。单元格的其余部分是一个完整的系统，用于创建和训练一个用于识别猫和狗的最先进模型。所以，现在让我们开始训练吧！要这样做，只需在键盘上按 Shift-Enter，或单击工具栏上的播放按钮。然后等待几分钟，以下事情会发生：\n\n1.  一个名为[牛津-IIIT 宠物数据集](https://oreil.ly/c_4Bv)的数据集，其中包含来自 37 个品种的 7,349 张猫和狗的图像，将从 fast.ai 数据集合中下载到您正在使用的 GPU 服务器上，然后进行提取。\n\n1.  一个*预训练模型*，已经在 130 万张图像上训练过，使用了一个获奖模型，将从互联网上下载。\n\n1.  预训练模型将使用迁移学习的最新进展进行*微调*，以创建一个专门定制用于识别狗和猫的模型。\n\n前两个步骤只需要在您的 GPU 服务器上运行一次。如果再次运行单元格，它将使用已经下载的数据集和模型，而不是重新下载它们。让我们看看单元格的内容和结果（表 1-2）：\n\n```py\n# CLICK ME\nfrom fastai.vision.all import *\npath = untar_data(URLs.PETS)/'images'\n\ndef is_cat(x): return x[0].isupper()\ndls = ImageDataLoaders.from_name_func(\n    path, get_image_files(path), valid_pct=0.2, seed=42,\n    label_func=is_cat, item_tfms=Resize(224))\n\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fine_tune(1)\n```\n\n表 1-2\\. 第一次训练的结果\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.169390 | 0.021388 | 0.005413 | 00:14 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.058748 | 0.009240 | 0.002706 | 00:19 |\n\n您可能不会看到这里显示的完全相同的结果。训练模型涉及许多小随机变化的来源。在这个例子中，我们通常看到错误率远低于 0.02，然而。\n\n# 训练时间\n\n根据您的网络速度，下载预训练模型和数据集可能需要几分钟。运行`fine_tune`可能需要一两分钟。通常，本书中的模型需要几分钟来训练，您自己的模型也是如此，因此最好想出一些好的技巧来充分利用这段时间。例如，当您的模型训练时，继续阅读下一节，或者打开另一个笔记本并用它进行一些编码实验。\n\n那么，我们如何知道这个模型是否好用？在表的最后一列中，你可以看到*错误率*，即被错误识别的图像的比例。错误率作为我们的度量标准——我们选择的模型质量的衡量标准，旨在直观和易于理解。正如你所看到的，即使训练时间只有几秒钟（不包括数据集和预训练模型的一次性下载），模型几乎是完美的。事实上，你已经取得的准确率比任何人在 10 年前取得的都要好得多！\n\n最后，让我们检查一下这个模型是否真的有效。去找一张狗或猫的照片；如果你手头没有，只需搜索 Google 图片并下载你找到的一张图片。现在执行定义了`uploader`的单元格。它会输出一个按钮，你可以点击它，然后选择你想分类的图片：\n\n```py\nuploader = widgets.FileUpload()\nuploader\n```\n\n![上传按钮](img/dlcf_01in02.png)\n\n现在你可以将上传的文件传递给模型。确保它是一张清晰的狗或猫的照片，而不是线描、卡通或类似的照片。笔记本会告诉你它认为这是一只狗还是一只猫，以及它的自信程度。希望你会发现你的模型表现得很好：\n\n```py\nimg = PILImage.create(uploader.data[0])\nis_cat,_,probs = learn.predict(img)\nprint(f\"Is this a cat?: {is_cat}.\")\nprint(f\"Probability it's a cat: {probs[1].item():.6f}\")\n```\n\n```py\nIs this a cat?: True.\nProbability it's a cat: 0.999986\n```\n\n恭喜你的第一个分类器！\n\n但是这意味着什么？你实际上做了什么？为了解释这一点，让我们再次放大，看看整体情况。\n\n## 什么是机器学习？\n\n你的分类器是一个深度学习模型。正如已经提到的，深度学习模型使用神经网络，这些神经网络最初可以追溯到上世纪 50 年代，并且最近由于最新的进展变得非常强大。\n\n另一个重要的背景是，深度学习只是更一般的*机器学习*领域中的一个现代领域。要理解当你训练自己的分类模型时所做的事情的本质，你不需要理解深度学习。看到你的模型和训练过程是如何成为适用于机器学习的概念的例子就足够了。\n\n因此，在本节中，我们将描述机器学习。我们将探讨关键概念，并看看它们如何可以追溯到最初介绍它们的原始文章。\n\n*机器学习*就像常规编程一样，是让计算机完成特定任务的一种方式。但是如果要用常规编程来完成前面部分我们刚刚做的事情：在照片中识别狗和猫，我们将不得不为计算机写下完成任务所需的确切步骤。\n\n通常，当我们编写程序时，很容易为我们写下完成任务的步骤。我们只需考虑如果我们必须手动完成任务时会采取的步骤，然后将它们转换为代码。例如，我们可以编写一个对列表进行排序的函数。一般来说，我们会编写一个类似于图 1-4 的函数（其中*inputs*可能是一个未排序的列表，*results*是一个排序后的列表）。\n\n![管道输入、程序、结果](img/dlcf_0104.png)\n\n###### 图 1-4\\. 传统程序\n\n但是要在照片中识别物体，这有点棘手；当我们在图片中识别物体时，我们采取了什么步骤？我们真的不知道，因为这一切都发生在我们的大脑中，而我们并没有意识到！\n\n早在计算机诞生之初，1949 年，IBM 的一位研究员阿瑟·塞缪尔开始研究一种让计算机完成任务的不同方式，他称之为*机器学习*。在他经典的 1962 年文章“人工智能：自动化的前沿”中，他写道：\n\n> 为这样的计算编程对于我们来说是相当困难的，主要不是因为计算机本身的任何固有复杂性，而是因为需要详细说明过程的每一个细微步骤。任何程序员都会告诉你，计算机是巨大的白痴，而不是巨大的大脑。\n\n他的基本想法是这样的：不是告诉计算机解决问题所需的确切步骤，而是向其展示解决问题的示例，并让它自己找出如何解决。结果证明这非常有效：到 1961 年，他的跳棋程序学到了很多，以至于击败了康涅狄格州冠军！这是他描述自己想法的方式（与之前提到的同一篇文章）：\n\n> 假设我们安排一些自动手段来测试任何当前权重分配的有效性，以实际表现为准，并提供一种机制来改变权重分配以最大化性能。我们不需要详细了解这种程序的细节，就可以看到它可以完全自动化，并且可以看到一个这样编程的机器将从中学习。\n\n这个简短陈述中嵌入了一些强大的概念：\n\n+   “权重分配”的想法\n\n+   每个权重分配都有一些“实际表现”的事实\n\n+   要求有一种“自动手段”来测试该性能\n\n+   需要一个“机制”（即，另一个自动过程）来通过改变权重分配来提高性能\n\n让我们逐一了解这些概念，以便了解它们在实践中如何结合。首先，我们需要了解塞缪尔所说的*权重分配*是什么意思。\n\n权重只是变量，权重分配是这些变量的特定值选择。程序的输入是它处理以产生结果的值，例如，将图像像素作为输入，并返回分类“狗”作为结果。程序的权重分配是定义程序操作方式的其他值。\n\n因为它们会影响程序，它们在某种意义上是另一种输入。我们将更新我们的基本图片图 1-4，并用图 1-5 替换，以便考虑到这一点。\n\n！[](Images/dlcf_0105.png)\n\n###### 图 1-5。使用权重分配的程序\n\n我们已将方框的名称从*程序*更改为*模型*。这是为了遵循现代术语并反映*模型*是一种特殊类型的程序：它可以根据*权重*做*许多不同的事情*。它可以以许多不同的方式实现。例如，在塞缪尔的跳棋程序中，不同的权重值会导致不同的跳棋策略。\n\n（顺便说一句，塞缪尔所说的“权重”如今通常被称为模型*参数*，以防您遇到这个术语。术语*权重*保留给特定类型的模型参数。）\n\n接下来，塞缪尔说我们需要一种*自动测试任何当前权重分配的有效性的方法，以实际表现为准*。在他的跳棋程序中，“实际表现”模型的表现有多好。您可以通过让两个模型相互对战并看哪个通常获胜来自动测试两个模型的表现。\n\n最后，他说我们需要*一种机制来改变权重分配，以最大化性能*。例如，我们可以查看获胜模型和失败模型之间的权重差异，并将权重进一步调整到获胜方向。\n\n我们现在可以看到他为什么说这样的程序*可以完全自动化，并且...一个这样编程的机器将从中学习*。当权重的调整也是自动的时，学习将变得完全自动——当我们不再通过手动调整权重来改进模型，而是依赖于根据性能产生调整的自动化机制时。\n\n图 1-6 展示了塞缪尔关于训练机器学习模型的完整图景。\n\n！基本训练循环\n\n###### 图 1-6。训练机器学习模型\n\n注意模型的*结果*（例如，在跳棋游戏中的移动）和其*性能*（例如，是否赢得比赛，或者赢得比赛的速度）之间的区别。\n\n还要注意，一旦模型训练好了，也就是说，一旦我们选择了最终的、最好的、最喜欢的权重分配，那么我们可以将权重视为*模型的一部分*，因为我们不再对它们进行变化。\n\n因此，实际上在训练后*使用*模型看起来像图 1-7。\n\n![](img/dlcf_0107.png)\n\n###### 图 1-7。使用训练后的模型作为程序\n\n这看起来与我们在图 1-4 中的原始图表相同，只是将*程序*一词替换为*模型*。这是一个重要的观点：*训练后的模型可以像常规计算机程序一样对待*。\n\n# 行话：机器学习\n\n通过让计算机从经验中学习而不是通过手动编码个别步骤来开发程序的培训。\n\n## 什么是神经网络？\n\n不难想象跳棋程序的模型可能是什么样子。可能编码了一系列跳棋策略，以及某种搜索机制，然后权重可以变化以决定如何选择策略，在搜索期间关注棋盘的哪些部分等等。但是对于图像识别程序，或者理解文本，或者我们可能想象的许多其他有趣的问题，模型可能是什么样子却一点也不明显。\n\n我们希望有一种函数，它如此灵活，以至于可以通过调整其权重来解决任何给定问题。令人惊讶的是，这种函数实际上存在！这就是我们已经讨论过的神经网络。也就是说，如果您将神经网络视为数学函数，那么它将是一种极其灵活的函数，取决于其权重。一种称为*通用逼近定理*的数学证明表明，这种函数在理论上可以解决任何问题，达到任何精度水平。神经网络如此灵活的事实意味着，在实践中，它们通常是一种合适的模型，您可以将精力集中在训练过程上，即找到良好的权重分配。\n\n但是这个过程呢？人们可以想象，您可能需要为每个问题找到一种新的“机制”来自动更新权重。这将是费力的。我们在这里也希望有一种完全通用的方法来更新神经网络的权重，使其在任何给定任务上都能提高。方便的是，这也存在！\n\n这被称为*随机梯度下降*（SGD）。我们将在第四章中详细了解神经网络和 SGD 的工作原理，以及解释通用逼近定理。然而，现在，我们将使用塞缪尔自己的话来说：*我们不需要深入了解这样一个过程的细节，就可以看到它可以完全自动化，并且可以看到这样一个机器编程的机器可以从中学习经验。*\n\n# 杰里米说\n\n不要担心；无论是 SGD 还是神经网络，在数学上都不复杂。它们几乎完全依赖于加法和乘法来完成工作（但它们进行了*大量*的加法和乘法！）。当学生们看到细节时，我们听到的主要反应是：“就是这样吗？”\n\n换句话说，简而言之，神经网络是一种特殊类型的机器学习模型，它完全符合塞缪尔最初的构想。神经网络之所以特殊，是因为它们非常灵活，这意味着它们可以通过找到正确的权重来解决异常广泛的问题。这是强大的，因为随机梯度下降为我们提供了一种自动找到这些权重值的方法。\n\n放大后，让我们现在缩小范围，重新审视使用塞缪尔框架解决我们的图像分类问题。\n\n我们的输入是图像。我们的权重是神经网络中的权重。我们的模型是一个神经网络。我们的结果是由神经网络计算出的值，比如“狗”或“猫”。\n\n下一个部分是什么，一个*自动测试任何当前权重分配的有效性的手段*？确定“实际表现”很容易：我们可以简单地将模型的表现定义为其在预测正确答案时的准确性。\n\n将所有这些放在一起，假设 SGD 是我们更新权重分配的机制，我们可以看到我们的图像分类器是一个机器学习模型，就像 Samuel 所设想的那样。\n\n## 一些深度学习术语\n\nSamuel 在 1960 年代工作，自那时术语已经发生了变化。以下是我们讨论过的所有部分的现代深度学习术语：\n\n+   *模型*的功能形式被称为*架构*（但要小心—有时人们将*模型*用作*架构*的同义词，这可能会让人困惑）。\n\n+   *权重*被称为*参数*。\n\n+   *预测*是从*独立变量*计算出来的，这是*不包括标签*的*数据*。\n\n+   模型的*结果*被称为*预测*。\n\n+   *性能*的度量被称为*损失*。\n\n+   损失不仅取决于预测，还取决于正确的*标签*（也称为*目标*或*因变量*）；例如，“狗”或“猫”。\n\n在进行这些更改后，我们在图 1-6 中的图表看起来像图 1-8。\n\n![](img/dlcf_0108.png)\n\n###### 图 1-8\\. 详细训练循环\n\n## 机器学习固有的限制\n\n从这幅图片中，我们现在可以看到关于训练深度学习模型的一些基本事情：\n\n+   没有数据就无法创建模型。\n\n+   模型只能学习操作训练数据中看到的模式。\n\n+   这种学习方法只创建*预测*，而不是推荐的*行动*。\n\n+   仅仅拥有输入数据的示例是不够的；我们还需要为这些数据提供*标签*（例如，仅有狗和猫的图片不足以训练模型；我们需要为每个图片提供一个标签，说明哪些是狗，哪些是猫）。\n\n一般来说，我们已经看到大多数组织声称他们没有足够的数据实际上意味着他们没有足够的*带标签*数据。如果任何组织有兴趣在实践中使用模型做一些事情，那么他们可能有一些输入数据计划运行他们的模型。并且可能他们已经以其他方式做了一段时间（例如，手动或使用一些启发式程序），因此他们有来自这些过程的数据！例如，放射学实践几乎肯定会有医学扫描的存档（因为他们需要能够检查他们的患者随时间的进展），但这些扫描可能没有包含诊断或干预措施列表的结构化标签（因为放射科医生通常创建自由文本自然语言报告，而不是结构化数据）。在本书中，我们将大量讨论标记方法，因为这在实践中是一个非常重要的问题。\n\n由于这类机器学习模型只能进行*预测*（即试图复制标签），这可能导致组织目标与模型能力之间存在显著差距。例如，在本书中，您将学习如何创建一个*推荐系统*，可以预测用户可能购买的产品。这通常用于电子商务，例如通过显示排名最高的商品来定制主页上显示的产品。但这样的模型通常是通过查看用户及其购买历史（*输入*）以及他们最终购买或查看的内容（*标签*）来创建的，这意味着该模型很可能会告诉您关于用户已经拥有或已经了解的产品，而不是他们最有可能对其感兴趣的新产品。这与您当地书店的专家所做的事情大不相同，他们会询问您的口味，然后告诉您您以前从未听说过的作者或系列。\n\n另一个关键的洞察来自于考虑模型如何与其环境互动。这可能会产生*反馈循环*，如此处所述：\n\n1.  基于过去的逮捕地点创建了一个*预测性执法*模型。实际上，这并不是在预测犯罪，而是在预测逮捕，因此部分地只是反映了现有执法过程中的偏见。\n\n1.  然后执法人员可能会使用该模型来决定在哪里集中他们的执法活动，导致这些地区的逮捕增加。\n\n1.  这些额外逮捕的数据将被反馈回去重新训练未来版本的模型。\n\n这是一个*正反馈循环*：模型被使用得越多，数据就变得越有偏见，使模型变得更加有偏见，依此类推。\n\n反馈循环也可能在商业环境中造成问题。例如，视频推荐系统可能会偏向于推荐由视频最大观看者消费的内容（例如，阴谋论者和极端分子倾向于观看比平均水平更多的在线视频内容），导致这些用户增加他们的视频消费量，进而导致更多这类视频被推荐。我们将在第三章中更详细地讨论这个话题。\n\n既然你已经看到了理论的基础，让我们回到我们的代码示例，详细看看代码如何与我们刚刚描述的过程相对应。\n\n## 我们的图像识别器是如何工作的\n\n让我们看看我们的图像识别器代码如何映射到这些想法。我们将把每一行放入一个单独的单元格，并查看每一行正在做什么（我们暂时不会解释每个参数的每个细节，但会给出重要部分的描述；完整细节将在本书后面提供）。第一行导入了整个 fastai.vision 库：\n\n```py\nfrom fastai.vision.all import *\n```\n\n这为我们提供了创建各种计算机视觉模型所需的所有函数和类。\n\n# Jeremy 说\n\n许多 Python 编程人员建议避免像这样导入整个库（使用`import *`语法），因为在大型软件项目中可能会引起问题。然而，在交互式工作中，比如在 Jupyter 笔记本中，它非常有效。fastai 库专门设计用于支持这种交互式使用，它只会将必要的部分导入到您的环境中。\n\n第二行从[fast.ai 数据集合](https://course.fast.ai/datasets)下载一个标准数据集（如果之前没有下载），将其提取出来（如果之前没有提取），并返回一个提取位置的`Path`对象：\n\n```py\npath = untar_data(URLs.PETS)/'images'\n```\n\n# Sylvain 说\n\n在 fast.ai 学习期间，甚至到今天，我学到了很多关于高效编码实践的知识。fastai 库和 fast.ai 笔记本中充满了许多有用的小贴士，这些贴士帮助我成为了一个更好的程序员。例如，请注意 fastai 库不仅返回包含数据集路径的字符串，而是一个`Path`对象。这是 Python 3 标准库中一个非常有用的类，使得访问文件和目录变得更加容易。如果你之前没有接触过它，请务必查看其文档或教程并尝试使用。请注意，[书籍网站](https://book.fast.ai)包含了每章推荐教程的链接。我会继续在我们遇到时告诉你我发现有用的小编码技巧。\n\n在第三行，我们定义了一个函数`is_cat`，根据数据集创建者提供的文件名规则来标记猫：\n\n```py\ndef is_cat(x): return x[0].isupper()\n```\n\n我们在第四行使用了这个函数，告诉 fastai 我们拥有什么类型的数据集以及它的结构：\n\n```py\ndls = ImageDataLoaders.from_name_func(\n    path, get_image_files(path), valid_pct=0.2, seed=42,\n    label_func=is_cat, item_tfms=Resize(224))\n```\n\n不同类型的深度学习数据集和问题有各种类别，这里我们使用`ImageDataLoaders`。类名的第一部分通常是你拥有的数据类型，比如图像或文本。\n\n我们必须告诉 fastai 的另一个重要信息是如何从数据集中获取标签。计算机视觉数据集通常以标签作为文件名或路径的一部分进行结构化，最常见的是父文件夹名称。fastai 带有许多标准化的标记方法，以及编写自己的方法。在这里，我们告诉 fastai 使用我们刚刚定义的`is_cat`函数。\n\n最后，我们定义了我们需要的`Transform`。`Transform`包含在训练期间自动应用的代码；fastai 包含许多预定义的`Transform`，添加新的`Transform`就像创建一个 Python 函数一样简单。有两种类型：`item_tfms`应用于每个项目（在本例中，每个项目都被调整为 224 像素的正方形），而`batch_tfms`应用于一次处理一批项目的 GPU，因此它们特别快速（我们将在本书中看到许多这样的例子）。\n\n为什么是 224 像素？出于历史原因（旧的预训练模型需要这个确切的尺寸），但你几乎可以传入任何尺寸。如果增加尺寸，通常会得到更好的模型结果（因为它可以关注更多细节），但代价是速度和内存消耗；如果减小尺寸，则相反。\n\n# 术语：分类和回归\n\n*分类*和*回归*在机器学习中有非常具体的含义。这两种模型是我们在本书中将要研究的两种主要类型。*分类模型*试图预测一个类别。也就是说，它从许多离散的可能性中进行预测，比如“狗”或“猫”。*回归模型*试图预测一个或多个数值，比如温度或位置。有时人们使用*回归*一词来指代一种特定类型的模型，称为*线性回归模型*；这是一个不好的做法，在本书中我们不会使用这种术语！\n\nPet 数据集包含 7390 张狗和猫的图片，包括 37 种品种。每个图像都使用其文件名进行标记：例如，文件*great_pyrenees_173.jpg*是数据集中大白熊犬品种的第 173 个示例图像。如果图像是猫，则文件名以大写字母开头，否则以小写字母开头。我们必须告诉 fastai 如何从文件名中获取标签，我们通过调用`from_name_func`来实现（这意味着可以使用应用于文件名的函数来提取文件名），并传递`x[0].isupper()`，如果第一个字母是大写字母（即是猫），则评估为`True`。\n\n在这里提到的最重要的参数是`valid_pct=0.2`。这告诉 fastai 保留 20%的数据，*完全不用于训练模型*。这 20%的数据被称为*验证集*；剩下的 80%被称为*训练集*。验证集用于衡量模型的准确性。默认情况下，被保留的 20%是随机选择的。参数`seed=42`将*随机种子*设置为每次运行此代码时相同的值，这意味着每次运行时我们都会得到相同的验证集，这样，如果我们更改模型并重新训练它，我们知道任何差异都是由于对模型的更改，而不是由于有不同的随机验证集。\n\nfastai 将*始终*仅使用*验证集*显示模型的准确性，*永远不会*使用训练集。这是绝对关键的，因为如果您为足够长的时间训练足够大的模型，它最终会记住数据集中每个项目的标签！结果将不是一个有用的模型，因为我们关心的是我们的模型在*以前未见过的图像*上的工作效果。这总是我们创建模型时的目标：使其在模型仅在未来看到的数据上有用，经过训练后。\n\n即使您的模型尚未完全记住所有数据，在训练的早期阶段可能已经记住了其中的某些部分。因此，您训练的时间越长，您在训练集上的准确性就会越好；验证集的准确性也会在一段时间内提高，但最终会开始变差，因为模型开始记住训练集而不是在数据中找到可泛化的潜在模式。当这种情况发生时，我们说模型*过拟合*。\n\n图 1-9 展示了过拟合时会发生什么，使用一个简化的例子，我们只有一个参数和一些基于函数`x**2`随机生成的数据。正如您所看到的，尽管过拟合模型在接近观察到的数据点的数据上的预测是准确的，但在该范围之外时则相差甚远。\n\n![过拟合示例](img/dlcf_0109.png)\n\n###### 图 1-9\\. 过拟合示例\n\n**过拟合是训练所有机器学习从业者和所有算法时最重要和具有挑战性的问题**。正如您将看到的，很容易创建一个在准确预测其训练数据上做得很好的模型，但要在模型从未见过的数据上做出准确预测要困难得多。当然，这些数据在实践中是重要的。例如，如果您创建一个手写数字分类器（我们很快就会！）并将其用于识别支票上写的数字，那么您永远不会看到模型训练过的任何数字——每张支票都会有稍微不同的书写变化。\n\n您将在本书中学习许多避免过拟合的方法。但是，只有在确认发生过拟合时（即，如果您观察到训练过程中验证准确性变差）才应使用这些方法。我们经常看到从业者在有足够数据的情况下也使用过拟合避免技术，最终得到的模型可能比他们本可以实现的更不准确。\n\n# 验证集\n\n当您训练模型时，您必须*始终*同时拥有训练集和验证集，并且必须仅在验证集上测量模型的准确性。如果您训练时间过长，数据不足，您将看到模型的准确性开始变差；这被称为*过拟合*。fastai 将`valid_pct`默认设置为`0.2`，因此即使您忘记了，fastai 也会为您创建一个验证集！\n\n我们的图像识别器训练代码的第五行告诉 fastai 创建一个*卷积神经网络*（CNN），并指定要使用的*架构*（即要创建的模型类型）、我们要对其进行训练的数据以及要使用的*度量标准*：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\n```\n\n为什么使用 CNN？这是创建计算机视觉模型的当前最先进方法。我们将在本书中学习有关 CNN 如何工作的所有知识。它们的结构受到人类视觉系统工作方式的启发。\n\n在 fastai 中有许多架构，我们将在本书中介绍（以及讨论如何创建您自己的架构）。然而，大多数情况下，选择架构并不是深度学习过程中非常重要的部分。这是学术界喜欢谈论的内容，但实际上您不太可能需要花费太多时间。有一些标准架构在大多数情况下都有效，而在这种情况下，我们使用的是一种称为*ResNet*的架构，我们将在本书中大量讨论；它对许多数据集和问题都既快速又准确。`resnet34`中的`34`指的是该架构变体中的层数（其他选项是`18`、`50`、`101`和`152`）。使用层数更多的架构模型训练时间更长，更容易过拟合（即在验证集上的准确率开始变差之前无法训练多少个时期）。另一方面，当使用更多数据时，它们可能会更准确。\n\n什么是度量标准？*度量标准*是一个函数，使用验证集来衡量模型预测的质量，并将在每个时期结束时打印出来。在这种情况下，我们使用`error_rate`，这是 fastai 提供的一个函数，它正是它所说的：告诉您验证集中有多少百分比的图像被错误分类。分类的另一个常见度量标准是`accuracy`（即`1.0 - error_rate`）。fastai 提供了许多其他度量标准，这将在本书中讨论。\n\n度量标准的概念可能会让您想起*损失*，但有一个重要区别。损失的整个目的是定义一个“性能度量”，训练系统可以使用它来自动更新权重。换句话说，损失的一个好选择是易于随机梯度下降使用的选择。但度量标准是为人类消费而定义的，因此一个好的度量标准是您易于理解的，并且尽可能接近您希望模型执行的任务。有时，您可能会决定损失函数是一个合适的度量标准，但这并不一定是情况。\n\n`cnn_learner`还有一个名为`pretrained`的参数，默认值为`True`（因此在这种情况下使用，即使我们没有指定），它将您模型中的权重设置为已经由专家训练过的值，以识别 130 万张照片中的一千个不同类别（使用著名的[*ImageNet*](http://www.image-net.org)数据集）。具有已在另一个数据集上训练过的权重的模型称为*预训练模型*。您几乎总是应该使用预训练模型，因为这意味着您的模型在您甚至没有展示任何数据之前就已经非常有能力。正如您将看到的，在深度学习模型中，许多这些能力是您几乎无论项目细节如何都需要的。例如，预训练模型的部分将处理边缘、梯度和颜色检测，这些对许多任务都是必需的。\n\n使用预训练模型时，`cnn_learner`将移除最后一层，因为该层始终是针对原始训练任务（即 ImageNet 数据集分类）专门定制的，并将其替换为一个或多个具有随机权重的新层，适合您正在处理的数据集的大小。模型的最后部分被称为*头*。\n\n使用预训练模型是我们训练更准确、更快速、使用更少数据和更少时间和金钱的最重要方法。您可能会认为使用预训练模型将是学术深度学习中最研究的领域...但您会非常、非常错误！预训练模型的重要性通常在大多数课程、书籍或软件库功能中没有得到认可或讨论，并且在学术论文中很少被考虑。当我们在 2020 年初写这篇文章时，事情刚刚开始改变，但这可能需要一段时间。因此要小心：您与之交谈的大多数人可能会严重低估您可以在深度学习中使用少量资源做些什么，因为他们可能不会深入了解如何使用预训练模型。\n\n使用一个预训练模型来执行一个与其最初训练目的不同的任务被称为*迁移学习*。不幸的是，由于迁移学习研究不足，很少有领域提供预训练模型。例如，目前在医学领域很少有预训练模型可用，这使得在该领域使用迁移学习具有挑战性。此外，目前还不清楚如何将迁移学习应用于诸如时间序列分析之类的任务。\n\n# 术语：迁移学习\n\n使用一个预训练模型来执行一个与其最初训练目的不同的任务。\n\n我们代码的第六行告诉 fastai 如何*适应*模型：\n\n```py\nlearn.fine_tune(1)\n```\n\n正如我们所讨论的，架构只是描述数学函数的*模板*；直到我们为其包含的数百万参数提供值之前，它才会真正发挥作用。\n\n这是深度学习的关键之处——确定如何适应模型的参数以使其解决您的问题。要适应一个模型，我们必须提供至少一条信息：每个图像查看多少次（称为*时代*数）。您选择的时代数将在很大程度上取决于您有多少时间可用，以及您发现在实践中适应模型需要多长时间。如果选择的数字太小，您可以随时稍后进行更多时代的训练。\n\n但为什么这种方法被称为`fine_tune`，而不是`fit`？fastai 确实有一个名为`fit`的方法，它确实适合一个模型（即，多次查看训练集中的图像，每次更新参数使预测越来越接近目标标签）。但在这种情况下，我们已经从一个预训练模型开始，并且我们不想丢弃它已经具有的所有这些功能。正如您将在本书中了解到的，有一些重要的技巧可以使预训练模型适应新数据集，这个过程称为*微调*。\n\n# 术语：微调\n\n一种迁移学习技术，通过使用与预训练不同的任务进行额外时代的训练来更新预训练模型的参数。\n\n当您使用`fine_tune`方法时，fastai 将为您使用这些技巧。您可以设置一些参数（我们稍后会讨论），但在此处显示的默认形式中，它执行两个步骤：\n\n1.  使用一个时代来适应模型的那些部分，以使新的随机头部能够正确地与您的数据集配合工作。\n\n1.  在调用适合整个模型的方法时，请使用请求的时代数，更快地更新后面的层（特别是头部）的权重，而不是早期的层（正如我们将看到的，通常不需要对预训练权重进行太多更改）。\n\n模型的*头部*是新添加的部分，专门针对新数据集。一个*时代*是对数据集的一次完整遍历。在调用`fit`之后，每个时代后的结果都会被打印出来，显示时代编号，训练和验证集的损失（用于训练模型的“性能度量”），以及您请求的任何*指标*（在这种情况下是错误率）。\n\n因此，通过所有这些代码，我们的模型学会了仅仅通过标记的示例来识别猫和狗。但它是如何做到的呢？\n\n## 我们的图像识别器学到了什么\n\n在这个阶段，我们有一个工作良好的图像识别器，但我们不知道它在做什么！尽管许多人抱怨深度学习导致不可理解的“黑匣子”模型（即，可以提供预测但没有人能理解的东西），但事实并非如此。有大量研究表明如何深入检查深度学习模型并从中获得丰富的见解。话虽如此，各种机器学习模型（包括深度学习和传统统计模型）都可能难以完全理解，特别是考虑到它们在遇到与用于训练它们的数据非常不同的数据时的行为。我们将在本书中讨论这个问题。\n\n2013 年，博士生 Matt Zeiler 和他的导师 Rob Fergus 发表了《可视化和理解卷积网络》，展示了如何可视化模型每一层学到的神经网络权重。他们仔细分析了赢得 2012 年 ImageNet 比赛的模型，并利用这一分析大大改进了模型，使他们能够赢得 2013 年的比赛！图 1-10 是他们发表的第一层权重的图片。\n\n![CNN 早期层的激活](img/dlcf_0110.png)\n\n###### 图 1-10。CNN 第一层的激活（由 Matthew D. Zeiler 和 Rob Fergus 提供）\n\n这张图片需要一些解释。对于每一层，具有浅灰色背景的图像部分显示了重建的权重，底部较大的部分显示了与每组权重最匹配的训练图像部分。对于第一层，我们可以看到模型发现了代表对角线、水平和垂直边缘以及各种梯度的权重。（请注意，对于每一层，只显示了部分特征；实际上，在所有层中有成千上万个特征。）\n\n这些是模型为计算机视觉学习的基本构建块。它们已经被神经科学家和计算机视觉研究人员广泛分析，结果表明，这些学习的构建块与人眼的基本视觉机制以及在深度学习之前开发的手工计算机视觉特征非常相似。下一层在图 1-11 中表示。\n\n![CNN 早期层的激活](img/dlcf_0111.png)\n\n###### 图 1-11。CNN 第二层的激活（由 Matthew D. Zeiler 和 Rob Fergus 提供）\n\n对于第 2 层，模型找到的每个特征都有九个权重重建示例。我们可以看到模型已经学会创建寻找角、重复线条、圆圈和其他简单模式的特征检测器。这些是从第一层中开发的基本构建块构建的。对于每个特征，图片右侧显示了与这些特征最匹配的实际图像的小块。例如，第 2 行第 1 列中的特定模式与日落相关的梯度和纹理相匹配。\n\n图 1-12 显示了一篇论文中展示第 3 层特征重建结果的图片。\n\n![CNN 中间层的激活](img/dlcf_0112.png)\n\n###### 图 1-12。CNN 第三层的激活（由 Matthew D. Zeiler 和 Rob Fergus 提供）\n\n通过观察图片右侧，您可以看到特征现在能够识别和匹配更高级的语义组件，如汽车车轮、文字和花瓣。利用这些组件，第 4 层和第 5 层可以识别更高级的概念，如图 1-13 所示。\n\n![CNN 末端层的激活](img/dlcf_0113.png)\n\n###### 图 1-13。CNN 的第四和第五层的激活（由 Matthew D. Zeiler 和 Rob Fergus 提供）\n\n本文研究了一个名为*AlexNet*的旧模型，该模型只包含五层。自那时以来开发的网络可以有数百层 - 所以你可以想象这些模型开发的特征有多丰富！\n\n当我们早期微调我们的预训练模型时，我们调整了最后几层关注的内容（花朵、人类、动物），以专注于猫与狗问题。更一般地，我们可以将这样的预训练模型专门用于许多不同的任务。让我们看一些例子。\n\n## 图像识别器可以处理非图像任务\n\n图像识别器只能识别图像，顾名思义。但很多事物可以被表示为图像，这意味着图像识别器可以学会完成许多任务。\n\n例如，声音可以转换为频谱图，这是一种图表，显示音频文件中每个时间的每个频率的数量。fast.ai 学生 Ethan Sutin 使用这种方法，[轻松击败了一种最先进的环境声音检测模型的发布准确率](https://oreil.ly/747uv)，使用了 8732 个城市声音的数据集。fastai 的`show_batch`清楚地显示了每个声音具有相当独特的频谱图，如图 1-14 所示。\n\n![显示具有声音频谱图的 show_batch](img/dlcf_0114.png)\n\n###### 图 1-14。显示具有声音频谱图的 show_batch\n\n时间序列可以很容易地通过简单地在图表上绘制时间序列来转换为图像。然而，通常最好尝试以尽可能简单的方式表示数据，以便提取出最重要的组件。在时间序列中，季节性和异常很可能是感兴趣的。\n\n时间序列数据有各种转换方法。例如，fast.ai 学生 Ignacio Oguiza 使用一种称为 Gramian Angular Difference Field（GADF）的技术，从一个时间序列数据集中为橄榄油分类创建图像，你可以在图 1-15 中看到结果。然后，他将这些图像输入到一个图像分类模型中，就像你在本章中看到的那样。尽管只有 30 个训练集图像，但他的结果准确率超过 90%，接近最先进水平。\n\n![将时间序列转换为图像](img/dlcf_0115.png)\n\n###### 图 1-15。将时间序列转换为图像\n\n另一个有趣的 fast.ai 学生项目示例来自 Gleb Esman。他在 Splunk 上进行欺诈检测，使用了用户鼠标移动和鼠标点击的数据集。他通过绘制显示鼠标指针位置、速度和加速度的图像，使用彩色线条，并使用[小彩色圆圈](https://oreil.ly/6-I_X)显示点击，将这些转换为图片，如图 1-16 所示。他将这些输入到一个图像识别模型中，就像我们在本章中使用的那样，效果非常好，导致了这种方法在欺诈分析方面的专利！\n\n![将计算机鼠标行为转换为图像](img/dlcf_0116.png)\n\n###### 图 1-16。将计算机鼠标行为转换为图像\n\n另一个例子来自 Mahmoud Kalash 等人的论文“使用深度卷积神经网络进行恶意软件分类”，解释了“恶意软件二进制文件被分成 8 位序列，然后转换为等效的十进制值。这个十进制向量被重塑，生成了一个代表恶意软件样本的灰度图像”，如图 1-17 所示。\n\n![恶意软件分类过程](img/dlcf_0117.png)\n\n###### 图 1-17。恶意软件分类过程\n\n作者们随后展示了通过恶意软件分类生成的“图片”，如图 1-18 所示。\n\n![恶意软件示例](img/dlcf_0118.png)\n\n###### 图 1-18。恶意软件示例\n\n正如您所看到的，不同类型的恶意软件在人眼中看起来非常独特。研究人员基于这种图像表示训练的模型在恶意软件分类方面比学术文献中显示的任何先前方法都更准确。这表明将数据集转换为图像表示的一个很好的经验法则：如果人眼可以从图像中识别类别，那么深度学习模型也应该能够做到。\n\n总的来说，您会发现在深度学习中，少数几种通用方法可以走得很远，只要您在如何表示数据方面有点创造性！您不应该将这里描述的方法视为“巧妙的变通方法”，因为它们通常（如此处）击败了以前的最先进结果。这确实是正确思考这些问题领域的方法。\n\n## 术语回顾\n\n我们刚刚涵盖了很多信息，让我们简要回顾一下。表 1-3 提供了一个方便的词汇表。\n\n表 1-3\\. 深度学习词汇表\n\n| 术语 | 意义 |\n| --- | --- |\n| 标签 | 我们试图预测的数据，比如“狗”或“猫” |\n| 架构 | 我们试图拟合的模型的 * 模板 *；即我们将输入数据和参数传递给的实际数学函数 |\n| 模型 | 架构与特定一组参数的组合 |\n| 参数 | 模型中改变任务的值，通过模型训练进行更新 |\n| 拟合 | 更新模型的参数，使得使用输入数据的模型预测与目标标签匹配 |\n| 训练 | * 拟合 * 的同义词 |\n| 预训练模型 | 已经训练过的模型，通常使用大型数据集，并将进行微调 |\n| 微调 | 为不同任务更新预训练模型 |\n| 纪元 | 一次完整通过输入数据 |\n| 损失 | 衡量模型好坏的指标，选择以驱动通过 SGD 进行训练 |\n| 指标 | 使用验证集衡量模型好坏的测量标准，选择供人类消费 |\n| 验证集 | 从训练中保留的一组数据，仅用于衡量模型好坏 |\n| 训练集 | 用于拟合模型的数据；不包括验证集中的任何数据 |\n| 过拟合 | 以使模型 * 记住 * 输入数据的特定特征而不是很好地泛化到训练期间未见的数据的方式训练模型 |\n| CNN | 卷积神经网络；一种特别适用于计算机视觉任务的神经网络 |\n\n有了这个词汇表，我们现在可以将迄今介绍的所有关键概念汇集在一起。花点时间回顾这些定义，并阅读以下摘要。如果您能理解解释，那么您就有能力理解接下来的讨论。\n\n* 机器学习 *是一种学科，我们通过从数据中学习来定义程序，而不是完全自己编写它。 * 深度学习 *是机器学习中使用具有多个 * 层 * 的 * 神经网络 * 的专业领域。 * 图像分类 * 是一个代表性的例子（也称为 * 图像识别 *）。我们从 * 标记数据 * 开始 - 一组我们为每个图像分配了 * 标签 * 的图像，指示它代表什么。我们的目标是生成一个称为 * 模型 * 的程序，给定一个新图像，将对该新图像代表的内容进行准确的 * 预测 *。\n\n每个模型都从选择 * 架构 * 开始，这是该类型模型内部工作方式的一般模板。 * 训练 *（或 * 拟合 *）模型的过程是找到一组 * 参数值 *（或 * 权重 *），这些参数值将该一般架构专门化为适用于我们特定数据类型的模型。为了定义模型在单个预测上的表现如何，我们需要定义一个 * 损失函数 *，它确定我们如何将预测评分为好或坏。\n\n为了让训练过程更快，我们可以从一个*预训练模型*开始——一个已经在其他人的数据上训练过的模型。然后我们可以通过在我们的数据上进一步训练它来使其适应我们的数据，这个过程称为*微调*。\n\n当我们训练一个模型时，一个关键问题是确保我们的模型*泛化*：它从我们的数据中学到的一般性教训也适用于它将遇到的新项目，这样它就可以对这些项目做出良好的预测。风险在于，如果我们训练模型不当，它实际上会记住它已经看到的内容，而不是学习一般性教训，然后它将对新图像做出糟糕的预测。这样的失败被称为*过拟合*。\n\n为了避免这种情况，我们总是将数据分为两部分，*训练集*和*验证集*。我们通过只向模型展示训练集来训练模型，然后通过查看模型在验证集中的表现来评估模型的表现如何。通过这种方式，我们检查模型从训练集中学到的教训是否适用于验证集。为了评估模型在验证集上的整体表现，我们定义一个*度量*。在训练过程中，当模型看到训练集中的每个项目时，我们称之为一个*周期*。\n\n所有这些概念都适用于机器学习。它们适用于各种通过训练数据定义模型的方案。深度学习的独特之处在于一类特定的架构：基于*神经网络*的架构。特别是，像图像分类这样的任务在*卷积神经网络*上严重依赖，我们将很快讨论。\n\n# 深度学习不仅仅适用于图像分类\n\n近年来，深度学习在分类图像方面的有效性已经被广泛讨论，甚至在识别 CT 扫描中的恶性肿瘤等复杂任务上显示出*超人类*的结果。但它可以做的远不止这些，正如我们将在这里展示的。\n\n例如，让我们谈谈对于自动驾驶汽车至关重要的一点：在图片中定位物体。如果自动驾驶汽车不知道行人在哪里，那么它就不知道如何避开！创建一个能够识别图像中每个单独像素内容的模型被称为*分割*。以下是我们如何使用 fastai 训练一个分割模型，使用来自 Gabriel J. Brostow 等人的论文[“视频中的语义对象类：高清实况数据库”](https://oreil.ly/Mqclf)中的[*CamVid*数据集](https://oreil.ly/rDy1i)的子集：\n\n```py\npath = untar_data(URLs.CAMVID_TINY)\ndls = SegmentationDataLoaders.from_label_func(\n    path, bs=8, fnames = get_image_files(path/\"images\"),\n    label_func = lambda o: path/'labels'/f'{o.stem}_P{o.suffix}',\n    codes = np.loadtxt(path/'codes.txt', dtype=str)\n)\n\nlearn = unet_learner(dls, resnet34)\nlearn.fine_tune(8)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 2.906601 | 2.347491 | 00:02 |\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 1.988776 | 1.765969 | 00:02 |\n| 1 | 1.703356 | 1.265247 | 00:02 |\n| 2 | 1.591550 | 1.309860 | 00:02 |\n| 3 | 1.459745 | 1.102660 | 00:02 |\n| 4 | 1.324229 | 0.948472 | 00:02 |\n| 5 | 1.205859 | 0.894631 | 00:02 |\n| 6 | 1.102528 | 0.809563 | 00:02 |\n| 7 | 1.020853 | 0.805135 | 00:02 |\n\n我们甚至不会逐行走过这段代码，因为它几乎与我们之前的示例完全相同！（我们将在第十五章深入探讨分割模型，以及本章中我们简要介绍的所有其他模型以及更多更多。）\n\n我们可以通过要求模型为图像的每个像素着色来可视化它的任务完成情况。正如您所看到的，它几乎完美地对每个对象中的每个像素进行分类。例如，请注意所有的汽车都被叠加着相同的颜色，所有的树都被叠加着相同的颜色（在每对图像中，左侧图像是地面实况标签，右侧是模型的预测）：\n\n```py\nlearn.show_results(max_n=6, figsize=(7,8))\n```\n\n![](img/dlcf_01in03.png)\n\n另一个深度学习在过去几年显著改进的领域是自然语言处理（NLP）。计算机现在可以生成文本，自动从一种语言翻译到另一种语言，分析评论，标记句子中的单词等等。以下是训练一个模型所需的所有代码，该模型可以比五年前世界上任何东西更好地分类电影评论的情感：\n\n```py\nfrom fastai.text.all import *\n\ndls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\nlearn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)\nlearn.fine_tune(4, 1e-2)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.594912 | 0.407416 | 0.823640 | 01:35 |\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.268259 | 0.316242 | 0.876000 | 03:03 |\n| 1 | 0.184861 | 0.246242 | 0.898080 | 03:10 |\n| 2 | 0.136392 | 0.220086 | 0.918200 | 03:16 |\n| 3 | 0.106423 | 0.191092 | 0.931360 | 03:15 |\n\n这个模型使用了 Andrew Maas 等人的论文[“Learning Word Vectors for Sentiment Analysis”](https://oreil.ly/L9vre)中的[IMDb Large Movie Review dataset](https://oreil.ly/tl-wp)。它在许多千字长的电影评论中表现良好，但让我们在一个短评论上测试一下看看它的表现如何：\n\n```py\nlearn.predict(\"I really liked that movie!\")\n```\n\n```py\n('pos', tensor(1), tensor([0.0041, 0.9959]))\n```\n\n在这里我们可以看到模型认为评论是积极的。结果的第二部分是我们数据词汇中“pos”的索引，最后一部分是分配给每个类的概率（“pos”为 99.6%，“neg”为 0.4%）。\n\n现在轮到你了！写下你自己的迷你电影评论，或者从互联网上复制一个，看看这个模型对它的看法。\n\n如果您对 fastai 的任何方法有任何疑问，您应该使用`doc`函数，将方法名称传递给它：\n\n```py\ndoc(learn.predict)\n```\n\n![](img/dlcf_01in04.png)\n\n一个窗口弹出，包含一个简短的一行解释。 “在文档中显示”链接将带您到完整的[文档](https://docs.fast.ai)，在那里您将找到所有细节和许多示例。此外，fastai 的大多数方法只是几行代码，因此您可以单击“源”链接查看幕后发生的情况。\n\n让我们继续讨论一些不那么性感，但可能在商业上更有用的事情：从普通*表格*数据构建模型。\n\n# 术语：表格\n\n表格形式的数据，例如来自电子表格、数据库或逗号分隔值（CSV）文件。表格模型是一种试图根据表格中其他列的信息来预测表格中一列的模型。\n\n事实证明，这看起来非常相似。以下是训练一个模型所需的代码，该模型将根据个人的社会经济背景预测一个人是否是高收入者：\n\n```py\nfrom fastai.tabular.all import *\npath = untar_data(URLs.ADULT_SAMPLE)\n\ndls = TabularDataLoaders.from_csv(path/'adult.csv', path=path, y_names=\"salary\",\n    cat_names = ['workclass', 'education', 'marital-status', 'occupation',\n                 'relationship', 'race'],\n    cont_names = ['age', 'fnlwgt', 'education-num'],\n    procs = [Categorify, FillMissing, Normalize])\n\nlearn = tabular_learner(dls, metrics=accuracy)\n```\n\n正如您所看到的，我们不得不告诉 fastai 哪些列是*分类*（包含一组离散选择之一的值，例如`occupation`）与*连续*（包含表示数量的数字，例如`age`）。\n\n这个任务没有预训练模型可用（一般来说，预训练模型在任何表格建模任务中都不广泛可用，尽管一些组织已经为内部使用创建了这些模型），所以在这种情况下我们不使用`fine_tune`。相反，我们使用`fit_one_cycle`，这是训练 fastai 模型*从头开始*（即没有迁移学习）最常用的方法：\n\n```py\nlearn.fit_one_cycle(3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.359960 | 0.357917 | 0.831388 | 00:11 |\n| 1 | 0.353458 | 0.349657 | 0.837991 | 00:10 |\n| 2 | 0.338368 | 0.346997 | 0.843213 | 00:10 |\n\n这个模型使用了 Ron Kohavi 的论文[“Scaling Up the Accuracy of Naive-Bayes Classifiers: a Decision-Tree Hybrid”](https://oreil.ly/qFOSc)中的[*Adult*](https://oreil.ly/Gc0AR)数据集，其中包含一些关于个人的人口统计数据（如他们的教育、婚姻状况、种族、性别以及是否年收入超过 5 万美元）。该模型的准确率超过 80%，训练时间约为 30 秒。\n\n让我们再看一个例子。推荐系统很重要，特别是在电子商务中。像亚马逊和 Netflix 这样的公司努力推荐用户可能喜欢的产品或电影。以下是如何训练一个模型，根据用户以前的观影习惯，预测用户可能喜欢的电影，使用[MovieLens 数据集](https://oreil.ly/LCfwH)：\n\n```py\nfrom fastai.collab import *\npath = untar_data(URLs.ML_SAMPLE)\ndls = CollabDataLoaders.from_csv(path/'ratings.csv')\nlearn = collab_learner(dls, y_range=(0.5,5.5))\nlearn.fine_tune(10)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 1.554056 | 1.428071 | 00:01 |\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 1.393103 | 1.361342 | 00:01 |\n| 1 | 1.297930 | 1.159169 | 00:00 |\n| 2 | 1.052705 | 0.827934 | 00:01 |\n| 3 | 0.810124 | 0.668735 | 00:01 |\n| 4 | 0.711552 | 0.627836 | 00:01 |\n| 5 | 0.657402 | 0.611715 | 00:01 |\n| 6 | 0.633079 | 0.605733 | 00:01 |\n| 7 | 0.622399 | 0.602674 | 00:01 |\n| 8 | 0.629075 | 0.601671 | 00:00 |\n| 9 | 0.619955 | 0.601550 | 00:01 |\n\n这个模型在 0.5 到 5.0 的范围内预测电影评分，平均误差约为 0.6。由于我们预测的是一个连续数值，而不是一个类别，我们必须告诉 fastai 我们的目标范围是多少，使用`y_range`参数。\n\n虽然我们实际上并没有使用预训练模型（和表格模型一样的原因），但这个例子显示了 fastai 在这种情况下仍然让我们使用`fine_tune`（您将在第五章中学习到这是如何以及为什么有效）。有时最好尝试`fine_tune`和`fit_one_cycle`，看看哪个对您的数据集效果更好。\n\n我们可以使用之前看到的相同的`show_results`调用来查看一些用户和电影 ID、实际评分和预测：\n\n```py\nlearn.show_results()\n```\n\n|  | userId | movieId | rating | rating_pred |\n| --- | --- | --- | --- | --- |\n| 0 | 157 | 1200 | 4.0 | 3.558502 |\n| 1 | 23 | 344 | 2.0 | 2.700709 |\n| 2 | 19 | 1221 | 5.0 | 4.390801 |\n| 3 | 430 | 592 | 3.5 | 3.944848 |\n| 4 | 547 | 858 | 4.0 | 4.076881 |\n| 5 | 292 | 39 | 4.5 | 3.753513 |\n| 6 | 529 | 1265 | 4.0 | 3.349463 |\n| 7 | 19 | 231 | 3.0 | 2.881087 |\n| 8 | 475 | 4963 | 4.0 | 4.023387 |\n| 9 | 130 | 260 | 4.5 | 3.979703 |\n\n我们训练的每个模型都显示了训练和验证损失。一个好的验证集是训练过程中最重要的部分之一。让我们看看为什么，并学习如何创建一个。\n\n# 验证集和测试集\n\n正如我们所讨论的，模型的目标是对数据进行预测。但模型训练过程基本上是愚蠢的。如果我们用所有的数据训练一个模型，然后使用同样的数据评估模型，我们将无法判断我们的模型在未见过的数据上表现如何。没有这个非常宝贵的信息来指导我们训练模型，很有可能模型会擅长对这些数据进行预测，但在新数据上表现不佳。\n\n为了避免这种情况，我们的第一步是将数据集分成两组：*训练集*（模型在训练中看到的）和*验证集*，也称为*开发集*（仅用于评估）。这样我们可以测试模型是否从训练数据中学到的经验可以推广到新数据，即验证数据。\n\n理解这种情况的一种方式是，在某种意义上，我们不希望我们的模型通过“作弊”来获得好的结果。如果它对一个数据项做出准确的预测，那应该是因为它已经学到了那种类型的特征，而不是因为模型已经被*实际看到那个特定项*所塑造。\n\n将验证数据集分离出来意味着我们的模型在训练中从未见过它，因此完全没有被它污染，并且没有以任何方式作弊。对吧？\n\n实际上，并非一定如此。情况更为微妙。这是因为在现实场景中，我们很少仅通过一次训练参数来构建模型。相反，我们可能通过各种建模选择来探索模型的许多版本，包括网络架构、学习率、数据增强策略等因素，我们将在接下来的章节中讨论。其中许多选择可以描述为*超参数*的选择。这个词反映了它们是关于参数的参数，因为它们是控制权重参数含义的高级选择。\n\n问题在于，即使普通的训练过程只看训练数据的预测结果来学习权重参数的值，我们却不是这样。作为建模者，当我们决定探索新的超参数值时，我们通过查看验证数据的预测结果来评估模型！因此，模型的后续版本间接地受到我们看到验证数据的影响。就像自动训练过程有过拟合训练数据的危险一样，我们通过人为试错和探索有过拟合验证数据的危险。\n\n解决这个难题的方法是引入另一个更高度保留数据的层级：*测试集*。就像我们在训练过程中保留验证数据一样，我们必须连自己都不使用测试集数据。它不能用来改进模型；它只能在我们努力的最后阶段用来评估模型。实际上，我们定义了一个基于我们希望如何完全隐藏数据的层次结构：训练数据完全暴露，验证数据较少暴露，测试数据完全隐藏。这种层次结构与不同种类的建模和评估过程本身相对应——自动训练过程与反向传播，尝试不同超参数之间的更手动过程，以及我们最终结果的评估。\n\n测试集和验证集应该有足够的数据来确保您对准确性有一个良好的估计。例如，如果您正在创建一个猫检测器，通常您希望验证集中至少有 30 只猫。这意味着如果您有数千个项目的数据集，使用默认的 20%验证集大小可能超出您的需求。另一方面，如果您有大量数据，将其中一部分用于验证可能没有任何不利之处。\n\n拥有两个级别的“保留数据”——验证集和测试集，其中一个级别代表您几乎隐藏自己的数据——可能看起来有点极端。但通常是必要的，因为模型往往倾向于朝着做出良好预测的最简单方式（记忆）发展，而我们作为易犯错误的人类往往倾向于欺骗自己关于我们的模型表现如何。测试集的纪律帮助我们保持思想上的诚实。这并不意味着我们*总是*需要一个单独的测试集——如果您的数据很少，您可能只需要一个验证集——但通常最好尽可能使用一个。\n\n如果您打算雇用第三方代表您进行建模工作，这种纪律也可能至关重要。第三方可能无法准确理解您的要求，或者他们的激励甚至可能鼓励他们误解。一个好的测试集可以极大地减轻这些风险，并让您评估他们的工作是否解决了您实际的问题。\n\n直截了当地说，如果你是组织中的高级决策者（或者你正在为高级决策者提供建议），最重要的要点是：如果你确保真正理解测试和验证集以及它们的重要性，你将避免我们看到的组织决定使用 AI 时最大的失败源。例如，如果你考虑引入外部供应商或服务，请确保保留一些测试数据，供供应商*永远看不到*。然后*你*在你的测试数据上检查他们的模型，使用*你*根据实际情况选择的度量标准，并*你*决定什么水平的性能是足够的。（你自己尝试一个简单的基线也是个好主意，这样你就知道一个真正简单的模型能够实现什么。通常情况下，你的简单模型的表现会和外部“专家”制作的模型一样好！）\n\n## 在定义测试集时要有判断力\n\n要很好地定义验证集（以及可能的测试集），有时你需要做的不仅仅是随机抽取原始数据集的一部分。记住：验证和测试集的一个关键特性是它们必须代表你将来看到的新数据。这听起来可能像一个不可能的要求！根据定义，你还没有看到这些数据。但通常你仍然会知道一些事情。\n\n看一些例子是很有启发性的。这些例子中的许多来自于[*Kaggle*平台](https://www.kaggle.com)上的预测建模竞赛，这是你可能在实践中看到的问题和方法的很好代表。\n\n一个情况可能是当你在查看时间序列数据时。对于时间序列，选择数据的随机子集既太容易（你可以查看你试图预测的日期之前和之后的数据），又不代表大多数业务用例（在这些用例中，你使用历史数据构建模型以供将来使用）。如果你的数据包含日期，并且你正在构建一个将来使用的模型，你将希望选择最新日期的连续部分作为验证集（例如，可用数据的最后两周或最后一个月）。\n\n假设你想将图 1-19 中的时间序列数据分成训练集和验证集。\n\n![一系列数值](img/dlcf_0119.png)\n\n###### 图 1-19. 一个时间序列\n\n一个随机子集是一个糟糕的选择（填补缺失太容易，且不代表你在生产中所需的），正如我们在图 1-20 中所看到的。\n\n![随机训练子集](img/dlcf_0120.png)\n\n###### 图 1-20. 一个糟糕的训练子集\n\n相反，使用早期数据作为训练集（以及后期数据作为验证集），如图 1-21 所示。\n\n![使用直到某个时间戳的数据作为训练子集](img/dlcf_0121.png)\n\n###### 图 1-21. 一个好的训练子集\n\n例如，Kaggle 曾举办一场竞赛，要求[预测厄瓜多尔杂货店连锁店的销售额](https://oreil.ly/UQoXe)。 Kaggle 的训练数据从 2013 年 1 月 1 日到 2017 年 8 月 15 日，测试数据跨越了 2017 年 8 月 16 日到 2017 年 8 月 31 日。这样，竞赛组织者确保参赛者在*未来*时间段进行预测，从他们模型的角度来看。这类似于量化对冲基金交易员进行*回测*，以检查他们的模型是否能够根据过去的数据预测未来的时间段。\n\n第二种常见情况是，当你可以很容易地预见到你将用来训练模型的数据与你将在生产中进行预测的数据可能在质量上有所不同时。\n\n在 Kaggle [分心司机比赛](https://oreil.ly/zT_tC)中，自变量是司机在车轮上的照片，因变量是文本、吃东西或安全地向前看等类别。很多照片是同一司机在不同位置的照片，正如我们在图 1-22 中所看到的。如果你是一家保险公司根据这些数据构建模型，注意你最感兴趣的是模型在未见过的司机身上的表现（因为你可能只有一小部分人的训练数据）。为此，比赛的测试数据包括那些在训练集中没有出现的人的图像。\n\n![来自训练数据的两张图片，展示同一个司机](img/dlcf_0122.png)\n\n###### 图 1-22\\. 训练数据中的两张图片\n\n如果你将图 1-22 中的一张图片放入训练集，另一张放入验证集，你的模型将更容易预测验证集中的那张图片，因此它看起来表现得比在新人身上更好。另一个角度是，如果你在训练模型时使用了所有人，你的模型可能会过度拟合这些特定人的特点，而不仅仅是学习状态（发短信、吃东西等）。\n\n在[Kaggle 渔业比赛](https://oreil.ly/iJwFf)中，也存在类似的动态，目的是识别渔船捕捞的鱼类物种，以减少对濒临灭绝种群的非法捕捞。测试集包括来自训练数据中没有出现的船只的图像，因此在这种情况下，你希望你的验证集也包括训练集中没有的船只。\n\n有时可能不清楚你的验证数据会有什么不同。例如，对于使用卫星图像的问题，你需要收集更多信息，了解训练集是否只包含某些地理位置或来自地理分散的数据。\n\n现在你已经尝试了如何构建模型，你可以决定接下来想深入研究什么。\n\n# 一个*选择你自己的冒险*时刻\n\n如果你想了解如何在实践中使用深度学习模型，包括如何识别和修复错误、创建一个真正的工作网络应用程序，并避免你的模型对你的组织或社会造成意外伤害，那么请继续阅读接下来的两章。如果你想开始学习深度学习在幕后是如何工作的基础知识，请跳到第四章。（你小时候有读过*选择你自己的冒险*系列书吗？嗯，这有点像那个……只不过比那本书系列包含更多的深度学习。）\n\n你需要阅读所有这些章节才能在书中进一步前进，但你阅读它们的顺序完全取决于你。它们不相互依赖。如果你跳到第四章，我们会在最后提醒你回来阅读你跳过的章节，然后再继续前进。\n\n# 问卷调查\n\n阅读了一页又一页的散文之后，很难知道你真正需要专注和记住的关键事项。因此，我们准备了一份问题列表和建议的步骤清单，供你在每章末完成。所有答案都在章节的文本中，所以如果你对这里的任何事情不确定，重新阅读文本的那部分，并确保你理解了它。所有这些问题的答案也可以在[书的网站](https://book.fast.ai)上找到。如果你遇到困难，也可以访问[论坛](https://forums.fast.ai)寻求其他学习这些材料的人的帮助。\n\n1.  你需要这些来进行深度学习吗？\n\n    +   很多数学 T/F\n\n    +   很多数据 T/F\n\n    +   很多昂贵的电脑 T/F\n\n    +   一个博士学位 T/F\n\n1.  列出深度学习现在是世界上最好的工具的五个领域。\n\n1.  第一个基于人工神经元原理的设备的名称是什么？\n\n1.  根据同名书籍，分布式并行处理（PDP）的要求是什么？\n\n1.  是什么两个理论误解阻碍了神经网络领域的发展？\n\n1.  什么是 GPU？\n\n1.  打开一个笔记本并执行包含：`1+1` 的单元格。会发生什么？\n\n1.  跟随本章笔记本的精简版本中的每个单元格。在执行每个单元格之前，猜测会发生什么。\n\n1.  完成[Jupyter Notebook 在线附录](https://oreil.ly/9uPZe)。\n\n1.  为什么使用传统计算机程序来识别照片中的图像很困难？\n\n1.  塞缪尔所说的“权重分配”是什么意思？\n\n1.  在深度学习中，我们通常用什么术语来表示塞缪尔所说的“权重”？\n\n1.  画一幅总结塞缪尔对机器学习模型看法的图片。\n\n1.  为什么很难理解深度学习模型为什么会做出特定的预测？\n\n1.  展示了一个定理的名称，该定理表明神经网络可以解决任何数学问题并达到任何精度水平是什么？\n\n1.  为了训练模型，您需要什么？\n\n1.  反馈循环如何影响预测性警务模型的推出？\n\n1.  我们在猫识别模型中总是需要使用 224×224 像素的图像吗？\n\n1.  分类和回归之间有什么区别？\n\n1.  什么是验证集？什么是测试集？为什么我们需要它们？\n\n1.  如果不提供验证集，fastai 会怎么做？\n\n1.  我们总是可以使用随机样本作为验证集吗？为什么或为什么不？\n\n1.  什么是过拟合？举个例子。\n\n1.  什么是度量？它与损失有什么不同？\n\n1.  预训练模型如何帮助？\n\n1.  模型的“头”是什么？\n\n1.  CNN 的早期层找到了什么样的特征？后期层呢？\n\n1.  图像模型仅对照片有用吗？\n\n1.  什么是架构？\n\n1.  什么是分割？\n\n1.  `y_range` 用于什么？什么时候需要它？\n\n1.  什么是超参数？\n\n1.  在组织中使用 AI 时避免失败的最佳方法是什么？\n\n## 进一步研究\n\n每章还有一个“进一步研究”部分，提出了一些在文本中没有完全回答的问题，或者给出了更高级的任务。这些问题的答案不在书的网站上；您需要自己进行研究！\n\n1.  为什么 GPU 对深度学习有用？CPU 有什么不同之处，为什么对深度学习效果不佳？\n\n1.  试着想出三个反馈循环可能影响机器学习使用的领域。看看是否能找到实践中发生这种情况的文档示例。\n"
  },
  {
    "path": "translations/cn/02_production.md",
    "content": "# 第二章：从模型到生产\n\n\n\n我们在第一章中看到的六行代码只是在实践中使用深度学习过程的一小部分。在本章中，我们将使用一个计算机视觉示例来查看创建深度学习应用的端到端过程。更具体地说，我们将构建一个熊分类器！在这个过程中，我们将讨论深度学习的能力和限制，探讨如何创建数据集，在实践中使用深度学习时可能遇到的问题等等。许多关键点同样适用于其他深度学习问题，例如第一章中的问题。如果您解决的问题在关键方面类似于我们的示例问题，我们期望您可以快速获得极好的结果，而只需很少的代码。\n\n让我们从如何构建您的问题开始。\n\n# 深度学习的实践\n\n我们已经看到深度学习可以快速解决许多具有挑战性的问题，并且只需很少的代码。作为初学者，有一些问题与我们的示例问题足够相似，以便您可以非常快速地获得极其有用的结果。然而，深度学习并不是魔法！同样的六行代码不会适用于今天任何人可以想到的每个问题。\n\n低估深度学习的限制并高估其能力可能导致令人沮丧的糟糕结果，至少在您获得一些经验并能解决出现的问题之前。相反，高估深度学习的限制并低估其能力可能意味着您不会尝试可解决的问题，因为您自己否定了它。\n\n我们经常与低估深度学习的限制和能力的人交谈。这两者都可能是问题：低估能力意味着您可能甚至不会尝试可能非常有益的事情，而低估限制可能意味着您未能考虑和应对重要问题。\n\n最好的做法是保持开放的心态。如果您对深度学习可能以比您预期的更少的数据或复杂性解决部分问题持开放态度，您可以设计一个过程，通过该过程您可以找到与您特定问题相关的特定能力和限制。这并不意味着进行任何冒险的赌注-我们将向您展示如何逐渐推出模型，以便它们不会带来重大风险，并且甚至可以在投入生产之前对其进行回测。\n\n## 开始您的项目\n\n那么您应该从哪里开始深度学习之旅呢？最重要的是确保您有一个要处理的项目-只有通过处理自己的项目，您才能获得构建和使用模型的真实经验。在选择项目时，最重要的考虑因素是数据的可用性。\n\n无论您是为了自己的学习还是为了在组织中的实际应用而进行项目，您都希望能够快速开始。我们看到许多学生、研究人员和行业从业者在试图找到他们完美的数据集时浪费了几个月甚至几年的时间。目标不是找到“完美”的数据集或项目，而只是开始并从那里迭代。如果您采取这种方法，您将在完美主义者仍处于规划阶段时进行第三次迭代学习和改进！\n\n我们还建议您在项目中端到端迭代；不要花几个月来微调您的模型，或打磨完美的 GUI，或标记完美的数据集……相反，尽可能在合理的时间内完成每一步，一直到最后。例如，如果您的最终目标是一个在手机上运行的应用程序，那么每次迭代后您都应该拥有这个。但也许在早期迭代中您会采取捷径；例如，在远程服务器上进行所有处理，并使用简单的响应式 Web 应用程序。通过完成项目的端到端，您将看到最棘手的部分在哪里，以及哪些部分对最终结果产生最大影响。\n\n当您阅读本书时，我们建议您完成许多小实验，通过运行和调整我们提供的笔记本，同时逐渐开发自己的项目。这样，您将获得所有我们解释的工具和技术的经验，同时我们讨论它们。\n\n# Sylvain 说\n\n为了充分利用这本书，花时间在每一章之间进行实验，无论是在您自己的项目上还是通过探索我们提供的笔记本。然后尝试在新数据集上从头开始重写这些笔记本。只有通过大量练习（和失败），您才能培养出如何训练模型的直觉。\n\n通过使用端到端迭代方法，您还将更好地了解您实际需要多少数据。例如，您可能会发现您只能轻松获得 200 个标记数据项，而在尝试之前，您无法真正知道这是否足以使您的应用在实践中良好运行。\n\n在组织环境中，您可以通过展示一个真实的工作原型来向同事展示您的想法是可行的。我们反复观察到，这是获得项目良好组织支持的秘诀。\n\n由于最容易开始的项目是您已经有数据可用的项目，这意味着最容易开始的项目可能与您已经在做的事情相关，因为您已经有关于您正在做的事情的数据。例如，如果您在音乐行业工作，您可能可以访问许多录音。如果您是放射科医生，您可能可以访问大量医学图像。如果您对野生动物保护感兴趣，您可能可以访问大量野生动物图像。\n\n有时您必须有点创造性。也许您可以找到一个先前的机器学习项目，比如一个与您感兴趣的领域相关的 Kaggle 竞赛。有时您必须做出妥协。也许您找不到您所需的确切数据来完成您心中的项目；但您可能会找到一些来自类似领域的数据，或者以不同方式测量的数据，解决一个略有不同的问题。在这些类似项目上工作仍然会让您对整个过程有很好的理解，并可能帮助您识别其他捷径、数据来源等。\n\n特别是当您刚开始学习深度学习时，最好不要涉足非常不同的领域，不要涉足深度学习之前未应用的领域。因为如果您的模型一开始就不起作用，您将不知道是因为您犯了错误，还是您试图解决的问题根本无法用深度学习解决。您也不知道从哪里寻求帮助。因此，最好首先找到在线的一个例子，该例子已经取得了良好的结果，并且至少与您尝试实现的目标有些相似，通过将您的数据转换为其他人以前使用过的格式（例如从您的数据创建图像）。让我们看看深度学习的现状，这样您就知道深度学习目前擅长的领域。\n\n## 深度学习的现状\n\n让我们首先考虑深度学习是否能够解决您要解决的问题。本节概述了 2020 年初深度学习的现状。然而，事情发展得非常快，当您阅读本文时，其中一些限制可能已经不存在。我们将尽力保持本书网站的最新信息；此外，搜索“AI 现在能做什么”可能会提供当前信息。\n\n### 计算机视觉\n\n深度学习尚未用于分析图像的许多领域，但在已经尝试过的领域中，几乎普遍表明计算机可以至少与人类一样好地识别图像中的物品，甚至是经过专门训练的人，如放射科医生。这被称为*物体识别*。深度学习还擅长识别图像中物体的位置，并可以突出它们的位置并命名每个找到的物体。这被称为*物体检测*（在我们在第一章中看到的变体中，每个像素根据其所属的对象类型进行分类—这被称为*分割*）。\n\n深度学习算法通常不擅长识别结构或风格与用于训练模型的图像明显不同的图像。例如，如果训练数据中没有黑白图像，模型可能在黑白图像上表现不佳。同样，如果训练数据不包含手绘图像，模型可能在手绘图像上表现不佳。没有一般方法可以检查训练集中缺少哪些类型的图像，但我们将在本章中展示一些方法，以尝试识别当模型在生产中使用时数据中出现意外图像类型的情况（这被称为检查*域外*数据）。\n\n物体检测系统面临的一个主要挑战是图像标记可能会很慢且昂贵。目前有很多工作正在进行中，旨在开发工具以尝试使这种标记更快速、更容易，并且需要更少的手工标签来训练准确的物体检测模型。一个特别有帮助的方法是合成生成输入图像的变化，例如通过旋转它们或改变它们的亮度和对比度；这被称为*数据增强*，并且对文本和其他类型的模型也很有效。我们将在本章中详细讨论这一点。\n\n另一个要考虑的问题是，尽管您的问题可能看起来不像是一个计算机视觉问题，但通过一点想象力可能可以将其转变为一个。例如，如果您要分类的是声音，您可以尝试将声音转换为其声学波形的图像，然后在这些图像上训练模型。\n\n### 自然语言处理\n\n计算机擅长基于类别对短文档和长文档进行分类，例如垃圾邮件或非垃圾邮件、情感（例如，评论是积极的还是消极的）、作者、来源网站等。我们不知道在这个领域是否有任何严格的工作来比较计算机和人类，但从经验上看，我们认为深度学习的性能在这些任务上与人类的性能相似。\n\n深度学习还擅长生成与上下文相关的文本，例如回复社交媒体帖子，并模仿特定作者的风格。它还擅长使这些内容对人类具有吸引力—事实上，甚至比人类生成的文本更具吸引力。然而，深度学习不擅长生成*正确*的回应！例如，我们没有可靠的方法来将医学信息知识库与深度学习模型结合起来，以生成医学上正确的自然语言回应。这是危险的，因为很容易创建对外行人看来具有吸引力但实际上完全不正确的内容。\n\n另一个问题是，社交媒体上的上下文适当、高度引人入胜的回应可能被大规模使用——比以前见过的任何喷子农场规模大几千倍——来传播虚假信息，制造动荡，鼓励冲突。一般来说，文本生成模型总是在技术上略领先于识别自动生成文本的模型。例如，可以使用一个能够识别人工生成内容的模型来实际改进创建该内容的生成器，直到分类模型无法完成其任务为止。\n\n尽管存在这些问题，深度学习在自然语言处理中有许多应用：可以用来将文本从一种语言翻译成另一种语言，将长篇文档总结为更快消化的内容，找到感兴趣概念的所有提及等。不幸的是，翻译或总结可能包含完全错误的信息！然而，性能已经足够好，许多人正在使用这些系统——例如，谷歌的在线翻译系统（以及我们所知道的每个其他在线服务）都是基于深度学习的。\n\n### 结合文本和图像\n\n深度学习将文本和图像结合成一个单一模型的能力通常比大多数人直觉期望的要好得多。例如，一个深度学习模型可以在输入图像上进行训练，输出用英语编写的标题，并且可以学会为新图像自动生成令人惊讶地适当的标题！但是，我们再次提出与前一节讨论的相同警告：不能保证这些标题是正确的。\n\n由于这个严重问题，我们通常建议深度学习不要作为完全自动化的过程，而是作为模型和人类用户密切互动的过程的一部分。这可能使人类的生产力比完全手动方法高出几个数量级，并且比仅使用人类更准确。\n\n例如，自动系统可以直接从 CT 扫描中识别潜在的中风患者，并发送高优先级警报，以便快速查看这些扫描。治疗中风只有三个小时的时间窗口，因此这种快速的反馈循环可以挽救生命。同时，所有扫描仍然可以按照通常的方式发送给放射科医生，因此不会减少人类的参与。其他深度学习模型可以自动测量扫描中看到的物品，并将这些测量结果插入报告中，警告放射科医生可能错过的发现，并告诉他们可能相关的其他病例。\n\n### 表格数据\n\n对于分析时间序列和表格数据，深度学习最近取得了巨大进展。然而，深度学习通常作为多种模型集成的一部分使用。如果您已经有一个正在使用随机森林或梯度提升机（流行的表格建模工具，您很快将了解）的系统，那么切换到或添加深度学习可能不会带来任何显著的改进。\n\n深度学习确实大大增加了您可以包含的列的种类——例如，包含自然语言（书名、评论等）和高基数分类列（即包含大量离散选择的内容，如邮政编码或产品 ID）。不过，与随机森林或梯度提升机相比，深度学习模型通常需要更长的训练时间，尽管由于提供 GPU 加速的库（如[RAPIDS](https://rapids.ai)），情况正在改变。我们在第九章中详细介绍了所有这些方法的优缺点。\n\n### 推荐系统\n\n推荐系统实际上只是一种特殊类型的表格数据。特别是，它们通常具有代表用户的高基数分类变量，以及代表产品（或类似物品）的另一个变量。像亚马逊这样的公司将客户所做的每一次购买都表示为一个巨大的稀疏矩阵，其中客户是行，产品是列。一旦他们以这种格式拥有数据，数据科学家们会应用某种形式的协同过滤来*填充矩阵*。例如，如果客户 A 购买产品 1 和 10，客户 B 购买产品 1、2、4 和 10，引擎将推荐 A 购买 2 和 4。\n\n由于深度学习模型擅长处理高基数分类变量，它们非常擅长处理推荐系统。尤其是当将这些变量与其他类型的数据（如自然语言或图像）结合时，它们就像处理表格数据一样发挥作用。它们还可以很好地将所有这些类型的信息与其他元数据（如用户信息、先前交易等）表示为表格进行组合。\n\n然而，几乎所有的机器学习方法都有一个缺点，那就是它们只告诉你一个特定用户可能喜欢哪些产品，而不是对用户有用的推荐。用户可能喜欢的产品的许多种推荐可能根本不会有任何帮助——例如，如果用户已经熟悉这些产品，或者如果它们只是用户已经购买过的产品的不同包装（例如，当他们已经拥有该套装中的每一件物品时，推荐一个小说的套装）。Jeremy 喜欢读特里·普拉切特的书，有一段时间亚马逊一直在向他推荐特里·普拉切特的书（见图 2-1），这实际上并不是有用的，因为他已经知道这些书了！\n\n![特里·普拉切特的书推荐](img/dlcf_0201.png)\n\n###### 图 2-1. 一个不太有用的推荐\n\n### 其他数据类型\n\n通常，您会发现特定领域的数据类型非常适合现有的类别。例如，蛋白质链看起来很像自然语言文档，因为它们是由复杂关系和意义贯穿整个序列的离散令牌组成的长序列。事实上，使用 NLP 深度学习方法是许多类型蛋白质分析的最先进方法。另一个例子，声音可以表示为频谱图，可以被视为图像；标准的图像深度学习方法在频谱图上表现得非常好。\n\n## 驱动系统方法\n\n许多准确的模型对任何人都没有用，而许多不准确的模型却非常有用。为了确保您的建模工作在实践中有用，您需要考虑您的工作将如何使用。2012 年，Jeremy 与 Margit Zwemer 和 Mike Loukides 一起提出了一种称为*驱动系统方法*的思考这个问题的方法。\n\n驱动系统方法，如图 2-2 所示，详细介绍在[“设计出色的数据产品”](https://oreil.ly/KJIIa)中。基本思想是从考虑您的目标开始，然后考虑您可以采取哪些行动来实现该目标以及您拥有的（或可以获取的）可以帮助的数据，然后构建一个模型，您可以使用该模型确定为实现目标而采取的最佳行动。\n\n![](img/dlcf_0202.png)\n\n###### 图 2-2. 驱动系统方法\n\n考虑自动驾驶汽车中的模型：您希望帮助汽车安全地从 A 点驾驶到 B 点，而无需人为干预。出色的预测建模是解决方案的重要组成部分，但它并不是独立存在的；随着产品变得更加复杂，它会消失在管道中。使用自动驾驶汽车的人完全不知道使其运行的数百（甚至数千）个模型和海量数据。但随着数据科学家构建越来越复杂的产品，他们需要一种系统化的设计方法。\n\n我们使用数据不仅仅是为了生成更多数据（以预测的形式），而是为了产生可操作的结果。这是 Drivetrain 方法的目标。首先要明确定义一个明确的目标。例如，当谷歌创建其第一个搜索引擎时，考虑了“用户在输入搜索查询时的主要目标是什么？”这导致了谷歌的目标，即“显示最相关的搜索结果”。下一步是考虑您可以拉动的杠杆（即您可以采取的行动）以更好地实现该目标。在谷歌的情况下，这是搜索结果的排名。第三步是考虑他们需要什么新数据来生成这样的排名；他们意识到关于哪些页面链接到哪些其他页面的隐含信息可以用于此目的。\n\n只有在完成了这前三个步骤之后，我们才开始考虑构建预测模型。我们的目标和可用的杠杆，我们已经拥有的数据以及我们需要收集的额外数据，决定了我们可以构建的模型。这些模型将以杠杆和任何不可控变量作为输入；模型的输出可以结合起来预测我们的目标的最终状态。\n\n让我们考虑另一个例子：推荐系统。推荐引擎的目标是通过推荐客户不会在没有推荐的情况下购买的物品来推动额外的销售。杠杆是推荐的排名。必须收集新数据以生成将导致新销售的推荐。这将需要进行许多随机实验，以收集关于各种客户的各种推荐的数据。这是很少有组织采取的一步；但是没有它，您就没有所需的信息来根据您的真正目标（更多销售！）优化推荐。\n\n最后，您可以为购买概率构建两个模型，条件是看到或没有看到推荐。这两个概率之间的差异是给定推荐给客户的效用函数。在算法推荐客户已经拒绝的熟悉书籍（两个组成部分都很小）或者他们本来就会购买的书籍（两个组成部分都很大并互相抵消）的情况下，效用函数会很低。\n\n正如您所看到的，在实践中，您的模型的实际实施通常需要比仅仅训练一个模型更多！您通常需要运行实验来收集更多数据，并考虑如何将您的模型整合到您正在开发的整个系统中。说到数据，现在让我们专注于如何为您的项目找到数据。\n\n# 收集数据\n\n对于许多类型的项目，您可能能够在线找到所需的所有数据。本章中我们将完成的项目是一个“熊探测器”。它将区分三种类型的熊：灰熊、黑熊和泰迪熊。互联网上有许多每种类型熊的图片可供我们使用。我们只需要找到它们并下载它们。\n\n我们提供了一个工具供您使用，这样您就可以跟随本章并为您感兴趣的任何对象创建自己的图像识别应用程序。在 fast.ai 课程中，成千上万的学生在课程论坛上展示了他们的作品，展示了从特立尼达的蜂鸟品种到巴拿马的公交车类型的一切——甚至有一名学生创建了一个应用程序，可以帮助他的未婚妻在圣诞假期期间认出他的 16 个表兄弟！\n\n在撰写本文时，Bing 图像搜索是我们知道的用于查找和下载图像的最佳选择。每月免费提供最多 1,000 次查询，每次查询可下载最多 150 张图片。然而，在我们撰写本书时和您阅读本书时之间可能会出现更好的选择，因此请务必查看本[书籍网站](https://book.fast.ai)以获取我们当前的推荐。\n\n# 与最新服务保持联系\n\n用于创建数据集的服务时常变化，它们的功能、接口和定价也经常变化。在本节中，我们将展示如何在撰写本书时作为 Azure 认知服务一部分提供的[Bing 图像搜索 API](https://oreil.ly/P8VtT)。\n\n要使用 Bing 图像搜索下载图像，请在 Microsoft 注册一个免费帐户。您将获得一个密钥，您可以将其复制并输入到一个单元格中（用您的密钥替换*`XXX`*并执行）：\n\n```py\nkey = 'XXX'\n```\n\n或者，如果您在命令行上感到自在，您可以在终端中设置它\n\n```py\nexport AZURE_SEARCH_KEY=*your_key_here*\n```\n\n然后重新启动 Jupyter 服务器，在一个单元格中键入以下内容，并执行：\n\n```py\nkey = os.environ['AZURE_SEARCH_KEY']\n```\n\n设置了`key`之后，您可以使用`search_images_bing`。这个函数是在线笔记本中包含的小`utils`类提供的（如果您不确定一个函数是在哪里定义的，您可以在笔记本中输入它来找出，如下所示）：\n\n```py\nsearch_images_bing\n```\n\n```py\n<function utils.search_images_bing(key, term, min_sz=128)>\n```\n\n让我们尝试一下这个函数：\n\n```py\nresults = search_images_bing(key, 'grizzly bear')\nims = results.attrgot('content_url')\nlen(ims)\n```\n\n```py\n150\n```\n\n我们已成功下载了 150 只灰熊的 URL（或者至少是 Bing 图像搜索为该搜索词找到的图像）。让我们看一个：\n\n```py\ndest = 'images/grizzly.jpg'\ndownload_url(ims[0], dest)\n```\n\n```py\nim = Image.open(dest)\nim.to_thumb(128,128)\n```\n\n![](img/dlcf_02in01.png)\n\n这似乎运行得很好，所以让我们使用 fastai 的`download_images`来下载每个搜索词的所有 URL。我们将每个放在一个单独的文件夹中：\n\n```py\nbear_types = 'grizzly','black','teddy'\npath = Path('bears')\n```\n\n```py\nif not path.exists():\n    path.mkdir()\n    for o in bear_types:\n        dest = (path/o)\n        dest.mkdir(exist_ok=True)\n        results = search_images_bing(key, f'{o} bear')\n        download_images(dest, urls=results.attrgot('content_url'))\n```\n\n我们的文件夹中有图像文件，正如我们所期望的那样：\n\n```py\nfns = get_image_files(path)\nfns\n```\n\n```py\n(#421) [Path('bears/black/00000095.jpg'),Path('bears/black/00000133.jpg'),Path('\n > bears/black/00000062.jpg'),Path('bears/black/00000023.jpg'),Path('bears/black\n > /00000029.jpg'),Path('bears/black/00000094.jpg'),Path('bears/black/00000124.j\n > pg'),Path('bears/black/00000056.jpeg'),Path('bears/black/00000046.jpg'),Path(\n > 'bears/black/00000045.jpg')...]\n```\n\n# Jeremy 说\n\n我就是喜欢在 Jupyter 笔记本中工作的这一点！逐步构建我想要的东西并在每一步检查我的工作是如此容易。我犯了*很多*错误，所以这对我真的很有帮助。\n\n通常当我们从互联网下载文件时，会有一些文件损坏。让我们检查一下：\n\n```py\nfailed = verify_images(fns)\nfailed\n```\n\n```py\n(#0) []\n```\n\n要删除所有失败的图像，您可以使用`unlink`。像大多数返回集合的 fastai 函数一样，`verify_images`返回一个类型为`L`的对象，其中包括`map`方法。这会在集合的每个元素上调用传递的函数：\n\n```py\nfailed.map(Path.unlink);\n```\n\n在这个过程中要注意的一件事是：正如我们在第一章中讨论的，模型只能反映用于训练它们的数据。而世界充满了有偏见的数据，这最终会反映在，例如，Bing 图像搜索（我们用来创建数据集的）。例如，假设您有兴趣创建一个应用程序，可以帮助用户确定他们是否拥有健康的皮肤，因此您训练了一个模型，该模型基于搜索结果（比如）“健康皮肤”。图 2-3 展示了您将获得的结果类型。\n\n![](img/dlcf_0203.png)\n\n###### 图 2-3\\. 用于健康皮肤检测器的数据？\n\n使用此作为训练数据，您最终不会得到一个健康皮肤检测器，而是一个*年轻白人女性触摸她的脸*检测器！一定要仔细考虑您可能在应用程序中实际看到的数据类型，并仔细检查以确保所有这些类型都反映在您模型的源数据中。（感谢 Deb Raji 提出了健康皮肤的例子。请查看她的论文[“可操作的审计：调查公开命名商业 AI 产品偏见性能结果的影响”](https://oreil.ly/POS_C)以获取更多有关模型偏见的迷人见解。）\n\n现在我们已经下载了一些数据，我们需要将其组装成适合模型训练的格式。在 fastai 中，这意味着创建一个名为`DataLoaders`的对象。\n\n# 从数据到数据加载器\n\n`DataLoaders`是一个简单的类，只是存储您传递给它的`DataLoader`对象，并将它们作为`train`和`valid`可用。尽管它是一个简单的类，但在 fastai 中非常重要：它为您的模型提供数据。`DataLoaders`中的关键功能仅用这四行代码提供（它还有一些其他次要功能我们暂时跳过）：\n\n```py\nclass DataLoaders(GetAttr):\n    def __init__(self, *loaders): self.loaders = loaders\n    def __getitem__(self, i): return self.loaders[i]\n    train,valid = add_props(lambda i,self: self[i])\n```\n\n# 术语：DataLoaders\n\n一个 fastai 类，存储您传递给它的多个`DataLoader`对象——通常是一个`train`和一个`valid`，尽管可以有任意数量。前两个作为属性提供。\n\n在本书的后面，您还将了解`Dataset`和`Datasets`类，它们具有相同的关系。要将我们下载的数据转换为`DataLoaders`对象，我们至少需要告诉 fastai 四件事：\n\n+   我们正在处理什么类型的数据\n\n+   如何获取项目列表\n\n+   如何为这些项目打标签\n\n+   如何创建验证集\n\n到目前为止，我们已经看到了一些特定组合的*工厂方法*，当您有一个应用程序和数据结构恰好适合这些预定义方法时，这些方法非常方便。当您不适用时，fastai 有一个名为*数据块 API*的极其灵活的系统。使用此 API，您可以完全自定义创建`DataLoaders`的每个阶段。这是我们需要为刚刚下载的数据集创建`DataLoaders`的步骤：\n\n```py\nbears = DataBlock(\n    blocks=(ImageBlock, CategoryBlock),\n    get_items=get_image_files,\n    splitter=RandomSplitter(valid_pct=0.2, seed=42),\n    get_y=parent_label,\n    item_tfms=Resize(128))\n```\n\n让我们依次查看每个参数。首先，我们提供一个元组，指定我们希望独立变量和因变量的类型：\n\n```py\nblocks=(ImageBlock, CategoryBlock)\n```\n\n*独立变量*是我们用来进行预测的东西，*因变量*是我们的目标。在这种情况下，我们的独立变量是一组图像，我们的因变量是每个图像的类别（熊的类型）。在本书的其余部分中，我们将看到许多其他类型的块。\n\n对于这个`DataLoaders`，我们的基础项目将是文件路径。我们必须告诉 fastai 如何获取这些文件的列表。`get_image_files`函数接受一个路径，并返回该路径中所有图像的列表（默认情况下递归）：\n\n```py\nget_items=get_image_files\n```\n\n通常，您下载的数据集已经定义了验证集。有时，这是通过将用于训练和验证集的图像放入不同的文件夹中来完成的。有时，这是通过提供一个 CSV 文件，在该文件中，每个文件名都与应该在其中的数据集一起列出。有许多可以完成此操作的方法，fastai 提供了一种通用方法，允许您使用其预定义类之一或编写自己的类。\n\n在这种情况下，我们希望随机拆分我们的训练和验证集。但是，我们希望每次运行此笔记本时都具有相同的训练/验证拆分，因此我们固定随机种子（计算机实际上不知道如何创建随机数，而只是创建看起来随机的数字列表；如果您每次都为该列表提供相同的起始点——称为*种子*，那么您将每次都获得完全相同的列表）。\n\n```py\nsplitter=RandomSplitter(valid_pct=0.2, seed=42)\n```\n\n自变量通常被称为`x`，因变量通常被称为`y`。在这里，我们告诉 fastai 要调用哪个函数来创建数据集中的标签：\n\n```py\nget_y=parent_label\n```\n\n`parent_label`是 fastai 提供的一个函数，它简单地获取文件所在文件夹的名称。因为我们将每个熊图像放入基于熊类型的文件夹中，这将为我们提供所需的标签。\n\n我们的图像大小各不相同，这对深度学习是一个问题：我们不是一次向模型提供一个图像，而是多个图像（我们称之为*mini-batch*）。为了将它们分组到一个大数组（通常称为*张量*）中，以便通过我们的模型，它们都需要是相同的大小。因此，我们需要添加一个转换，将这些图像调整为相同的大小。*Item transforms*是在每个单独项目上运行的代码片段，无论是图像、类别还是其他。fastai 包含许多预定义的转换；我们在这里使用`Resize`转换，并指定大小为 128 像素：\n\n```py\nitem_tfms=Resize(128)\n```\n\n这个命令给了我们一个`DataBlock`对象。这就像创建`DataLoaders`的*模板*。我们仍然需要告诉 fastai 我们数据的实际来源——在这种情况下，图像所在的路径：\n\n```py\ndls = bears.dataloaders(path)\n```\n\n`DataLoaders`包括验证和训练`DataLoader`。`DataLoader`是一个类，它一次向 GPU 提供几个项目的批次。我们将在下一章中更多地了解这个类。当您循环遍历`DataLoader`时，fastai 会一次给您 64 个（默认值）项目，全部堆叠到一个单一张量中。我们可以通过在`DataLoader`上调用`show_batch`方法来查看其中一些项目：\n\n```py\ndls.valid.show_batch(max_n=4, nrows=1)\n```\n\n![](img/dlcf_02in02.png)\n\n默认情况下，`Resize`会将图像*裁剪*成适合请求大小的正方形形状，使用完整的宽度或高度。这可能会导致丢失一些重要细节。或者，您可以要求 fastai 用零（黑色）填充图像，或者压缩/拉伸它们：\n\n```py\nbears = bears.new(item_tfms=Resize(128, ResizeMethod.Squish))\ndls = bears.dataloaders(path)\ndls.valid.show_batch(max_n=4, nrows=1)\n```\n\n![](img/dlcf_02in03.png)\n\n```py\nbears = bears.new(item_tfms=Resize(128, ResizeMethod.Pad, pad_mode='zeros'))\ndls = bears.dataloaders(path)\ndls.valid.show_batch(max_n=4, nrows=1)\n```\n\n![](img/dlcf_02in04.png)\n\n所有这些方法似乎都有些浪费或问题。如果我们压缩或拉伸图像，它们最终会变成不现实的形状，导致模型学习到事物看起来与实际情况不同，这会导致更低的准确性。如果我们裁剪图像，我们会移除一些允许我们进行识别的特征。例如，如果我们试图识别狗或猫的品种，我们可能会裁剪掉区分相似品种所需的身体或面部的关键部分。如果我们填充图像，就会有很多空白空间，这对我们的模型来说只是浪费计算，并导致我们实际使用的图像部分具有较低的有效分辨率。\n\n相反，我们在实践中通常做的是随机选择图像的一部分，然后裁剪到该部分。在每个纪元（即数据集中所有图像的完整遍历），我们随机选择每个图像的不同部分。这意味着我们的模型可以学习关注和识别图像中的不同特征。这也反映了图像在现实世界中的工作方式：同一物体的不同照片可能以略有不同的方式构图。\n\n事实上，一个完全未经训练的神经网络对图像的行为一无所知。它甚至不认识当一个物体旋转一度时，它仍然是同一物体的图片！因此，通过训练神经网络使用物体在略有不同位置并且大小略有不同的图像的示例，有助于它理解物体的基本概念，以及如何在图像中表示它。\n\n这里是另一个示例，我们将`Resize`替换为`RandomResizedCrop`，这是提供刚才描述行为的转换。传递的最重要参数是`min_scale`，它确定每次选择图像的最小部分：\n\n```py\nbears = bears.new(item_tfms=RandomResizedCrop(128, min_scale=0.3))\ndls = bears.dataloaders(path)\ndls.train.show_batch(max_n=4, nrows=1, unique=True)\n```\n\n![](img/dlcf_02in05.png)\n\n在这里，我们使用了`unique=True`，以便将相同图像重复使用不同版本的`RandomResizedCrop`变换。\n\n`RandomResizedCrop`是更一般的数据增强技术的一个具体示例。\n\n## 数据增强\n\n*数据增强*指的是创建输入数据的随机变化，使它们看起来不同但不改变数据的含义。对于图像的常见数据增强技术包括旋转、翻转、透视变形、亮度变化和对比度变化。对于我们在这里使用的自然照片图像，我们发现一组标准的增强技术与`aug_transforms`函数一起提供，效果非常好。\n\n因为我们的图像现在都是相同大小，我们可以使用 GPU 将这些增强应用于整个批次的图像，这将节省大量时间。要告诉 fastai 我们要在批次上使用这些变换，我们使用`batch_tfms`参数（请注意，在此示例中我们没有使用`RandomResizedCrop`，这样您可以更清楚地看到差异；出于同样的原因，我们使用了默认值的两倍的增强量）：\n\n```py\nbears = bears.new(item_tfms=Resize(128), batch_tfms=aug_transforms(mult=2))\ndls = bears.dataloaders(path)\ndls.train.show_batch(max_n=8, nrows=2, unique=True)\n```\n\n![](img/dlcf_02in06.png)\n\n现在我们已经将数据组装成适合模型训练的格式，让我们使用它来训练一个图像分类器。\n\n# 训练您的模型，并使用它来清理您的数据\n\n现在是时候使用与第一章中相同的代码行来训练我们的熊分类器了。对于我们的问题，我们没有太多的数据（每种熊最多 150 张图片），因此为了训练我们的模型，我们将使用`RandomResizedCrop`，图像大小为 224 像素，这对于图像分类来说是相当标准的，并且使用默认的`aug_transforms`：\n\n```py\nbears = bears.new(\n    item_tfms=RandomResizedCrop(224, min_scale=0.5),\n    batch_tfms=aug_transforms())\ndls = bears.dataloaders(path)\n```\n\n现在我们可以按照通常的方式创建我们的`Learner`并进行微调：\n\n```py\nlearn = cnn_learner(dls, resnet18, metrics=error_rate)\nlearn.fine_tune(4)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.235733 | 0.212541 | 0.087302 | 00:05 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.213371 | 0.112450 | 0.023810 | 00:05 |\n| 1 | 0.173855 | 0.072306 | 0.023810 | 00:06 |\n| 2 | 0.147096 | 0.039068 | 0.015873 | 00:06 |\n| 3 | 0.123984 | 0.026801 | 0.015873 | 00:06 |\n\n现在让我们看看模型犯的错误主要是认为灰熊是泰迪熊（这对安全性来说是不好的！），还是认为灰熊是黑熊，或者其他情况。为了可视化这一点，我们可以创建一个*混淆矩阵*：\n\n```py\ninterp = ClassificationInterpretation.from_learner(learn)\ninterp.plot_confusion_matrix()\n```\n\n![](img/dlcf_02in07.png)\n\n行代表数据集中所有黑色、灰熊和泰迪熊，列分别代表模型预测为黑色、灰熊和泰迪熊的图像。因此，矩阵的对角线显示了被正确分类的图像，而非对角线的单元格代表被错误分类的图像。这是 fastai 允许您查看模型结果的许多方式之一。当然，这是使用验证集计算的。通过颜色编码，目标是在对角线以外的地方都是白色，而在对角线上我们希望是深蓝色。我们的熊分类器几乎没有犯错！\n\n看到我们的错误发生在哪里是有帮助的，以便确定它们是由数据集问题（例如，根本不是熊的图像，或者标记错误）还是模型问题（也许它无法处理使用不同光照或从不同角度拍摄的图像等）。为了做到这一点，我们可以根据损失对图像进行排序。\n\n*损失*是一个数字，如果模型不正确（尤其是如果它对其不正确的答案也很自信），或者如果它是正确的但对其正确答案不自信，那么损失就会更高。在第二部分的开头，我们将深入学习损失是如何计算和在训练过程中使用的。现在，`plot_top_losses`向我们展示了数据集中损失最高的图像。正如输出的标题所说，每个图像都标有四个内容：预测、实际（目标标签）、损失和概率。这里的*概率*是模型对其预测分配的置信水平，从零到一：\n\n```py\ninterp.plot_top_losses(5, nrows=1)\n```\n\n![](img/dlcf_02in08.png)\n\n这个输出显示，损失最高的图像是一个被预测为“灰熊”的图像，且置信度很高。然而，根据我们的必应图像搜索，它被标记为“黑熊”。我们不是熊专家，但在我们看来，这个标签显然是错误的！我们可能应该将其标签更改为“灰熊”。\n\n进行数据清洗的直观方法是在*训练*模型之前进行。但正如您在本例中所看到的，模型可以帮助您更快速、更轻松地找到数据问题。因此，我们通常更喜欢先训练一个快速简单的模型，然后使用它来帮助我们进行数据清洗。\n\nfastai 包括一个方便的用于数据清洗的 GUI，名为`ImageClassifierCleaner`，它允许您选择一个类别和训练与验证集，并查看损失最高的图像（按顺序），以及菜单允许选择要删除或重新标记的图像：\n\n```py\ncleaner = ImageClassifierCleaner(learn)\ncleaner\n```\n\n![清洁工具小部件](img/dlcf_02in09.png)\n\n我们可以看到在我们的“黑熊”中有一张包含两只熊的图片：一只灰熊，一只黑熊。因此，我们应该在此图片下的菜单中选择`<Delete>`。`ImageClassifierCleaner`不会为您删除或更改标签；它只会返回要更改的项目的索引。因此，例如，要删除（取消链接）所有选定要删除的图像，我们将运行以下命令：\n\n```py\nfor idx in cleaner.delete(): cleaner.fns[idx].unlink()\n```\n\n要移动我们选择了不同类别的图像，我们将运行以下命令：\n\n```py\nfor idx,cat in cleaner.change(): shutil.move(str(cleaner.fns[idx]), path/cat)\n```\n\n# Sylvain 说\n\n清理数据并为您的模型做好准备是数据科学家面临的两个最大挑战；他们说这需要他们 90%的时间。fastai 库旨在提供尽可能简单的工具。\n\n在本书中，我们将看到更多基于模型驱动的数据清洗示例。一旦我们清理了数据，我们就可以重新训练我们的模型。自己尝试一下，看看你的准确性是否有所提高！\n\n# 不需要大数据\n\n通过这些步骤清理数据集后，我们通常在这个任务上看到 100%的准确性。即使我们下载的图像比我们在这里使用的每类 150 张要少得多，我们也能看到这个结果。正如您所看到的，*您需要大量数据才能进行深度学习*的常见抱怨可能与事实相去甚远！\n\n现在我们已经训练了我们的模型，让我们看看如何部署它以便在实践中使用。\n\n# 将您的模型转化为在线应用程序\n\n现在我们将看看将这个模型转化为一个可工作的在线应用程序需要什么。我们将只创建一个基本的工作原型；在本书中，我们没有范围来教授您有关 Web 应用程序开发的所有细节。\n\n## 使用模型进行推断\n\n一旦您拥有一个满意的模型，您需要保存它，以便随后将其复制到一个服务器上，在那里您将在生产中使用它。请记住，模型由两部分组成：*架构*和训练的*参数*。保存模型的最简单方法是保存这两部分，因为这样，当您加载模型时，您可以确保具有匹配的架构和参数。要保存这两部分，请使用`export`方法。\n\n这种方法甚至保存了如何创建您的`DataLoaders`的定义。这很重要，因为否则您将不得不重新定义如何转换您的数据以便在生产中使用您的模型。fastai 默认使用验证集`DataLoader`进行推理，因此不会应用数据增强，这通常是您想要的。\n\n当您调用`export`时，fastai 将保存一个名为*export.pkl*的文件：\n\n```py\nlearn.export()\n```\n\n让我们通过使用 fastai 添加到 Python 的`Path`类的`ls`方法来检查文件是否存在：\n\n```py\npath = Path()\npath.ls(file_exts='.pkl')\n```\n\n```py\n(#1) [Path('export.pkl')]\n```\n\n您需要这个文件在您部署应用程序的任何地方。现在，让我们尝试在我们的笔记本中创建一个简单的应用程序。\n\n当我们使用模型进行预测而不是训练时，我们称之为*推理*。要从导出的文件创建我们的推理学习者，我们使用`load_learner`（在这种情况下，这并不是真正必要的，因为我们已经在笔记本中有一个工作的`Learner`；我们在这里这样做是为了让您看到整个过程的始终）：\n\n```py\nlearn_inf = load_learner(path/'export.pkl')\n```\n\n在进行推理时，通常一次只为一个图像获取预测。要做到这一点，将文件名传递给`predict`：\n\n```py\nlearn_inf.predict('images/grizzly.jpg')\n```\n\n```py\n('grizzly', tensor(1), tensor([9.0767e-06, 9.9999e-01, 1.5748e-07]))\n```\n\n这返回了三个东西：以与您最初提供的格式相同的预测类别（在本例中，这是一个字符串），预测类别的索引以及每个类别的概率。最后两个是基于`DataLoaders`的*vocab*中类别的顺序；也就是说，所有可能类别的存储列表。在推理时，您可以将`DataLoaders`作为`Learner`的属性访问：\n\n```py\nlearn_inf.dls.vocab\n```\n\n```py\n(#3) ['black','grizzly','teddy']\n```\n\n我们可以看到，如果我们使用`predict`返回的整数索引到 vocab 中，我们会得到“灰熊”，这是预期的。另外，请注意，如果我们在概率列表中进行索引，我们会看到几乎有 1.00 的概率这是一只灰熊。\n\n我们知道如何从保存的模型中进行预测，因此我们拥有开始构建我们的应用程序所需的一切。我们可以直接在 Jupyter 笔记本中完成。\n\n## 从模型创建一个笔记本应用\n\n要在应用程序中使用我们的模型，我们可以简单地将`predict`方法视为常规函数。因此，使用任何应用程序开发人员可用的各种框架和技术都可以创建一个从模型创建的应用程序。\n\n然而，大多数数据科学家并不熟悉 Web 应用程序开发领域。因此，让我们尝试使用您目前已经了解的东西：事实证明，我们可以仅使用 Jupyter 笔记本创建一个完整的工作 Web 应用程序！使这一切成为可能的两个因素如下：\n\n+   IPython 小部件(ipywidgets)\n\n+   Voilà\n\n*IPython 小部件*是 GUI 组件，它在 Web 浏览器中将 JavaScript 和 Python 功能结合在一起，并可以在 Jupyter 笔记本中创建和使用。例如，我们在本章前面看到的图像清理器完全是用 IPython 小部件编写的。但是，我们不希望要求我们的应用程序用户自己运行 Jupyter。\n\n这就是*Voilà*存在的原因。它是一个使 IPython 小部件应用程序可供最终用户使用的系统，而无需他们使用 Jupyter。Voilà利用了一个事实，即笔记本*已经是*一种 Web 应用程序，只是另一个复杂的依赖于另一个 Web 应用程序：Jupyter 本身的 Web 应用程序。基本上，它帮助我们自动将我们已经隐式创建的复杂 Web 应用程序（笔记本）转换为一个更简单、更易部署的 Web 应用程序，它的功能类似于普通的 Web 应用程序，而不是笔记本。\n\n但是我们仍然可以在笔记本中开发的优势，因此使用 ipywidgets，我们可以逐步构建我们的 GUI。我们将使用这种方法创建一个简单的图像分类器。首先，我们需要一个文件上传小部件：\n\n```py\nbtn_upload = widgets.FileUpload()\nbtn_upload\n```\n\n![上传按钮](img/dlcf_01in02.png)\n\n现在我们可以获取图像：\n\n```py\nimg = PILImage.create(btn_upload.data[-1])\n```\n\n![表示图像的输出小部件](img/dlcf_02in11.png)\n\n我们可以使用`Output`小部件来显示它：\n\n```py\nout_pl = widgets.Output()\nout_pl.clear_output()\nwith out_pl: display(img.to_thumb(128,128))\nout_pl\n```\n\n![表示图像的输出小部件](img/dlcf_02in11.png)\n\n然后我们可以得到我们的预测：\n\n```py\npred,pred_idx,probs = learn_inf.predict(img)\n```\n\n并使用`Label`来显示它们：\n\n```py\nlbl_pred = widgets.Label()\nlbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\nlbl_pred\n```\n\n`预测：灰熊；概率：1.0000`\n\n我们需要一个按钮来进行分类。它看起来与上传按钮完全相同：\n\n```py\nbtn_run = widgets.Button(description='Classify')\nbtn_run\n```\n\n我们还需要一个*点击事件处理程序*；也就是说，当按下按钮时将调用的函数。我们可以简单地复制之前的代码行：\n\n```py\ndef on_click_classify(change):\n    img = PILImage.create(btn_upload.data[-1])\n    out_pl.clear_output()\n    with out_pl: display(img.to_thumb(128,128))\n    pred,pred_idx,probs = learn_inf.predict(img)\n    lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'\n\nbtn_run.on_click(on_click_classify)\n```\n\n您现在可以通过单击按钮来测试按钮，您应该会看到图像和预测会自动更新！\n\n现在，我们可以将它们全部放在一个垂直框（`VBox`）中，以完成我们的 GUI：\n\n```py\nVBox([widgets.Label('Select your bear!'),\n      btn_upload, btn_run, out_pl, lbl_pred])\n```\n\n![整个小部件](img/dlcf_02in13.png)\n\n我们已经编写了所有必要的应用程序代码。下一步是将其转换为我们可以部署的内容。\n\n## 将您的笔记本变成一个真正的应用程序\n\n现在我们在这个 Jupyter 笔记本中已经让一切运转起来了，我们可以创建我们的应用程序。为此，请启动一个新的笔记本，并仅添加创建和显示所需小部件的代码，以及任何要显示的文本的 Markdown。查看书中存储库中的*bear_classifier*笔记本，看看我们创建的简单笔记本应用程序。\n\n接下来，如果您尚未安装 Voilà，请将这些行复制到笔记本单元格中并执行：\n\n```py\n!pip install voila\n!jupyter serverextension enable voila --sys-prefix\n```\n\n以`!`开头的单元格不包含 Python 代码，而是包含传递给您的 shell（bash，Windows PowerShell 等）的代码。如果您习惯使用命令行，我们将在本书中更详细地讨论这一点，您当然可以直接在终端中键入这两行（不带`!`前缀）。在这种情况下，第一行安装`voila`库和应用程序，第二行将其连接到您现有的 Jupyter 笔记本。\n\nVoilà运行 Jupyter 笔记本，就像您现在使用的 Jupyter 笔记本服务器一样，但它还做了一件非常重要的事情：它删除了所有单元格输入，仅显示输出（包括 ipywidgets），以及您的 Markdown 单元格。因此，剩下的是一个 Web 应用程序！要将您的笔记本视为 Voilà Web 应用程序，请将浏览器 URL 中的“notebooks”一词替换为“voila/render”。您将看到与您的笔记本相同的内容，但没有任何代码单元格。\n\n当然，您不需要使用 Voilà或 ipywidgets。您的模型只是一个可以调用的函数（`pred，pred_idx，probs = learn.predict（img）`），因此您可以将其与任何框架一起使用，托管在任何平台上。您可以将在 ipywidgets 和 Voilà中原型设计的内容稍后转换为常规 Web 应用程序。我们在本书中展示这种方法，因为我们认为这是数据科学家和其他不是 Web 开发专家的人从其模型创建应用程序的绝佳方式。\n\n我们有了我们的应用程序；现在让我们部署它！\n\n## 部署您的应用程序\n\n正如您现在所知，几乎任何有用的深度学习模型都需要 GPU 来训练。那么，在生产中使用该模型需要 GPU 吗？不需要！您几乎可以肯定*在生产中不需要 GPU 来提供您的模型*。这样做有几个原因：\n\n+   正如我们所见，GPU 仅在并行执行大量相同工作时才有用。如果您正在进行（比如）图像分类，通常一次只会对一个用户的图像进行分类，而且通常在一张图像中没有足够的工作量可以让 GPU 忙碌足够长的时间以使其非常有效。因此，CPU 通常更具成本效益。\n\n+   另一种选择可能是等待一些用户提交他们的图像，然后将它们批量处理并一次性在 GPU 上处理。但是这样会让用户等待，而不是立即得到答案！而且您需要一个高流量的网站才能实现这一点。如果您确实需要这种功能，您可以使用诸如 Microsoft 的[ONNX Runtime](https://oreil.ly/nj-6f)或[AWS SageMaker](https://oreil.ly/ajcaP)之类的工具。\n\n+   处理 GPU 推理的复杂性很大。特别是，GPU 的内存需要仔细手动管理，您需要一个仔细的排队系统，以确保一次只处理一个批次。\n\n+   CPU 服务器的市场竞争要比 GPU 服务器更激烈，因此 CPU 服务器有更便宜的选项可供选择。\n\n由于 GPU 服务的复杂性，许多系统已经出现尝试自动化此过程。然而，管理和运行这些系统也很复杂，通常需要将您的模型编译成专门针对该系统的不同形式。通常最好避免处理这种复杂性，直到/除非您的应用程序变得足够受欢迎，以至于您有明显的财务理由这样做。\n\n至少对于您的应用程序的初始原型以及您想展示的任何爱好项目，您可以轻松免费托管它们。最佳位置和最佳方式随时间而变化，因此请查看本书网站以获取最新的建议。由于我们在 2020 年初撰写本书，最简单（且免费！）的方法是使用[Binder](https://mybinder.org)。要在 Binder 上发布您的 Web 应用程序，请按照以下步骤操作：\n\n1.  将您的笔记本添加到[GitHub 存储库](http://github.com)。\n\n1.  将该存储库的 URL 粘贴到 Binder 的 URL 字段中，如图 2-4 所示。\n\n1.  将文件下拉菜单更改为选择 URL。\n\n1.  在“要打开的 URL”字段中，输入`/voila/render/*name*.ipynb`（将*`name`*替换为您笔记本的名称）。\n\n1.  单击右下角的剪贴板按钮以复制 URL，并将其粘贴到安全位置。\n\n1.  单击“启动”。\n\n![部署到 Binder](img/dlcf_0204.png)\n\n###### 图 2-4\\. 部署到 Binder\n\n第一次执行此操作时，Binder 将花费大约 5 分钟来构建您的站点。在幕后，它正在查找一个可以运行您的应用程序的虚拟机，分配存储空间，并收集所需的文件以用于 Jupyter、您的笔记本以及将您的笔记本呈现为 Web 应用程序。\n\n最后，一旦启动应用程序运行，它将导航您的浏览器到您的新 Web 应用程序。您可以分享您复制的 URL 以允许其他人访问您的应用程序。\n\n要了解部署 Web 应用程序的其他（免费和付费）选项，请务必查看[书籍网站](https://book.fast.ai)。\n\n您可能希望将应用程序部署到移动设备或边缘设备，如树莓派。有许多库和框架允许您将模型直接集成到移动应用程序中。但是，这些方法往往需要许多额外的步骤和样板文件，并且并不总是支持您的模型可能使用的所有 PyTorch 和 fastai 层。此外，您所做的工作将取决于您针对部署的移动设备的类型 - 您可能需要做一些工作以在 iOS 设备上运行，不同的工作以在较新的 Android 设备上运行，不同的工作以在较旧的 Android 设备上运行，等等。相反，我们建议在可能的情况下，将模型本身部署到服务器，并让您的移动或边缘应用程序连接到它作为 Web 服务。\n\n这种方法有很多优点。初始安装更容易，因为您只需部署一个小型 GUI 应用程序，该应用程序连接到服务器执行所有繁重的工作。更重要的是，核心逻辑的升级可以在您的服务器上进行，而不需要分发给所有用户。您的服务器将拥有比大多数边缘设备更多的内存和处理能力，并且如果您的模型变得更加苛刻，那么扩展这些资源将更容易。您在服务器上拥有的硬件也将更加标准化，并且更容易受到 fastai 和 PyTorch 的支持，因此您不必将模型编译成不同的形式。\n\n当然也有缺点。你的应用程序将需要网络连接，每次调用模型时都会有一些延迟。（神经网络模型本来就需要一段时间来运行，所以这种额外的网络延迟在实践中可能对用户没有太大影响。事实上，由于你可以在服务器上使用更好的硬件，总体延迟甚至可能比在本地运行时更少！）此外，如果你的应用程序使用敏感数据，你的用户可能会担心采用将数据发送到远程服务器的方法，因此有时隐私考虑将意味着你需要在边缘设备上运行模型（通过在公司防火墙内部设置*本地*服务器可能可以避免这种情况）。管理复杂性和扩展服务器也可能会带来额外的开销，而如果你的模型在边缘设备上运行，每个用户都会带来自己的计算资源，这将导致随着用户数量的增加更容易扩展（也称为*水平扩展*）。\n\n# Alexis 说\n\n我有机会近距离看到移动机器学习领域在我的工作中是如何变化的。我们提供一个依赖于计算机视觉的 iPhone 应用程序，多年来我们在云中运行我们自己的计算机视觉模型。那时这是唯一的方法，因为那些模型需要大量的内存和计算资源，并且需要几分钟来处理输入。这种方法不仅需要构建模型（有趣！），还需要构建基础设施来确保一定数量的“计算工作机器”始终在运行（可怕），如果流量增加，更多的机器会自动上线，有稳定的存储用于大型输入和输出，iOS 应用程序可以知道并告诉用户他们的工作进展如何等等。如今，苹果提供了 API，可以将模型转换为在设备上高效运行，大多数 iOS 设备都有专用的 ML 硬件，所以这是我们用于新模型的策略。这仍然不容易，但在我们的情况下，为了更快的用户体验和更少地担心服务器，这是值得的。对你来说有效的方法将取决于你试图创建的用户体验以及你个人认为容易做的事情。如果你真的知道如何运行服务器，那就去做。如果你真的知道如何构建本地移动应用程序，那就去做。有很多条路通往山顶。\n\n总的来说，我们建议在可能的情况下尽可能使用简单的基于 CPU 的服务器方法，只要你能够做到。如果你足够幸运拥有一个非常成功的应用程序，那么你将能够在那个时候为更复杂的部署方法进行投资。\n\n恭喜你——你已经成功构建了一个深度学习模型并部署了它！现在是一个很好的时机停下来思考可能出现的问题。\n\n# 如何避免灾难\n\n在实践中，一个深度学习模型只是一个更大系统中的一部分。正如我们在本章开头讨论的那样，构建数据产品需要考虑整个端到端的过程，从概念到在生产中使用。在这本书中，我们无法希望涵盖所有管理部署数据产品的复杂性，比如管理多个模型版本，A/B 测试，金丝雀发布，刷新数据（我们应该一直增加和增加我们的数据集，还是应该定期删除一些旧数据？），处理数据标记，监控所有这些，检测模型腐烂等等。\n\n在本节中，我们将概述一些需要考虑的最重要问题；关于部署问题的更详细讨论，我们建议您参考 Emmanuel Ameisin（O'Reilly）的优秀著作《构建机器学习驱动的应用程序》。\n\n需要考虑的最大问题之一是，理解和测试深度学习模型的行为比大多数其他代码更困难。在正常软件开发中，您可以分析软件所采取的确切步骤，并仔细研究这些步骤中哪些与您试图创建的期望行为相匹配。但是，对于神经网络，行为是从模型尝试匹配训练数据中产生的，而不是精确定义的。\n\n这可能导致灾难！例如，假设我们真的正在推出一个熊检测系统，将连接到国家公园露营地周围的视频摄像头，并警告露营者有熊靠近。如果我们使用下载的数据集训练的模型，实际上会出现各种问题，比如：\n\n+   处理视频数据而不是图像\n\n+   处理可能不在数据集中出现的夜间图像\n\n+   处理低分辨率摄像头图像\n\n+   确保结果返回得足够快以在实践中有用\n\n+   在照片中很少见到的位置识别熊（例如从背后，部分被灌木覆盖，或者离摄像机很远）\n\n问题的一个重要部分是，人们最有可能上传到互联网的照片是那些能够清晰艺术地展示主题的照片，而这并不是该系统将获得的输入类型。因此，我们可能需要进行大量自己的数据收集和标记以创建一个有用的系统。\n\n这只是更一般的“域外”数据问题的一个例子。也就是说，在生产中，我们的模型可能看到与训练时非常不同的数据。这个问题没有完全的技术解决方案；相反，我们必须谨慎地推出技术。\n\n我们还需要小心的其他原因。一个非常常见的问题是*域漂移*，即我们的模型看到的数据类型随着时间的推移而发生变化。例如，一个保险公司可能将深度学习模型用作其定价和风险算法的一部分，但随着时间的推移，公司吸引的客户类型和代表的风险类型可能发生如此大的变化，以至于原始训练数据不再相关。\n\n域外数据和域漂移是更大问题的例子：您永远无法完全理解神经网络的所有可能行为，因为它们有太多参数。这是它们最好特性的自然缺点——它们的灵活性，使它们能够解决我们甚至可能无法完全指定首选解决方案的复杂问题。然而，好消息是，有办法通过一个经过深思熟虑的过程来减轻这些风险。这些细节将根据您正在解决的问题的细节而变化，但我们将尝试提出一个高层次的方法，总结在图 2-5 中，我们希望这将提供有用的指导。\n\n![部署过程](img/dlcf_0205.png)\n\n###### 图 2-5\\. 部署过程\n\n在可能的情况下，第一步是使用完全手动的过程，您的深度学习模型方法并行运行，但不直接用于驱动任何操作。参与手动过程的人员应查看深度学习输出，并检查其是否合理。例如，对于我们的熊分类器，公园管理员可以在屏幕上显示所有摄像头的视频源，任何可能的熊目击都会被简单地用红色突出显示。在部署模型之前，公园管理员仍然应该像以前一样警惕；模型只是在这一点上帮助检查问题。\n\n第二步是尝试限制模型的范围，并由人仔细监督。例如，对模型驱动方法进行小范围地理和时间限制的试验。与其在全国各地的每个国家公园推出我们的熊分类器，我们可以选择一个单一的观测站，在一个星期的时间内，让一名公园管理员在每次警报发出之前检查。\n\n然后，逐渐扩大您的推出范围。在这样做时，请确保您有非常好的报告系统，以确保您了解与您的手动流程相比所采取的行动是否发生了重大变化。例如，如果在某个地点推出新系统后，熊警报数量翻倍或减半，您应该非常关注。尝试考虑系统可能出错的所有方式，然后考虑什么措施、报告或图片可以反映出这个问题，并确保您的定期报告包含这些信息。\n\n# 杰里米说\n\n20 年前，我创办了一家名为 Optimal Decisions 的公司，利用机器学习和优化帮助巨大的保险公司设定价格，影响数千亿美元的风险。我们使用这里描述的方法来管理可能出错的潜在风险。此外，在与客户合作将任何东西投入生产之前，我们尝试通过在他们去年的数据上测试端到端系统的影响来模拟影响。将这些新算法投入生产总是一个非常紧张的过程，但每次推出都取得了成功。\n\n## 意想不到的后果和反馈循环\n\n推出模型的最大挑战之一是，您的模型可能会改变其所属系统的行为。例如，考虑一个“预测执法”算法，它预测某些社区的犯罪率更高，导致更多警察被派往这些社区，这可能导致这些社区记录更多犯罪，依此类推。在皇家统计学会的论文“预测和服务？”中，Kristian Lum 和 William Isaac 观察到“预测性执法的命名恰如其分：它预测未来的执法，而不是未来的犯罪。”\n\n在这种情况下的部分问题是，在存在偏见的情况下（我们将在下一章中深入讨论），*反馈循环*可能导致该偏见的负面影响变得越来越严重。例如，在美国已经存在着在种族基础上逮捕率存在显著偏见的担忧。根据美国公民自由联盟的说法，“尽管使用率大致相等，黑人因大麻被逮捕的可能性是白人的 3.73 倍。”这种偏见的影响，以及在美国许多地区推出预测性执法算法，导致 Bärí Williams 在*纽约时报*中写道：“在我的职业生涯中引起如此多兴奋的技术正在以可能意味着在未来几年，我的 7 岁儿子更有可能因为他的种族和我们居住的地方而被无故定性或逮捕，甚至更糟。”\n\n在推出重要的机器学习系统之前，一个有用的练习是考虑这个问题：“如果它真的很成功会发生什么？”换句话说，如果预测能力非常高，对行为的影响非常显著，那么会发生什么？谁会受到最大影响？最极端的结果可能是什么样的？你怎么知道到底发生了什么？\n\n这样的思考练习可能会帮助你制定一个更加谨慎的推出计划，配备持续监控系统和人类监督。当然，如果人类监督没有被听取，那么它就没有用，因此确保可靠和有弹性的沟通渠道存在，以便正确的人会意识到问题并有权力解决它们。\n\n# 开始写作吧！\n\n我们的学生发现最有帮助巩固对这一材料的理解的事情之一是把它写下来。尝试教给别人是对你对一个主题的理解的最好测试。即使你从不向任何人展示你的写作，这也是有帮助的，但如果你分享了，那就更好了！因此，我们建议，如果你还没有开始写博客，那么现在就开始吧。现在你已经完成了这一章并学会了如何训练和部署模型，你已经可以写下你的第一篇关于深度学习之旅的博客文章了。你有什么惊讶？你在你的领域看到了深度学习的机会？你看到了什么障碍？\n\nfast.ai 的联合创始人 Rachel Thomas 在文章[“为什么你（是的，你）应该写博客”](https://oreil.ly/X9-3L)中写道：\n\n> 我会给年轻的自己的最重要建议是尽早开始写博客。以下是一些写博客的理由：\n> \n> +   这就像一份简历，只不过更好。我知道有几个人因为写博客文章而得到了工作机会！\n> +   \n> +   帮助你学习。组织知识总是帮助我整合自己的想法。是否理解某事的一个测试是你是否能够向别人解释它。博客文章是一个很好的方式。\n> +   \n> +   我通过我的博客文章收到了参加会议的邀请和演讲邀请。我因为写了一篇关于我不喜欢 TensorFlow 的博客文章而被邀请参加 TensorFlow Dev Summit（太棒了！）。\n> +   \n> +   结识新朋友。我认识了几个回复我写的博客文章的人。\n> +   \n> +   节省时间。每当你通过电子邮件多次回答同一个问题时，你应该把它变成一篇博客文章，这样下次有人问起时你就更容易分享了。\n\n也许她最重要的建议是：\n\n> 你最适合帮助比你落后一步的人。这些材料仍然新鲜在你的脑海中。许多专家已经忘记了作为初学者（或中级学习者）时的感受，忘记了当你第一次听到这个话题时为什么难以理解。你特定背景、风格和知识水平的背景将为你所写的内容带来不同的视角。\n\n我们已经提供了如何在附录 A 中设置博客的详细信息。如果你还没有博客，现在就看看吧，因为我们有一个非常好的方法让你免费开始写博客，没有广告，甚至可以使用 Jupyter Notebook！\n\n# 问卷调查\n\n1.  文本模型目前存在哪些主要不足之处？\n\n1.  文本生成模型可能存在哪些负面社会影响？\n\n1.  在模型可能犯错且这些错误可能有害的情况下，自动化流程的一个好的替代方案是什么？\n\n1.  深度学习在哪种表格数据上特别擅长？\n\n1.  直接使用深度学习模型进行推荐系统的一个主要缺点是什么？\n\n1.  驱动器方法的步骤是什么？\n\n1.  驱动器方法的步骤如何映射到推荐系统？\n\n1.  使用你策划的数据创建一个图像识别模型，并将其部署在网络上。\n\n1.  `DataLoaders`是什么？\n\n1.  我们需要告诉 fastai 创建`DataLoaders`的四件事是什么？\n\n1.  `DataBlock`中的`splitter`参数是做什么的？\n\n1.  我们如何确保随机分割总是给出相同的验证集？\n\n1.  哪些字母通常用来表示自变量和因变量？\n\n1.  裁剪、填充和压缩调整方法之间有什么区别？在什么情况下你会选择其中之一？\n\n1.  什么是数据增强？为什么需要它？\n\n1.  提供一个例子，说明熊分类模型在生产中可能因训练数据的结构或风格差异而效果不佳。\n\n1.  `item_tfms`和`batch_tfms`之间有什么区别？\n\n1.  混淆矩阵是什么？\n\n1.  `export`保存了什么？\n\n1.  当我们使用模型进行预测而不是训练时，这被称为什么？\n\n1.  IPython 小部件是什么？\n\n1.  什么时候会使用 CPU 进行部署？什么时候 GPU 可能更好？\n\n1.  将应用部署到服务器而不是客户端（或边缘）设备（如手机或 PC）的缺点是什么？\n\n1.  在实践中推出熊警告系统时可能出现的三个问题的例子是什么？\n\n1.  什么是域外数据？\n\n1.  什么是领域转移？\n\n1.  部署过程中的三个步骤是什么？\n\n## 进一步研究\n\n1.  考虑一下驱动器方法如何映射到你感兴趣的项目或问题。\n\n1.  在什么情况下最好避免某些类型的数据增强？\n\n1.  对于你有兴趣应用深度学习的项目，考虑一下这个思维实验，“如果它进展得非常顺利会发生什么？”\n\n1.  开始写博客，撰写你的第一篇博客文章。例如，写一下你认为深度学习在你感兴趣的领域可能有用的地方。\n"
  },
  {
    "path": "translations/cn/03_ethics.md",
    "content": "# 第三章：数据伦理\n\n\n\n正如我们在第一章和第二章中讨论的，有时机器学习模型可能出错。它们可能有错误。它们可能被呈现出以前没有见过的数据，并以我们意料之外的方式行事。或者它们可能完全按设计工作，但被用于我们非常希望它们永远不要被用于的事情。\n\n因为深度学习是如此强大的工具，可以用于很多事情，所以我们特别需要考虑我们选择的后果。哲学上对*伦理*的研究是对对错的研究，包括我们如何定义这些术语，识别对错行为，以及理解行为和后果之间的联系。*数据伦理*领域已经存在很长时间，许多学者都专注于这个领域。它被用来帮助定义许多司法管辖区的政策；它被用在大大小小的公司中，考虑如何最好地确保产品开发对社会的良好结果；它被研究人员用来确保他们正在做的工作被用于好的目的，而不是坏的目的。\n\n因此，作为一个深度学习从业者，你很可能在某个时候会面临需要考虑数据伦理的情况。那么数据伦理是什么？它是伦理学的一个子领域，所以让我们从那里开始。\n\n# 杰里米说\n\n在大学里，伦理哲学是我的主要研究领域（如果我完成了论文，而不是辍学加入现实世界，它本来会是我的论文题目）。根据我花在研究伦理学上的年份，我可以告诉你这个：没有人真正同意什么是对什么是错，它们是否存在，如何识别它们，哪些人是好人哪些人是坏人，或者几乎任何其他事情。所以不要对理论抱太大期望！我们将在这里专注于例子和思考的起点，而不是理论。\n\n在回答问题[“什么是伦理？”](https://oreil.ly/nyVh4) 应用伦理马库拉中心说，这个术语指的是以下内容：\n\n+   有根据的对人类应该做什么的正确和错误的标准\n\n+   研究和发展自己的伦理标准\n\n没有正确答案的清单。没有应该和不应该做的清单。伦理是复杂的，依赖于背景。它涉及许多利益相关者的观点。伦理是一个你必须发展和实践的能力。在本章中，我们的目标是提供一些路标，帮助你在这个旅程中前进。\n\n发现伦理问题最好是作为一个协作团队的一部分来做。这是你真正可以融入不同观点的唯一方式。不同人的背景将帮助他们看到你可能没有注意到的事情。与团队合作对于许多“锻炼肌肉”的活动都是有帮助的，包括这个。\n\n这一章当然不是本书中唯一讨论数据伦理的部分，但是有一个地方专注于它一段时间是很好的。为了定位，也许最容易看一些例子。所以，我们挑选了三个我们认为有效地说明了一些关键主题的例子。\n\n# 数据伦理的关键例子\n\n我们将从三个具体的例子开始，这些例子说明了技术中三个常见的伦理问题（我们将在本章后面更深入地研究这些问题）：\n\n救济程序\n\n阿肯色州有缺陷的医疗保健算法让患者陷入困境。\n\n反馈循环\n\nYouTube 的推荐系统帮助引发了阴谋论繁荣。\n\n偏见\n\n当在谷歌上搜索传统的非裔美国人名字时，会显示犯罪背景调查的广告。\n\n事实上，在本章中我们介绍的每个概念，我们都会提供至少一个具体的例子。对于每一个例子，想想在这种情况下你可以做什么，以及可能会有什么样的障碍阻止你完成。你会如何处理它们？你会注意什么？\n\n## 错误和救济：用于医疗福利的错误算法\n\n《The Verge》调查了在美国半数以上州使用的软件，以确定人们接受多少医疗保健，并在文章《当算法削减您的医疗保健时会发生什么》中记录了其发现。在阿肯色州实施算法后，数百人（许多患有严重残疾的人）的医疗保健被大幅削减。\n\n例如，Tammy Dobbs 是一名患有脑瘫的女性，需要助手帮助她起床、上厕所、拿食物等，她的帮助时间突然减少了 20 小时每周。她无法得到任何解释为什么她的医疗保健被削减。最终，一场法庭案件揭示了算法的软件实施中存在错误，对患有糖尿病或脑瘫的人造成了负面影响。然而，Dobbs 和许多其他依赖这些医疗福利的人生活在恐惧中，担心他们的福利可能再次突然而莫名其妙地被削减。\n\n## 反馈循环：YouTube 的推荐系统\n\n当您的模型控制您获得的下一轮数据时，反馈循环可能会发生。返回的数据很快就会被软件本身破坏。\n\n例如，YouTube 有 19 亿用户，他们每天观看超过 10 亿小时的 YouTube 视频。其推荐算法（由谷歌构建）旨在优化观看时间，负责约 70%的观看内容。但出现了问题：它导致了失控的反馈循环，导致《纽约时报》在 2019 年 2 月发表了标题为《YouTube 引发了阴谋论繁荣。能够控制吗？》的文章。表面上，推荐系统正在预测人们会喜欢什么内容，但它们也在很大程度上决定了人们甚至看到什么内容。\n\n## 偏见：拉塔尼亚·斯威尼“被捕”\n\n拉塔尼亚·斯威尼博士是哈佛大学的教授，也是该大学数据隐私实验室的主任。在论文《在线广告投放中的歧视》中，她描述了她发现谷歌搜索她的名字会出现“拉塔尼亚·斯威尼，被捕了？”的广告，尽管她是唯一已知的拉塔尼亚·斯威尼，从未被捕。然而，当她搜索其他名字，如“Kirsten Lindquist”时，她得到了更中立的广告，尽管 Kirsten Lindquist 已经被捕了三次。\n\n![谷歌搜索显示关于拉塔尼亚·斯威尼（不存在的）被捕记录的广告](img/dlcf_0301.png)\n\n###### 图 3-1。谷歌搜索显示关于拉塔尼亚·斯威尼（不存在的）被捕记录的广告\n\n作为一名计算机科学家，她系统地研究了这个问题，并查看了 2000 多个名字。她发现了一个明显的模式：历史上黑人的名字会收到暗示这个人有犯罪记录的广告，而传统上的白人名字则会有更中立的广告。\n\n这是偏见的一个例子。它可能对人们的生活产生重大影响，例如，如果一个求职者被谷歌搜索，可能会出现他们有犯罪记录的情况，而实际上并非如此。\n\n## 这为什么重要？\n\n考虑这些问题的一个非常自然的反应是：“那又怎样？这和我有什么关系？我是一名数据科学家，不是政治家。我不是公司的高级执行官之一，他们决定我们要做什么。我只是尽力构建我能构建的最具预测性的模型。”\n\n这些是非常合理的问题。但我们将试图说服您，答案是每个训练模型的人都绝对需要考虑他们的模型将如何被使用，并考虑如何最好地确保它们被尽可能积极地使用。有一些你可以做的事情。如果你不这样做，事情可能会变得相当糟糕。\n\n当技术人员以任何代价专注于技术时，发生的一个特别可怕的例子是 IBM 与纳粹德国的故事。2001 年，一名瑞士法官裁定认为“推断 IBM 的技术援助促进了纳粹在犯下反人类罪行时的任务，这些行为还涉及 IBM 机器进行的会计和分类，并在集中营中使用。”\n\n你看，IBM 向纳粹提供了数据制表产品，以追踪大规模灭绝犹太人和其他群体。这是公司高层的决定，向希特勒及其领导团队推销。公司总裁托马斯·沃森亲自批准了 1939 年发布特殊的 IBM 字母排序机，以帮助组织波兰犹太人的驱逐。在图 3-2 中，阿道夫·希特勒（最左）与 IBM 首席执行官汤姆·沃森（左二）会面，希特勒在 1937 年授予沃森特别的“对帝国的服务”奖章。\n\n![IBM 首席执行官汤姆·沃森与阿道夫·希特勒会面的图片](img/dlcf_0302.png)\n\n###### 图 3-2. IBM 首席执行官汤姆·沃森与阿道夫·希特勒会面\n\n但这并不是个案 - 该组织的涉入是广泛的。IBM 及其子公司在集中营现场提供定期培训和维护：打印卡片，配置机器，并在它们经常出现故障时进行维修。IBM 在其打孔卡系统上设置了每个人被杀害的方式，他们被分配到的组别以及跟踪他们通过庞大的大屠杀系统所需的后勤信息的分类。IBM 在集中营中对犹太人的代码是 8：约有 600 万人被杀害。对于罗姆人的代码是 12（纳粹将他们标记为“不合群者”，在“吉普赛营”中有超过 30 万人被杀害）。一般处决被编码为 4，毒气室中的死亡被编码为 6。\n\n![IBM 在集中营中使用的打孔卡的图片](img/dlcf_0303.png)\n\n###### 图 3-3. IBM 在集中营中使用的打孔卡\n\n当然，参与其中的项目经理、工程师和技术人员只是过着普通的生活。照顾家人，周日去教堂，尽力做好自己的工作。服从命令。市场营销人员只是尽力实现他们的业务发展目标。正如《IBM 与大屠杀》（Dialog Press）的作者埃德温·布莱克所观察到的：“对于盲目的技术官僚来说，手段比目的更重要。犹太人民的毁灭变得更不重要，因为 IBM 技术成就的振奋性只会因在面包排长队的时候赚取的奇幻利润而更加突出。”\n\n退一步思考一下：如果你发现自己是一个最终伤害社会的系统的一部分，你会有什么感受？你会愿意了解吗？你如何帮助确保这种情况不会发生？我们在这里描述了最极端的情况，但今天观察到与人工智能和机器学习相关的许多负面社会后果，其中一些我们将在本章中描述。\n\n这也不仅仅是道德负担。有时，技术人员会直接为他们的行为付出代价。例如，作为大众汽车丑闻的结果而被监禁的第一个人并不是监督该项目的经理，也不是公司的执行主管。而是其中一名工程师詹姆斯·梁，他只是听从命令。\n\n当然，情况并非全是坏的 - 如果你参与的项目最终对一个人产生了巨大的积极影响，这会让你感到非常棒！\n\n好的，希望我们已经说服您应该关心这个问题。但是您应该怎么做呢？作为数据科学家，我们自然倾向于通过优化某些指标来改进我们的模型。但是优化这个指标可能不会导致更好的结果。即使它确实有助于创造更好的结果，几乎肯定不会是唯一重要的事情。考虑一下从研究人员或从业者开发模型或算法到使用这项工作做出决策之间发生的步骤流程。如果我们希望获得我们想要的结果，整个流程必须被视为一个整体。\n\n通常，从一端到另一端有一条非常长的链。如果您是一名研究人员，甚至可能不知道您的研究是否会被用于任何事情，或者如果您参与数据收集，那就更早了。但是没有人比您更适合告知所有参与这一链的人您的工作的能力、约束和细节。虽然没有“灵丹妙药”可以确保您的工作被正确使用，但通过参与这个过程，并提出正确的问题，您至少可以确保正确的问题正在被考虑。\n\n有时，对于被要求做一项工作的正确回应就是说“不”。然而，我们经常听到的回应是：“如果我不做，别人会做。”但请考虑：如果您被选中做这项工作，那么您是他们找到的最合适的人——所以如果您不做，最合适的人就不会参与该项目。如果他们询问的前五个人也都说不，那就更好了！\n\n# 将机器学习与产品设计整合\n\n假设您做这项工作的原因是希望它被用于某些目的。否则，您只是在浪费时间。因此，让我们假设您的工作最终会有所作为。现在，当您收集数据并开发模型时，您会做出许多决定。您将以什么级别的聚合存储数据？应该使用什么损失函数？应该使用什么验证和训练集？您应该专注于实现的简单性、推理的速度还是模型的准确性？您的模型如何处理域外数据项？它可以进行微调，还是必须随时间从头开始重新训练？\n\n这些不仅仅是算法问题。它们是数据产品设计问题。但是产品经理、高管、法官、记者、医生——最终会开发和使用您的模型的系统的人——将无法理解您所做的决定，更不用说改变它们了。\n\n例如，两项研究发现亚马逊的面部识别软件产生了[不准确](https://oreil.ly/bL5D9)和[种族偏见](https://oreil.ly/cDYqz)的结果。亚马逊声称研究人员应该更改默认参数，但没有解释这将如何改变有偏见的结果。此外，事实证明，[亚马逊并没有指导使用其软件的警察部门](https://oreil.ly/I5OAj)这样做。可以想象，开发这些算法的研究人员和为警察提供指导的亚马逊文档人员之间存在很大的距离。\n\n缺乏紧密整合导致社会、警察和亚马逊出现严重问题。结果表明，其系统错误地将 28 名国会议员与犯罪照片匹配！（而与犯罪照片错误匹配的国会议员是有色人种，如图 3-4 所示。）\n\n![国会议员与亚马逊软件匹配的犯罪照片，他们是有色人种](img/dlcf_0304.png)\n\n###### 图 3-4. 亚马逊软件将国会议员与犯罪照片匹配\n\n数据科学家需要成为跨学科团队的一部分。研究人员需要与最终使用他们研究成果的人密切合作。更好的是，领域专家们自己可以学到足够的知识，以便能够自己训练和调试一些模型——希望你们中的一些人正在阅读这本书！\n\n现代职场是一个非常专业化的地方。每个人都倾向于有明确定义的工作要做。特别是在大公司，很难知道所有的细节。有时公司甚至会故意模糊正在进行的整体项目目标，如果他们知道员工不会喜欢答案的话。有时通过尽可能地将部分隔离来实现这一点。\n\n换句话说，我们并不是说这些都很容易。这很难。真的很难。我们都必须尽力而为。我们经常看到那些参与这些项目更高层次背景的人，试图发展跨学科能力和团队的人，成为他们组织中最重要和最受奖励的成员之一。这是一种工作，往往受到高级主管的高度赞赏，即使有时被中层管理人员认为相当不舒服。\n\n# 数据伦理学主题\n\n数据伦理学是一个广阔的领域，我们无法涵盖所有内容。相反，我们将选择一些我们认为特别相关的主题：\n\n+   追索和问责制的需求\n\n+   反馈循环\n\n+   偏见\n\n+   虚假信息\n\n让我们依次看看每一个。\n\n## 追索和问责制\n\n在一个复杂的系统中，很容易没有任何一个人感到对结果负责。虽然这是可以理解的，但这并不会带来好的结果。在早期的阿肯色州医疗保健系统的例子中，一个错误导致患有脑瘫的人失去了所需护理的访问权限，算法的创建者责怪政府官员，政府官员责怪那些实施软件的人。纽约大学教授[丹娜·博伊德](https://oreil.ly/KK5Hf)描述了这种现象：“官僚主义经常被用来转移或逃避责任……今天的算法系统正在扩展官僚主义。”\n\n追索如此必要的另一个原因是数据经常包含错误。审计和纠错机制至关重要。加利福尼亚执法官员维护的一个涉嫌帮派成员的数据库发现充满了错误，包括 42 名不到 1 岁的婴儿被添加到数据库中（其中 28 名被标记为“承认是帮派成员”）。在这种情况下，没有流程来纠正错误或在添加后删除人员。另一个例子是美国信用报告系统：2012 年联邦贸易委员会（FTC）对信用报告进行的大规模研究发现，26%的消费者的档案中至少有一个错误，5%的错误可能是灾难性的。\n\n然而，纠正这类错误的过程非常缓慢和不透明。当公共广播记者[鲍比·艾伦](https://oreil.ly/BUD6h)发现自己被错误列为有枪支罪时，他花了“十几个电话，一个县法院书记的手工操作和六周的时间来解决问题。而且这还是在我作为一名记者联系了公司的传播部门之后。”\n\n作为机器学习从业者，我们并不总是认为理解我们的算法最终如何在实践中实施是我们的责任。但我们需要。\n\n## 反馈循环\n\n我们在第一章中解释了算法如何与环境互动以创建反馈循环，做出预测以加强在现实世界中采取的行动，从而导致更加明显朝着同一方向的预测。举个例子，让我们再次考虑 YouTube 的推荐系统。几年前，谷歌团队谈到他们如何引入了强化学习（与深度学习密切相关，但你的损失函数代表了潜在长时间后行动发生的结果）来改进 YouTube 的推荐系统。他们描述了如何使用一个算法，使推荐以优化观看时间为目标。\n\n然而，人类往往被争议性内容所吸引。这意味着关于阴谋论之类的视频开始越来越多地被推荐给用户。此外，事实证明，对阴谋论感兴趣的人也是那些经常观看在线视频的人！因此，他们开始越来越多地被吸引到 YouTube。越来越多的阴谋论者在 YouTube 上观看视频导致算法推荐越来越多的阴谋论和其他极端内容，这导致更多的极端分子在 YouTube 上观看视频，更多的人在 YouTube 上形成极端观点，进而导致算法推荐更多的极端内容。系统失控了。\n\n这种现象并不局限于这种特定类型的内容。2019 年 6 月，《纽约时报》发表了一篇关于 YouTube 推荐系统的文章，标题为[“在 YouTube 的数字游乐场，对恋童癖者敞开大门”](https://oreil.ly/81BEy)。文章以这个令人不安的故事开头：\n\n> 当 Christiane C.的 10 岁女儿和一个朋友上传了一个在后院游泳池玩耍的视频时，她并没有在意……几天后……视频的观看次数已经达到了数千次。不久之后，观看次数已经增加到 40 万……“我再次看到视频，看到观看次数，我感到害怕，”Christiane 说。她有理由感到害怕。研究人员发现，YouTube 的自动推荐系统……开始向观看其他预备期、部分穿着少儿视频的用户展示这个视频。\n> \n> 单独看，每个视频可能是完全无辜的，比如一个孩子制作的家庭影片。任何暴露的画面都是短暂的，看起来是偶然的。但是，当它们被组合在一起时，它们共享的特征变得明显。\n\nYouTube 的推荐算法开始为恋童癖者策划播放列表，挑选出偶然包含预备期、部分穿着少儿的无辜家庭视频。\n\n谷歌没有计划创建一个将家庭视频变成儿童色情片的系统。那么发生了什么？\n\n这里的问题之一是指标在推动一个财政重要系统中的核心性。当一个算法有一个要优化的指标时，正如你所看到的，它会尽其所能来优化这个数字。这往往会导致各种边缘情况，与系统互动的人类会寻找、发现并利用这些边缘情况和反馈循环以谋取利益。\n\n有迹象表明，这正是发生在 YouTube 的推荐系统中的情况。*卫报*发表了一篇题为[“一位前 YouTube 内部人员是如何调查其秘密算法的”](https://oreil.ly/yjnPT)的文章，讲述了前 YouTube 工程师 Guillaume Chaslot 创建了一个[网站](https://algotransparency.org)来跟踪这些问题。Chaslot 在罗伯特·穆勒“关于 2016 年总统选举中俄罗斯干预调查”的发布后发布了图表，如图 3-5 所示。\n\n![穆勒报告的报道](img/dlcf_0305.png)\n\n###### 图 3-5. 穆勒报告的报道\n\n俄罗斯今日电视台对穆勒报告的报道在推荐频道中是一个极端的离群值。这表明俄罗斯今日电视台，一个俄罗斯国有媒体机构，成功地操纵了 YouTube 的推荐算法。不幸的是，这种系统缺乏透明度，使我们很难揭示我们正在讨论的问题。\n\n本书的一位审阅者 Aurélien Géron，曾在 2013 年至 2016 年间领导 YouTube 的视频分类团队（远在这里讨论的事件之前）。他指出，涉及人类的反馈循环不仅是一个问题。也可能存在没有人类参与的反馈循环！他向我们讲述了 YouTube 的一个例子：\n\n> 对视频的主题进行分类的一个重要信号是视频的来源频道。例如，上传到烹饪频道的视频很可能是烹饪视频。但我们如何知道一个频道的主题是什么？嗯...部分是通过查看它包含的视频的主题！你看到循环了吗？例如，许多视频有描述，指示拍摄视频所使用的相机。因此，一些视频可能被分类为“摄影”视频。如果一个频道有这样一个错误分类的视频，它可能被分类为“摄影”频道，使得未来在该频道上的视频更有可能被错误分类为“摄影”。这甚至可能导致失控的病毒般的分类！打破这种反馈循环的一种方法是对有和没有频道信号的视频进行分类。然后在对频道进行分类时，只能使用没有频道信号获得的类别。这样，反馈循环就被打破了。\n\n有人和组织试图解决这些问题的积极例子。Meetup 的首席机器学习工程师 Evan Estola 讨论了男性对科技见面会表现出比女性更感兴趣的例子。因此，考虑性别可能会导致 Meetup 的算法向女性推荐更少的科技见面会，结果导致更少的女性了解并参加科技见面会，这可能导致算法向女性推荐更少的科技见面会，如此循环反馈。因此，Evan 和他的团队做出了道德决定，让他们的推荐算法不会创建这样的反馈循环，明确不在模型的那部分使用性别。看到一家公司不仅仅是盲目地优化指标，而是考虑其影响是令人鼓舞的。根据 Evan 的说法，“你需要决定在算法中不使用哪个特征...最优算法也许不是最适合投入生产的算法。”\n\n尽管 Meetup 选择避免这种结果，但 Facebook 提供了一个允许失控的反馈循环肆虐的例子。与 YouTube 类似，它倾向于通过向用户介绍更多阴谋论来激化用户。正如虚构信息传播研究员 Renee DiResta 所写的那样：\n\n> 一旦人们加入一个阴谋论倾向的[Facebook]群组，他们就会被算法路由到其他大量群组。加入反疫苗群组，你的建议将包括反转基因、化学尾迹观察、地平论者（是的，真的）和“自然治愈癌症”群组。推荐引擎不是将用户拉出兔子洞，而是将他们推得更深。\n\n非常重要的是要记住这种行为可能会发生，并在看到自己项目中出现第一个迹象时，要么预见到一个反馈循环，要么采取积极行动来打破它。另一件要记住的事情是*偏见*，正如我们在上一章中简要讨论的那样，它可能与反馈循环以非常麻烦的方式相互作用。\n\n## 偏见\n\n在线讨论偏见往往会变得非常混乱。 “偏见”一词有很多不同的含义。统计学家经常认为，当数据伦理学家谈论偏见时，他们在谈论统计学术语“偏见”，但他们并没有。他们当然也没有在谈论出现在模型参数中的权重和偏见中的偏见！\n\n他们所谈论的是社会科学概念中的偏见。在[“理解机器学习意外后果的框架”](https://oreil.ly/aF33V)中，麻省理工学院的 Harini Suresh 和 John Guttag 描述了机器学习中的六种偏见类型，总结在图 3-6 中。\n\n![显示机器学习中偏见可能出现的所有来源的图表](img/dlcf_0306.png)\n\n###### 图 3-6。机器学习中的偏见可能来自多个来源（由 Harini Suresh 和 John V. Guttag 提供）\n\n我们将讨论其中四种偏见类型，这些是我们在自己的工作中发现最有帮助的（有关其他类型的详细信息，请参阅论文）。\n\n### 历史偏见\n\n*历史偏见*源于人们的偏见，过程的偏见，以及社会的偏见。苏雷什和古塔格说：“历史偏见是数据生成过程的第一步存在的基本结构性问题，即使进行了完美的抽样和特征选择，它也可能存在。”\n\n例如，以下是美国历史上*种族偏见*的几个例子，来自芝加哥大学 Sendhil Mullainathan 的《纽约时报》文章[“种族偏见，即使我们有良好意图”](https://oreil.ly/cBQop)：\n\n+   当医生看到相同的档案时，他们更不可能向黑人患者推荐心脏导管化（一种有益的程序）。\n\n+   在讨价还价购买二手车时，黑人被要求支付的初始价格高出 700 美元，并获得了远低于预期的让步。\n\n+   在 Craigslist 上回应带有黑人姓名的公寓出租广告比带有白人姓名的回应要少。\n\n+   一个全白人陪审团比一个黑人被告有 16 个百分点更有可能定罪，但当陪审团有一个黑人成员时，他们以相同的比率定罪。\n\n在美国用于判决和保释决定的 COMPAS 算法是一个重要算法的例子，当[ProPublica](https://oreil.ly/1XocO)进行测试时，实际上显示出明显的种族偏见（图 3-7）。\n\n![表格显示，即使重新犯罪，COMPAS 算法更有可能给白人保释](img/dlcf_0307.png)\n\n###### 图 3-7。COMPAS 算法的结果\n\n任何涉及人类的数据集都可能存在这种偏见：医疗数据、销售数据、住房数据、政治数据等等。由于潜在偏见是如此普遍，数据集中的偏见也非常普遍。甚至在计算机视觉中也会出现种族偏见，正如 Twitter 上一位 Google 照片用户分享的自动分类照片的例子所示，见图 3-8。\n\n![Google 照片使用黑人用户和她朋友的照片标记为大猩猩的屏幕截图](img/dlcf_0308.png)\n\n###### 图 3-8。其中一个标签是非常错误的...\n\n是的，这正是你认为的：Google 照片将一位黑人用户的照片与她的朋友一起分类为“大猩猩”！这种算法错误引起了媒体的广泛关注。一位公司女发言人表示：“我们对此感到震惊和真诚地抱歉。自动图像标记仍然存在许多问题，我们正在研究如何防止将来发生这类错误。”\n\n不幸的是，当输入数据存在问题时，修复机器学习系统中的问题是困难的。谷歌的第一次尝试并没有激发信心，正如*卫报*的报道所建议的那样（图 3-9）。\n\n![来自卫报的标题图片，当谷歌从其算法的可能标签中删除大猩猩和其他猴子时](img/dlcf_0309.png)\n\n###### 图 3-9。谷歌对问题的第一次回应\n\n这些问题当然不仅限于谷歌。麻省理工学院的研究人员研究了最受欢迎的在线计算机视觉 API，以了解它们的准确性。但他们并不只是计算一个准确性数字，而是查看了四个组的准确性，如图 3-10 所示。\n\n![表格显示各种面部识别系统在较深肤色和女性上表现更差](img/dlcf_0310.png)\n\n###### 图 3-10。各种面部识别系统的性别和种族错误率\n\n例如，IBM 的系统对较深肤色的女性有 34.7%的错误率，而对较浅肤色的男性只有 0.3%的错误率——错误率高出 100 多倍！一些人对这些实验的反应是错误的，他们声称差异仅仅是因为较深的皮肤更难被计算机识别。然而，事实是，由于这一结果带来的负面宣传，所有相关公司都大幅改进了他们对较深肤色的模型，以至于一年后，它们几乎和对较浅肤色的一样好。因此，这表明开发人员未能利用包含足够多较深肤色面孔的数据集，或者未能用较深肤色的面孔测试他们的产品。\n\n麻省理工学院的一位研究人员 Joy Buolamwini 警告说：“我们已经进入了自信过度但准备不足的自动化时代。如果我们未能制定道德和包容性的人工智能，我们将冒着在机器中立的幌子下失去民权和性别平等所取得的成就的风险。”\n\n问题的一部分似乎是流行数据集的构成存在系统性不平衡，用于训练模型。Shreya Shankar 等人的论文“没有代表性就没有分类：评估发展中国家开放数据集中的地理多样性问题”的摘要中指出，“我们分析了两个大型公开可用的图像数据集，以评估地理多样性，并发现这些数据集似乎存在明显的美洲中心和欧洲中心的代表性偏见。此外，我们分析了在这些数据集上训练的分类器，以评估这些训练分布的影响，并发现在不同地区的图像上表现出强烈的相对性能差异。”图 3-11 展示了论文中的一个图表，展示了当时（以及本书撰写时仍然如此）两个最重要的图像数据集的地理构成。\n\n![图表显示流行训练数据集中绝大多数图像来自美国或西欧](img/dlcf_0311.png)\n\n###### 图 3-11。流行训练集中的图像来源\n\n绝大多数图像来自美国和其他西方国家，导致在 ImageNet 上训练的模型在其他国家和文化的场景中表现更差。例如，研究发现这样的模型在识别低收入国家的家庭物品（如肥皂、香料、沙发或床）时表现更差。图 3-12 展示了 Facebook AI Research 的 Terrance DeVries 等人的论文“目标识别对每个人都有效吗？”中的一幅图像，说明了这一点。\n\n![图表显示一个目标检测算法在西方产品上表现更好](img/dlcf_0312.png)\n\n###### 图 3-12。目标检测的实际应用\n\n在这个例子中，我们可以看到低收入肥皂的例子离准确还有很长的路要走，每个商业图像识别服务都预测“食物”是最可能的答案！\n\n接下来我们将讨论，绝大多数人工智能研究人员和开发人员都是年轻的白人男性。我们看到的大多数项目都是使用产品开发团队的朋友和家人进行用户测试。鉴于此，我们刚刚讨论的问题不应该令人惊讶。\n\n类似的历史偏见也存在于用作自然语言处理模型数据的文本中。这会在许多下游机器学习任务中出现。例如，据[广泛报道](https://oreil.ly/Vt_vT)，直到去年，Google 翻译在将土耳其中性代词“o”翻译成英语时显示了系统性偏见：当应用于通常与男性相关联的工作时，它使用“he”，而当应用于通常与女性相关联的工作时，它使用“she”（图 3-13）。\n\n![显示语言模型训练中数据集中性别偏见在翻译中的体现的图表](img/dlcf_0313.png)\n\n###### 图 3-13。文本数据集中的性别偏见\n\n我们也在在线广告中看到这种偏见。例如，2019 年穆罕默德·阿里等人的一项[研究](https://oreil.ly/UGxuh)发现，即使放置广告的人没有故意歧视，Facebook 也会根据种族和性别向非常不同的受众展示广告。展示了同样文本但图片分别是白人家庭或黑人家庭的房屋广告被展示给了种族不同的受众。\n\n### 测量偏见\n\n在《“机器学习是否自动化了道德风险和错误”》一文中，Sendhil Mullainathan 和 Ziad Obermeyer 研究了一个模型，试图回答这个问题：使用历史电子健康记录（EHR）数据，哪些因素最能预测中风？这是该模型的前几个预测因素：\n\n+   先前的中风\n\n+   心血管疾病\n\n+   意外伤害\n\n+   良性乳腺肿块\n\n+   结肠镜检查\n\n+   鼻窦炎\n\n然而，只有前两个与中风有关！根据我们迄今所学，你可能已经猜到原因。我们实际上并没有测量*中风*，中风是由于脑部某个区域由于血液供应中断而被剥夺氧气而发生的。我们测量的是谁有症状，去看医生，接受了适当的检查，*并且*被诊断出中风。实际上患中风不仅与这个完整列表相关联，还与那些会去看医生的人相关联（这受到谁能获得医疗保健、能否负担得起自付款、是否经历种族或性别歧视等影响）！如果你在发生*意外伤害*时可能会去看医生，那么在中风时你也可能会去看医生。\n\n这是*测量偏见*的一个例子。当我们的模型因为测量错误、以错误方式测量或不恰当地将该测量纳入模型时，就会发生这种偏见。\n\n### 聚合偏见\n\n*聚合偏见*发生在模型未以包含所有适当因素的方式聚合数据，或者模型未包含必要的交互项、非线性等情况下。这在医疗环境中尤其常见。例如，糖尿病的治疗通常基于简单的单变量统计和涉及小组异质人群的研究。结果分析通常未考虑不同种族或性别。然而，事实证明糖尿病患者在[不同种族之间有不同的并发症](https://oreil.ly/gNS39)，HbA1c 水平（用于诊断和监测糖尿病的广泛指标）[在不同种族和性别之间以复杂方式不同](https://oreil.ly/nR4fx)。这可能导致人们被误诊或错误治疗，因为医疗决策基于不包含这些重要变量和交互作用的模型。\n\n### 表征偏见\n\nMaria De-Arteaga 等人的论文[“Bias in Bios: A Case Study of Semantic Representation Bias in a High-Stakes Setting”](https://oreil.ly/0iowq)的摘要指出，职业中存在性别不平衡（例如，女性更有可能成为护士，男性更有可能成为牧师），并表示“性别之间的真正阳性率差异与职业中现有的性别不平衡相关，这可能会加剧这些不平衡。”\n\n换句话说，研究人员注意到，预测职业的模型不仅*反映*了潜在人口中的实际性别不平衡，而且*放大*了它！这种*表征偏差*是相当常见的，特别是对于简单模型。当存在明显、容易看到的基本关系时，简单模型通常会假定这种关系始终存在。正如论文中的图 3-14 所示，对于女性比例较高的职业，模型往往会高估该职业的普遍性。\n\n![显示模型预测如何过度放大现有偏见的图表](img/dlcf_0314.png)\n\n###### 图 3-14。预测职业中的模型误差与该职业中女性比例的关系\n\n例如，在训练数据集中，14.6%的外科医生是女性，然而在模型预测中，真正阳性中只有 11.6%是女性。因此，模型放大了训练集中存在的偏见。\n\n既然我们已经看到这些偏见存在，我们可以采取什么措施来减轻它们呢？\n\n### 解决不同类型的偏见\n\n不同类型的偏见需要不同的缓解方法。虽然收集更多样化的数据集可以解决表征偏见，但这对历史偏见或测量偏见无济于事。所有数据集都包含偏见。没有完全无偏的数据集。该领域的许多研究人员一直在提出一系列建议，以便更好地记录决策、背景和有关特定数据集创建方式的细节，以及为什么在什么情况下使用它，以及其局限性。这样，使用特定数据集的人不会被其偏见和局限性所困扰。\n\n我们经常听到这样的问题，“人类有偏见，那么算法偏见真的重要吗？”这个问题经常被提出，肯定有一些让提问者认为有道理的理由，但对我们来说似乎并不太合乎逻辑！独立于这是否合乎逻辑，重要的是要意识到算法（特别是机器学习算法！）和人类是不同的。考虑一下关于机器学习算法的这些观点：\n\n机器学习可以创建反馈循环\n\n少量偏见可能会因为反馈循环而迅速呈指数增长。\n\n机器学习可能会放大偏见\n\n人类偏见可能导致更多的机器学习偏见。\n\n算法和人类的使用方式不同\n\n在实践中，人类决策者和算法决策者并不是以插拔方式互换使用的。这些例子列在下一页的清单中。\n\n技术就是力量\n\n随之而来的是责任。\n\n正如阿肯色州医疗保健的例子所示，机器学习通常在实践中实施并不是因为它能带来更好的结果，而是因为它更便宜和更高效。凯西·奥尼尔在她的书《数学毁灭的武器》（Crown）中描述了一个模式，即特权人士由人处理，而穷人由算法处理。这只是算法与人类决策者使用方式的许多方式之一。其他方式包括以下内容：\n\n+   人们更有可能认为算法是客观或无误差的（即使他们有人类覆盖的选项）。\n\n+   算法更有可能在没有上诉程序的情况下实施。\n\n+   算法通常以规模使用。\n\n+   算法系统成本低廉。\n\n即使在没有偏见的情况下，算法（尤其是深度学习，因为它是一种如此有效和可扩展的算法）也可能导致负面社会问题，比如当用于*虚假信息*时。\n\n## 虚假信息\n\n*虚假信息*的历史可以追溯到数百甚至数千年前。它不一定是让某人相信错误的事情，而是经常用来播撒不和谐和不确定性，并让人们放弃寻求真相。收到矛盾的说法可能会导致人们认为他们永远无法知道该信任谁或什么。\n\n有些人认为虚假信息主要是关于错误信息或*假新闻*，但实际上，虚假信息经常包含真相的种子，或者是脱离上下文的半真相。拉迪斯拉夫·比特曼是苏联的一名情报官员，后来叛逃到美国，并在 20 世纪 70 年代和 80 年代写了一些关于苏联宣传行动中虚假信息角色的书籍。在《克格勃和苏联虚假信息》（Pergamon）中，他写道“大多数活动都是精心设计的事实、半真相、夸大和故意谎言的混合物。”\n\n在美国，近年来，FBI 详细描述了与 2016 年选举中的俄罗斯有关的大规模虚假信息活动。了解在这次活动中使用的虚假信息非常有教育意义。例如，FBI 发现俄罗斯的虚假信息活动经常组织两个独立的假“草根”抗议活动，一个支持某一方面，另一个支持另一方面，并让他们同时抗议！[休斯顿纪事报](https://oreil.ly/VyCkL)报道了其中一个奇怪事件（图 3-15）：\n\n> 一个自称为“德克萨斯之心”的团体在社交媒体上组织了一场抗议活动，他们声称这是反对“德克萨斯伊斯兰化”的。在特拉维斯街的一边，我发现大约有 10 名抗议者。在另一边，我发现大约有 50 名反对抗议者。但我找不到集会的组织者。没有“德克萨斯之心”。我觉得这很奇怪，并在文章中提到：一个团体在自己的活动中缺席是什么样的团体？现在我知道为什么了。显然，集会的组织者当时在俄罗斯的圣彼得堡。“德克萨斯之心”是特别检察官罗伯特·穆勒最近指控试图干预美国总统选举的俄罗斯人中引用的一个互联网喷子团体。\n\n![德克萨斯之心组织的活动截图](img/dlcf_0315.png)\n\n###### 图 3-15。由德克萨斯之心组织的活动\n\n虚假信息通常涉及协调的不真实行为活动。例如，欺诈账户可能试图让人们认为许多人持有特定观点。虽然大多数人喜欢认为自己是独立思考的，但实际上我们进化为受到内部群体的影响，并与外部群体对立。在线讨论可能会影响我们的观点，或改变我们认为可接受观点的范围。人类是社会动物，作为社会动物，我们受周围人的影响极大。越来越多的极端化发生在在线环境中；因此影响来自虚拟空间中的在线论坛和社交网络中的人们。\n\n通过自动生成的文本进行虚假信息传播是一个特别重要的问题，这是由于深度学习提供的大大增强的能力。当我们深入研究创建语言模型时，我们会深入讨论这个问题第十章。\n\n一种提出的方法是开发某种形式的数字签名，以无缝方式实施它，并创建我们应该信任仅经过验证的内容的规范。艾伦人工智能研究所的负责人奥伦·艾齐奥尼在一篇题为[“我们将如何防止基于人工智能的伪造？”](https://oreil.ly/8z7wm)的文章中写道：“人工智能正准备使高保真伪造变得廉价和自动化，可能会对民主、安全和社会造成灾难性后果。人工智能伪造的幽灵意味着我们需要采取行动，使数字签名成为验证数字内容的手段。”\n\n虽然我们无法讨论深度学习和算法带来的所有伦理问题，但希望这个简短的介绍可以成为您的有用起点。现在我们将继续讨论如何识别伦理问题以及如何处理它们。\n\n# 识别和解决伦理问题\n\n错误是难免的。了解并处理错误需要成为包括机器学习在内的任何系统设计的一部分（还有许多其他系统）。数据伦理中提出的问题通常是复杂且跨学科的，但至关重要的是我们努力解决这些问题。\n\n那么我们能做什么？这是一个重要的话题，但以下是一些解决伦理问题的步骤：\n\n+   分析你正在进行的项目。\n\n+   在您的公司实施流程以发现和解决伦理风险。\n\n+   支持良好的政策。\n\n+   增加多样性。\n\n让我们逐步进行，从分析你正在进行的项目开始。\n\n## 分析你正在进行的项目\n\n在考虑工作的伦理影响时很容易忽略重要问题。一个极大的帮助是简单地提出正确的问题。Rachel Thomas 建议在数据项目的开发过程中考虑以下问题：\n\n+   我们甚至应该这样做吗？\n\n+   数据中存在什么偏见？\n\n+   代码和数据可以进行审计吗？\n\n+   不同子群体的错误率是多少？\n\n+   基于简单规则的替代方案的准确性如何？\n\n+   有哪些处理申诉或错误的流程？\n\n+   构建它的团队有多少多样性？\n\n这些问题可能有助于您识别未解决的问题，以及更容易理解和控制的可能替代方案。除了提出正确的问题外，考虑实施的实践和流程也很重要。\n\n在这个阶段需要考虑的一件事是你正在收集和存储的数据。数据往往最终被用于不同于最初意图的目的。例如，IBM 在大屠杀之前就开始向纳粹德国出售产品，包括帮助纳粹德国进行的 1933 年人口普查，这次普查有效地识别出了比之前在德国被认可的犹太人更多。同样，美国人口普查数据被用来拘留二战期间的日裔美国人（他们是美国公民）。重要的是要认识到收集的数据和图像如何在以后被武器化。哥伦比亚大学教授[蒂姆·吴写道](https://oreil.ly/6L0QM)：“你必须假设 Facebook 或 Android 保存的任何个人数据都是世界各国政府将试图获取或盗贼将试图窃取的数据。”\n\n## 实施流程\n\n马库拉中心发布了[工程/设计实践的伦理工具包](https://oreil.ly/vDGGC)，其中包括在您的公司实施的具体实践，包括定期安排的扫描，以主动搜索伦理风险（类似于网络安全渗透测试），扩大伦理圈，包括各种利益相关者的观点，并考虑可怕的人（坏人如何滥用、窃取、误解、黑客、破坏或武器化您正在构建的东西？）。\n\n即使您没有多样化的团队，您仍然可以尝试主动包括更广泛群体的观点，考虑这些问题（由马库拉中心提供）：\n\n+   我们是否只是假设了谁/哪些团体和个人的利益、愿望、技能、经验和价值观，而没有实际咨询？\n\n+   谁将直接受到我们产品影响的所有利益相关者？他们的利益是如何得到保护的？我们如何知道他们的真正利益是什么——我们有没有询问过？\n\n+   哪些团体和个人将受到重大影响而间接受到影响？\n\n+   谁可能会使用这个产品，而我们没有预料到会使用它，或者出于我们最初没有打算的目的？\n\n### 伦理镜头\n\n马库拉中心的另一个有用资源是其[技术和工程实践中的概念框架](https://oreil.ly/QnRTt)。这考虑了不同基础伦理镜头如何帮助识别具体问题，并列出以下方法和关键问题：\n\n权利的观点\n\n哪个选项最尊重所有利益相关者的权利？\n\n正义的观点\n\n哪个选项平等或成比例地对待人们？\n\n功利主义的观点\n\n哪个选项将产生最多的好处并造成最少的伤害？\n\n共同利益的观点\n\n哪个选项最好地服务于整个社区，而不仅仅是一些成员？\n\n美德的观点\n\n哪个选项会让我表现得像我想成为的那种人？\n\n马库拉的建议包括更深入地探讨这些观点，包括通过*后果*的视角来审视一个项目：\n\n+   谁将直接受到这个项目的影响？谁将间接受到影响？\n\n+   总体上，这些影响可能会产生更多的好处还是伤害，以及什么*类型*的好处和伤害？\n\n+   我们是否考虑了*所有*相关类型的伤害/好处（心理、政治、环境、道德、认知、情感、制度、文化）？\n\n+   未来的后代可能会受到这个项目的影响吗？\n\n+   这个项目可能会对社会中最弱势的人造成的伤害风险是否不成比例？好处是否会不成比例地给予富裕者？\n\n+   我们是否充分考虑了“双重使用”和意外的下游影响？\n\n另一种视角是*义务论*的视角，它侧重于*对*和*错*的基本概念：\n\n+   我们必须尊重他人的哪些*权利*和对他人的*义务*？\n\n+   这个项目可能会如何影响每个利益相关者的尊严和自主权？\n\n+   信任和正义的考虑对这个设计/项目有何影响？\n\n+   这个项目是否涉及与他人的冲突道德责任，或者与利益相关者的冲突权利？我们如何能够优先考虑这些？\n\n帮助提出完整和周到的答案的最佳方法之一是确保提出问题的人是*多样化*的。\n\n## 多样性的力量\n\n根据[Element AI 的一项研究](https://oreil.ly/sO09p)，目前不到 12%的人工智能研究人员是女性。在种族和年龄方面的统计数据同样令人堪忧。当团队中的每个人背景相似时，他们很可能在道德风险方面有相似的盲点。*哈佛商业评论*（HBR）发表了许多研究，显示了多样化团队的许多好处，包括以下内容：\n\n+   [“多样性如何推动创新”](https://oreil.ly/WRFSm)\n\n+   [“当团队的认知多样性更高时，他们解决问题更快”](https://oreil.ly/vKy5b)\n\n+   [“为什么多样化的团队更聪明”](https://oreil.ly/SFVBF)\n\n+   [“捍卫您的研究：什么使一个团队更聪明？更多的女性”](https://oreil.ly/A1A5n)\n\n多样性可以导致问题更早地被识别，并考虑更广泛的解决方案。例如，Tracy Chou 是 Quora 的一名早期工程师。她[描述了自己的经历](https://oreil.ly/n7WSn)，描述了她在内部为添加一个功能而进行倡导，该功能可以允许封锁恶意用户和其他不良行为者。Chou 回忆道，“我渴望参与这个功能的开发，因为我在网站上感到被挑衅和虐待（性别可能是一个原因）...但如果我没有那种个人视角，Quora 团队可能不会那么早地将构建封锁按钮作为优先事项。”骚扰经常会导致边缘群体的人离开在线平台，因此这种功能对于维护 Quora 社区的健康至关重要。\n\n一个关键的方面要理解的是，女性离开科技行业的速度是男性的两倍以上。根据[哈佛商业评论](https://oreil.ly/ZIC7t)的数据，41%的从事科技行业的女性离开，而男性只有 17%。对 200 多本书籍、白皮书和文章的分析发现，她们离开的原因是“她们受到不公平对待；薪酬较低，不如男同事那样容易获得快速晋升，无法晋升。”\n\n研究已经证实了一些使女性在职场中更难晋升的因素。女性在绩效评估中收到更多模糊的反馈和个性批评，而男性收到与业务结果相关的可操作建议（更有用）。女性经常被排除在更具创造性和创新性的角色之外，并且没有获得有助于晋升的高能见度的“拓展”任务。一项研究发现，即使阅读相同的脚本，男性的声音被认为比女性的声音更具有说服力、基于事实和逻辑。\n\n统计数据显示，接受指导有助于男性晋升，但对女性没有帮助。背后的原因是，当女性接受指导时，这是关于她们应该如何改变和获得更多自我认识的建议。当男性接受指导时，这是对他们权威的公开认可。猜猜哪个对于晋升更有用？\n\n只要合格的女性继续退出科技行业，教更多女孩编程并不能解决困扰该领域的多样性问题。多样性倡议往往主要关注白人女性，尽管有色人种女性面临许多额外障碍。在对从事 STEM 研究的 60 名有色人种女性进行的采访中，100%的人表示曾经遭受过歧视。\n\n技术领域的招聘过程特别混乱。一项表明这种功能障碍的研究来自 Triplebyte，这是一家帮助将软件工程师安置到公司的公司，作为这一过程的一部分进行了标准化的技术面试。该公司拥有一个引人入胜的数据集：300 多名工程师在考试中的表现结果，以及这些工程师在各种公司的面试过程中的表现结果。[Triplebyte 的研究](https://oreil.ly/2Wtw4)中的第一个发现是，“每家公司寻找的程序员类型往往与公司的需求或业务无关。相反，它们反映了公司文化和创始人的背景。”\n\n这对于试图进入深度学习领域的人来说是一个挑战，因为大多数公司的深度学习团队今天都是由学者创立的。这些团队往往寻找“像他们一样”的人——也就是说，能够解决复杂数学问题并理解密集行话的人。他们并不总是知道如何发现那些真正擅长使用深度学习解决实际问题的人。\n\n这为那些愿意超越地位和门第，专注于结果的公司提供了一个巨大的机会！\n\n## 公平、问责和透明度\n\n计算机科学家的专业协会 ACM 举办了一个名为“公平性、问责制和透明度会议”的数据伦理会议（ACM FAccT），以前使用的缩写是 FAT，现在使用不那么有争议的 FAccT。微软也有一个专注于 AI 中的公平性、问责制、透明度和伦理的团队（FATE）。在本节中，我们将使用缩写 FAccT 来指代公平性、问责制和透明度的概念。\n\nFAccT 是一些人用来考虑伦理问题的一种视角。一个有用的资源是 Solon Barocas 等人的免费在线书籍《公平性与机器学习：限制与机会》，该书“提供了一个将公平性视为中心问题而不是事后想法的机器学习视角”。然而，它也警告说，“它故意范围狭窄……机器学习伦理的狭窄框架可能会诱使技术人员和企业专注于技术干预，而回避有关权力和问责制的更深层次问题。我们警告不要陷入这种诱惑。”与提供 FAccT 伦理方法概述的重点不同（最好在像那样的书籍中完成），我们的重点将放在这种狭窄框架的局限性上。\n\n考虑伦理视角是否完整的一个好方法是尝试提出一个例子，其中视角和我们自己的伦理直觉给出不同的结果。Os Keyes 等人在他们的论文中以图形方式探讨了这一点。该论文的摘要如下：\n\n> 算法系统的伦理含义在人机交互和对技术设计、开发和政策感兴趣的更广泛社区中已经被广泛讨论。在本文中，我们探讨了一个著名的伦理框架——公平性、问责制和透明度——在一个旨在解决食品安全和人口老龄化等各种社会问题的算法中的应用。通过使用各种标准化的算法审计和评估形式，我们大大增加了算法对 FAT 框架的遵从，从而实现了更具伦理和善意的系统。我们讨论了这如何可以作为其他研究人员或从业者的指南，帮助他们确保在工作中的算法系统产生更好的伦理结果。\n\n在本文中，相当有争议的提议（“将老年人变成高营养浆料”）和结果（“大大增加算法对 FAT 框架的遵从，从而实现更具伦理和善意的系统”）是相互矛盾的……至少可以这么说！\n\n在哲学中，尤其是伦理哲学中，这是最有效的工具之一：首先，提出一个过程、定义、一组问题等，旨在解决问题。然后尝试提出一个例子，其中明显的解决方案导致一个没有人会认为可接受的提议。这可以进一步完善解决方案。\n\n到目前为止，我们关注的是您和您的组织可以做的事情。但有时个人或组织的行动是不够的。有时政府也需要考虑政策影响。\n\n# 政策的作用\n\n我们经常与那些渴望技术或设计修复成为解决我们所讨论问题的全部解决方案的人交谈；例如，对数据进行去偏见的技术方法，或者制定技术不那么容易上瘾的设计指南。虽然这些措施可能有用，但它们不足以解决导致我们目前状态的根本问题。例如，只要创造上瘾的技术是有利可图的，公司将继续这样做，无论这是否会导致推广阴谋论并污染我们的信息生态系统。虽然个别设计师可能会尝试调整产品设计，但在基础利润激励措施改变之前，我们不会看到实质性的变化。\n\n## 监管的有效性\n\n要看看是什么导致公司采取具体行动，考虑 Facebook 的以下两个行为示例。2018 年，联合国调查发现 Facebook 在缅甸罗兴亚人持续种族灭绝中发挥了“决定性作用”，联合国秘书长安东尼奥·古特雷斯将罗兴亚人描述为“世界上最受歧视的人之一，如果不是最受歧视的人”。自 2013 年以来，当地活动人士一直在警告 Facebook 高管，称他们的平台被用来传播仇恨言论和煽动暴力。2015 年，他们被警告说，Facebook 可能在缅甸扮演与卢旺达种族灭绝期间广播电台扮演的相同角色（那里有一百万人被杀）。然而，到 2015 年底，Facebook 只雇用了四名会说缅甸语的承包商。正如一位知情人士所说，“这不是事后诸葛亮。这个问题的规模很大，而且已经显而易见。”扎克伯格在国会听证会上承诺雇佣“几十人”来解决缅甸的种族灭绝问题（2018 年，数年后种族灭绝已经开始，包括 2017 年 8 月之后至少摧毁了北拉钦邦至少 288 个村庄）。\n\n这与 Facebook 迅速[在德国雇佣了 1,200 人](https://oreil.ly/q_8Dz)以避免根据德国新法律反对仇恨言论面临高达 5000 万欧元的昂贵罚款形成鲜明对比。显然，在这种情况下，Facebook 更多地是对财务处罚的威胁做出反应，而不是对一个种族少数群体的系统性破坏。\n\n在[一篇关于隐私问题的文章](https://oreil.ly/K5YKf)中，马切伊·塞格洛夫斯基与环境运动进行了类比：\n\n> 这一监管项目在第一世界取得了如此成功，以至于我们可能忘记了之前的生活是什么样子。今天在雅加达和德里杀死成千上万人的浓烟曾经是[伦敦的象征](https://oreil.ly/pLzU7)。俄亥俄州的奎哈霍加河曾经[经常起火](https://oreil.ly/qrU5v)。在一个特别可怕的意外后果的例子中，添加到汽油中的四乙基铅[导致全球暴力犯罪率上升](https://oreil.ly/4ngvr)了五十年。这些伤害都不能通过告诉人们用钱包投票，或者仔细审查他们给予业务的每家公司的环境政策，或者停止使用相关技术来解决。这需要跨越司法辖区的协调和有时高度技术化的监管来解决。在一些情况下，比如[禁止商用制冷剂](https://oreil.ly/o839J)导致臭氧层消耗，这种监管需要全球共识。我们已经到了需要在隐私法中进行类似转变的时候。\n\n## 权利和政策\n\n清洁空气和清洁饮用水是几乎不可能通过个人市场决策来保护的公共物品，而是需要协调的监管行动。同样，许多技术误用的意外后果造成的伤害涉及公共物品，比如污染的信息环境或恶化的环境隐私。隐私往往被框定为个人权利，然而广泛监视会产生社会影响（即使有一些个人可以选择退出也是如此）。\n\n我们在科技领域看到的许多问题都是人权问题，比如一个带有偏见的算法建议黑人被告应该获得更长的监禁，特定的工作广告只显示给年轻人，或者警察使用面部识别来识别抗议者。解决人权问题的适当场所通常是法律。\n\n我们需要监管和法律变革，以及个人的道德行为。个人行为的改变无法解决不一致的利润激励、外部性（即企业在向更广泛社会转嫁成本和危害的同时获得巨额利润）或系统性失败。然而，法律永远不可能涵盖所有边缘案例，重要的是个人软件开发人员和数据科学家能够在实践中做出道德决策。\n\n## 汽车：历史先例\n\n我们面临的问题是复杂的，没有简单的解决方案。这可能令人沮丧，但我们在考虑历史上人们已经解决的其他重大挑战时找到了希望。一个例子是增加汽车安全的运动，被提及为[“数据集数据表”](https://oreil.ly/nqG_r)一书中的案例研究，作者是 Timnit Gebru 等人，以及设计播客[99% Invisible](https://oreil.ly/2HGPd)。早期汽车没有安全带，仪表盘上有金属旋钮，在事故中可能刺入人们的头颅，常规平板玻璃窗以危险的方式破碎，非可折叠转向柱刺穿驾驶员。然而，汽车公司甚至不愿讨论安全作为他们可以帮助解决的问题，普遍的看法是汽车就是它们的样子，是使用它们的人造成了问题。\n\n消费者安全活动家和倡导者经过几十年的努力，改变了国家对汽车公司可能需要通过监管来解决一些责任的讨论。可折叠转向柱发明后，由于没有财务激励，几年内并未实施。主要汽车公司通用汽车公司雇佣了私家侦探，试图挖掘消费者安全倡导者拉尔夫·纳德的黑材料。安全带、碰撞测试假人和可折叠转向柱的要求是重大胜利。直到 2011 年，汽车公司才被要求开始使用代表普通女性的碰撞测试假人，而不仅仅是代表普通男性的身体；在此之前，女性在相同冲击下的车祸中受伤的可能性比男性高 40%。这是偏见、政策和技术产生重要后果的生动例证。\n\n# 结论\n\n从二进制逻辑的背景出发，伦理学中缺乏明确答案可能一开始会令人沮丧。然而，我们的工作如何影响世界，包括意外后果和工作被不良行为者武器化的影响，是我们可以（也应该！）考虑的最重要问题之一。尽管没有简单的答案，但有明确的陷阱要避免和实践要遵循，以朝着更具道德行为迈进。\n\n许多人（包括我们！）正在寻找更令人满意、扎实的答案，以解决技术带来的有害影响。然而，考虑到我们面临的问题的复杂性、广泛性和跨学科性质，没有简单的解决方案。Julia Angwin，ProPublica 前资深记者，专注于算法偏见和监视问题（也是 2016 年调查 COMPAS 累犯算法的调查人员之一，该算法帮助引发了 FAccT 领域），在 2019 年的一次采访中表示：\n\n> 我坚信，要解决问题，必须先诊断问题，而我们仍处于诊断阶段。如果您考虑到世纪之交和工业化，我们经历了，我不知道，30 年的童工、无限工作时间、糟糕的工作条件，需要大量记者揭发和倡导来诊断问题并对其有所了解，然后通过积极行动来改变法律。我觉得我们正处于数据信息的第二次工业化...我认为我的角色是尽可能清楚地表明问题的不利方面，并准确诊断问题，以便能够解决。这是艰苦的工作，需要更多的人来做。\n\n令人欣慰的是，Angwin 认为我们在很大程度上仍处于诊断阶段：如果您对这些问题的理解感到不完整，那是正常和自然的。目前还没有“治疗”方法，但我们继续努力更好地理解和解决我们面临的问题是至关重要的。\n\n我们这本书的一位审阅者 Fred Monroe 曾在对冲基金交易领域工作。他在阅读本章后告诉我们，这里讨论的许多问题（数据分布与模型训练不同、部署和扩展后反馈循环对模型的影响等）也是构建盈利交易模型的关键问题。考虑到社会后果所需做的事情将与考虑组织、市场和客户后果所需做的事情有很多重叠，因此认真思考伦理问题也可以帮助您认真思考如何使您的数据产品更普遍地成功！\n\n# 问卷\n\n1.  伦理是否提供了“正确答案”清单？\n\n1.  在考虑伦理问题时，与不同背景的人合作如何有助于解决问题？\n\n1.  IBM 在纳粹德国的角色是什么？为什么公司会参与其中？为什么工人会参与其中？\n\n1.  第一个在大众柴油丑闻中被监禁的人的角色是什么？\n\n1.  加利福尼亚执法官员维护的涉嫌黑帮成员数据库存在什么问题？\n\n1.  为什么 YouTube 的推荐算法会向恋童癖者推荐部分裸露儿童的视频，尽管谷歌的员工没有编程这个功能？\n\n1.  指标的中心性存在哪些问题？\n\n1.  为什么 Meetup.com 在其技术见面会的推荐系统中没有包括性别？\n\n1.  根据 Suresh 和 Guttag，机器学习中有哪六种偏见类型？\n\n1.  在美国历史上，有哪两个种族偏见的例子？\n\n1.  ImageNet 中的大多数图像来自哪里？\n\n1.  在论文“机器学习是否自动化道德风险和错误？”中，为什么鼻窦炎被发现与中风有关？\n\n1.  代表性偏见是什么？\n\n1.  在决策方面，机器和人有何不同？\n\n1.  虚假信息和“假新闻”是一回事吗？\n\n1.  通过自动生成的文本传播虚假信息为什么是一个特别重要的问题？\n\n1.  马库拉中心描述的五种伦理视角是什么？\n\n1.  政策在解决数据伦理问题方面是否是一个合适的工具？\n\n## 进一步研究\n\n1.  阅读文章“当算法削减您的医疗保健”（链接）。未来如何避免类似问题？\n\n1.  研究更多关于 YouTube 推荐系统及其社会影响的信息。你认为推荐系统是否必须始终具有带有负面结果的反馈循环？谷歌可以采取什么方法来避免这种情况？政府呢？\n\n1.  阅读论文[“在线广告投放中的歧视”](https://oreil.ly/jgKpM)。你认为谷歌应该对 Sweeney 博士发生的事情负责吗？什么是一个合适的回应？\n\n1.  跨学科团队如何帮助避免负面后果？\n\n1.  阅读论文[“机器学习是否自动化了道德风险和错误？”](https://oreil.ly/tLLOf) 你认为应该采取什么行动来处理这篇论文中指出的问题？\n\n1.  阅读文章[“我们将如何防止基于 AI 的伪造？”](https://oreil.ly/6MQe4) 你认为 Etzioni 提出的方法能行得通吗？为什么？\n\n1.  完成部分“分析你正在进行的项目”。\n\n1.  考虑一下你的团队是否可以更多元化。如果可以，有哪些方法可能会有所帮助？\n\n# 实践中的深度学习：总结！\n\n恭喜！你已经完成了书的第一部分。在这一部分中，我们试图向你展示深度学习可以做什么，以及你如何使用它来创建真实的应用和产品。在这一点上，如果你花一些时间尝试你所学到的东西，你将从这本书中获得更多。也许你一直在学习的过程中已经在做这些事情了，如果是这样，太棒了！如果没有，也没关系——现在是开始自己尝试实验的好时机。\n\n如果你还没有去过[书的网站](https://book.fast.ai)，现在就去吧。非常重要的是你要设置好自己来运行这些笔记本。成为一个有效的深度学习从业者就是要不断练习，所以你需要训练模型。所以，如果你还没有开始运行这些笔记本，请现在就去运行！并查看网站上的任何重要更新或通知；深度学习变化迅速，我们无法改变这本书中印刷的文字，所以你需要查看网站以确保你拥有最新的信息。\n\n确保你已经完成了以下步骤：\n\n1.  连接到书网站上推荐的 GPU Jupyter 服务器之一。\n\n1.  自己运行第一个笔记本。\n\n1.  上传你在第一个笔记本中找到的图像；然后尝试一些不同类型的图像，看看会发生什么。\n\n1.  运行第二个笔记本，根据你提出的图像搜索查询收集你自己的数据集。\n\n1.  思考一下如何利用深度学习来帮助你自己的项目，包括你可以使用什么类型的数据，可能会遇到什么问题，以及你如何在实践中可能会减轻这些问题。\n\n在书的下一部分，你将了解深度学习是如何以及为什么起作用的，而不仅仅是看到你如何在实践中使用它。了解如何以及为什么对从业者和研究人员都很重要，因为在这个相当新的领域中，几乎每个项目都需要一定程度的定制和调试。你对深度学习的基础理解越深入，你的模型就会越好。这些基础对于高管、产品经理等人来说不那么重要（尽管仍然有用，所以请继续阅读！），但对于任何正在训练和部署模型的人来说都是至关重要的。\n"
  },
  {
    "path": "translations/cn/04_mnist_basics.md",
    "content": "# 第四章：底层：训练数字分类器\n\n\n\n在第二章中看到训练各种模型的样子后，现在让我们深入了解并看看究竟发生了什么。我们将使用计算机视觉来介绍深度学习的基本工具和概念。\n\n确切地说，我们将讨论数组和张量的作用以及广播的作用，这是一种使用它们表达性地的强大技术。我们将解释随机梯度下降（SGD），这是通过自动更新权重学习的机制。我们将讨论基本分类任务的损失函数的选择，以及小批量的作用。我们还将描述基本神经网络正在执行的数学。最后，我们将把所有这些部分组合起来。\n\n在未来的章节中，我们还将深入研究其他应用，并看看这些概念和工具如何泛化。但本章是关于奠定基础的。坦率地说，这也使得这是最困难的章节之一，因为这些概念彼此相互依赖。就像一个拱门，所有的石头都需要放在正确的位置才能支撑结构。也像一个拱门，一旦发生这种情况，它就是一个强大的结构，可以支撑其他事物。但是需要一些耐心来组装。\n\n让我们开始吧。第一步是考虑图像在计算机中是如何表示的。\n\n# 像素：计算机视觉的基础\n\n要理解计算机视觉模型中发生的事情，我们首先必须了解计算机如何处理图像。我们将使用计算机视觉中最著名的数据集之一 MNIST 进行实验。MNIST 包含由国家标准与技术研究所收集的手写数字图像，并由 Yann Lecun 及其同事整理成一个机器学习数据集。Lecun 在 1998 年使用 MNIST 在 LeNet-5 中，这是第一个演示实用手写数字序列识别的计算机系统。这是人工智能历史上最重要的突破之一。\n\n对于这个初始教程，我们只是尝试创建一个模型，可以将任何图像分类为 3 或 7。所以让我们下载一个包含这些数字图像的 MNIST 样本：\n\n```py\npath = untar_data(URLs.MNIST_SAMPLE)\n```\n\n我们可以使用`ls`来查看此目录中的内容，这是 fastai 添加的一个方法。这个方法返回一个特殊的 fastai 类`L`的对象，它具有 Python 内置`list`的所有功能，还有更多功能。其中一个方便的功能是，在打印时，它会显示项目的计数，然后列出项目本身（如果项目超过 10 个，它只显示前几个）：\n\n```py\npath.ls()\n```\n\n```py\n(#9) [Path('cleaned.csv'),Path('item_list.txt'),Path('trained_model.pkl'),Path('\n > models'),Path('valid'),Path('labels.csv'),Path('export.pkl'),Path('history.cs\n > v'),Path('train')]\n```\n\nMNIST 数据集遵循机器学习数据集的常见布局：训练集和验证（和/或测试）集分开存放。让我们看看训练集中的内容：\n\n```py\n(path/'train').ls()\n```\n\n```py\n(#2) [Path('train/7'),Path('train/3')]\n```\n\n有一个包含 3 的文件夹，和一个包含 7 的文件夹。在机器学习术语中，我们说“3”和“7”是这个数据集中的*标签*（或目标）。让我们看看其中一个文件夹中的内容（使用`sorted`确保我们都得到相同的文件顺序）：\n\n```py\nthrees = (path/'train'/'3').ls().sorted()\nsevens = (path/'train'/'7').ls().sorted()\nthrees\n```\n\n```py\n(#6131) [Path('train/3/10.png'),Path('train/3/10000.png'),Path('train/3/10011.pn\n > g'),Path('train/3/10031.png'),Path('train/3/10034.png'),Path('train/3/10042.p\n > ng'),Path('train/3/10052.png'),Path('train/3/1007.png'),Path('train/3/10074.p\n > ng'),Path('train/3/10091.png')...]\n```\n\n正如我们所预期的那样，它充满了图像文件。让我们现在看一个。这是一个手写数字 3 的图像，来自著名的手写数字 MNIST 数据集：\n\n```py\nim3_path = threes[1]\nim3 = Image.open(im3_path)\nim3\n```\n\n![](img/dlcf_04in01.png)\n\n在这里，我们使用*Python Imaging Library*（PIL）中的`Image`类，这是最广泛使用的 Python 包，用于打开、操作和查看图像。Jupyter 知道 PIL 图像，所以它会自动为我们显示图像。\n\n在计算机中，一切都以数字表示。要查看构成这幅图像的数字，我们必须将其转换为*NumPy 数组*或*PyTorch 张量*。例如，这是转换为 NumPy 数组后图像的一部分的样子：\n\n```py\narray(im3)[4:10,4:10]\n```\n\n```py\narray([[  0,   0,   0,   0,   0,   0],\n       [  0,   0,   0,   0,   0,  29],\n       [  0,   0,   0,  48, 166, 224],\n       [  0,  93, 244, 249, 253, 187],\n       [  0, 107, 253, 253, 230,  48],\n       [  0,   3,  20,  20,  15,   0]], dtype=uint8)\n```\n\n`4:10`表示我们请求从索引 4（包括）到 10（不包括）的行，列也是一样。NumPy 从上到下，从左到右索引，因此此部分位于图像的左上角附近。这里是一个 PyTorch 张量：\n\n```py\ntensor(im3)[4:10,4:10]\n```\n\n```py\ntensor([[  0,   0,   0,   0,   0,   0],\n        [  0,   0,   0,   0,   0,  29],\n        [  0,   0,   0,  48, 166, 224],\n        [  0,  93, 244, 249, 253, 187],\n        [  0, 107, 253, 253, 230,  48],\n        [  0,   3,  20,  20,  15,   0]], dtype=torch.uint8)\n```\n\n我们可以切片数组，只选择包含数字顶部部分的部分，然后使用 Pandas DataFrame 使用渐变对值进行着色，这清楚地显示了图像是如何由像素值创建的：\n\n```py\nim3_t = tensor(im3)\ndf = pd.DataFrame(im3_t[4:15,4:22])\ndf.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\n```\n\n![](img/dlcf_04in02.png)\n\n你可以看到，背景白色像素存储为数字 0，黑色为数字 255，灰色在两者之间。整个图像横向包含 28 个像素，纵向包含 28 个像素，总共 768 个像素。（这比你从手机相机得到的图像要小得多，手机相机有数百万像素，但对于我们的初始学习和实验来说，这是一个方便的大小。我们将很快构建更大的全彩图像。）\n\n所以，现在你已经看到了计算机对图像的看法，让我们回顾一下我们的目标：创建一个能够识别 3 和 7 的模型。你会如何让计算机做到这一点呢？\n\n# 停下来思考！\n\n在继续阅读之前，花点时间考虑一下计算机可能如何识别这两个数字。它可能能够看到什么样的特征？它可能如何识别这些特征？它如何将它们结合起来？学习最好的方式是尝试自己解决问题，而不仅仅是阅读别人的答案；所以离开这本书几分钟，拿一张纸和笔，写下一些想法。\n\n# 第一次尝试：像素相似度\n\n所以，这是一个第一个想法：我们可以找到每个 3 的像素的平均值，然后对 7 做同样的操作。这将给我们两组平均值，定义了我们可能称之为“理想”3 和 7。然后，为了将图像分类为一个数字或另一个数字，我们看看这两个理想数字中图像与哪个更相似。这肯定似乎比没有好，所以这将成为一个很好的基线。\n\n# 术语：基线\n\n一个简单的模型，你有信心应该表现得相当不错。它应该简单实现和易于测试，这样你就可以测试每个改进的想法，并确保它们始终优于基线。如果没有以合理的基线开始，很难知道你的超级花哨的模型是否好用。创建基线的一个好方法是做我们在这里做的事情：考虑一个简单、易于实现的模型。另一个好方法是四处寻找解决类似问题的其他人，并在你的数据集上下载并运行他们的代码。最好两者都尝试一下！\n\n我们简单模型的第一步是获取我们两组像素值的平均值。在这个过程中，我们将学习很多有趣的 Python 数值编程技巧！\n\n让我们创建一个包含所有 3 的张量堆叠在一起。我们已经知道如何创建包含单个图像的张量。要创建一个包含目录中所有图像的张量，我们将首先使用 Python 列表推导来创建一个单个图像张量的普通列表。\n\n我们将使用 Jupyter 在途中做一些小的检查——在这种情况下，确保返回的项目数量看起来合理：\n\n```py\nseven_tensors = [tensor(Image.open(o)) for o in sevens]\nthree_tensors = [tensor(Image.open(o)) for o in threes]\nlen(three_tensors),len(seven_tensors)\n```\n\n```py\n(6131, 6265)\n```\n\n# 列表推导\n\n列表和字典推导是 Python 的一个很棒的特性。许多 Python 程序员每天都在使用它们，包括本书的作者们——它们是“Python 的成语”。但是来自其他语言的程序员可能以前从未见过它们。许多很棒的教程只需一次网络搜索，所以我们现在不会花很长时间讨论它们。这里有一个快速的解释和示例，让您开始。列表推导看起来像这样：`new_list = [f(o) for o in a_list if o>0]`。这将返回`a_list`中大于 0 的每个元素，在将其传递给函数`f`之后。这里有三个部分：您正在迭代的集合（`a_list`），一个可选的过滤器（`if o>0`），以及对每个元素执行的操作（`f(o)`）。不仅写起来更短，而且比用循环创建相同列表的替代方法更快。\n\n我们还将检查其中一张图像是否正常。由于我们现在有张量（Jupyter 默认会将其打印为值），而不是 PIL 图像（Jupyter 默认会显示图像），我们需要使用 fastai 的`show_image`函数来显示它：\n\n```py\nshow_image(three_tensors[1]);\n```\n\n![](img/dlcf_04in03.png)\n\n对于每个像素位置，我们想要计算该像素的强度在所有图像上的平均值。为了做到这一点，我们首先将此列表中的所有图像组合成一个三维张量。描述这样的张量最常见的方式是称之为*rank-3 张量*。我们经常需要将集合中的单个张量堆叠成一个张量。不出所料，PyTorch 带有一个名为`stack`的函数，我们可以用它来实现这个目的。\n\nPyTorch 中的一些操作，如取平均值，需要我们将整数类型转换为浮点类型。由于我们稍后会需要这个，我们现在也将我们的堆叠张量转换为`float`。在 PyTorch 中进行转换就像写下您希望转换为的类型名称，并将其视为方法一样简单。\n\n通常，当图像是浮点数时，像素值应该在 0 到 1 之间，所以我们也会在这里除以 255：\n\n```py\nstacked_sevens = torch.stack(seven_tensors).float()/255\nstacked_threes = torch.stack(three_tensors).float()/255\nstacked_threes.shape\n```\n\n```py\ntorch.Size([6131, 28, 28])\n```\n\n张量最重要的属性也许是其*形状*。这告诉您每个轴的长度。在这种情况下，我们可以看到我们有 6,131 张图像，每张图像大小为 28×28 像素。关于这个张量没有特别的地方表明第一个轴是图像的数量，第二个是高度，第三个是宽度——张量的语义完全取决于我们以及我们如何构建它。就 PyTorch 而言，它只是内存中的一堆数字。\n\n张量形状的*长度*是其秩：\n\n```py\nlen(stacked_threes.shape)\n```\n\n```py\n3\n```\n\n对于您来说，将张量术语的这些部分记忆并加以实践非常重要：*秩*是张量中轴或维度的数量；*形状*是张量每个轴的大小。\n\n# Alexis 说\n\n要小心，因为术语“维度”有时以两种方式使用。考虑我们生活在“三维空间”中，其中物理位置可以用长度为 3 的向量`v`描述。但根据 PyTorch，属性`v.ndim`（看起来确实像`v`的“维度数量”）等于一，而不是三！为什么？因为`v`是一个向量，它是一个秩为一的张量，这意味着它只有一个*轴*（即使该轴的长度为三）。换句话说，有时维度用于描述轴的大小（“空间是三维的”），而其他时候用于描述秩或轴的数量（“矩阵有两个维度”）。当感到困惑时，我发现将所有陈述转换为秩、轴和长度这些明确的术语是有帮助的。\n\n我们也可以直接使用`ndim`来获取张量的秩：\n\n```py\nstacked_threes.ndim\n```\n\n```py\n3\n```\n\n最后，我们可以计算理想的 3 是什么样子的。我们通过沿着我们堆叠的 rank-3 张量的维度 0 取平均值来计算所有图像张量的平均值。这是索引所有图像的维度。\n\n换句话说，对于每个像素位置，这将计算所有图像中该像素的平均值。结果将是每个像素位置的一个值，或者一个单独的图像。这就是它：\n\n```py\nmean3 = stacked_threes.mean(0)\nshow_image(mean3);\n```\n\n![](img/dlcf_04in04.png)\n\n根据这个数据集，这是理想的数字 3！（您可能不喜欢，但这就是顶级数字 3 表现的样子。）您可以看到在所有图像都认为应该是暗的地方非常暗，但在图像不一致的地方变得模糊。\n\n让我们对 7 做同样的事情，但一次将所有步骤放在一起以节省时间：\n\n```py\nmean7 = stacked_sevens.mean(0)\nshow_image(mean7);\n```\n\n![](img/dlcf_04in05.png)\n\n现在让我们选择一个任意的 3，并测量它与我们的“理想数字”的*距离*。\n\n# 停下来思考一下！\n\n您如何计算特定图像与我们的每个理想数字之间的相似程度？在继续前进之前，请记得远离这本书，记录一些想法！研究表明，通过解决问题、实验和尝试新想法，您参与学习过程时，召回和理解会显著提高。\n\n这是一个示例 3：\n\n```py\na_3 = stacked_threes[1]\nshow_image(a_3);\n```\n\n![](img/dlcf_04in06.png)\n\n我们如何确定它与我们理想的 3 之间的距离？我们不能简单地将此图像的像素之间的差异相加，并与理想数字进行比较。一些差异将是正的，而另一些将是负的，这些差异将相互抵消，导致一种情况，即在某些地方太暗而在其他地方太亮的图像可能被显示为与理想的总差异为零。那将是误导性的！\n\n为了避免这种情况，数据科学家在这种情况下使用两种主要方法来测量距离：\n\n+   取差值的*绝对值*的平均值（绝对值是将负值替换为正值的函数）。这被称为*平均绝对差*或*L1 范数*。\n\n+   取差值的*平方*的平均值（使所有值变为正数），然后取*平方根*（撤销平方）。这被称为*均方根误差*（RMSE）或*L2 范数*。\n\n# 忘记数学是可以的\n\n在这本书中，我们通常假设您已经完成了高中数学，并且至少记得一些内容 - 但每个人都会忘记一些东西！这完全取决于您在此期间有理由练习的内容。也许您已经忘记了*平方根*是什么，或者它们究竟是如何工作的。没问题！每当您遇到本书中没有完全解释的数学概念时，不要只是继续前进；相反，停下来查一下。确保您理解基本概念，它是如何工作的，以及为什么我们可能会使用它。刷新您理解的最佳地方之一是 Khan Academy。例如，Khan Academy 有一个很棒的[平方根介绍](https://oreil.ly/T7mxH)。\n\n现在让我们尝试这两种方法：\n\n```py\ndist_3_abs = (a_3 - mean3).abs().mean()\ndist_3_sqr = ((a_3 - mean3)**2).mean().sqrt()\ndist_3_abs,dist_3_sqr\n```\n\n```py\n(tensor(0.1114), tensor(0.2021))\n```\n\n```py\ndist_7_abs = (a_3 - mean7).abs().mean()\ndist_7_sqr = ((a_3 - mean7)**2).mean().sqrt()\ndist_7_abs,dist_7_sqr\n```\n\n```py\n(tensor(0.1586), tensor(0.3021))\n```\n\n在这两种情况下，我们的 3 与“理想”的 3 之间的距离小于与理想的 7 之间的距离，因此在这种情况下，我们简单的模型将给出正确的预测。\n\nPyTorch 已经提供了这两种作为*损失函数*。您会在`torch.nn.functional`中找到这些，PyTorch 团队建议将其导入为`F`（并且默认情况下以这个名称在 fastai 中可用）：\n\n```py\nF.l1_loss(a_3.float(),mean7), F.mse_loss(a_3,mean7).sqrt()\n```\n\n```py\n(tensor(0.1586), tensor(0.3021))\n```\n\n在这里，`MSE`代表*均方误差*，`l1`是标准数学术语*平均绝对值*的缩写（在数学中称为*L1 范数*）。\n\n# Sylvain 说\n\n直观地，L1 范数和均方误差（MSE）之间的区别在于，后者会比前者更严厉地惩罚更大的错误（并对小错误更宽容）。\n\n# 杰里米说\n\n当我第一次遇到这个 L1 的东西时，我查了一下看它到底是什么意思。我在谷歌上发现它是使用“绝对值”作为“向量范数”，所以我查了“向量范数”并开始阅读：“给定一个实数或复数域 F 上的向量空间 V，V 上的范数是一个非负值的任意函数 p: V → \\[0,+∞)，具有以下属性：对于所有的 a ∈ F 和所有的 u, v ∈ V，p(u + v) ≤ p(u) + p(v)…”然后我停止阅读。“唉，我永远也理解不了数学！”我想，这已经是第一千次了。从那时起，我学到了每当实践中出现这些复杂的数学术语时，我可以用一点点代码来替换它们！比如，*L1 损失* 只等于 `(a-b).abs().mean()`，其中 `a` 和 `b` 是张量。我猜数学家们只是和我想法不同…我会确保在本书中，每当出现一些数学术语时，我会给你相应的代码片段，并用通俗的语言解释发生了什么。\n\n我们刚刚在 PyTorch 张量上完成了各种数学运算。如果你之前在 PyTorch 中进行过数值编程，你可能会发现这些与 NumPy 数组相似。让我们来看看这两个重要的数据结构。\n\n## NumPy 数组和 PyTorch 张量\n\n[NumPy](https://numpy.org) 是 Python 中用于科学和数值编程最广泛使用的库。它提供了类似的功能和类似的 API，与 PyTorch 提供的功能相似；然而，它不支持使用 GPU 或计算梯度，这两者对于深度学习都是至关重要的。因此，在本书中，我们通常会在可能的情况下使用 PyTorch 张量而不是 NumPy 数组。\n\n（请注意，fastai 在 NumPy 和 PyTorch 中添加了一些功能，使它们更加相似。如果本书中的任何代码在您的计算机上无法运行，可能是因为您忘记在笔记本的开头包含类似这样的一行代码：`from fastai.vision.all import *`。）\n\n但是数组和张量是什么，为什么你应该关心呢？\n\nPython 相对于许多语言来说速度较慢。在 Python、NumPy 或 PyTorch 中快速的任何东西，很可能是另一种语言（特别是 C）编写（并优化）的编译对象的包装器。事实上，*NumPy 数组和 PyTorch 张量可以比纯 Python 快几千倍完成计算*。\n\nNumPy 数组是一个多维数据表，所有项都是相同类型的。由于可以是任何类型，它们甚至可以是数组的数组，内部数组可能是不同大小的 - 这被称为 *不规则数组*。通过“多维数据表”，我们指的是，例如，一个列表（一维）、一个表或矩阵（二维）、一个表的表或立方体（三维），等等。如果所有项都是简单类型，如整数或浮点数，NumPy 将它们存储为紧凑的 C 数据结构在内存中。这就是 NumPy 的优势所在。NumPy 有各种运算符和方法，可以在这些紧凑结构上以优化的 C 速度运行计算，因为它们是用优化的 C 编写的。\n\nPyTorch 张量几乎与 NumPy 数组相同，但有一个额外的限制，可以解锁额外的功能。它与 NumPy 数组相同，也是一个多维数据表，所有项都是相同类型的。然而，限制是张量不能使用任何旧类型 - 它必须对所有组件使用单一基本数值类型。因此，张量不像真正的数组数组那样灵活。例如，PyTorch 张量不能是不规则的。它始终是一个形状规则的多维矩形结构。\n\nNumPy 在这些结构上支持的绝大多数方法和运算符在 PyTorch 上也支持，但 PyTorch 张量具有额外的功能。一个主要功能是这些结构可以存在于 GPU 上，这样它们的计算将被优化为 GPU，并且可以运行得更快（给定大量值进行处理）。此外，PyTorch 可以自动计算这些操作的导数，包括操作的组合。正如你将看到的，没有这种能力，实际上是不可能进行深度学习的。\n\n# Sylvain 说\n\n如果你不知道 C 是什么，不用担心：你根本不需要它。简而言之，它是一种低级语言（低级意味着更类似于计算机内部使用的语言），与 Python 相比非常快。为了在 Python 中利用其速度，尽量避免编写循环，用直接作用于数组或张量的命令替换它们。\n\n也许对于 Python 程序员来说，学习如何有效地使用数组/张量 API 是最重要的新编码技能。我们将在本书的后面展示更多技巧，但现在这里是你需要知道的关键事项的摘要。\n\n要创建一个数组或张量，将列表（或列表的列表，或列表的列表的列表等）传递给`array`或`tensor`：\n\n```py\ndata = [[1,2,3],[4,5,6]]\narr = array (data)\ntns = tensor(data)\n```\n\n```py\narr  # numpy\n```\n\n```py\narray([[1, 2, 3],\n       [4, 5, 6]])\n```\n\n```py\ntns  # pytorch\n```\n\n```py\ntensor([[1, 2, 3],\n        [4, 5, 6]])\n```\n\n以下所有操作都是在张量上展示的，但 NumPy 数组的语法和结果是相同的。\n\n你可以选择一行（请注意，与 Python 中的列表一样，张量是从 0 开始索引的，所以 1 指的是第二行/列）：\n\n```py\ntns[1]\n```\n\n```py\ntensor([4, 5, 6])\n```\n\n或者通过使用`:`来指示*所有第一个轴*（我们有时将张量/数组的维度称为*轴*）选择一列。\n\n```py\ntns[:,1]\n```\n\n```py\ntensor([2, 5])\n```\n\n你可以结合 Python 切片语法（`[*start*:*end*]`，其中*`end`*被排除）来选择一行或一列的一部分：\n\n```py\ntns[1,1:3]\n```\n\n```py\ntensor([5, 6])\n```\n\n你可以使用标准运算符，如`+`、`-`、`*`和`/`：\n\n```py\ntns+1\n```\n\n```py\ntensor([[2, 3, 4],\n        [5, 6, 7]])\n```\n\n张量有一个类型：\n\n```py\ntns.type()\n```\n\n```py\n'torch.LongTensor'\n```\n\n并且会根据需要自动更改该类型；例如，从`int`到`float`：\n\n```py\ntns*1.5\n```\n\n```py\ntensor([[1.5000, 3.0000, 4.5000],\n        [6.0000, 7.5000, 9.0000]])\n```\n\n那么，我们的基准模型好吗？为了量化这一点，我们必须定义一个度量。\n\n# 使用广播计算度量\n\n回想一下*度量*是基于我们模型的预测和数据集中正确标签计算出来的一个数字，以告诉我们我们的模型有多好。例如，我们可以使用我们在上一节中看到的两个函数之一，均方误差或平均绝对误差，并计算整个数据集上它们的平均值。然而，这两个数字对大多数人来说并不是很容易理解；实际上，我们通常使用*准确度*作为分类模型的度量。\n\n正如我们讨论过的，我们想要在*验证集*上计算我们的度量。这样我们就不会无意中过拟合——也就是说，训练一个模型只在我们的训练数据上表现良好。这对于我们在这里作为第一次尝试使用的像素相似度模型来说并不是真正的风险，因为它没有经过训练的组件，但我们仍然会使用一个验证集来遵循正常的实践，并为我们稍后的第二次尝试做好准备。\n\n为了获得一个验证集，我们需要完全从训练数据中删除一些数据，这样模型根本就看不到它。事实证明，MNIST 数据集的创建者已经为我们做了这个。你还记得*valid*这个整个独立的目录吗？这个目录就是为此而设立的！\n\n所以，让我们从那个目录中为我们的 3 和 7 创建张量。这些是我们将用来计算度量的张量，用来衡量我们第一次尝试模型的质量，这个度量衡量了与理想图像的距离：\n\n```py\nvalid_3_tens = torch.stack([tensor(Image.open(o))\n                            for o in (path/'valid'/'3').ls()])\nvalid_3_tens = valid_3_tens.float()/255\nvalid_7_tens = torch.stack([tensor(Image.open(o))\n                            for o in (path/'valid'/'7').ls()])\nvalid_7_tens = valid_7_tens.float()/255\nvalid_3_tens.shape,valid_7_tens.shape\n```\n\n```py\n(torch.Size([1010, 28, 28]), torch.Size([1028, 28, 28]))\n```\n\n在进行操作时检查形状是一个好习惯。在这里我们看到两个张量，一个代表了 1,010 张大小为 28×28 的 3 的验证集，另一个代表了 1,028 张大小为 28×28 的 7 的验证集。\n\n我们最终想要编写一个函数`is_3`，它将决定任意图像是 3 还是 7。它将通过确定任意图像更接近我们的两个“理想数字”中的哪一个来实现这一点。为此，我们需要定义*距离*的概念——即，计算两个图像之间距离的函数。\n\n我们可以编写一个简单的函数，使用与我们在上一节中编写的表达式非常相似的表达式来计算平均绝对误差：\n\n```py\ndef mnist_distance(a,b): return (a-b).abs().mean((-1,-2))\nmnist_distance(a_3, mean3)\n```\n\n```py\ntensor(0.1114)\n```\n\n这是我们先前为这两个图像之间的距离计算的相同值，理想数字 3 `mean_3`和任意样本 3 `a_3`，它们都是形状为`[28,28]`的单个图像张量。\n\n但是要计算整体准确度的指标，我们需要计算验证集中*每张*图像到理想数字 3 的距离。我们如何进行这种计算？我们可以编写一个循环，遍历验证集张量`valid_3_tens`中堆叠的所有单图像张量，其形状为`[1010,28,28]`，表示 1,010 张图像。但是有一种更好的方法。\n\n当我们使用相同的距离函数，设计用于比较两个单个图像，但将表示 3 的验证集张量`valid_3_tens`作为参数传入时，会发生一些有趣的事情：\n\n```py\nvalid_3_dist = mnist_distance(valid_3_tens, mean3)\nvalid_3_dist, valid_3_dist.shape\n```\n\n```py\n(tensor([0.1050, 0.1526, 0.1186,  ..., 0.1122, 0.1170, 0.1086]),\n torch.Size([1010]))\n```\n\n它没有抱怨形状不匹配，而是为每个单个图像返回了一个距离（即，长度为 1,010 的秩-1 张量）。这是如何发生的？\n\n再看看我们的函数`mnist_distance`，您会看到我们在那里有减法`(a-b)`。魔术技巧在于 PyTorch 在尝试在不同秩的两个张量之间执行简单的减法操作时，将使用*广播*：它将自动扩展秩较小的张量，使其大小与秩较大的张量相同。广播是一种重要的功能，使张量代码更容易编写。\n\n在广播后，使两个参数张量具有相同的秩后，PyTorch 对于秩相同的两个张量应用其通常的逻辑：它对两个张量的每个对应元素执行操作，并返回张量结果。例如：\n\n```py\ntensor([1,2,3]) + tensor([1,1,1])\n```\n\n```py\ntensor([2, 3, 4])\n```\n\n因此，在这种情况下，PyTorch 将`mean3`视为一个表示单个图像的秩-2 张量，就好像它是 1,010 个相同图像的副本，然后从我们的验证集中的每个 3 中减去每个副本。您期望这个张量的形状是什么？在查看这里的答案之前，请尝试自己想出来：\n\n```py\n(valid_3_tens-mean3).shape\n```\n\n```py\ntorch.Size([1010, 28, 28])\n```\n\n我们正在计算我们的理想数字 3 与验证集中的每个 1,010 个 3 之间的差异，对于每个 28×28 图像，结果形状为`[1010,28,28]`。\n\n有关广播实现的一些重要要点，使其不仅对于表达性有价值，而且对于性能也有价值：\n\n+   PyTorch 实际上并没有将`mean3`复制 1,010 次。它*假装*它是一个具有该形状的张量，但不分配任何额外内存。\n\n+   它在 C 中完成整个计算（或者，如果您使用 GPU，则在 CUDA 中，相当于 GPU 上的 C），比纯 Python 快数万倍（在 GPU 上甚至快数百万倍！）。\n\n这适用于 PyTorch 中所有广播和逐元素操作和函数。*这是您要了解的最重要的技术，以创建高效的 PyTorch 代码。*\n\n接下来在`mnist_distance`中我们看到`abs`。现在您可能能猜到将其应用于张量时会发生什么。它将方法应用于张量中的每个单独元素，并返回结果的张量（即，它逐元素应用方法）。因此，在这种情况下，我们将得到 1,010 个绝对值。\n\n最后，我们的函数调用`mean((-1,-2))`。元组`(-1,-2)`表示一系列轴。在 Python 中，`-1`指的是最后一个元素，`-2`指的是倒数第二个元素。因此，在这种情况下，这告诉 PyTorch 我们要对张量的最后两个轴的值进行平均。最后两个轴是图像的水平和垂直维度。在对最后两个轴进行平均后，我们只剩下第一个张量轴，它索引我们的图像，这就是为什么我们的最终大小是`(1010)`。换句话说，对于每个图像，我们对该图像中所有像素的强度进行了平均。\n\n在本书中，我们将学习更多关于广播的知识，特别是在第十七章中，并且也会经常进行实践。\n\n我们可以使用`mnist_distance`来确定一幅图像是否为 3，方法是使用以下逻辑：如果问题中的数字与理想的 3 之间的距离小于到理想的 7 的距离，则它是一个 3。这个函数将自动进行广播，并逐个应用，就像所有 PyTorch 函数和运算符一样：\n\n```py\ndef is_3(x): return mnist_distance(x,mean3) < mnist_distance(x,mean7)\n```\n\n让我们在我们的示例案例上测试一下：\n\n```py\nis_3(a_3), is_3(a_3).float()\n```\n\n```py\n(tensor(True), tensor(1.))\n```\n\n请注意，当我们将布尔响应转换为浮点数时，`True`会得到`1.0`，`False`会得到`0.0`。\n\n由于广播，我们还可以在所有 3 的完整验证集上进行测试：\n\n```py\nis_3(valid_3_tens)\n```\n\n```py\ntensor([True, True, True,  ..., True, True, True])\n```\n\n现在我们可以计算每个 3 和 7 的准确率，方法是对所有 3 的函数取平均值，对所有 7 的函数取其倒数的平均值：\n\n```py\naccuracy_3s =      is_3(valid_3_tens).float() .mean()\naccuracy_7s = (1 - is_3(valid_7_tens).float()).mean()\n\naccuracy_3s,accuracy_7s,(accuracy_3s+accuracy_7s)/2\n```\n\n```py\n(tensor(0.9168), tensor(0.9854), tensor(0.9511))\n```\n\n这看起来是一个相当不错的开始！我们在 3 和 7 上都获得了超过 90%的准确率，我们已经看到了如何使用广播方便地定义度量。但让我们诚实一点：3 和 7 是非常不同的数字。到目前为止，我们只对 10 个可能的数字中的 2 个进行分类。所以我们需要做得更好！\n\n为了做得更好，也许现在是时候尝试一个真正学习的系统了，一个可以自动修改自身以提高性能的系统。换句话说，现在是时候谈论训练过程和 SGD 了。\n\n# 随机梯度下降\n\n你还记得 Arthur Samuel 在第一章中描述机器学习的方式吗？\n\n> 假设我们安排一些自动手段来测试任何当前权重分配的有效性，以实际性能为基础，并提供一种机制来改变权重分配以最大化性能。我们不需要详细了解这种程序的细节，就可以看到它可以完全自动化，并且可以看到一个这样编程的机器会从中学习。\n\n正如我们讨论过的，这是让我们拥有一个可以变得越来越好的模型的关键，可以学习。但我们的像素相似性方法实际上并没有做到这一点。我们没有任何权重分配，也没有任何根据测试权重分配的有效性来改进的方法。换句话说，我们无法通过修改一组参数来改进我们的像素相似性方法。为了充分利用深度学习的力量，我们首先必须按照 Samuel 描述的方式来表示我们的任务。\n\n与其尝试找到图像与“理想图像”之间的相似性，我们可以查看每个单独的像素，并为每个像素提出一组权重，使得最高的权重与最有可能为特定类别的黑色像素相关联。例如，向右下方的像素不太可能被激活为 7，因此它们对于 7 的权重应该很低，但它们很可能被激活为 8，因此它们对于 8 的权重应该很高。这可以表示为一个函数和每个可能类别的一组权重值，例如，成为数字 8 的概率：\n\n```py\ndef pr_eight(x,w) = (x*w).sum()\n```\n\n在这里，我们假设`X`是图像，表示为一个向量—换句话说，所有行都堆叠在一起形成一个长长的单行。我们假设权重是一个向量`W`。如果我们有了这个函数，我们只需要一种方法来更新权重，使它们变得更好一点。通过这种方法，我们可以重复这个步骤多次，使权重变得越来越好，直到我们能够使它们尽可能好。\n\n我们希望找到导致我们的函数对于那些是 8 的图像结果高，对于那些不是的图像结果低的向量`W`的特定值。搜索最佳向量`W`是搜索最佳函数以识别 8 的一种方式。（因为我们还没有使用深度神经网络，我们受到我们的函数能力的限制，我们将在本章后面解决这个约束。）\n\n更具体地说，以下是将这个函数转化为机器学习分类器所需的步骤：\n\n1.  *初始化*权重。\n\n1.  对于每个图像，使用这些权重来*预测*它是 3 还是 7。\n\n1.  基于这些预测，计算模型有多好（它的*损失*）。\n\n1.  计算*梯度*，它衡量了每个权重的变化如何改变损失。\n\n1.  根据这个计算，*改变*（即，改变）所有权重。\n\n1.  回到步骤 2 并*重复*这个过程。\n\n1.  迭代直到你决定*停止*训练过程（例如，因为模型已经足够好或者你不想再等待了）。\n\n这七个步骤，如图 4-1 所示，是所有深度学习模型训练的关键。深度学习完全依赖于这些步骤，这是非常令人惊讶和反直觉的。令人惊奇的是，这个过程可以解决如此复杂的问题。但是，正如你将看到的，它确实可以！\n\n![显示梯度下降步骤的图表](img/dlcf_0401.png)\n\n###### 图 4-1. 梯度下降过程\n\n每个步骤都有许多方法，我们将在本书的其余部分学习它们。这些细节对于深度学习从业者来说非常重要，但事实证明，对于每个步骤的一般方法都遵循一些基本原则。以下是一些建议：\n\n初始化\n\n我们将参数初始化为随机值。这可能听起来令人惊讶。我们当然可以做其他选择，比如将它们初始化为该类别激活该像素的百分比—但由于我们已经知道我们有一种方法来改进这些权重，结果证明只是从随机权重开始就可以完全正常运行。\n\n损失\n\n这就是 Samuel 所说的*根据实际表现测试任何当前权重分配的有效性*。我们需要一个函数，如果模型的表现好，它将返回一个小的数字（标准方法是将小的损失视为好的，大的损失视为坏的，尽管这只是一种约定）。\n\n步骤\n\n一个简单的方法来判断一个权重是否应该增加一点或减少一点就是尝试一下：增加一点权重，看看损失是增加还是减少。一旦找到正确的方向，你可以再多改变一点或少改变一点，直到找到一个效果好的量。然而，这很慢！正如我们将看到的，微积分的魔力使我们能够直接找出每个权重应该朝哪个方向改变，大概改变多少，而不必尝试所有这些小的改变。这样做的方法是通过计算*梯度*。这只是一种性能优化；我们也可以通过使用更慢的手动过程得到完全相同的结果。\n\n停止\n\n一旦我们决定要为模型训练多少个周期（之前的列表中给出了一些建议），我们就会应用这个决定。对于我们的数字分类器，我们会继续训练，直到模型的准确率开始变差，或者我们用完时间为止。\n\n在将这些步骤应用于我们的图像分类问题之前，让我们在一个更简单的情况下看看它们是什么样子。首先我们将定义一个非常简单的函数，二次函数—假设这是我们的损失函数，`x`是函数的权重参数：\n\n```py\ndef f(x): return x**2\n```\n\n这是该函数的图表：\n\n```py\nplot_function(f, 'x', 'x**2')\n```\n\n![](img/dlcf_04in07.png)\n\n我们之前描述的步骤序列从选择参数的随机值开始，并计算损失的值：\n\n```py\nplot_function(f, 'x', 'x**2')\nplt.scatter(-1.5, f(-1.5), color='red');\n```\n\n![](img/dlcf_04in08.png)\n\n现在我们来看看如果我们稍微增加或减少参数会发生什么—*调整*。这只是特定点的斜率：\n\n![显示在某一点的斜率的平方函数的图表](img/dlcf_04in09.png)\n\n我们可以稍微改变我们的权重朝着斜坡的方向，计算我们的损失和调整，然后再重复几次。最终，我们将到达曲线上的最低点：\n\n![梯度下降的示意图](img/dlcf_04in10.png)\n\n这个基本思想最早可以追溯到艾萨克·牛顿，他指出我们可以以这种方式优化任意函数。无论我们的函数变得多么复杂，梯度下降的这种基本方法不会有太大变化。我们在本书后面看到的唯一微小变化是一些方便的方法，可以让我们更快地找到更好的步骤。\n\n## 计算梯度\n\n唯一的魔法步骤是计算梯度的部分。正如我们提到的，我们使用微积分作为性能优化；它让我们更快地计算当我们调整参数时我们的损失会上升还是下降。换句话说，梯度将告诉我们我们需要改变每个权重多少才能使我们的模型更好。\n\n您可能还记得高中微积分课上的*导数*告诉您函数参数的变化会如何改变其结果。如果不记得，不用担心；我们很多人高中毕业后就忘了微积分！但在继续之前，您需要对导数有一些直观的理解，所以如果您对此一头雾水，可以前往 Khan Academy 完成[基本导数课程](https://oreil.ly/nyd0R)。您不必自己计算导数；您只需要知道导数是什么。\n\n导数的关键点在于：对于任何函数，比如我们在前一节中看到的二次函数，我们可以计算它的导数。导数是另一个函数。它计算的是变化，而不是值。例如，在值为 3 时，二次函数的导数告诉我们函数在值为 3 时的变化速度。更具体地说，您可能还记得梯度被定义为*上升/水平移动*；也就是说，函数值的变化除以参数值的变化。当我们知道我们的函数将如何变化时，我们就知道我们需要做什么来使它变小。这是机器学习的关键：有一种方法来改变函数的参数使其变小。微积分为我们提供了一个计算的捷径，即导数，它让我们直接计算我们函数的梯度。\n\n一个重要的事情要注意的是我们的函数有很多需要调整的权重，所以当我们计算导数时，我们不会得到一个数字，而是很多个—每个权重都有一个梯度。但在这里没有数学上的技巧；您可以计算相对于一个权重的导数，将其他所有权重视为常数，然后对每个其他权重重复这个过程。这就是计算所有梯度的方法，对于每个权重。\n\n刚才我们提到您不必自己计算任何梯度。这怎么可能？令人惊讶的是，PyTorch 能够自动计算几乎任何函数的导数！而且，它计算得非常快。大多数情况下，它至少与您手动创建的任何导数函数一样快。让我们看一个例子。\n\n首先，让我们选择一个张量数值，我们想要梯度：\n\n```py\nxt = tensor(3.).requires_grad_()\n```\n\n注意特殊方法`requires_grad_`？这是我们告诉 PyTorch 我们想要计算梯度的神奇咒语。这实质上是给变量打上标记，这样 PyTorch 就会记住如何计算您要求的其他直接计算的梯度。\n\n# Alexis 说\n\n如果您来自数学或物理学，这个 API 可能会让您困惑。在这些背景下，函数的“梯度”只是另一个函数（即，它的导数），因此您可能期望与梯度相关的 API 提供给您一个新函数。但在深度学习中，“梯度”通常意味着函数的导数在特定参数值处的*值*。PyTorch API 也将重点放在参数上，而不是您实际计算梯度的函数。起初可能感觉有些反常，但这只是一个不同的视角。\n\n现在我们用这个值计算我们的函数。注意 PyTorch 打印的不仅是计算的值，还有一个提示，它有一个梯度函数将在需要时用来计算我们的梯度：\n\n```py\nyt = f(xt)\nyt\n```\n\n```py\ntensor(9., grad_fn=<PowBackward0>)\n```\n\n最后，我们告诉 PyTorch 为我们计算梯度：\n\n```py\nyt.backward()\n```\n\n这里的`backward`指的是*反向传播*，这是计算每一层导数的过程的名称。我们将在第十七章中看到这是如何精确完成的，当我们从头开始计算深度神经网络的梯度时。这被称为网络的*反向传播*，与*前向传播*相对，前者是计算激活的地方。如果`backward`只是被称为`calculate_grad`，生活可能会更容易，但深度学习的人确实喜欢在任何地方添加行话！\n\n我们现在可以通过检查我们张量的`grad`属性来查看梯度：\n\n```py\nxt.grad\n```\n\n```py\ntensor(6.)\n```\n\n如果您记得高中微积分规则，`x**2`的导数是`2*x`，我们有`x=3`，所以梯度应该是`2*3=6`，这就是 PyTorch 为我们计算的结果！\n\n现在我们将重复前面的步骤，但使用一个向量参数来计算我们的函数：\n\n```py\nxt = tensor([3.,4.,10.]).requires_grad_()\nxt\n```\n\n```py\ntensor([ 3.,  4., 10.], requires_grad=True)\n```\n\n并且我们将`sum`添加到我们的函数中，以便它可以接受一个向量（即，一个秩为 1 的张量）并返回一个标量（即，一个秩为 0 的张量）：\n\n```py\ndef f(x): return (x**2).sum()\n\nyt = f(xt)\nyt\n```\n\n```py\ntensor(125., grad_fn=<SumBackward0>)\n```\n\n我们的梯度是`2*xt`，正如我们所期望的！\n\n```py\nyt.backward()\nxt.grad\n```\n\n```py\ntensor([ 6.,  8., 20.])\n```\n\n梯度告诉我们函数的斜率；它们并不告诉我们要调整参数多远。但它们确实给了我们一些想法：如果斜率非常大，那可能意味着我们需要更多的调整，而如果斜率非常小，那可能意味着我们接近最优值。\n\n## 使用学习率进行步进\n\n根据梯度值来决定如何改变我们的参数是深度学习过程中的一个重要部分。几乎所有方法都从一个基本思想开始，即将梯度乘以一些小数字，称为*学习率*（LR）。学习率通常是 0.001 到 0.1 之间的数字，尽管它可以是任何值。通常人们通过尝试几个学习率来选择一个，并找出哪个在训练后产生最佳模型的结果（我们将在本书后面展示一个更好的方法，称为*学习率查找器*）。一旦选择了学习率，您可以使用这个简单函数调整参数：\n\n```py\nw -= w.grad * lr\n```\n\n这被称为*调整*您的参数，使用*优化步骤*。\n\n如果您选择的学习率太低，可能意味着需要执行很多步骤。图 4-2 说明了这一点。\n\n![梯度下降示例，学习率过低](img/dlcf_0402.png)\n\n###### 图 4-2。学习率过低的梯度下降\n\n但选择一个学习率太高的学习率更糟糕——它可能导致损失变得*更糟*，正如我们在图 4-3 中看到的！\n\n![学习率过高的梯度下降示例](img/dlcf_0403.png)\n\n###### 图 4-3\\. 学习率过高的梯度下降\n\n如果学习率太高，它也可能会“弹跳”而不是发散；图 4-4 显示了这样做需要许多步骤才能成功训练。\n\n![带有弹跳学习率的梯度下降示例](img/dlcf_0404.png)\n\n###### 图 4-4\\. 带有弹跳学习率的梯度下降\n\n现在让我们在一个端到端的示例中应用所有这些。\n\n## 一个端到端的 SGD 示例\n\n我们已经看到如何使用梯度来最小化我们的损失。现在是时候看一个 SGD 示例，并看看如何找到最小值来训练模型以更好地拟合数据。\n\n让我们从一个简单的合成示例模型开始。想象一下，您正在测量过山车通过顶峰时的速度。它会开始快速，然后随着上坡而变慢；在顶部最慢，然后在下坡时再次加速。您想建立一个关于速度随时间变化的模型。如果您每秒手动测量速度 20 秒，它可能看起来像这样：\n\n```py\ntime = torch.arange(0,20).float(); time\n```\n\n```py\ntensor([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12., 13.,\n > 14., 15., 16., 17., 18., 19.])\n```\n\n```py\nspeed = torch.randn(20)*3 + 0.75*(time-9.5)**2 + 1\nplt.scatter(time,speed);\n```\n\n![](img/dlcf_04in11.png)\n\n我们添加了一些随机噪声，因为手动测量不够精确。这意味着很难回答问题：过山车的速度是多少？使用 SGD，我们可以尝试找到一个与我们的观察相匹配的函数。我们无法考虑每种可能的函数，所以让我们猜测它将是二次的；即，一个形式为`a*(time**2)+(b*time)+c`的函数。\n\n我们希望清楚地区分函数的输入（我们测量过山车速度的时间）和其参数（定义*我们正在尝试的*二次函数的值）。因此，让我们将参数收集在一个参数中，从而在函数的签名中分离输入`t`和参数`params`：\n\n```py\ndef f(t, params):\n    a,b,c = params\n    return a*(t**2) + (b*t) + c\n```\n\n换句话说，我们已经将找到最佳拟合数据的最佳函数的问题限制为找到最佳*二次*函数。这极大地简化了问题，因为每个二次函数都由三个参数`a`、`b`和`c`完全定义。因此，要找到最佳二次函数，我们只需要找到最佳的`a`、`b`和`c`的值。\n\n如果我们可以解决二次函数的三个参数的问题，我们就能够对其他具有更多参数的更复杂函数应用相同的方法——比如神经网络。让我们先找到`f`的参数，然后我们将回来对 MNIST 数据集使用神经网络做同样的事情。\n\n首先，我们需要定义“最佳”是什么意思。我们通过选择一个*损失函数*来精确定义这一点，该函数将根据预测和目标返回一个值，其中函数的较低值对应于“更好”的预测。对于连续数据，通常使用*均方误差*：\n\n```py\ndef mse(preds, targets): return ((preds-targets)**2).mean()\n```\n\n现在，让我们按照我们的七步流程进行工作。\n\n### 第一步：初始化参数\n\n首先，我们将参数初始化为随机值，并告诉 PyTorch 我们要使用`requires_grad_`跟踪它们的梯度：\n\n```py\nparams = torch.randn(3).requires_grad_()\n```\n\n### 第二步：计算预测\n\n接下来，我们计算预测：\n\n```py\npreds = f(time, params)\n```\n\n让我们创建一个小函数来查看我们的预测与目标的接近程度，并看一看：\n\n```py\ndef show_preds(preds, ax=None):\n    if ax is None: ax=plt.subplots()[1]\n    ax.scatter(time, speed)\n    ax.scatter(time, to_np(preds), color='red')\n    ax.set_ylim(-300,100)\n```\n\n```py\nshow_preds(preds)\n```\n\n![](img/dlcf_04in12.png)\n\n这看起来并不接近——我们的随机参数表明过山车最终会倒退，因为我们有负速度！\n\n### 第三步：计算损失\n\n我们计算损失如下：\n\n```py\nloss = mse(preds, speed)\nloss\n```\n\n```py\ntensor(25823.8086, grad_fn=<MeanBackward0>)\n```\n\n我们的目标现在是改进这一点。为了做到这一点，我们需要知道梯度。\n\n### 第四步：计算梯度\n\n下一步是计算梯度，或者近似参数需要如何改变：\n\n```py\nloss.backward()\nparams.grad\n```\n\n```py\ntensor([-53195.8594,  -3419.7146,   -253.8908])\n```\n\n```py\nparams.grad * 1e-5\n```\n\n```py\ntensor([-0.5320, -0.0342, -0.0025])\n```\n\n我们可以利用这些梯度来改进我们的参数。我们需要选择一个学习率（我们将在下一章中讨论如何在实践中做到这一点；现在，我们将使用 1e-5 或 0.00001）：\n\n```py\nparams\n```\n\n```py\ntensor([-0.7658, -0.7506,  1.3525], requires_grad=True)\n```\n\n### 第 5 步：调整权重\n\n现在我们需要根据刚刚计算的梯度更新参数：\n\n```py\nlr = 1e-5\nparams.data -= lr * params.grad.data\nparams.grad = None\n```\n\n# Alexis 说\n\n理解这一点取决于记住最近的历史。为了计算梯度，我们在`loss`上调用`backward`。但是这个`loss`本身是通过`mse`计算的，而`mse`又以`preds`作为输入，`preds`是使用`f`计算的，`f`以`params`作为输入，`params`是我们最初调用`required_grads_`的对象，这是最初的调用，现在允许我们在`loss`上调用`backward`。这一系列函数调用代表了函数的数学组合，使得 PyTorch 能够在幕后使用微积分的链式法则来计算这些梯度。\n\n让我们看看损失是否有所改善：\n\n```py\npreds = f(time,params)\nmse(preds, speed)\n```\n\n```py\ntensor(5435.5366, grad_fn=<MeanBackward0>)\n```\n\n再看一下图表：\n\n```py\nshow_preds(preds)\n```\n\n![](img/dlcf_04in13.png)\n\n我们需要重复这个过程几次，所以我们将创建一个应用一步的函数：\n\n```py\ndef apply_step(params, prn=True):\n    preds = f(time, params)\n    loss = mse(preds, speed)\n    loss.backward()\n    params.data -= lr * params.grad.data\n    params.grad = None\n    if prn: print(loss.item())\n    return preds\n```\n\n### 第 6 步：重复这个过程\n\n现在我们进行迭代。通过循环和进行许多改进，我们希望达到一个好的结果：\n\n```py\nfor i in range(10): apply_step(params)\n```\n\n```py\n5435.53662109375\n1577.4495849609375\n847.3780517578125\n709.22265625\n683.0757446289062\n678.12451171875\n677.1839599609375\n677.0025024414062\n676.96435546875\n676.9537353515625\n```\n\n损失正在下降，正如我们所希望的！但仅仅看这些损失数字掩盖了一个事实，即每次迭代代表尝试一个完全不同的二次函数，以找到最佳可能的二次函数。如果我们不打印出损失函数，而是在每一步绘制函数，我们可以看到形状是如何接近我们的数据的最佳可能的二次函数：\n\n```py\n_,axs = plt.subplots(1,4,figsize=(12,3))\nfor ax in axs: show_preds(apply_step(params, False), ax)\nplt.tight_layout()\n```\n\n![](img/dlcf_04in14.png)\n\n### 第 7 步：停止\n\n我们刚刚决定在任意选择的 10 个 epochs 后停止。在实践中，我们会观察训练和验证损失以及我们的指标，以决定何时停止，正如我们所讨论的那样。\n\n## 总结梯度下降\n\n现在您已经看到每个步骤中发生的事情，让我们再次看一下我们的梯度下降过程的图形表示（图 4-5）并进行一个快速回顾。\n\n![显示梯度下降步骤的图表](img/dlcf_0405.png)\n\n###### 图 4-5\\. 梯度下降过程\n\n在开始时，我们模型的权重可以是随机的（从头开始训练）或来自预训练模型（迁移学习）。在第一种情况下，我们从输入得到的输出与我们想要的完全无关，即使在第二种情况下，预训练模型也可能不太擅长我们所针对的特定任务。因此，模型需要学习更好的权重。\n\n我们首先将模型给出的输出与我们的目标进行比较（我们有标记数据，所以我们知道模型应该给出什么结果），使用一个*损失函数*，它返回一个数字，我们希望通过改进我们的权重使其尽可能低。为了做到这一点，我们从训练集中取出一些数据项（如图像）并将它们馈送给我们的模型。我们使用我们的损失函数比较相应的目标，我们得到的分数告诉我们我们的预测有多么错误。然后我们稍微改变权重使其稍微更好。\n\n为了找出如何改变权重使损失稍微变好，我们使用微积分来计算*梯度*。（实际上，我们让 PyTorch 为我们做这个！）让我们考虑一个类比。想象一下你在山上迷路了，你的车停在最低点。为了找到回去的路，你可能会朝着随机方向走，但那可能不会有太大帮助。由于你知道你的车在最低点，你最好是往下走。通过始终朝着最陡峭的下坡方向迈出一步，你最终应该到达目的地。我们使用梯度的大小（即坡度的陡峭程度）来告诉我们应该迈多大一步；具体来说，我们将梯度乘以我们选择的一个称为*学习率*的数字来决定步长。然后我们*迭代*直到达到最低点，那将是我们的停车场；然后我们可以*停止*。\n\n我们刚刚看到的所有内容都可以直接转换到 MNIST 数据集，除了损失函数。现在让我们看看如何定义一个好的训练目标。\n\n# MNIST 损失函数\n\n我们已经有了我们的`x`—也就是我们的自变量，图像本身。我们将它们全部连接成一个单一的张量，并且还将它们从矩阵列表（一个秩为 3 的张量）转换为向量列表（一个秩为 2 的张量）。我们可以使用`view`来做到这一点，`view`是一个 PyTorch 方法，可以改变张量的形状而不改变其内容。`-1`是`view`的一个特殊参数，意思是“使这个轴尽可能大以适应所有数据”：\n\n```py\ntrain_x = torch.cat([stacked_threes, stacked_sevens]).view(-1, 28*28)\n```\n\n我们需要为每张图片标记。我们将使用`1`表示 3，`0`表示 7：\n\n```py\ntrain_y = tensor([1]*len(threes) + [0]*len(sevens)).unsqueeze(1)\ntrain_x.shape,train_y.shape\n```\n\n```py\n(torch.Size([12396, 784]), torch.Size([12396, 1]))\n```\n\n在 PyTorch 中，当索引时，`Dataset`需要返回一个`(x,y)`元组。Python 提供了一个`zip`函数，当与`list`结合使用时，可以简单地实现这个功能：\n\n```py\ndset = list(zip(train_x,train_y))\nx,y = dset[0]\nx.shape,y\n```\n\n```py\n(torch.Size([784]), tensor([1]))\n```\n\n```py\nvalid_x = torch.cat([valid_3_tens, valid_7_tens]).view(-1, 28*28)\nvalid_y = tensor([1]*len(valid_3_tens) + [0]*len(valid_7_tens)).unsqueeze(1)\nvalid_dset = list(zip(valid_x,valid_y))\n```\n\n现在我们需要为每个像素（最初是随机的）分配一个权重（这是我们七步过程中的*初始化*步骤）：\n\n```py\ndef init_params(size, std=1.0): return (torch.randn(size)*std).requires_grad_()\n```\n\n```py\nweights = init_params((28*28,1))\n```\n\n函数`weights*pixels`不够灵活—当像素等于 0 时，它总是等于 0（即其*截距*为 0）。你可能还记得高中数学中线的公式是`y=w*x+b`；我们仍然需要`b`。我们也会将其初始化为一个随机数：\n\n```py\nbias = init_params(1)\n```\n\n在神经网络中，方程`y=w*x+b`中的`w`被称为*权重*，`b`被称为*偏置*。权重和偏置一起构成*参数*。\n\n# 术语：参数\n\n模型的*权重*和*偏置*。权重是方程`w*x+b`中的`w`，偏置是该方程中的`b`。\n\n现在我们可以为一张图片计算一个预测：\n\n```py\n(train_x[0]*weights.T).sum() + bias\n```\n\n```py\ntensor([20.2336], grad_fn=<AddBackward0>)\n```\n\n虽然我们可以使用 Python 的`for`循环来计算每张图片的预测，但那将非常慢。因为 Python 循环不在 GPU 上运行，而且因为 Python 在一般情况下循环速度较慢，我们需要尽可能多地使用高级函数来表示模型中的计算。\n\n在这种情况下，有一个非常方便的数学运算可以为矩阵的每一行计算`w*x`—它被称为*矩阵乘法*。图 4-6 展示了矩阵乘法的样子。\n\n![矩阵乘法](img/dlcf_0406.png)\n\n###### 图 4-6\\. 矩阵乘法\n\n这幅图展示了两个矩阵`A`和`B`相乘。结果的每个项目，我们称之为`AB`，包含了`A`的对应行的每个项目与`B`的对应列的每个项目相乘后相加。例如，第 1 行第 2 列（带有红色边框的黄色点）计算为<math alttext=\"a 下标 1，1 乘以 b 下标 1，2 加上 a 下标 1，2 乘以 b 下标 2，2\">。如果您需要复习矩阵乘法，我们建议您查看 Khan Academy 的“矩阵乘法简介”，因为这是深度学习中最重要的数学运算。\n\n在 Python 中，矩阵乘法用`@`运算符表示。让我们试一试：\n\n```py\ndef linear1(xb): return xb@weights + bias\npreds = linear1(train_x)\npreds\n```\n\n```py\ntensor([[20.2336],\n        [17.0644],\n        [15.2384],\n        ...,\n        [18.3804],\n        [23.8567],\n        [28.6816]], grad_fn=<AddBackward0>)\n```\n\n第一个元素与我们之前计算的相同，正如我们所期望的。这个方程`batch @ weights + bias`是任何神经网络的两个基本方程之一（另一个是*激活函数*，我们马上会看到）。\n\n让我们检查我们的准确性。为了确定输出代表 3 还是 7，我们只需检查它是否大于 0，因此我们可以计算每个项目的准确性（使用广播，因此没有循环！）如下：\n\n```py\ncorrects = (preds>0.0).float() == train_y\ncorrects\n```\n\n```py\ntensor([[ True],\n        [ True],\n        [ True],\n        ...,\n        [False],\n        [False],\n        [False]])\n```\n\n```py\ncorrects.float().mean().item()\n```\n\n```py\n0.4912068545818329\n```\n\n现在让我们看看一个权重的微小变化对准确性的影响是什么：\n\n```py\nweights[0] *= 1.0001\n```\n\n```py\npreds = linear1(train_x)\n((preds>0.0).float() == train_y).float().mean().item()\n```\n\n```py\n0.4912068545818329\n```\n\n正如我们所看到的，我们需要梯度来通过 SGD 改进我们的模型，为了计算梯度，我们需要一个*损失函数*，它代表了我们的模型有多好。这是因为梯度是损失函数如何随着对权重的微小调整而变化的度量。\n\n因此，我们需要选择一个损失函数。显而易见的方法是使用准确性作为我们的度量标准，也作为我们的损失函数。在这种情况下，我们将为每个图像计算我们的预测，收集这些值以计算总体准确性，然后计算每个权重相对于总体准确性的梯度。\n\n不幸的是，我们在这里有一个重要的技术问题。函数的梯度是其*斜率*，或者是其陡峭程度，可以定义为*上升与下降*——也就是说，函数值上升或下降的幅度，除以我们改变输入的幅度。我们可以用数学方式写成：\n\n```py\n(y_new – y_old) / (x_new – x_old)\n```\n\n当`x_new`非常类似于`x_old`时，这给出了梯度的良好近似，这意味着它们的差异非常小。但是，只有当预测从 3 变为 7，或者反之时，准确性才会发生变化。问题在于，从`x_old`到`x_new`的权重的微小变化不太可能导致任何预测发生变化，因此`(y_new - y_old)`几乎总是为 0。换句话说，梯度几乎在任何地方都为 0。\n\n权重值的微小变化通常不会改变准确性。这意味着使用准确性作为损失函数是没有用的——如果我们这样做，大多数时候我们的梯度将为 0，模型将无法从该数字中学习。\n\n# Sylvain 说\n\n在数学术语中，准确性是一个几乎在任何地方都是常数的函数（除了阈值 0.5），因此它的导数几乎在任何地方都是零（在阈值处为无穷大）。这将导致梯度为 0 或无穷大，这对于更新模型是没有用的。\n\n相反，我们需要一个损失函数，当我们的权重导致稍微更好的预测时，给出稍微更好的损失。那么，“稍微更好的预测”具体是什么样呢？在这种情况下，这意味着如果正确答案是 3，则分数稍高，或者如果正确答案是 7，则分数稍低。\n\n现在让我们编写这样一个函数。它是什么形式？\n\n损失函数接收的不是图像本身，而是模型的预测。因此，让我们做一个参数`prds`，值在 0 和 1 之间，其中每个值是图像是 3 的预测。它是一个矢量（即，一个秩-1 张量），索引在图像上。\n\n损失函数的目的是衡量预测值与真实值之间的差异，即目标（又称标签）。因此，让我们再做一个参数`trgts`，其值为 0 或 1，告诉图像实际上是 3 还是不是 3。它也是一个矢量（即，另一个秩-1 张量），索引在图像上。\n\n例如，假设我们有三幅图像，我们知道其中一幅是 3，一幅是 7，一幅是 3。假设我们的模型以高置信度（`0.9`）预测第一幅是 3，以轻微置信度（`0.4`）预测第二幅是 7，以公平置信度（`0.2`），但是错误地预测最后一幅是 7。这意味着我们的损失函数将接收这些值作为其输入：\n\n```py\ntrgts  = tensor([1,0,1])\nprds   = tensor([0.9, 0.4, 0.2])\n```\n\n这是一个测量`predictions`和`targets`之间距离的损失函数的第一次尝试：\n\n```py\ndef mnist_loss(predictions, targets):\n    return torch.where(targets==1, 1-predictions, predictions).mean()\n```\n\n我们正在使用一个新函数，`torch.where(a,b,c)`。这与运行列表推导`[b[i] if a[i] else c[i] for i in range(len(a))]`相同，只是它在张量上运行，以 C/CUDA 速度运行。简单来说，这个函数将衡量每个预测离 1 有多远，如果应该是 1 的话，以及它离 0 有多远，如果应该是 0 的话，然后它将取所有这些距离的平均值。\n\n# 阅读文档\n\n学习 PyTorch 这样的函数很重要，因为在 Python 中循环张量的速度是 Python 速度，而不是 C/CUDA 速度！现在尝试运行`help(torch.where)`来阅读此函数的文档，或者更好的是，在 PyTorch 文档站点上查找。\n\n让我们在我们的`prds`和`trgts`上尝试一下：\n\n```py\ntorch.where(trgts==1, 1-prds, prds)\n```\n\n```py\ntensor([0.1000, 0.4000, 0.8000])\n```\n\n您可以看到，当预测更准确时，当准确预测更自信时（绝对值更高），以及当不准确预测更不自信时，此函数返回较低的数字。在 PyTorch 中，我们始终假设损失函数的较低值更好。由于我们需要一个标量作为最终损失，`mnist_loss`取前一个张量的平均值：\n\n```py\nmnist_loss(prds,trgts)\n```\n\n```py\ntensor(0.4333)\n```\n\n例如，如果我们将对一个“错误”目标的预测从`0.2`更改为`0.8`，损失将减少，表明这是一个更好的预测：\n\n```py\nmnist_loss(tensor([0.9, 0.4, 0.8]),trgts)\n```\n\n```py\ntensor(0.2333)\n```\n\n`mnist_loss`当前定义的一个问题是它假设预测总是在 0 和 1 之间。因此，我们需要确保这实际上是这种情况！恰好有一个函数可以做到这一点，让我们来看看。\n\n## Sigmoid\n\n`sigmoid`函数总是输出一个介于 0 和 1 之间的数字。它的定义如下：\n\n```py\ndef sigmoid(x): return 1/(1+torch.exp(-x))\n```\n\nPyTorch 为我们定义了一个加速版本，所以我们不需要自己的。这是深度学习中一个重要的函数，因为我们经常希望确保数值在 0 和 1 之间。它看起来是这样的：\n\n```py\nplot_function(torch.sigmoid, title='Sigmoid', min=-4, max=4)\n```\n\n![](img/dlcf_04in15.png)\n\n正如您所看到的，它接受任何输入值，正数或负数，并将其压缩为 0 和 1 之间的输出值。它还是一个只上升的平滑曲线，这使得 SGD 更容易找到有意义的梯度。\n\n让我们更新`mnist_loss`，首先对输入应用`sigmoid`：\n\n```py\ndef mnist_loss(predictions, targets):\n    predictions = predictions.sigmoid()\n    return torch.where(targets==1, 1-predictions, predictions).mean()\n```\n\n现在我们可以确信我们的损失函数将起作用，即使预测不在 0 和 1 之间。唯一需要的是更高的预测对应更高的置信度。\n\n定义了一个损失函数，现在是一个好时机回顾为什么这样做。毕竟，我们已经有了一个度量标准，即整体准确率。那么为什么我们定义了一个损失？\n\n关键区别在于指标用于驱动人类理解，而损失用于驱动自动学习。为了驱动自动学习，损失必须是一个具有有意义导数的函数。它不能有大的平坦部分和大的跳跃，而必须是相当平滑的。这就是为什么我们设计了一个损失函数，可以对置信水平的小变化做出响应。这个要求意味着有时它实际上并不完全反映我们试图实现的目标，而是我们真正目标和一个可以使用其梯度进行优化的函数之间的妥协。损失函数是针对数据集中的每个项目计算的，然后在时代结束时，所有损失值都被平均，整体均值被报告为时代。\n\n另一方面，指标是我们关心的数字。这些是在每个时代结束时打印的值，告诉我们我们的模型表现如何。重要的是，我们学会关注这些指标，而不是损失，来评估模型的性能。\n\n## SGD 和小批次\n\n现在我们有了一个适合驱动 SGD 的损失函数，我们可以考虑学习过程的下一阶段涉及的一些细节，即根据梯度改变或更新权重。这被称为*优化步骤*。\n\n要进行优化步骤，我们需要计算一个或多个数据项的损失。我们应该使用多少？我们可以为整个数据集计算并取平均值，或者可以为单个数据项计算。但这两种方法都不理想。为整个数据集计算将需要很长时间。为单个数据项计算将不会使用太多信息，因此会导致不精确和不稳定的梯度。您将费力更新权重，但只考虑这将如何改善模型在该单个数据项上的性能。\n\n因此，我们做出妥协：我们一次计算几个数据项的平均损失。这被称为*小批次*。小批次中的数据项数量称为*批次大小*。较大的批次大小意味着您将从损失函数中获得更准确和稳定的数据集梯度估计，但这将需要更长时间，并且您将在每个时代处理较少的小批次。选择一个好的批次大小是您作为深度学习从业者需要做出的决定之一，以便快速准确地训练您的模型。我们将在本书中讨论如何做出这个选择。\n\n使用小批次而不是在单个数据项上计算梯度的另一个很好的理由是，实际上，我们几乎总是在加速器上进行训练，例如 GPU。这些加速器只有在一次有很多工作要做时才能表现良好，因此如果我们可以给它们很多数据项来处理，这将是有帮助的。使用小批次是实现这一目标的最佳方法之一。但是，如果您一次给它们太多数据来处理，它们会耗尽内存——让 GPU 保持愉快也是棘手的！\n\n正如您在第二章中关于数据增强的讨论中所看到的，如果我们在训练过程中可以改变一些东西，我们会获得更好的泛化能力。我们可以改变的一个简单而有效的事情是将哪些数据项放入每个小批次。我们通常不是简单地按顺序枚举我们的数据集，而是在每个时代之前随机洗牌，然后创建小批次。PyTorch 和 fastai 提供了一个类，可以为您执行洗牌和小批次整理，称为`DataLoader`。\n\n`DataLoader`可以将任何 Python 集合转换为一个迭代器，用于生成多个批次，就像这样：\n\n```py\ncoll = range(15)\ndl = DataLoader(coll, batch_size=5, shuffle=True)\nlist(dl)\n```\n\n```py\n[tensor([ 3, 12,  8, 10,  2]),\n tensor([ 9,  4,  7, 14,  5]),\n tensor([ 1, 13,  0,  6, 11])]\n```\n\n对于训练模型，我们不只是想要任何 Python 集合，而是一个包含独立和相关变量（模型的输入和目标）的集合。包含独立和相关变量元组的集合在 PyTorch 中被称为`Dataset`。这是一个极其简单的`Dataset`的示例：\n\n```py\nds = L(enumerate(string.ascii_lowercase))\nds\n```\n\n```py\n(#26) [(0, 'a'),(1, 'b'),(2, 'c'),(3, 'd'),(4, 'e'),(5, 'f'),(6, 'g'),(7,\n > 'h'),(8, 'i'),(9, 'j')...]\n```\n\n当我们将`Dataset`传递给`DataLoader`时，我们将得到许多批次，它们本身是表示独立和相关变量批次的张量元组：\n\n```py\ndl = DataLoader(ds, batch_size=6, shuffle=True)\nlist(dl)\n```\n\n```py\n[(tensor([17, 18, 10, 22,  8, 14]), ('r', 's', 'k', 'w', 'i', 'o')),\n (tensor([20, 15,  9, 13, 21, 12]), ('u', 'p', 'j', 'n', 'v', 'm')),\n (tensor([ 7, 25,  6,  5, 11, 23]), ('h', 'z', 'g', 'f', 'l', 'x')),\n (tensor([ 1,  3,  0, 24, 19, 16]), ('b', 'd', 'a', 'y', 't', 'q')),\n (tensor([2, 4]), ('c', 'e'))]\n```\n\n我们现在准备为使用 SGD 的模型编写我们的第一个训练循环！\n\n# 把所有东西放在一起\n\n是时候实现我们在图 4-1 中看到的过程了。在代码中，我们的过程将为每个时期实现类似于这样的东西：\n\n```py\nfor x,y in dl:\n    pred = model(x)\n    loss = loss_func(pred, y)\n    loss.backward()\n    parameters -= parameters.grad * lr\n```\n\n首先，让我们重新初始化我们的参数：\n\n```py\nweights = init_params((28*28,1))\nbias = init_params(1)\n```\n\n`DataLoader`可以从`Dataset`创建：\n\n```py\ndl = DataLoader(dset, batch_size=256)\nxb,yb = first(dl)\nxb.shape,yb.shape\n```\n\n```py\n(torch.Size([256, 784]), torch.Size([256, 1]))\n```\n\n我们将对验证集执行相同的操作：\n\n```py\nvalid_dl = DataLoader(valid_dset, batch_size=256)\n```\n\n让我们创建一个大小为 4 的小批量进行测试：\n\n```py\nbatch = train_x[:4]\nbatch.shape\n```\n\n```py\ntorch.Size([4, 784])\n```\n\n```py\npreds = linear1(batch)\npreds\n```\n\n```py\ntensor([[-11.1002],\n        [  5.9263],\n        [  9.9627],\n        [ -8.1484]], grad_fn=<AddBackward0>)\n```\n\n```py\nloss = mnist_loss(preds, train_y[:4])\nloss\n```\n\n```py\ntensor(0.5006, grad_fn=<MeanBackward0>)\n```\n\n现在我们可以计算梯度了：\n\n```py\nloss.backward()\nweights.grad.shape,weights.grad.mean(),bias.grad\n```\n\n```py\n(torch.Size([784, 1]), tensor(-0.0001), tensor([-0.0008]))\n```\n\n让我们把所有这些放在一个函数中：\n\n```py\ndef calc_grad(xb, yb, model):\n    preds = model(xb)\n    loss = mnist_loss(preds, yb)\n    loss.backward()\n```\n\n并测试它：\n\n```py\ncalc_grad(batch, train_y[:4], linear1)\nweights.grad.mean(),bias.grad\n```\n\n```py\n(tensor(-0.0002), tensor([-0.0015]))\n```\n\n但是看看如果我们调用两次会发生什么：\n\n```py\ncalc_grad(batch, train_y[:4], linear1)\nweights.grad.mean(),bias.grad\n```\n\n```py\n(tensor(-0.0003), tensor([-0.0023]))\n```\n\n梯度已经改变了！这是因为`loss.backward` *添加*了`loss`的梯度到当前存储的任何梯度中。因此，我们首先必须将当前梯度设置为 0：\n\n```py\nweights.grad.zero_()\nbias.grad.zero_();\n```\n\n# 原地操作\n\nPyTorch 中以下划线结尾的方法会*原地*修改它们的对象。例如，`bias.zero_`会将张量`bias`的所有元素设置为 0。\n\n我们唯一剩下的步骤是根据梯度和学习率更新权重和偏差。当我们这样做时，我们必须告诉 PyTorch 不要对这一步骤进行梯度计算，否则当我们尝试在下一个批次计算导数时会变得混乱！如果我们将张量的`data`属性赋值，PyTorch 将不会对该步骤进行梯度计算。这是我们用于一个时期的基本训练循环：\n\n```py\ndef train_epoch(model, lr, params):\n    for xb,yb in dl:\n        calc_grad(xb, yb, model)\n        for p in params:\n            p.data -= p.grad*lr\n            p.grad.zero_()\n```\n\n我们还想通过查看验证集的准确性来检查我们的表现。要决定输出是否代表 3 或 7，我们只需检查它是否大于 0。因此，我们可以计算每个项目的准确性（使用广播，所以没有循环！）如下：\n\n```py\n(preds>0.0).float() == train_y[:4]\n```\n\n```py\ntensor([[False],\n        [ True],\n        [ True],\n        [False]])\n```\n\n这给了我们计算验证准确性的这个函数：\n\n```py\ndef batch_accuracy(xb, yb):\n    preds = xb.sigmoid()\n    correct = (preds>0.5) == yb\n    return correct.float().mean()\n```\n\n我们可以检查它是否有效：\n\n```py\nbatch_accuracy(linear1(batch), train_y[:4])\n```\n\n```py\ntensor(0.5000)\n```\n\n然后把批次放在一起：\n\n```py\ndef validate_epoch(model):\n    accs = [batch_accuracy(model(xb), yb) for xb,yb in valid_dl]\n    return round(torch.stack(accs).mean().item(), 4)\n```\n\n```py\nvalidate_epoch(linear1)\n```\n\n```py\n0.5219\n```\n\n这是我们的起点。让我们训练一个时期，看看准确性是否提高：\n\n```py\nlr = 1.\nparams = weights,bias\ntrain_epoch(linear1, lr, params)\nvalidate_epoch(linear1)\n```\n\n```py\n0.6883\n```\n\n然后再做几次：\n\n```py\nfor i in range(20):\n    train_epoch(linear1, lr, params)\n    print(validate_epoch(linear1), end=' ')\n```\n\n```py\n0.8314 0.9017 0.9227 0.9349 0.9438 0.9501 0.9535 0.9564 0.9594 0.9618 0.9613\n > 0.9638 0.9643 0.9652 0.9662 0.9677 0.9687 0.9691 0.9691 0.9696\n```\n\n看起来不错！我们的准确性已经接近“像素相似性”方法的准确性，我们已经创建了一个通用的基础可以构建。我们的下一步将是创建一个将处理 SGD 步骤的对象。在 PyTorch 中，它被称为*优化器*。\n\n## 创建一个优化器\n\n因为这是一个如此通用的基础，PyTorch 提供了一些有用的类来使实现更容易。我们可以做的第一件事是用 PyTorch 的`nn.Linear`模块替换我们的`linear`函数。*模块*是从 PyTorch `nn.Module`类继承的类的对象。这个类的对象的行为与标准 Python 函数完全相同，您可以使用括号调用它们，它们将返回模型的激活。\n\n`nn.Linear`做的事情与我们的`init_params`和`linear`一样。它包含了*权重*和*偏差*在一个单独的类中。这是我们如何复制上一节中的模型：\n\n```py\nlinear_model = nn.Linear(28*28,1)\n```\n\n每个 PyTorch 模块都知道它有哪些可以训练的参数；它们可以通过`parameters`方法获得：\n\n```py\nw,b = linear_model.parameters()\nw.shape,b.shape\n```\n\n```py\n(torch.Size([1, 784]), torch.Size([1]))\n```\n\n我们可以使用这些信息创建一个优化器：\n\n```py\nclass BasicOptim:\n    def __init__(self,params,lr): self.params,self.lr = list(params),lr\n\n    def step(self, *args, **kwargs):\n        for p in self.params: p.data -= p.grad.data * self.lr\n\n    def zero_grad(self, *args, **kwargs):\n        for p in self.params: p.grad = None\n```\n\n我们可以通过传入模型的参数来创建优化器：\n\n```py\nopt = BasicOptim(linear_model.parameters(), lr)\n```\n\n我们的训练循环现在可以简化：\n\n```py\ndef train_epoch(model):\n    for xb,yb in dl:\n        calc_grad(xb, yb, model)\n        opt.step()\n        opt.zero_grad()\n```\n\n我们的验证函数不需要任何更改：\n\n```py\nvalidate_epoch(linear_model)\n```\n\n```py\n0.4157\n```\n\n让我们把我们的小训练循环放在一个函数中，让事情变得更简单：\n\n```py\ndef train_model(model, epochs):\n    for i in range(epochs):\n        train_epoch(model)\n        print(validate_epoch(model), end=' ')\n```\n\n结果与上一节相同：\n\n```py\ntrain_model(linear_model, 20)\n```\n\n```py\n0.4932 0.8618 0.8203 0.9102 0.9331 0.9468 0.9555 0.9629 0.9658 0.9673 0.9687\n > 0.9707 0.9726 0.9751 0.9761 0.9761 0.9775 0.978 0.9785 0.9785\n```\n\nfastai 提供了`SGD`类，默认情况下与我们的`BasicOptim`做相同的事情：\n\n```py\nlinear_model = nn.Linear(28*28,1)\nopt = SGD(linear_model.parameters(), lr)\ntrain_model(linear_model, 20)\n```\n\n```py\n0.4932 0.852 0.8335 0.9116 0.9326 0.9473 0.9555 0.9624 0.9648 0.9668 0.9692\n > 0.9712 0.9731 0.9746 0.9761 0.9765 0.9775 0.978 0.9785 0.9785\n```\n\nfastai 还提供了`Learner.fit`，我们可以使用它来代替`train_model`。要创建一个`Learner`，我们首先需要创建一个`DataLoaders`，通过传入我们的训练和验证`DataLoader`：\n\n```py\ndls = DataLoaders(dl, valid_dl)\n```\n\n要创建一个`Learner`而不使用应用程序（如`cnn_learner`），我们需要传入本章中创建的所有元素：`DataLoaders`，模型，优化函数（将传递参数），损失函数，以及可选的任何要打印的指标：\n\n```py\nlearn = Learner(dls, nn.Linear(28*28,1), opt_func=SGD,\n                loss_func=mnist_loss, metrics=batch_accuracy)\n```\n\n现在我们可以调用`fit`：\n\n```py\nlearn.fit(10, lr=lr)\n```\n\n| epoch | train_loss | valid_loss | batch_accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.636857 | 0.503549 | 0.495584 | 00:00 |\n| 1 | 0.545725 | 0.170281 | 0.866045 | 00:00 |\n| 2 | 0.199223 | 0.184893 | 0.831207 | 00:00 |\n| 3 | 0.086580 | 0.107836 | 0.911187 | 00:00 |\n| 4 | 0.045185 | 0.078481 | 0.932777 | 00:00 |\n| 5 | 0.029108 | 0.062792 | 0.946516 | 00:00 |\n| 6 | 0.022560 | 0.053017 | 0.955348 | 00:00 |\n| 7 | 0.019687 | 0.046500 | 0.962218 | 00:00 |\n| 8 | 0.018252 | 0.041929 | 0.965162 | 00:00 |\n| 9 | 0.017402 | 0.038573 | 0.967615 | 00:00 |\n\n正如您所看到的，PyTorch 和 fastai 类并没有什么神奇之处。它们只是方便的预打包部件，使您的生活变得更轻松！（它们还提供了许多我们将在未来章节中使用的额外功能。）\n\n有了这些类，我们现在可以用神经网络替换我们的线性模型。\n\n# 添加非线性\n\n到目前为止，我们已经有了一个优化函数的一般过程，并且我们已经在一个无聊的函数上尝试了它：一个简单的线性分类器。线性分类器在能做什么方面受到限制。为了使其更复杂一些（并且能够处理更多任务），我们需要在两个线性分类器之间添加一些非线性（即与 ax+b 不同的东西）——这就是给我们神经网络的东西。\n\n这是一个基本神经网络的完整定义：\n\n```py\ndef simple_net(xb):\n    res = xb@w1 + b1\n    res = res.max(tensor(0.0))\n    res = res@w2 + b2\n    return res\n```\n\n就是这样！在`simple_net`中，我们只有两个线性分类器，它们之间有一个`max`函数。\n\n在这里，`w1`和`w2`是权重张量，`b1`和`b2`是偏置张量；也就是说，这些参数最初是随机初始化的，就像我们在上一节中所做的一样：\n\n```py\nw1 = init_params((28*28,30))\nb1 = init_params(30)\nw2 = init_params((30,1))\nb2 = init_params(1)\n```\n\n关键点是`w1`有 30 个输出激活（这意味着`w2`必须有 30 个输入激活，以便匹配）。这意味着第一层可以构建 30 个不同的特征，每个特征代表不同的像素混合。您可以将`30`更改为任何您喜欢的数字，以使模型更复杂或更简单。\n\n那个小函数`res.max(tensor(0.0))`被称为*修正线性单元*，也被称为*ReLU*。我们认为我们都可以同意*修正线性单元*听起来相当花哨和复杂...但实际上，它不过是`res.max(tensor(0.0))`——换句话说，用零替换每个负数。这个微小的函数在 PyTorch 中也可以作为`F.relu`使用：\n\n```py\nplot_function(F.relu)\n```\n\n![](img/dlcf_04in16.png)\n\n# Jeremy 说\n\n深度学习中有大量行话，包括*修正线性单元*等术语。绝大多数这些行话并不比我们在这个例子中看到的一行代码更复杂。事实是，学术界为了发表论文，他们需要让论文听起来尽可能令人印象深刻和复杂。他们通过引入行话来实现这一点。不幸的是，这导致该领域变得比应该更加令人生畏和难以进入。您确实需要学习这些行话，因为否则论文和教程对您来说将毫无意义。但这并不意味着您必须觉得这些行话令人生畏。只需记住，当您遇到以前未见过的单词或短语时，它几乎肯定是指一个非常简单的概念。\n\n基本思想是通过使用更多的线性层，我们的模型可以进行更多的计算，从而模拟更复杂的函数。但是，直接将一个线性布局放在另一个线性布局之后是没有意义的，因为当我们将事物相乘然后多次相加时，可以用不同的事物相乘然后只相加一次来替代！也就是说，一系列任意数量的线性层可以被替换为具有不同参数集的单个线性层。\n\n但是，如果我们在它们之间放置一个非线性函数，比如`max`，这就不再成立了。现在每个线性层都有点解耦，可以做自己有用的工作。`max`函数特别有趣，因为它作为一个简单的`if`语句运行。\n\n# Sylvain 说\n\n数学上，我们说两个线性函数的组合是另一个线性函数。因此，我们可以堆叠任意多个线性分类器在一起，而它们之间没有非线性函数，这将与一个线性分类器相同。\n\n令人惊讶的是，可以数学证明这个小函数可以解决任何可计算问题，只要你能找到`w1`和`w2`的正确参数，并且使这些矩阵足够大。对于任何任意波动的函数，我们可以将其近似为一堆连接在一起的线条；为了使其更接近波动函数，我们只需使用更短的线条。这被称为*通用逼近定理*。我们这里的三行代码被称为*层*。第一和第三行被称为*线性层*，第二行代码被称为*非线性*或*激活函数*。\n\n就像在前一节中一样，我们可以利用 PyTorch 简化这段代码：\n\n```py\nsimple_net = nn.Sequential(\n    nn.Linear(28*28,30),\n    nn.ReLU(),\n    nn.Linear(30,1)\n)\n```\n\n`nn.Sequential`创建一个模块，依次调用列出的每个层或函数。\n\n`nn.ReLU`是一个 PyTorch 模块，与`F.relu`函数完全相同。大多数可以出现在模型中的函数也有相同的模块形式。通常，只需将`F`替换为`nn`并更改大小写。在使用`nn.Sequential`时，PyTorch 要求我们使用模块版本。由于模块是类，我们必须实例化它们，这就是为什么在这个例子中看到`nn.ReLU`。\n\n因为`nn.Sequential`是一个模块，我们可以获取它的参数，它将返回它包含的所有模块的所有参数的列表。让我们试一试！由于这是一个更深层的模型，我们将使用更低的学习率和更多的周期：\n\n```py\nlearn = Learner(dls, simple_net, opt_func=SGD,\n                loss_func=mnist_loss, metrics=batch_accuracy)\n```\n\n```py\nlearn.fit(40, 0.1)\n```\n\n我们这里不展示 40 行输出，以节省空间；训练过程记录在`learn.recorder`中，输出表存储在`values`属性中，因此我们可以绘制训练过程中的准确性：\n\n```py\nplt.plot(L(learn.recorder.values).itemgot(2));\n```\n\n![](img/dlcf_04in17.png)\n\n我们可以查看最终的准确性：\n\n```py\nlearn.recorder.values[-1][2]\n```\n\n```py\n0.982826292514801\n```\n\n在这一点上，我们有一些非常神奇的东西：\n\n+   给定正确的参数集，可以解决任何问题到任何精度的函数（神经网络）\n\n+   找到任何函数的最佳参数集的方法（随机梯度下降）\n\n这就是为什么深度学习可以做出如此奇妙的事情。相信这些简单技术的组合确实可以解决任何问题是我们发现许多学生必须迈出的最大步骤之一。这似乎太好了，以至于难以置信——事情肯定应该比这更困难和复杂吧？我们的建议是：试一试！我们刚刚在 MNIST 数据集上尝试了一下，你已经看到了结果。由于我们自己从头开始做所有事情（除了计算梯度），所以你知道背后没有隐藏任何特殊的魔法。\n\n## 更深入地探讨\n\n我们不必止步于只有两个线性层。我们可以添加任意数量的线性层，只要在每对线性层之间添加一个非线性。然而，正如您将了解的那样，模型变得越深，实际中优化参数就越困难。在本书的后面，您将学习一些简单但非常有效的训练更深层模型的技巧。\n\n我们已经知道，一个带有两个线性层的单个非线性足以逼近任何函数。那么为什么要使用更深的模型呢？原因是性能。通过更深的模型（具有更多层），我们不需要使用太多参数；事实证明，我们可以使用更小的矩阵，更多的层，获得比使用更大的矩阵和少量层获得更好的结果。\n\n这意味着我们可以更快地训练模型，并且它将占用更少的内存。在 1990 年代，研究人员如此专注于通用逼近定理，以至于很少有人尝试超过一个非线性。这种理论但不实际的基础阻碍了该领域多年。然而，一些研究人员确实尝试了深度模型，并最终能够证明这些模型在实践中表现得更好。最终，出现了理论结果，解释了为什么会发生这种情况。今天，几乎不可能找到任何人只使用一个非线性的神经网络。\n\n当我们使用与我们在第一章中看到的相同方法训练一个 18 层模型时会发生什么：\n\n```py\ndls = ImageDataLoaders.from_folder(path)\nlearn = cnn_learner(dls, resnet18, pretrained=False,\n                    loss_func=F.cross_entropy, metrics=accuracy)\nlearn.fit_one_cycle(1, 0.1)\n```\n\n| 时代 | 训练损失 | 验证损失 | 准确性 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 0.082089 | 0.009578 | 0.997056 | 00:11 |\n\n近乎 100%的准确性！这与我们简单的神经网络相比有很大的差异。但是在本书的剩余部分中，您将学习到一些小技巧，可以让您自己从头开始获得如此出色的结果。您已经了解了关键的基础知识。 （当然，即使您知道所有技巧，您几乎总是希望使用 PyTorch 和 fastai 提供的预构建类，因为它们可以帮助您省去自己考虑所有细节的麻烦。）\n\n# 术语回顾\n\n恭喜：您现在知道如何从头开始创建和训练深度神经网络了！我们经历了很多步骤才达到这一点，但您可能会惊讶于它实际上是多么简单。\n\n既然我们已经到了这一点，现在是一个很好的机会来定义和回顾一些术语和关键概念。\n\n神经网络包含很多数字，但它们只有两种类型：计算的数字和这些数字计算出的参数。这给我们学习最重要的两个术语：\n\n激活\n\n计算的数字（线性和非线性层）\n\n参数\n\n随机初始化并优化的数字（即定义模型的数字）\n\n在本书中，我们经常谈论激活和参数。请记住它们具有特定的含义。它们是数字。它们不是抽象概念，而是实际存在于您的模型中的具体数字。成为一名优秀的深度学习从业者的一部分是习惯于查看您的激活和参数，并绘制它们以及测试它们是否正确运行的想法。\n\n我们的激活和参数都包含在 *张量* 中。这些只是正规形状的数组—例如，一个矩阵。矩阵有行和列；我们称这些为 *轴* 或 *维度*。张量的维度数是它的 *等级*。有一些特殊的张量：\n\n+   等级-0：标量\n\n+   等级-1：向量\n\n+   等级-2：矩阵\n\n神经网络包含多个层。每一层都是*线性*或*非线性*的。我们通常在神经网络中交替使用这两种类型的层。有时人们将线性层及其后续的非线性一起称为一个单独的层。是的，这很令人困惑。有时非线性被称为*激活函数*。\n\n表 4-1 总结了与 SGD 相关的关键概念。\n\n表 4-1\\. 深度学习词汇表\n\n| 术语 | 意义 |\n| --- | --- |\n| ReLU | 对负数返回 0 且不改变正数的函数。 |\n| 小批量 | 一小组输入和标签，聚集在两个数组中。在这个批次上更新梯度下降步骤（而不是整个 epoch）。 |\n| 前向传播 | 将模型应用于某些输入并计算预测。 |\n| 损失 | 代表我们的模型表现如何（好或坏）的值。 |\n| 梯度 | 损失相对于模型某个参数的导数。 |\n| 反向传播 | 计算损失相对于所有模型参数的梯度。 |\n| 梯度下降 | 沿着梯度相反方向迈出一步，使模型参数稍微变得更好。 |\n| 学习率 | 当应用 SGD 更新模型参数时我们所采取的步骤的大小。 |\n\n# *选择你的冒险* 提醒\n\n在你兴奋地想要窥探内部机制时，你选择跳过第 2 和第三章节了吗？好吧，这里提醒你现在回到第二章，因为你很快就会需要了解那些内容！\n\n# 问卷调查\n\n1.  灰度图像在计算机上是如何表示的？彩色图像呢？\n\n1.  `MNIST_SAMPLE`数据集中的文件和文件夹是如何结构化的？为什么？\n\n1.  解释“像素相似性”方法如何工作以对数字进行分类。\n\n1.  什么是列表推导？现在创建一个从列表中选择奇数并将其加倍的列表推导。\n\n1.  什么是秩-3 张量？\n\n1.  张量秩和形状之间有什么区别？如何从形状中获取秩？\n\n1.  RMSE 和 L1 范数是什么？\n\n1.  如何才能比 Python 循环快几千倍地一次性对数千个数字进行计算？\n\n1.  创建一个包含从 1 到 9 的数字的 3×3 张量或数组。将其加倍。选择右下角的四个数字。\n\n1.  广播是什么？\n\n1.  度量通常是使用训练集还是验证集计算的？为什么？\n\n1.  SGD 是什么？\n\n1.  为什么 SGD 使用小批量？\n\n1.  SGD 在机器学习中有哪七个步骤？\n\n1.  我们如何初始化模型中的权重？\n\n1.  什么是损失？\n\n1.  为什么我们不能总是使用高学习率？\n\n1.  什么是梯度？\n\n1.  你需要知道如何自己计算梯度吗？\n\n1.  为什么我们不能将准确率作为损失函数使用？\n\n1.  绘制 Sigmoid 函数。它的形状有什么特别之处？\n\n1.  损失函数和度量之间有什么区别？\n\n1.  使用学习率计算新权重的函数是什么？\n\n1.  `DataLoader`类是做什么的？\n\n1.  编写伪代码，显示每个 epoch 中 SGD 所采取的基本步骤。\n\n1.  创建一个函数，如果传递两个参数`[1,2,3,4]`和`'abcd'`，则返回`[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]`。该输出数据结构有什么特别之处？\n\n1.  PyTorch 中的`view`是做什么的？\n\n1.  神经网络中的偏差参数是什么？我们为什么需要它们？\n\n1.  Python 中的`@`运算符是做什么的？\n\n1.  `backward`方法是做什么的？\n\n1.  为什么我们必须将梯度清零？\n\n1.  我们需要向`Learner`传递什么信息？\n\n1.  展示训练循环的基本步骤的 Python 或伪代码。\n\n1.  ReLU 是什么？为值从`-2`到`+2`绘制一个图。\n\n1.  什么是激活函数？\n\n1.  `F.relu`和`nn.ReLU`之间有什么区别？\n\n1.  通用逼近定理表明，任何函数都可以使用一个非线性逼近得到所需的精度。那么为什么我们通常使用更多的非线性函数？\n\n## 进一步研究\n\n1.  从头开始创建自己的`Learner`实现，基于本章展示的训练循环。\n\n1.  使用完整的 MNIST 数据集完成本章的所有步骤（不仅仅是 3 和 7）。这是一个重要的项目，需要花费相当多的时间来完成！您需要进行一些研究，以找出如何克服在途中遇到的障碍。\n"
  },
  {
    "path": "translations/cn/05_pet_breeds.md",
    "content": "# 第五章：图像分类\n\n\n\n现在您了解了深度学习是什么、它的用途以及如何创建和部署模型，现在是时候深入了！在理想的世界中，深度学习从业者不必了解每个细节是如何在底层工作的。但事实上，我们还没有生活在理想的世界中。事实是，要使您的模型真正起作用并可靠地工作，您必须正确处理很多细节，并检查很多细节。这个过程需要能够在训练神经网络时查看内部情况，找到可能的问题，并知道如何解决它们。\n\n因此，从本书开始，我们将深入研究深度学习的机制。计算机视觉模型的架构是什么，自然语言处理模型的架构是什么，表格模型的架构是什么等等？如何创建一个与您特定领域需求匹配的架构？如何从训练过程中获得最佳结果？如何加快速度？随着数据集的变化，您必须做出哪些改变？\n\n我们将从重复第一章中查看的相同基本应用程序开始，但我们将做两件事：\n\n+   让它们变得更好。\n\n+   将它们应用于更多类型的数据。\n\n为了做这两件事，我们将不得不学习深度学习难题的所有部分。这包括不同类型的层、正则化方法、优化器、如何将层组合成架构、标记技术等等。但我们不会一次性把所有这些东西都扔给你；我们将根据需要逐步引入它们，以解决与我们正在处理的项目相关的实际问题。\n\n# 从狗和猫到宠物品种\n\n在我们的第一个模型中，我们学会了如何区分狗和猫。就在几年前，这被认为是一个非常具有挑战性的任务——但今天，这太容易了！我们将无法向您展示训练模型时的细微差别，因为我们在不担心任何细节的情况下获得了几乎完美的结果。但事实证明，同一数据集还允许我们解决一个更具挑战性的问题：找出每张图像中显示的宠物品种是什么。\n\n在第一章中，我们将应用程序呈现为已解决的问题。但这不是实际情况下的工作方式。我们从一个我们一无所知的数据集开始。然后我们必须弄清楚它是如何组合的，如何从中提取我们需要的数据，以及这些数据是什么样子的。在本书的其余部分，我们将向您展示如何在实践中解决这些问题，包括理解我们正在处理的数据以及在进行建模时测试的所有必要中间步骤。\n\n我们已经下载了宠物数据集，并且可以使用与第一章相同的代码获取到该数据集的路径：\n\n```py\nfrom fastai2.vision.all import *\npath = untar_data(URLs.PETS)\n```\n\n现在，如果我们要理解如何从每个图像中提取每只宠物的品种，我们需要了解数据是如何布局的。数据布局的细节是深度学习难题的重要组成部分。数据通常以以下两种方式之一提供：\n\n+   表示数据项的个别文件，例如文本文档或图像，可能组织成文件夹或具有表示有关这些项信息的文件名\n\n+   数据表（例如，以 CSV 格式）中的数据，其中每行是一个项目，可能包括文件名，提供表中数据与其他格式（如文本文档和图像）中数据之间的连接\n\n有一些例外情况——特别是在基因组学等领域，可能存在二进制数据库格式或甚至网络流——但总体而言，您将处理的绝大多数数据集将使用这两种格式的某种组合。\n\n要查看数据集中的内容，我们可以使用`ls`方法：\n\n```py\npath.ls()\n```\n\n```py\n(#3) [Path('annotations'),Path('images'),Path('models')]\n```\n\n我们可以看到这个数据集为我们提供了*images*和*annotations*目录。数据集的[网站](https://oreil.ly/xveoN)告诉我们*annotations*目录包含有关宠物所在位置而不是它们是什么的信息。在本章中，我们将进行分类，而不是定位，也就是说我们关心的是宠物是什么，而不是它们在哪里。因此，我们暂时会忽略*annotations*目录。那么，让我们来看看*images*目录里面的内容：\n\n```py\n(path/\"images\").ls()\n```\n\n```py\n(#7394) [Path('images/great_pyrenees_173.jpg'),Path('images/wheaten_terrier_46.j\n > pg'),Path('images/Ragdoll_262.jpg'),Path('images/german_shorthaired_3.jpg'),P\n > ath('images/american_bulldog_196.jpg'),Path('images/boxer_188.jpg'),Path('ima\n > ges/staffordshire_bull_terrier_173.jpg'),Path('images/basset_hound_71.jpg'),P\n > ath('images/staffordshire_bull_terrier_37.jpg'),Path('images/yorkshire_terrie\n > r_18.jpg')...]\n```\n\n在 fastai 中，大多数返回集合的函数和方法使用一个名为`L`的类。这个类可以被认为是普通 Python `list`类型的增强版本，具有用于常见操作的附加便利。例如，当我们在笔记本中显示这个类的对象时，它会以这里显示的格式显示。首先显示的是集合中的项目数，前面带有`#`。在前面的输出中，你还会看到列表后面有省略号。这意味着只显示了前几个项目，这是件好事，因为我们不希望屏幕上出现超过 7000 个文件名！\n\n通过检查这些文件名，我们可以看到它们似乎是如何结构化的。每个文件名包含宠物品种，然后是一个下划线（`_`），一个数字，最后是文件扩展名。我们需要创建一段代码，从单个`Path`中提取品种。Jupyter 笔记本使这变得容易，因为我们可以逐渐构建出可用的东西，然后用于整个数据集。在这一点上，我们必须小心不要做太多假设。例如，如果你仔细观察，你可能会注意到一些宠物品种包含多个单词，因此我们不能简单地在找到的第一个`_`字符处中断。为了让我们能够测试我们的代码，让我们挑选出一个这样的文件名：\n\n```py\nfname = (path/\"images\").ls()[0]\n```\n\n从这样的字符串中提取信息的最强大和灵活的方法是使用*regular expression*，也称为*regex*。正则表达式是一种特殊的字符串，用正则表达式语言编写，它指定了一个一般规则，用于决定另一个字符串是否通过测试（即“匹配”正则表达式），并且可能用于从另一个字符串中提取特定部分。在这种情况下，我们需要一个正则表达式从文件名中提取宠物品种。\n\n我们没有空间在这里为您提供完整的正则表达式教程，但有许多优秀的在线教程，我们知道你们中的许多人已经熟悉这个神奇的工具。如果你不熟悉，那完全没问题——这是一个让你纠正的绝佳机会！我们发现正则表达式是我们编程工具包中最有用的工具之一，我们的许多学生告诉我们，这是他们最兴奋学习的事情之一。所以赶紧去谷歌搜索“正则表达式教程”吧，然后在你看得很开心之后回到这里。[书籍网站](https://book.fast.ai)也提供了我们喜欢的教程列表。\n\n# 亚历克西斯说\n\n正则表达式不仅非常方便，而且还有有趣的起源。它们之所以被称为“regular”，是因为它们最初是“regular”语言的示例，这是乔姆斯基层次结构中最低的一级。这是语言学家诺姆·乔姆斯基开发的一种语法分类，他还写了《句法结构》，这是一项寻找人类语言基础形式语法的开创性工作。这是计算的魅力之一：你每天使用的工具可能实际上来自太空船。\n\n当你编写正则表达式时，最好的方法是首先针对一个示例尝试。让我们使用`findall`方法来对`fname`对象的文件名尝试一个正则表达式：\n\n```py\nre.findall(r'(.+)_\\d+.jpg$', fname.name)\n```\n\n```py\n['great_pyrenees']\n```\n\n这个正则表达式提取出所有字符，直到最后一个下划线字符，只要后续字符是数字，然后是 JPEG 文件扩展名。\n\n现在我们确认了正则表达式对示例的有效性，让我们用它来标记整个数据集。fastai 提供了许多类来帮助标记。对于使用正则表达式进行标记，我们可以使用`RegexLabeller`类。在这个例子中，我们使用了数据块 API，我们在第二章中看到过（实际上，我们几乎总是使用数据块 API——它比我们在第一章中看到的简单工厂方法更灵活）：\n\n```py\npets = DataBlock(blocks = (ImageBlock, CategoryBlock),\n                 get_items=get_image_files,\n                 splitter=RandomSplitter(seed=42),\n                 get_y=using_attr(RegexLabeller(r'(.+)_\\d+.jpg$'), 'name'),\n                 item_tfms=Resize(460),\n                 batch_tfms=aug_transforms(size=224, min_scale=0.75))\ndls = pets.dataloaders(path/\"images\")\n```\n\n这个`DataBlock`调用中一个重要的部分是我们以前没有见过的这两行：\n\n```py\nitem_tfms=Resize(460),\nbatch_tfms=aug_transforms(size=224, min_scale=0.75)\n```\n\n这些行实现了一个我们称之为*预调整*的 fastai 数据增强策略。预调整是一种特殊的图像增强方法，旨在最大限度地减少数据破坏，同时保持良好的性能。\n\n# 预调整\n\n我们需要我们的图像具有相同的尺寸，这样它们可以整合成张量传递给 GPU。我们还希望最小化我们执行的不同增强计算的数量。性能要求表明，我们应该尽可能将我们的增强变换组合成更少的变换（以减少计算数量和损失操作的数量），并将图像转换为统一尺寸（以便在 GPU 上更有效地处理）。\n\n挑战在于，如果在调整大小到增强尺寸之后执行各种常见的数据增强变换，可能会引入虚假的空白区域，降低数据质量，或两者兼而有之。例如，将图像旋转 45 度会在新边界的角落区域填充空白，这不会教会模型任何东西。许多旋转和缩放操作将需要插值来创建像素。这些插值像素是从原始图像数据派生的，但质量较低。\n\n为了解决这些挑战，预调整采用了图 5-1 中显示的两种策略：\n\n1.  将图像调整为相对“大”的尺寸，即明显大于目标训练尺寸。\n\n1.  将所有常见的增强操作（包括调整大小到最终目标大小）组合成一个，并在 GPU 上一次性执行组合操作，而不是单独执行操作并多次插值。\n\n第一步是调整大小，创建足够大的图像，使其内部区域有多余的边距，以允许进一步的增强变换而不会产生空白区域。这个转换通过调整大小为一个正方形，使用一个大的裁剪尺寸来实现。在训练集上，裁剪区域是随机选择的，裁剪的大小被选择为覆盖图像宽度或高度中较小的那个。在第二步中，GPU 用于所有数据增强，并且所有潜在破坏性操作都一起完成，最后进行单次插值。\n\n![训练集上的预调整](img/dlcf_0501.png)\n\n###### 图 5-1。训练集上的预调整\n\n这张图片展示了两个步骤：\n\n1.  *裁剪全宽或全高*：这在`item_tfms`中，因此它应用于每个单独的图像，然后再复制到 GPU。它用于确保所有图像具有相同的尺寸。在训练集上，裁剪区域是随机选择的。在验证集上，总是选择图像的中心正方形。\n\n1.  *随机裁剪和增强*：这在`batch_tfms`中，因此它一次在 GPU 上应用于整个批次，这意味着速度快。在验证集上，只有调整大小到模型所需的最终大小。在训练集上，首先进行随机裁剪和任何其他增强。\n\n要在 fastai 中实现此过程，您可以使用`Resize`作为具有大尺寸的项目转换，以及`RandomResizedCrop`作为具有较小尺寸的批处理转换。如果在`aug_transforms`函数中包含`min_scale`参数，`RandomResizedCrop`将为您添加，就像在上一节中的`DataBlock`调用中所做的那样。或者，您可以在初始`Resize`中使用`pad`或`squish`而不是`crop`（默认值）。\n\n图 5-2 显示了一个图像经过缩放、插值、旋转，然后再次插值（这是所有其他深度学习库使用的方法），显示在右侧，以及一个图像经过缩放和旋转作为一个操作，然后插值一次（fastai 方法），显示在左侧。\n\n![](img/dlcf_0502.png)\n\n###### 图 5-2。fastai 数据增强策略（左）与传统方法（右）的比较\n\n您可以看到右侧的图像定义不够清晰，在左下角有反射填充伪影；此外，左上角的草完全消失了。我们发现，在实践中，使用预调整显著提高了模型的准确性，通常也会加快速度。\n\nfastai 库还提供了简单的方法来检查您的数据在训练模型之前的外观，这是一个非常重要的步骤。我们将在下一步中看到这些。\n\n## 检查和调试 DataBlock\n\n我们永远不能假设我们的代码完美运行。编写`DataBlock`就像编写蓝图一样。如果您的代码中有语法错误，您将收到错误消息，但是您无法保证您的模板会按照您的意图在数据源上运行。因此，在训练模型之前，您应该始终检查您的数据。\n\n您可以使用`show_batch`方法来执行此操作：\n\n```py\ndls.show_batch(nrows=1, ncols=3)\n```\n\n![](img/dlcf_05in01.png)\n\n查看每个图像，并检查每个图像是否具有正确的宠物品种标签。通常，数据科学家使用的数据可能不如领域专家熟悉：例如，我实际上不知道这些宠物品种中的许多是什么。由于我不是宠物品种的专家，我会在这一点上使用谷歌图像搜索一些这些品种，并确保图像看起来与我在输出中看到的相似。\n\n如果在构建`DataBlock`时出现错误，您可能在此步骤之前不会看到它。为了调试这个问题，我们鼓励您使用`summary`方法。它将尝试从您提供的源创建一个批次，并提供大量细节。此外，如果失败，您将准确地看到错误发生的位置，并且库将尝试为您提供一些帮助。例如，一个常见的错误是忘记使用`Resize`转换，因此最终得到不同大小的图片并且无法将它们整理成批次。在这种情况下，摘要将如下所示（请注意，自撰写时可能已更改确切文本，但它将给您一个概念）：\n\n```py\npets1 = DataBlock(blocks = (ImageBlock, CategoryBlock),\n                 get_items=get_image_files,\n                 splitter=RandomSplitter(seed=42),\n                 get_y=using_attr(RegexLabeller(r'(.+)_\\d+.jpg$'), 'name'))\npets1.summary(path/\"images\")\n```\n\n```py\nSetting-up type transforms pipelines\nCollecting items from /home/sgugger/.fastai/data/oxford-iiit-pet/images\nFound 7390 items\n2 datasets of sizes 5912,1478\nSetting up Pipeline: PILBase.create\nSetting up Pipeline: partial -> Categorize\n\nBuilding one sample\n  Pipeline: PILBase.create\n    starting from\n      /home/sgugger/.fastai/data/oxford-iiit-pet/images/american_bulldog_83.jpg\n    applying PILBase.create gives\n      PILImage mode=RGB size=375x500\n  Pipeline: partial -> Categorize\n    starting from\n      /home/sgugger/.fastai/data/oxford-iiit-pet/images/american_bulldog_83.jpg\n    applying partial gives\n      american_bulldog\n    applying Categorize gives\n      TensorCategory(12)\n\nFinal sample: (PILImage mode=RGB size=375x500, TensorCategory(12))\n\nSetting up after_item: Pipeline: ToTensor\nSetting up before_batch: Pipeline:\nSetting up after_batch: Pipeline: IntToFloatTensor\n\nBuilding one batch\nApplying item_tfms to the first sample:\n  Pipeline: ToTensor\n    starting from\n      (PILImage mode=RGB size=375x500, TensorCategory(12))\n    applying ToTensor gives\n      (TensorImage of size 3x500x375, TensorCategory(12))\n\nAdding the next 3 samples\n\nNo before_batch transform to apply\n\nCollating items in a batch\nError! It's not possible to collate your items in a batch\nCould not collate the 0-th members of your tuples because got the following\nshapes:\ntorch.Size([3, 500, 375]),torch.Size([3, 375, 500]),torch.Size([3, 333, 500]),\ntorch.Size([3, 375, 500])\n```\n\n您可以看到我们如何收集数据并拆分数据，如何从文件名转换为*样本*（元组（图像，类别）），然后应用了哪些项目转换以及如何在批处理中无法整理这些样本（因为形状不同）。\n\n一旦您认为数据看起来正确，我们通常建议下一步应该使用它来训练一个简单的模型。我们经常看到人们将实际模型的训练推迟得太久。结果，他们不知道他们的基准结果是什么样的。也许您的问题不需要大量花哨的领域特定工程。或者数据似乎根本无法训练模型。这些都是您希望尽快了解的事情。\n\n对于这个初始测试，我们将使用与第一章中使用的相同简单模型：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fine_tune(2)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.491732 | 0.337355 | 0.108254 | 00:18 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.503154 | 0.293404 | 0.096076 | 00:23 |\n| 1 | 0.314759 | 0.225316 | 0.066306 | 00:23 |\n\n正如我们之前简要讨论过的，当我们拟合模型时显示的表格展示了每个训练周期后的结果。记住，一个周期是对数据中所有图像的完整遍历。显示的列是训练集中项目的平均损失、验证集上的损失，以及我们请求的任何指标——在这种情况下是错误率。\n\n请记住*损失*是我们决定用来优化模型参数的任何函数。但是我们实际上并没有告诉 fastai 我们想要使用什么损失函数。那么它在做什么呢？fastai 通常会根据您使用的数据和模型类型尝试选择适当的损失函数。在这种情况下，我们有图像数据和分类结果，所以 fastai 会默认使用*交叉熵损失*。\n\n# 交叉熵损失\n\n*交叉熵损失*是一个类似于我们在上一章中使用的损失函数，但是（正如我们将看到的）有两个好处：\n\n+   即使我们的因变量有两个以上的类别，它也能正常工作。\n\n+   这将导致更快速、更可靠的训练。\n\n要理解交叉熵损失如何处理具有两个以上类别的因变量，我们首先必须了解损失函数看到的实际数据和激活是什么样子的。\n\n## 查看激活和标签\n\n让我们看看我们模型的激活。要从我们的`DataLoaders`中获取一批真实数据，我们可以使用`one_batch`方法：\n\n```py\nx,y = dls.one_batch()\n```\n\n正如您所见，这返回了因变量和自变量，作为一个小批量。让我们看看我们的因变量中包含什么：\n\n```py\ny\n```\n\n```py\nTensorCategory([11,  0,  0,  5, 20,  4, 22, 31, 23, 10, 20,  2,  3, 27, 18, 23,\n > 33,  5, 24,  7,  6, 12,  9, 11, 35, 14, 10, 15,  3,  3, 21,  5, 19, 14, 12,\n > 15, 27,  1, 17, 10,  7,  6, 15, 23, 36,  1, 35,  6,\n         4, 29, 24, 32,  2, 14, 26, 25, 21,  0, 29, 31, 18,  7,  7, 17],\n > device='cuda:5')\n```\n\n我们的批量大小是 64，因此在这个张量中有 64 行。每行是一个介于 0 和 36 之间的整数，代表我们 37 种可能的宠物品种。我们可以通过使用`Learner.get_preds`来查看预测（我们神经网络最后一层的激活）。这个函数默认返回预测和目标，但由于我们已经有了目标，我们可以通过将其赋值给特殊变量`_`来有效地忽略它们：\n\n```py\npreds,_ = learn.get_preds(dl=[(x,y)])\npreds[0]\n```\n\n```py\ntensor([7.9069e-04, 6.2350e-05, 3.7607e-05, 2.9260e-06, 1.3032e-05, 2.5760e-05,\n > 6.2341e-08, 3.6400e-07, 4.1311e-06, 1.3310e-04, 2.3090e-03, 9.9281e-01,\n > 4.6494e-05, 6.4266e-07, 1.9780e-06, 5.7005e-07,\n        3.3448e-06, 3.5691e-03, 3.4385e-06, 1.1578e-05, 1.5916e-06, 8.5567e-08,\n > 5.0773e-08, 2.2978e-06, 1.4150e-06, 3.5459e-07, 1.4599e-04, 5.6198e-08,\n > 3.4108e-07, 2.0813e-06, 8.0568e-07, 4.3381e-07,\n        1.0069e-05, 9.1020e-07, 4.8714e-06, 1.2734e-06, 2.4735e-06])\n```\n\n实际预测是 37 个介于 0 和 1 之间的概率，总和为 1：\n\n```py\nlen(preds[0]),preds[0].sum()\n```\n\n```py\n(37, tensor(1.0000))\n```\n\n为了将我们模型的激活转换为这样的预测，我们使用了一个叫做*softmax*的激活函数。\n\n## Softmax\n\n在我们的分类模型中，我们在最后一层使用 softmax 激活函数，以确保激活值都在 0 到 1 之间，并且它们总和为 1。\n\nSoftmax 类似于我们之前看到的 sigmoid 函数。作为提醒，sigmoid 看起来像这样：\n\n```py\nplot_function(torch.sigmoid, min=-4,max=4)\n```\n\n![](img/dlcf_05in02.png)\n\n我们可以将这个函数应用于神经网络的一个激活列，并得到一个介于 0 和 1 之间的数字列，因此对于我们的最后一层来说，这是一个非常有用的激活函数。\n\n现在想象一下，如果我们希望目标中有更多类别（比如我们的 37 种宠物品种）。这意味着我们需要比单个列更多的激活：我们需要一个激活*每个类别*。例如，我们可以创建一个预测 3 和 7 的神经网络，返回两个激活，每个类别一个——这将是创建更一般方法的一个很好的第一步。让我们只是使用一些标准差为 2 的随机数（因此我们将`randn`乘以 2）作为示例，假设我们有六个图像和两个可能的类别（其中第一列代表 3，第二列代表 7）：\n\n```py\nacts = torch.randn((6,2))*2\nacts\n```\n\n```py\ntensor([[ 0.6734,  0.2576],\n        [ 0.4689,  0.4607],\n        [-2.2457, -0.3727],\n        [ 4.4164, -1.2760],\n        [ 0.9233,  0.5347],\n        [ 1.0698,  1.6187]])\n```\n\n我们不能直接对这个进行 sigmoid 运算，因为我们得不到行相加为 1 的结果（我们希望 3 的概率加上 7 的概率等于 1）：\n\n```py\nacts.sigmoid()\n```\n\n```py\ntensor([[0.6623, 0.5641],\n        [0.6151, 0.6132],\n        [0.0957, 0.4079],\n        [0.9881, 0.2182],\n        [0.7157, 0.6306],\n        [0.7446, 0.8346]])\n```\n\n在第四章中，我们的神经网络为每个图像创建了一个单一激活，然后通过`sigmoid`函数传递。这个单一激活代表了模型对输入是 3 的置信度。二进制问题是分类问题的一种特殊情况，因为目标可以被视为单个布尔值，就像我们在`mnist_loss`中所做的那样。但是二进制问题也可以在任意数量的类别的分类器的更一般上下文中考虑：在这种情况下，我们碰巧有两个类别。正如我们在熊分类器中看到的，我们的神经网络将为每个类别返回一个激活。\n\n那么在二进制情况下，这些激活实际上表示什么？一对激活仅仅表示输入是 3 还是 7 的*相对*置信度。总体值，无论它们是高还是低，都不重要，重要的是哪个更高，以及高多少。\n\n我们期望，由于这只是表示相同问题的另一种方式，我们应该能够直接在我们的神经网络的两个激活版本上使用`sigmoid`。事实上我们可以！我们只需取神经网络激活之间的*差异*，因为这反映了我们对输入是 3 还是 7 更有把握的程度，然后取其 sigmoid：\n\n```py\n(acts[:,0]-acts[:,1]).sigmoid()\n```\n\n```py\ntensor([0.6025, 0.5021, 0.1332, 0.9966, 0.5959, 0.3661])\n```\n\n第二列（它是 7 的概率）将是该值从 1 中减去的值。现在，我们需要一种适用于多于两列的方法。事实证明，这个名为`softmax`的函数正是这样的：\n\n```py\ndef softmax(x): return exp(x) / exp(x).sum(dim=1, keepdim=True)\n```\n\n# 术语：指数函数（exp）\n\n定义为`e**x`，其中`e`是一个特殊的数字，约等于 2.718。它是自然对数函数的倒数。请注意，`exp`始终为正，并且增长*非常*迅速！\n\n让我们检查`softmax`是否为第一列返回与`sigmoid`相同的值，以及这些值从 1 中减去的值为第二列：\n\n```py\nsm_acts = torch.softmax(acts, dim=1)\nsm_acts\n```\n\n```py\ntensor([[0.6025, 0.3975],\n        [0.5021, 0.4979],\n        [0.1332, 0.8668],\n        [0.9966, 0.0034],\n        [0.5959, 0.4041],\n        [0.3661, 0.6339]])\n```\n\n`softmax`是`sigmoid`的多类别等价物——每当我们有超过两个类别且类别的概率必须加起来为 1 时，我们必须使用它，即使只有两个类别，我们通常也会使用它，只是为了使事情更加一致。我们可以创建其他具有所有激活在 0 和 1 之间且总和为 1 的属性的函数；然而，没有其他函数与我们已经看到是平滑且对称的 sigmoid 函数具有相同的关系。此外，我们很快将看到 softmax 函数与我们将在下一节中看到的损失函数密切配合。\n\n如果我们有三个输出激活，就像在我们的熊分类器中一样，为单个熊图像计算 softmax 看起来会像图 5-3 那样。\n\n![熊 softmax 示例](img/dlcf_0503.png)\n\n###### 图 5-3. 熊分类器上 softmax 的示例\n\n实际上，这个函数是做什么的呢？取指数确保我们所有的数字都是正数，然后除以总和确保我们将得到一堆加起来等于 1 的数字。指数还有一个很好的特性：如果我们激活中的某个数字略大于其他数字，指数将放大这个差异（因为它呈指数增长），这意味着在 softmax 中，该数字将更接近 1。\n\n直观地，softmax 函数*真的*想要在其他类别中选择一个类别，因此在我们知道每张图片都有一个明确标签时，训练分类器时是理想的选择。（请注意，在推断过程中可能不太理想，因为有时您可能希望模型告诉您它在训练过程中看到的类别中没有识别出任何一个，并且不选择一个类别，因为它的激活分数略高。在这种情况下，最好使用多个二进制输出列来训练模型，每个列使用 sigmoid 激活。）\n\nSoftmax 是交叉熵损失的第一部分，第二部分是对数似然。\n\n## 对数似然\n\n在上一章中为我们的 MNIST 示例计算损失时，我们使用了这个：\n\n```py\ndef mnist_loss(inputs, targets):\n    inputs = inputs.sigmoid()\n    return torch.where(targets==1, 1-inputs, inputs).mean()\n```\n\n就像我们从 sigmoid 到 softmax 的转变一样，我们需要扩展损失函数，使其能够处理不仅仅是二元分类，还需要能够对任意数量的类别进行分类（在本例中，我们有 37 个类别）。我们的激活，在 softmax 之后，介于 0 和 1 之间，并且对于预测批次中的每一行，总和为 1。我们的目标是介于 0 和 36 之间的整数。\n\n在二元情况下，我们使用`torch.where`在`inputs`和`1-inputs`之间进行选择。当我们将二元分类作为具有两个类别的一般分类问题处理时，它变得更容易，因为（正如我们在前一节中看到的）现在有两列包含等同于`inputs`和`1-inputs`的内容。因此，我们只需要从适当的列中进行选择。让我们尝试在 PyTorch 中实现这一点。对于我们合成的 3 和 7 的示例，假设这些是我们的标签：\n\n```py\ntarg = tensor([0,1,0,1,1,0])\n```\n\n这些是 softmax 激活：\n\n```py\nsm_acts\n```\n\n```py\ntensor([[0.6025, 0.3975],\n        [0.5021, 0.4979],\n        [0.1332, 0.8668],\n        [0.9966, 0.0034],\n        [0.5959, 0.4041],\n        [0.3661, 0.6339]])\n```\n\n然后对于每个`targ`项，我们可以使用它来使用张量索引选择`sm_acts`的适当列，如下所示：\n\n```py\nidx = range(6)\nsm_acts[idx, targ]\n```\n\n```py\ntensor([0.6025, 0.4979, 0.1332, 0.0034, 0.4041, 0.3661])\n```\n\n为了准确了解这里发生了什么，让我们将所有列放在一起放在一个表中。这里，前两列是我们的激活，然后是目标，行索引，最后是前面代码中显示的结果：\n\n| 3 | 7 | targ | idx | loss |\n| --- | --- | --- | --- | --- |\n| 0.602469 | 0.397531 | 0 | 0 | 0.602469 |\n| 0.502065 | 0.497935 | 1 | 1 | 0.497935 |\n| 0.133188 | 0.866811 | 0 | 2 | 0.133188 |\n| 0.99664 | 0.00336017 | 1 | 3 | 0.00336017 |\n| 0.595949 | 0.404051 | 1 | 4 | 0.404051 |\n| 0.366118 | 0.633882 | 0 | 5 | 0.366118 |\n\n从这个表中可以看出，最后一列可以通过将`targ`和`idx`列作为索引，指向包含`3`和`7`列的两列矩阵来计算。这就是`sm_acts[idx, targ]`的作用。\n\n这里真正有趣的是，这种方法同样适用于超过两列的情况。想象一下，如果我们为每个数字（0 到 9）添加一个激活列，然后`targ`包含从 0 到 9 的数字。只要激活列总和为 1（如果我们使用 softmax，它们将是这样），我们将有一个损失函数，显示我们预测每个数字的准确程度。\n\n我们只从包含正确标签的列中选择损失。我们不需要考虑其他列，因为根据 softmax 的定义，它们加起来等于 1 减去与正确标签对应的激活。因此，使正确标签的激活尽可能高必须意味着我们也在降低其余列的激活。\n\nPyTorch 提供了一个与`sm_acts[range(n), targ]`完全相同的函数（除了它取负数，因为之后应用对数时，我们将得到负数），称为`nll_loss`（*NLL*代表*负对数似然*）：\n\n```py\n-sm_acts[idx, targ]\n```\n\n```py\ntensor([-0.6025, -0.4979, -0.1332, -0.0034, -0.4041, -0.3661])\n```\n\n```py\nF.nll_loss(sm_acts, targ, reduction='none')\n```\n\n```py\ntensor([-0.6025, -0.4979, -0.1332, -0.0034, -0.4041, -0.3661])\n```\n\n尽管它的名字是这样的，但这个 PyTorch 函数并不取对数。我们将在下一节看到原因，但首先，让我们看看为什么取对数会有用。\n\n## 取对数\n\n在前一节中我们看到的函数作为损失函数效果很好，但我们可以让它更好一些。问题在于我们使用的是概率，概率不能小于 0 或大于 1。这意味着我们的模型不会在乎它是预测 0.99 还是 0.999。确实，这些数字非常接近，但从另一个角度来看，0.999 比 0.99 自信程度高 10 倍。因此，我们希望将我们的数字从 0 到 1 转换为从负无穷到无穷。有一个数学函数可以做到这一点：*对数*（可用`torch.log`）。它对小于 0 的数字没有定义，并且如下所示：\n\n```py\nplot_function(torch.log, min=0,max=4)\n```\n\n![](img/dlcf_05in03.png)\n\n“对数”这个词让你想起了什么吗？对数函数有这个恒等式：\n\n```py\ny = b**a\na = log(y,b)\n```\n\n在这种情况下，我们假设`log(y,b)`返回*log y 以 b 为底*。然而，PyTorch 并没有这样定义`log`：Python 中的`log`使用特殊数字`e`（2.718…）作为底。\n\n也许对数是您在过去 20 年中没有考虑过的东西。但对于深度学习中的许多事情来说，对数是一个非常关键的数学概念，所以现在是一个很好的时机来刷新您的记忆。关于对数的关键事情是这样的关系：\n\n```py\nlog(a*b) = log(a)+log(b)\n```\n\n当我们以这种格式看到它时，它看起来有点无聊；但想想这实际上意味着什么。这意味着当基础信号呈指数或乘法增长时，对数会线性增加。例如，在地震严重程度的里氏震级和噪音级别的分贝尺中使用。它也经常用于金融图表中，我们希望更清楚地显示复合增长率。计算机科学家喜欢使用对数，因为这意味着可以用加法代替修改，这样可以避免产生计算机难以处理的难以处理的规模。\n\n# Sylvain 说\n\n不仅是计算机科学家喜欢对数！在计算机出现之前，工程师和科学家使用一种称为*滑尺*的特殊尺子，通过添加对数来进行乘法运算。对数在物理学中被广泛用于乘法非常大或非常小的数字，以及许多其他领域。\n\n对我们的概率取正对数或负对数的平均值（取决于是否是正确或不正确的类）给出了*负对数似然*损失。在 PyTorch 中，`nll_loss`假设您已经对 softmax 取了对数，因此不会为您执行对数运算。\n\n# 令人困惑的名称，注意\n\n`nll_loss`中的“nll”代表“负对数似然”，但实际上它根本不进行对数运算！它假设您已经*已经*进行了对数运算。PyTorch 有一个名为`log_softmax`的函数，以快速准确的方式结合了`log`和`softmax`。`nll_loss`设计用于在`log_softmax`之后使用。\n\n当我们首先进行 softmax，然后对其进行对数似然，这种组合被称为*交叉熵损失*。在 PyTorch 中，这可以通过`nn.CrossEntropyLoss`来实现（实际上执行`log_softmax`然后`nll_loss`）：\n\n```py\nloss_func = nn.CrossEntropyLoss()\n```\n\n正如您所看到的，这是一个类。实例化它会给您一个像函数一样行为的对象：\n\n```py\nloss_func(acts, targ)\n```\n\n```py\ntensor(1.8045)\n```\n\n所有 PyTorch 损失函数都以两种形式提供，刚刚显示的类形式以及在`F`命名空间中提供的普通函数形式：\n\n```py\nF.cross_entropy(acts, targ)\n```\n\n```py\ntensor(1.8045)\n```\n\n两者都可以正常工作，并且可以在任何情况下使用。我们注意到大多数人倾向于使用类版本，并且在 PyTorch 的官方文档和示例中更常见，因此我们也会倾向于使用它。\n\n默认情况下，PyTorch 损失函数取所有项目的损失的平均值。您可以使用`reduction='none'`来禁用这一点：\n\n```py\nnn.CrossEntropyLoss(reduction='none')(acts, targ)\n```\n\n```py\ntensor([0.5067, 0.6973, 2.0160, 5.6958, 0.9062, 1.0048])\n```\n\n# Sylvain 说\n\n当我们考虑交叉熵损失的梯度时，一个有趣的特性就出现了。`cross_entropy(a,b)`的梯度是`softmax(a)-b`。由于`softmax(a)`是模型的最终激活，这意味着梯度与预测和目标之间的差异成比例。这与回归中的均方误差相同（假设没有像`y_range`添加的最终激活函数），因为`(a-b)**2`的梯度是`2*(a-b)`。由于梯度是线性的，我们不会看到梯度的突然跳跃或指数增加，这应该导致模型的平滑训练。\n\n我们现在已经看到了隐藏在我们损失函数背后的所有部分。但是，虽然这可以对我们的模型表现如何（好或坏）进行评估，但它对于帮助我们知道它是否好并没有任何帮助。现在让我们看看一些解释我们模型预测的方法。\n\n# 模型解释\n\n直接解释损失函数非常困难，因为它们被设计为计算机可以区分和优化的东西，而不是人类可以理解的东西。这就是为什么我们有指标。这些指标不用于优化过程，而只是帮助我们这些可怜的人类理解发生了什么。在这种情况下，我们的准确率已经看起来相当不错！那么我们在哪里犯了错误呢？\n\n我们在第一章中看到，我们可以使用混淆矩阵来查看模型表现好和表现不佳的地方：\n\n```py\ninterp = ClassificationInterpretation.from_learner(learn)\ninterp.plot_confusion_matrix(figsize=(12,12), dpi=60)\n```\n\n![](img/dlcf_05in04.png)\n\n哦，亲爱的——在这种情况下，混淆矩阵很难阅读。我们有 37 种宠物品种，这意味着在这个巨大矩阵中有 37×37 个条目！相反，我们可以使用`most_confused`方法，它只显示混淆矩阵中预测错误最多的单元格（这里至少有 5 个或更多）：\n\n```py\ninterp.most_confused(min_val=5)\n```\n\n```py\n[('american_pit_bull_terrier', 'staffordshire_bull_terrier', 10),\n ('Ragdoll', 'Birman', 6)]\n```\n\n由于我们不是宠物品种专家，很难知道这些类别错误是否反映了识别品种时的实际困难。因此，我们再次求助于谷歌。一点点搜索告诉我们，这里显示的最常见的类别错误是即使是专家育种者有时也会对其存在分歧的品种差异。因此，这让我们有些安慰，我们正在走在正确的道路上。\n\n我们似乎有一个良好的基线。现在我们可以做些什么来使它变得更好呢？\n\n# 改进我们的模型\n\n我们现在将探讨一系列技术，以改进我们模型的训练并使其更好。在此过程中，我们将更详细地解释迁移学习以及如何尽可能最好地微调我们的预训练模型，而不破坏预训练权重。\n\n在训练模型时，我们需要设置的第一件事是学习率。我们在上一章中看到，它需要恰到好处才能尽可能高效地训练，那么我们如何选择一个好的学习率呢？fastai 提供了一个工具来帮助。\n\n## 学习率查找器\n\n在训练模型时，我们可以做的最重要的事情之一是确保我们有正确的学习率。如果我们的学习率太低，训练模型可能需要很多个 epoch。这不仅浪费时间，还意味着我们可能会出现过拟合的问题，因为每次完整地遍历数据时，我们都给了模型记住数据的机会。\n\n那么我们就把学习率调得很高，对吗？当然，让我们试试看会发生什么：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fine_tune(1, base_lr=0.1)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 8.946717 | 47.954632 | 0.893775 | 00:20 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 7.231843 | 4.119265 | 0.954668 | 00:24 |\n\n这看起来不太好。发生了什么呢。优化器朝着正确的方向迈出了一步，但它迈得太远，完全超过了最小损失。多次重复这样的过程会使其越来越远，而不是越来越接近！\n\n我们该如何找到完美的学习率——既不太高也不太低？在 2015 年，研究员 Leslie Smith 提出了一个绝妙的想法，称为*学习率查找器*。他的想法是从一个非常非常小的学习率开始，一个我们永远不会认为它太大而无法处理的学习率。我们用这个学习率进行一个 mini-batch，找到之后的损失，然后按一定百分比增加学习率（例如每次加倍）。然后我们再做另一个 mini-batch，跟踪损失，并再次加倍学习率。我们一直这样做，直到损失变得更糟，而不是更好。这是我们知道我们走得太远的时候。然后我们选择一个比这个点稍低的学习率。我们建议选择以下任一：\n\n+   比最小损失达到的地方少一个数量级（即最小值除以 10）\n\n+   最后一次损失明显减少的点\n\n学习率查找器计算曲线上的这些点来帮助您。这两个规则通常给出大致相同的值。在第一章中，我们没有指定学习率，而是使用了 fastai 库的默认值（即 1e-3）：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlr_min,lr_steep = learn.lr_find()\n```\n\n![](img/dlcf_05in05.png)\n\n```py\nprint(f\"Minimum/10: {lr_min:.2e}, steepest point: {lr_steep:.2e}\")\n```\n\n```py\nMinimum/10: 8.32e-03, steepest point: 6.31e-03\n```\n\n我们可以看到在 1e-6 到 1e-3 的范围内，没有什么特别的事情发生，模型不会训练。然后损失开始减少，直到达到最小值，然后再次增加。我们不希望学习率大于 1e-1，因为这会导致训练发散（您可以自行尝试），但 1e-1 已经太高了：在这个阶段，我们已经离开了损失稳定下降的阶段。\n\n在这个学习率图中，看起来学习率约为 3e-3 可能是合适的，所以让我们选择这个：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fine_tune(2, base_lr=3e-3)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.071820 | 0.427476 | 0.133965 | 00:19 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.738273 | 0.541828 | 0.150880 | 00:24 |\n| 1 | 0.401544 | 0.266623 | 0.081867 | 00:24 |\n\n# 对数刻度\n\n学习率查找器图表采用对数刻度，这就是为什么在 1e-3 和 1e-2 之间的中间点在 3e-3 和 4e-3 之间。这是因为我们主要关心学习率的数量级。\n\n有趣的是，学习率查找器是在 2015 年才被发现的，而神经网络自上世纪 50 年代以来一直在发展。在那段时间里，找到一个好的学习率可能是从业者面临的最重要和最具挑战性的问题。解决方案不需要任何高级数学、巨大的计算资源、庞大的数据集或其他任何使其对任何好奇的研究人员不可及的东西。此外，Smith 并不是某个独家的硅谷实验室的一部分，而是作为一名海军研究员工作。所有这些都是为了说：在深度学习中的突破性工作绝对不需要访问大量资源、精英团队或先进的数学思想。还有很多工作需要做，只需要一点常识、创造力和坚韧不拔。\n\n现在我们有了一个好的学习率来训练我们的模型，让我们看看如何微调预训练模型的权重。\n\n## 解冻和迁移学习\n\n我们在第一章中简要讨论了迁移学习的工作原理。我们看到基本思想是，一个预训练模型，可能在数百万数据点（如 ImageNet）上训练，被为另一个任务进行微调。但这到底意味着什么？\n\n我们现在知道，卷积神经网络由许多线性层组成，每对之间有一个非线性激活函数，然后是一个或多个最终的线性层，最后是一个诸如 softmax 之类的激活函数。最终的线性层使用一个具有足够列数的矩阵，使得输出大小与我们模型中的类数相同（假设我们正在进行分类）。\n\n当我们在迁移学习设置中进行微调时，这个最终的线性层对我们来说可能没有任何用处，因为它专门设计用于对原始预训练数据集中的类别进行分类。因此，在进行迁移学习时，我们会将其移除、丢弃，并用一个新的线性层替换，该线性层具有我们所需任务的正确输出数量（在这种情况下，将有 37 个激活）。\n\n这个新添加的线性层将完全随机的权重。因此，在微调之前，我们的模型具有完全随机的输出。但这并不意味着它是一个完全随机的模型！最后一个层之前的所有层都经过精心训练，以便在一般的图像分类任务中表现良好。正如我们在[Zeiler 和 Fergus 论文](https://oreil.ly/aTRwE)中看到的那样，在第一章中（参见图 1-10 到 1-13），前几层编码了一般概念，比如找到梯度和边缘，后面的层编码了对我们仍然有用的概念，比如找到眼球和毛发。\n\n我们希望以这样的方式训练模型，使其能够记住预训练模型中的所有这些通常有用的想法，用它们来解决我们的特定任务（分类宠物品种），并仅根据我们特定任务的具体要求进行调整。\n\n在微调时，我们的挑战是用能够正确实现我们所需任务（分类宠物品种）的权重替换我们添加的线性层中的随机权重，而不破坏精心预训练的权重和其他层。一个简单的技巧可以实现这一点：告诉优化器仅更新那些随机添加的最终层中的权重。根本不要改变神经网络的其他部分的权重。这被称为*冻结*那些预训练的层。\n\n当我们从预训练网络创建模型时，fastai 会自动为我们冻结所有预训练层。当我们调用`fine_tune`方法时，fastai 会做两件事：\n\n+   训练随机添加的层一个周期，同时冻结所有其他层\n\n+   解冻所有层，并根据请求的周期数进行训练\n\n尽管这是一个合理的默认方法，但对于您的特定数据集，您可能通过稍微不同的方式做事情来获得更好的结果。`fine_tune`方法有一些参数可以用来改变其行为，但如果您想获得自定义行为，直接调用底层方法可能更容易。请记住，您可以使用以下语法查看该方法的源代码：\n\n```py\nlearn.fine_tune??\n```\n\n所以让我们尝试手动操作。首先，我们将使用`fit_one_cycle`训练随机添加的层三个周期。正如在第一章中提到的，`fit_one_cycle`是在不使用`fine_tune`的情况下训练模型的建议方法。我们将在本书后面看到原因；简而言之，`fit_one_cycle`的作用是以低学习率开始训练，逐渐增加学习率进行第一部分的训练，然后在最后一部分的训练中逐渐降低学习率：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fit_one_cycle(3, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.188042 | 0.355024 | 0.102842 | 00:20 |\n| 1 | 0.534234 | 0.302453 | 0.094723 | 00:20 |\n| 2 | 0.325031 | 0.222268 | 0.074425 | 00:20 |\n\n然后我们将解冻模型：\n\n```py\nlearn.unfreeze()\n```\n\n并再次运行`lr_find`，因为有更多层要训练，而且已经训练了三个周期的权重，意味着我们之前找到的学习率不再合适：\n\n```py\nlearn.lr_find()\n```\n\n```py\n(1.0964782268274575e-05, 1.5848931980144698e-06)\n```\n\n![](img/dlcf_05in06.png)\n\n请注意，图表与随机权重时有所不同：我们没有那种表明模型正在训练的陡峭下降。这是因为我们的模型已经训练过了。在这里，我们有一个相对平坦的区域，然后是一个急剧增加的区域，我们应该选择在那个急剧增加之前的一个点，例如 1e-5。具有最大梯度的点不是我们在这里寻找的，应该被忽略。\n\n让我们以适当的学习率进行训练：\n\n```py\nlearn.fit_one_cycle(6, lr_max=1e-5)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.263579 | 0.217419 | 0.069012 | 00:24 |\n| 1 | 0.253060 | 0.210346 | 0.062923 | 00:24 |\n| 2 | 0.224340 | 0.207357 | 0.060217 | 00:24 |\n| 3 | 0.200195 | 0.207244 | 0.061570 | 00:24 |\n| 4 | 0.194269 | 0.200149 | 0.059540 | 00:25 |\n| 5 | 0.173164 | 0.202301 | 0.059540 | 00:25 |\n\n这稍微改进了我们的模型，但我们还可以做更多。预训练模型的最深层可能不需要像最后一层那样高的学习率，因此我们可能应该为这些层使用不同的学习率——这被称为使用*区分性*学习率。\n\n## 区分性学习率\n\n即使我们解冻后，我们仍然非常关心那些预训练权重的质量。我们不会期望那些预训练参数的最佳学习率与随机添加参数的学习率一样高，即使在我们为随机添加参数调整了几个轮数之后。请记住，预训练权重已经在数百个轮数中，在数百万张图像上进行了训练。\n\n此外，您还记得我们在第一章中看到的图像吗？显示每个层学习的内容？第一层学习非常简单的基础知识，如边缘和梯度检测器；这些对于几乎任何任务都可能非常有用。后面的层学习更复杂的概念，如“眼睛”和“日落”，这些对您的任务可能完全没有用（也许您正在对汽车型号进行分类）。因此，让后面的层比前面的层更快地微调是有道理的。\n\n因此，fastai 的默认方法是使用区分性学习率。这种技术最初是在我们将在第十章中介绍的 NLP 迁移学习的 ULMFiT 方法中开发的。就像深度学习中的许多好主意一样，这个方法非常简单：对神经网络的早期层使用较低的学习率，对后期层（尤其是随机添加的层）使用较高的学习率。这个想法基于[Jason Yosinski 等人](https://oreil.ly/j3640)在 2014 年展示的见解，即在迁移学习中，神经网络的不同层应该以不同的速度训练，如图 5-4 所示。\n\n![不同层和训练方法对迁移学习的影响（Yosinski）](img/dlcf_0504.png)\n\n###### 图 5-4。不同层和训练方法对迁移学习的影响（由 Jason Yosinski 等人提供）\n\nfastai 允许您在任何需要学习率的地方传递 Python `slice`对象。传递的第一个值将是神经网络最早层的学习率，第二个值将是最后一层的学习率。中间的层将在该范围内等距地乘法地具有学习率。让我们使用这种方法复制先前的训练，但这次我们只将我们网络的*最低*层的学习率设置为 1e-6；其他层将增加到 1e-4。让我们训练一段时间，看看会发生什么：\n\n```py\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fit_one_cycle(3, 3e-3)\nlearn.unfreeze()\nlearn.fit_one_cycle(12, lr_max=slice(1e-6,1e-4))\n```\n\n| 轮数 | 训练损失 | 验证损失 | 错误率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 1.145300 | 0.345568 | 0.119756 | 00:20 |\n| 1 | 0.533986 | 0.251944 | 0.077131 | 00:20 |\n| 2 | 0.317696 | 0.208371 | 0.069012 | 00:20 |\n| 轮数 | 训练损失 | 验证损失 | 错误率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 0.257977 | 0.205400 | 0.067659 | 00:25 |\n| 1 | 0.246763 | 0.205107 | 0.066306 | 00:25 |\n| 2 | 0.240595 | 0.193848 | 0.062246 | 00:25 |\n| 3 | 0.209988 | 0.198061 | 0.062923 | 00:25 |\n| 4 | 0.194756 | 0.193130 | 0.064276 | 00:25 |\n| 5 | 0.169985 | 0.187885 | 0.056157 | 00:25 |\n| 6 | 0.153205 | 0.186145 | 0.058863 | 00:25 |\n| 7 | 0.141480 | 0.185316 | 0.053451 | 00:25 |\n| 8 | 0.128564 | 0.180999 | 0.051421 | 00:25 |\n| 9 | 0.126941 | 0.186288 | 0.054127 | 00:25 |\n| 10 | 0.130064 | 0.181764 | 0.054127 | 00:25 |\n| 11 | 0.124281 | 0.181855 | 0.054127 | 00:25 |\n\n现在微调效果很好！\n\nfastai 可以展示训练和验证损失的图表：\n\n```py\nlearn.recorder.plot_loss()\n```\n\n![](img/dlcf_05in07.png)\n\n正如你所看到的，训练损失一直在变得越来越好。但请注意，最终验证损失的改善会减缓，有时甚至会变得更糟！这是模型开始过拟合的时候。特别是，模型开始对其预测变得过于自信。但这并不意味着它一定变得不准确。看一下每个 epoch 的训练结果表，你会经常看到准确率持续提高，即使验证损失变得更糟。最终，重要的是你的准确率，或者更一般地说是你选择的指标，而不是损失。损失只是我们给计算机的函数，帮助我们优化。\n\n在训练模型时，你还需要做出的另一个决定是训练多长时间。我们将在下面考虑这个问题。\n\n## 选择 epochs 的数量\n\n通常情况下，你会发现在选择训练多少个 epochs 时，你受到的限制更多是时间，而不是泛化和准确性。因此，你训练的第一步应该是简单地选择一个你愿意等待的时间内可以完成的 epochs 数量。然后查看训练和验证损失图，特别是你的指标。如果你看到它们甚至在最后几个 epochs 中仍在变得更好，那么你就知道你没有训练得太久。\n\n另一方面，你可能会发现你选择的指标在训练结束时确实变得更糟。记住，我们不仅仅是在寻找验证损失变得更糟，而是实际的指标。你的验证损失在训练过程中会先变得更糟，因为模型变得过于自信，只有后来才会因为错误地记忆数据而变得更糟。在实践中，我们只关心后一种情况。记住，我们的损失函数是我们用来让优化器有东西可以区分和优化的，实际上我们关心的不是这个。\n\n在 1cycle 训练出现之前，通常会在每个 epoch 结束时保存模型，然后从所有保存的模型中选择准确率最高的模型。这被称为*早停*。然而，这不太可能给出最好的答案，因为那些中间的 epochs 出现在学习率还没有机会达到小值的情况下，这时它才能真正找到最佳结果。因此，如果你发现你过拟合了，你应该重新从头开始训练模型，并根据之前找到最佳结果的地方选择一个总的 epochs 数量。\n\n如果你有时间训练更多的 epochs，你可能会选择用这段时间来训练更多的参数，也就是使用更深的架构。\n\n## 更深的架构\n\n一般来说，具有更多参数的模型可以更准确地对数据进行建模。（对于这个泛化有很多很多的例外情况，这取决于你使用的架构的具体情况，但现在这是一个合理的经验法则。）对于我们将在本书中看到的大多数架构，你可以通过简单地添加更多层来创建更大的版本。然而，由于我们想使用预训练模型，我们需要确保选择已经为我们预训练的层数。\n\n这就是为什么在实践中，架构往往只有少数几种变体。例如，在本章中使用的 ResNet 架构有 18、34、50、101 和 152 层的变体，都是在 ImageNet 上预训练的。一个更大的（更多层和参数；有时被描述为模型的*容量*）ResNet 版本总是能够给我们更好的训练损失，但它可能更容易过拟合，因为它有更多参数可以过拟合。\n\n总的来说，一个更大的模型能够更好地捕捉数据的真实基本关系，以及捕捉和记忆你个别图像的具体细节。\n\n然而，使用更深的模型将需要更多的 GPU 内存，因此你可能需要降低批量大小以避免*内存不足错误*。当你尝试将太多内容装入 GPU 时，就会发生这种情况，看起来像这样：\n\n```py\nCuda runtime error: out of memory\n```\n\n当发生这种情况时，你可能需要重新启动你的笔记本。解决方法是使用较小的批量大小，这意味着在任何给定时间通过你的模型传递较小的图像组。你可以通过使用`bs=`创建你想要的批量大小来调用。\n\n更深层次架构的另一个缺点是训练时间要长得多。一个可以大大加快速度的技术是*混合精度训练*。这指的是在训练过程中尽可能使用不那么精确的数字（半精度浮点数，也称为 fp16）。截至 2020 年初，几乎所有当前的 NVIDIA GPU 都支持一种特殊功能，称为*张量核心*，可以将神经网络训练速度提高 2-3 倍。它们还需要更少的 GPU 内存。要在 fastai 中启用此功能，只需在创建`Learner`后添加`to_fp16()`（你还需要导入模块）。\n\n你实际上无法提前知道适合你特定问题的最佳架构——你需要尝试一些训练。所以现在让我们尝试使用混合精度的 ResNet-50：\n\n```py\nfrom fastai2.callback.fp16 import *\nlearn = cnn_learner(dls, resnet50, metrics=error_rate).to_fp16()\nlearn.fine_tune(6, freeze_epochs=3)\n```\n\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.427505 | 0.310554 | 0.098782 | 00:21 |\n| 1 | 0.606785 | 0.302325 | 0.094723 | 00:22 |\n| 2 | 0.409267 | 0.294803 | 0.091340 | 00:21 |\n| epoch | train_loss | valid_loss | error_rate | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.261121 | 0.274507 | 0.083897 | 00:26 |\n| 1 | 0.296653 | 0.318649 | 0.084574 | 00:26 |\n| 2 | 0.242356 | 0.253677 | 0.069012 | 00:26 |\n| 3 | 0.150684 | 0.251438 | 0.065629 | 00:26 |\n| 4 | 0.094997 | 0.239772 | 0.064276 | 00:26 |\n| 5 | 0.061144 | 0.228082 | 0.054804 | 00:26 |\n\n你会看到我们又回到使用`fine_tune`，因为它非常方便！我们可以传递`freeze_epochs`告诉 fastai 在冻结时训练多少个周期。它将自动为大多数数据集更改学习率。 \n\n在这种情况下，我们没有从更深的模型中看到明显的优势。这是值得记住的——对于你的特定情况，更大的模型不一定是更好的模型！确保在扩大规模之前尝试小模型。\n\n# 结论\n\n在本章中，你学到了一些重要的实用技巧，既可以为建模准备图像数据（预调整大小，数据块摘要），也可以为拟合模型（学习率查找器，解冻，区分性学习率，设置周期数，使用更深的架构）。使用这些工具将帮助你更快地构建更准确的图像模型。\n\n我们还讨论了交叉熵损失。这本书的这部分值得花费大量时间。在实践中，你可能不太可能需要自己从头开始实现交叉熵损失，但你需要理解该函数的输入和输出，因为它（或它的变体，正如我们将在下一章中看到的）几乎在每个分类模型中使用。因此，当你想要调试一个模型，或将一个模型投入生产，或提高一个模型的准确性时，你需要能够查看其激活和损失，并理解发生了什么以及为什么。如果你不理解你的损失函数，你就无法正确地做到这一点。\n\n如果交叉熵损失函数还没有“点亮”你的灯泡，不要担心——你会理解的！首先，回到前一章，确保你真正理解了`mnist_loss`。然后逐渐地通过本章的笔记本单元格，逐步了解交叉熵损失的每个部分。确保你理解每个计算在做什么以及为什么。尝试自己创建一些小张量，并将它们传递给函数，看看它们返回什么。\n\n记住：在实现交叉熵损失时所做的选择并不是唯一可能的选择。就像我们在回归中可以在均方误差和平均绝对差（L1）之间进行选择一样，这里也可以改变细节。如果您对可能有效的其他函数有其他想法，请随时在本章的笔记本中尝试！（但要注意：您可能会发现模型训练速度较慢，准确性较低。这是因为交叉熵损失的梯度与激活和目标之间的差异成比例，因此 SGD 始终会为权重提供一个很好的缩放步长。）\n\n# 问卷调查\n\n1.  为什么我们首先在 CPU 上调整大小到较大尺寸，然后在 GPU 上调整到较小尺寸？\n\n1.  如果您不熟悉正则表达式，请查找正则表达式教程和一些问题集，并完成它们。查看书籍网站以获取建议。\n\n1.  对于大多数深度学习数据集，数据通常以哪两种方式提供？\n\n1.  查阅`L`的文档，并尝试使用它添加的一些新方法。\n\n1.  查阅 Python `pathlib`模块的文档，并尝试使用`Path`类的几种方法。\n\n1.  给出两个图像转换可能降低数据质量的示例。\n\n1.  fastai 提供了哪种方法来查看`DataLoaders`中的数据？\n\n1.  fastai 提供了哪种方法来帮助您调试`DataBlock`？\n\n1.  在彻底清理数据之前，是否应该暂停训练模型？\n\n1.  在 PyTorch 中，交叉熵损失是由哪两个部分组合而成的？\n\n1.  softmax 确保的激活函数的两个属性是什么？为什么这很重要？\n\n1.  何时可能希望激活函数不具有这两个属性？\n\n1.  自己计算图 5-3 中的`exp`和`softmax`列（即在电子表格、计算器或笔记本中）。\n\n1.  为什么我们不能使用`torch.where`为标签可能有多于两个类别的数据集创建损失函数？\n\n1.  log（-2）的值是多少？为什么？\n\n1.  选择学习率时有哪两个好的经验法则来自学习率查找器？\n\n1.  `fine_tune`方法执行了哪两个步骤？\n\n1.  在 Jupyter Notebook 中，如何获取方法或函数的源代码？\n\n1.  什么是区分性学习率？\n\n1.  当将 Python `slice`对象作为学习率传递给 fastai 时，它是如何解释的？\n\n1.  为什么在使用 1cycle 训练时，提前停止是一个不好的选择？\n\n1.  `resnet50`和`resnet101`之间有什么区别？\n\n1.  `to_fp16`是做什么的？\n\n## 进一步研究\n\n1.  找到 Leslie Smith 撰写的介绍学习率查找器的论文，并阅读。\n\n1.  看看是否可以提高本章分类器的准确性。您能达到的最佳准确性是多少？查看论坛和书籍网站，看看其他学生在这个数据集上取得了什么成就以及他们是如何做到的。\n"
  },
  {
    "path": "translations/cn/06_multicat.md",
    "content": "# 第六章：其他计算机视觉问题\n\n\n\n在上一章中，你学习了一些在实践中训练模型的重要技术。选择学习率和周期数等考虑因素对于获得良好结果非常重要。\n\n在本章中，我们将看到另外两种计算机视觉问题：多标签分类和回归。第一种情况发生在你想要预测每个图像的多个标签（有时甚至没有标签），第二种情况发生在你的标签是一个或多个数字——数量而不是类别。\n\n在这个过程中，我们将更深入地研究深度学习模型中的输出激活、目标和损失函数。\n\n# 多标签分类\n\n*多标签分类*指的是识别图像中可能不只包含一种对象类别的问题。可能有多种对象，或者在你寻找的类别中根本没有对象。\n\n例如，这对我们的熊分类器来说是一个很好的方法。我们在第二章中推出的熊分类器的一个问题是，如果用户上传了任何不是熊的东西，模型仍然会说它是灰熊、黑熊或泰迪熊之一——它无法预测“根本不是熊”。事实上，在我们完成本章后，你可以回到你的图像分类器应用程序，尝试使用多标签技术重新训练它，然后通过传入一个不属于你识别类别的图像来测试它。\n\n实际上，我们并没有看到很多人为这个目的训练多标签分类器的例子——但我们经常看到用户和开发人员抱怨这个问题。看起来这个简单的解决方案并不被广泛理解或赞赏！因为在实践中，很可能有一些图像没有匹配项或有多个匹配项，所以我们应该预期在实践中，多标签分类器比单标签分类器更具普适性。\n\n首先让我们看看多标签数据集是什么样的；然后我们将解释如何准备好供我们的模型使用。你会发现模型的架构与前一章并没有改变；只有损失函数改变了。让我们从数据开始。\n\n## 数据\n\n对于我们的示例，我们将使用 PASCAL 数据集，该数据集中的每个图像可以有多种分类对象。\n\n我们首先按照通常的方式下载和提取数据集：\n\n```py\nfrom fastai.vision.all import *\npath = untar_data(URLs.PASCAL_2007)\n```\n\n这个数据集与我们之前看到的不同，它不是按文件名或文件夹结构化的，而是附带一个 CSV 文件，告诉我们每个图像要使用的标签。我们可以通过将其读入 Pandas DataFrame 来检查 CSV 文件：\n\n```py\ndf = pd.read_csv(path/'train.csv')\ndf.head()\n```\n\n|  | 文件名 | 标签 | 是否有效 |\n| --- | --- | --- | --- |\n| 0 | 000005.jpg | 椅子 | True |\n| 1 | 000007.jpg | 汽车 | True |\n| 2 | 000009.jpg | 马 人 | True |\n| 3 | 000012.jpg | 汽车 | False |\n| 4 | 000016.jpg | 自行车 | True |\n\n正如你所看到的，每个图像中的类别列表显示为一个以空格分隔的字符串。\n\n既然我们已经看到了数据的样子，让我们准备好进行模型训练。\n\n## 构建数据块\n\n我们如何将`DataFrame`对象转换为`DataLoaders`对象？我们通常建议在可能的情况下使用数据块 API 来创建`DataLoaders`对象，因为它提供了灵活性和简单性的良好组合。在这里，我们将展示使用数据块 API 构建`DataLoaders`对象的实践步骤，以这个数据集为例。\n\n正如我们所看到的，PyTorch 和 fastai 有两个主要类用于表示和访问训练集或验证集：\n\n`数据集`\n\n返回单个项目的独立变量和依赖变量的元组的集合\n\n`数据加载器`\n\n提供一系列小批量的迭代器，其中每个小批量是一批独立变量和一批因变量的组合\n\n除此之外，fastai 还提供了两个类来将您的训练和验证集合在一起：\n\n`Datasets`\n\n包含一个训练`Dataset`和一个验证`Dataset`的迭代器\n\n`DataLoaders`\n\n包含一个训练`DataLoader`和一个验证`DataLoader`的对象\n\n由于`DataLoader`是建立在`Dataset`之上并为其添加附加功能（将多个项目整合成一个小批量），通常最容易的方法是首先创建和测试`Datasets`，然后再查看`DataLoaders`。\n\n当我们创建`DataBlock`时，我们逐步逐步构建，并使用笔记本检查我们的数据。这是一个很好的方式，可以确保您在编码时保持动力，并留意任何问题。易于调试，因为您知道如果出现问题，它就在您刚刚输入的代码行中！\n\n让我们从没有参数创建的数据块开始，这是最简单的情况：\n\n```py\ndblock = DataBlock()\n```\n\n我们可以从中创建一个`Datasets`对象。唯一需要的是一个源——在这种情况下是我们的 DataFrame：\n\n```py\ndsets = dblock.datasets(df)\n```\n\n这包含一个`train`和一个`valid`数据集，我们可以对其进行索引：\n\n```py\ndsets.train[0]\n```\n\n```py\n(fname       008663.jpg\n labels      car person\n is_valid    False\n Name: 4346, dtype: object,\n fname       008663.jpg\n labels      car person\n is_valid    False\n Name: 4346, dtype: object)\n```\n\n正如您所看到的，这只是简单地两次返回 DataFrame 的一行。这是因为默认情况下，数据块假定我们有两个东西：输入和目标。我们需要从 DataFrame 中获取适当的字段，可以通过传递`get_x`和`get_y`函数来实现：\n\n```py\ndblock = DataBlock(get_x = lambda r: r['fname'], get_y = lambda r: r['labels'])\ndsets = dblock.datasets(df)\ndsets.train[0]\n```\n\n```py\n('005620.jpg', 'aeroplane')\n```\n\n正如您所看到的，我们并没有以通常的方式定义函数，而是使用了 Python 的`lambda`关键字。这只是定义并引用函数的一种快捷方式。以下更冗长的方法是相同的：\n\n```py\ndef get_x(r): return r['fname']\ndef get_y(r): return r['labels']\ndblock = DataBlock(get_x = get_x, get_y = get_y)\ndsets = dblock.datasets(df)\ndsets.train[0]\n```\n\n```py\n('002549.jpg', 'tvmonitor')\n```\n\nLambda 函数非常适合快速迭代，但不兼容序列化，因此我们建议您在训练后要导出您的`Learner`时使用更冗长的方法（如果您只是在尝试实验，lambda 是可以的）。\n\n我们可以看到独立变量需要转换为完整路径，以便我们可以将其作为图像打开，而因变量需要根据空格字符（这是 Python 的`split`函数的默认值）进行拆分，以便它变成一个列表：\n\n```py\ndef get_x(r): return path/'train'/r['fname']\ndef get_y(r): return r['labels'].split(' ')\ndblock = DataBlock(get_x = get_x, get_y = get_y)\ndsets = dblock.datasets(df)\ndsets.train[0]\n```\n\n```py\n(Path('/home/sgugger/.fastai/data/pascal_2007/train/008663.jpg'),\n ['car', 'person'])\n```\n\n要实际打开图像并将其转换为张量，我们需要使用一组转换；块类型将为我们提供这些。我们可以使用先前使用过的相同块类型，只有一个例外：`ImageBlock`将再次正常工作，因为我们有一个指向有效图像的路径，但`CategoryBlock`不会起作用。问题在于该块返回一个单个整数，但我们需要为每个项目有多个标签。为了解决这个问题，我们使用`MultiCategoryBlock`。这种类型的块期望接收一个字符串列表，就像我们在这种情况下所做的那样，所以让我们来测试一下：\n\n```py\ndblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\n                   get_x = get_x, get_y = get_y)\ndsets = dblock.datasets(df)\ndsets.train[0]\n```\n\n```py\n(PILImage mode=RGB size=500x375,\n TensorMultiCategory([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.,\n > 0., 0., 0., 0., 0., 0.]))\n```\n\n正如您所看到的，我们的类别列表的编码方式与常规的`CategoryBlock`不同。在那种情况下，我们有一个整数表示哪个类别存在，基于它在我们的词汇表中的位置。然而，在这种情况下，我们有一系列 0，其中任何位置上有一个 1 表示该类别存在。例如，如果第二和第四位置上有一个 1，那意味着词汇项二和四在这个图像中存在。这被称为*独热编码*。我们不能简单地使用类别索引列表的原因是每个列表的长度都不同，而 PyTorch 需要张量，其中所有内容必须是相同长度。\n\n# 行话：独热编码\n\n使用一个 0 向量，其中每个位置都表示数据中表示的位置，以编码一个整数列表。\n\n让我们来看看这个例子中类别代表什么（我们使用方便的`torch.where`函数，告诉我们条件为真或假的所有索引）：\n\n```py\nidxs = torch.where(dsets.train[0][1]==1.)[0]\ndsets.train.vocab[idxs]\n```\n\n```py\n(#1) ['dog']\n```\n\n使用 NumPy 数组、PyTorch 张量和 fastai 的`L`类，我们可以直接使用列表或向量进行索引，这使得很多代码（比如这个例子）更清晰、更简洁。\n\n到目前为止，我们忽略了列`is_valid`，这意味着`DataBlock`一直在使用默认的随机拆分。要明确选择我们验证集的元素，我们需要编写一个函数并将其传递给`splitter`（或使用 fastai 的预定义函数或类之一）。它将获取项目（这里是我们整个 DataFrame）并必须返回两个（或更多）整数列表：\n\n```py\ndef splitter(df):\n    train = df.index[~df['is_valid']].tolist()\n    valid = df.index[df['is_valid']].tolist()\n    return train,valid\n\ndblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\n                   splitter=splitter,\n                   get_x=get_x,\n                   get_y=get_y)\n\ndsets = dblock.datasets(df)\ndsets.train[0]\n```\n\n```py\n(PILImage mode=RGB size=500x333,\n TensorMultiCategory([0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0.,\n > 0., 0., 0., 0., 0., 0.]))\n```\n\n正如我们讨论过的，`DataLoader`将`Dataset`中的项目整理成一个小批量。这是一个张量的元组，其中每个张量简单地堆叠了`Dataset`项目中该位置的项目。\n\n现在我们已经确认了单个项目看起来没问题，还有一步，我们需要确保我们可以创建我们的`DataLoaders`，即确保每个项目的大小相同。为了做到这一点，我们可以使用`RandomResizedCrop`：\n\n```py\ndblock = DataBlock(blocks=(ImageBlock, MultiCategoryBlock),\n                   splitter=splitter,\n                   get_x=get_x,\n                   get_y=get_y,\n                   item_tfms = RandomResizedCrop(128, min_scale=0.35))\ndls = dblock.dataloaders(df)\n```\n\n现在我们可以显示我们数据的一个样本：\n\n```py\ndls.show_batch(nrows=1, ncols=3)\n```\n\n![](img/dlcf_06in01.png)\n\n请记住，如果在从`DataBlock`创建`DataLoaders`时出现任何问题，或者如果您想查看`DataBlock`的确切情况，您可以使用我们在上一章中介绍的`summary`方法。\n\n我们的数据现在已经准备好用于训练模型。正如我们将看到的，当我们创建我们的`Learner`时，没有任何变化，但在幕后，fastai 库将为我们选择一个新的损失函数：二元交叉熵。\n\n## 二元交叉熵\n\n现在我们将创建我们的`Learner`。我们在第四章中看到，`Learner`对象包含四个主要内容：模型、`DataLoaders`对象、优化器和要使用的损失函数。我们已经有了我们的`DataLoaders`，我们可以利用 fastai 的`resnet`模型（稍后我们将学习如何从头开始创建），并且我们知道如何创建一个`SGD`优化器。因此，让我们专注于确保我们有一个合适的损失函数。为此，让我们使用`cnn_learner`创建一个`Learner`，这样我们就可以查看它的激活：\n\n```py\nlearn = cnn_learner(dls, resnet18)\n```\n\n我们还看到，`Learner`中的模型通常是从`nn.Module`继承的类的对象，并且我们可以使用括号调用它，它将返回模型的激活。你应该将独立变量作为一个小批量传递给它。我们可以尝试从我们的`DataLoader`中获取一个小批量，然后将其传递给模型：\n\n```py\nx,y = dls.train.one_batch()\nactivs = learn.model(x)\nactivs.shape\n```\n\n```py\ntorch.Size([64, 20])\n```\n\n想想为什么`activs`有这种形状——我们的批量大小为 64，我们需要计算 20 个类别中的每一个的概率。这是其中一个激活的样子：\n\n```py\nactivs[0]\n```\n\n```py\ntensor([ 2.0258, -1.3543,  1.4640,  1.7754, -1.2820, -5.8053,  3.6130,  0.7193,\n > -4.3683, -2.5001, -2.8373, -1.8037,  2.0122,  0.6189,  1.9729,  0.8999,\n > -2.6769, -0.3829,  1.2212,  1.6073],\n       device='cuda:0', grad_fn=<SelectBackward>)\n```\n\n# 获取模型激活\n\n知道如何手动获取一个小批量并将其传递到模型中，并查看激活和损失，对于调试模型非常重要。这对学习也非常有帮助，这样你就可以清楚地看到发生了什么。\n\n它们还没有缩放到 0 到 1 之间，但我们学会了如何在第四章中使用`sigmoid`函数来做到这一点。我们还看到了如何基于此计算损失——这是我们在第四章中的损失函数，加上了在前一章中讨论的`log`：\n\n```py\ndef binary_cross_entropy(inputs, targets):\n    inputs = inputs.sigmoid()\n    return -torch.where(targets==1, inputs, 1-inputs).log().mean()\n```\n\n请注意，由于我们有一个独热编码的因变量，我们不能直接使用`nll_loss`或`softmax`（因此我们不能使用`cross_entropy`）：\n\n+   正如我们所看到的，`softmax`要求所有预测总和为 1，并且倾向于使一个激活远远大于其他激活（因为使用了`exp`）；然而，我们可能有多个我们确信出现在图像中的对象，因此限制激活的最大总和为 1 并不是一个好主意。出于同样的原因，如果我们认为*任何*类别都不出现在图像中，我们可能希望总和*小于*1。\n\n+   正如我们所看到的，`nll_loss`返回的是一个激活值：与项目的单个标签对应的单个激活值。当我们有多个标签时，这是没有意义的。\n\n另一方面，`binary_cross_entropy`函数，即`mnist_loss`加上`log`，正是我们所需要的，这要归功于 PyTorch 的逐元素操作的魔力。每个激活将与每个列的每个目标进行比较，因此我们不必做任何事情使此函数适用于多个列。\n\n# Jeremy Says\n\n我真的很喜欢使用像 PyTorch 这样的库，具有广播和逐元素操作，因为我经常发现我可以编写的代码同样适用于单个项目或一批项目，而无需更改。`binary_cross_entropy`就是一个很好的例子。通过使用这些操作，我们不必自己编写循环，可以依赖 PyTorch 根据我们正在处理的张量的秩适当地执行我们需要的循环。\n\nPyTorch 已经为我们提供了这个函数。实际上，它提供了许多版本，名称相当令人困惑！\n\n`F.binary_cross_entropy`及其模块等效`nn.BCELoss`计算一个独热编码目标的交叉熵，但不包括初始的`sigmoid`。通常，对于独热编码目标，您将希望使用`F.binary_cross_entropy_with_logits`（或`nn.BCEWithLogitsLoss`），它们在一个函数中同时执行 sigmoid 和二元交叉熵，就像前面的例子一样。\n\n对于单标签数据集（如 MNIST 或 Pet 数据集），其中目标被编码为单个整数，相应的是`F.nll_loss`或`nn.NLLLoss`（没有初始 softmax 的版本），以及`F.cross_entropy`或`nn.CrossEntropyLoss`（具有初始 softmax 的版本）。\n\n由于我们有一个独热编码的目标，我们将使用`BCEWithLogitsLoss`：\n\n```py\nloss_func = nn.BCEWithLogitsLoss()\nloss = loss_func(activs, y)\nloss\n```\n\n```py\ntensor(1.0082, device='cuda:5', grad_fn=<BinaryCrossEntropyWithLogitsBackward>)\n```\n\n我们不需要告诉 fastai 使用这个损失函数（尽管如果我们想要的话可以这样做），因为它将自动为我们选择。fastai 知道`DataLoaders`具有多个类别标签，因此默认情况下将使用`nn.BCEWithLogitsLoss`。\n\n与前一章相比的一个变化是我们使用的指标：因为这是一个多标签问题，我们不能使用准确度函数。为什么呢？嗯，准确度是这样比较我们的输出和我们的目标的：\n\n```py\ndef accuracy(inp, targ, axis=-1):\n    \"Compute accuracy with `targ` when `pred` is bs * n_classes\"\n    pred = inp.argmax(dim=axis)\n    return (pred == targ).float().mean()\n```\n\n预测的类是具有最高激活的类（这就是`argmax`的作用）。这里不起作用，因为我们可能在单个图像上有多个预测。在对我们的激活应用 sigmoid（使它们在 0 和 1 之间）之后，我们需要通过选择*阈值*来决定哪些是 0，哪些是 1。高于阈值的每个值将被视为 1，低于阈值的每个值将被视为 0：\n\n```py\ndef accuracy_multi(inp, targ, thresh=0.5, sigmoid=True):\n    \"Compute accuracy when `inp` and `targ` are the same size.\"\n    if sigmoid: inp = inp.sigmoid()\n    return ((inp>thresh)==targ.bool()).float().mean()\n```\n\n如果我们直接将`accuracy_multi`作为指标传递，它将使用`threshold`的默认值，即 0.5。我们可能希望调整该默认值并创建一个具有不同默认值的新版本的`accuracy_multi`。为了帮助解决这个问题，Python 中有一个名为`partial`的函数。它允许我们*绑定*一个带有一些参数或关键字参数的函数，从而创建该函数的新版本，每当调用它时，总是包含这些参数。例如，这里是一个接受两个参数的简单函数：\n\n```py\ndef say_hello(name, say_what=\"Hello\"): return f\"{say_what} {name}.\"\nsay_hello('Jeremy'),say_hello('Jeremy', 'Ahoy!')\n```\n\n```py\n('Hello Jeremy.', 'Ahoy! Jeremy.')\n```\n\n我们可以通过使用`partial`切换到该函数的法语版本：\n\n```py\nf = partial(say_hello, say_what=\"Bonjour\")\nf(\"Jeremy\"),f(\"Sylvain\")\n```\n\n```py\n('Bonjour Jeremy.', 'Bonjour Sylvain.')\n```\n\n现在我们可以训练我们的模型。让我们尝试将准确度阈值设置为 0.2 作为我们的指标：\n\n```py\nlearn = cnn_learner(dls, resnet50, metrics=partial(accuracy_multi, thresh=0.2))\nlearn.fine_tune(3, base_lr=3e-3, freeze_epochs=4)\n```\n\n| epoch | train_loss | valid_loss | accuracy_multi | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.903610 | 0.659728 | 0.263068 | 00:07 |\n| 1 | 0.724266 | 0.346332 | 0.525458 | 00:07 |\n| 2 | 0.415597 | 0.125662 | 0.937590 | 00:07 |\n| 3 | 0.254987 | 0.116880 | 0.945418 | 00:07 |\n| epoch | train_loss | valid_loss | accuracy_multi | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.123872 | 0.132634 | 0.940179 | 00:08 |\n| 1 | 0.112387 | 0.113758 | 0.949343 | 00:08 |\n| 2 | 0.092151 | 0.104368 | 0.951195 | 00:08 |\n\n选择阈值很重要。如果选择的阈值太低，通常会选择错误标记的对象。我们可以通过改变我们的度量标准然后调用`validate`来看到这一点，它会返回验证损失和度量标准：\n\n```py\nlearn.metrics = partial(accuracy_multi, thresh=0.1)\nlearn.validate()\n```\n\n```py\n(#2) [0.10436797887086868,0.93057781457901]\n```\n\n如果选择的阈值太高，将只选择模型非常有信心的对象：\n\n```py\nlearn.metrics = partial(accuracy_multi, thresh=0.99)\nlearn.validate()\n```\n\n```py\n(#2) [0.10436797887086868,0.9416930675506592]\n```\n\n我们可以通过尝试几个级别并查看哪个效果最好来找到最佳阈值。如果我们只抓取一次预测，这将快得多：\n\n```py\npreds,targs = learn.get_preds()\n```\n\n然后我们可以直接调用度量标准。请注意，默认情况下，`get_preds`会为我们应用输出激活函数（在本例中为 sigmoid），因此我们需要告诉`accuracy_multi`不要应用它：\n\n```py\naccuracy_multi(preds, targs, thresh=0.9, sigmoid=False)\n```\n\n```py\nTensorMultiCategory(0.9554)\n```\n\n现在我们可以使用这种方法找到最佳阈值水平：\n\n```py\nxs = torch.linspace(0.05,0.95,29)\naccs = [accuracy_multi(preds, targs, thresh=i, sigmoid=False) for i in xs]\nplt.plot(xs,accs);\n```\n\n![](img/dlcf_06in02.png)\n\n在这种情况下，我们使用验证集来选择一个超参数（阈值），这就是验证集的目的。有时学生们表达了他们的担忧，即我们可能会对验证集*过拟合*，因为我们正在尝试很多值来找出哪个是最好的。然而，正如你在图中看到的，改变阈值在这种情况下会产生一个平滑的曲线，因此我们显然没有选择不合适的异常值。这是一个很好的例子，说明你必须小心理论（不要尝试很多超参数值，否则可能会过拟合验证集）与实践（如果关系是平滑的，这样做是可以的）之间的区别。\n\n这结束了本章专门讨论多标签分类的部分。接下来，我们将看一下回归问题。\n\n# 回归\n\n很容易将深度学习模型视为被分类到领域中，如*计算机视觉*、*NLP*等等。事实上，这就是 fastai 对其应用程序进行分类的方式——主要是因为大多数人习惯于这样思考事物。\n\n但实际上，这隐藏了一个更有趣和更深入的视角。一个模型由其独立和依赖变量以及其损失函数定义。这意味着实际上有比简单的基于领域的分割更广泛的模型数组。也许我们有一个独立变量是图像，一个依赖变量是文本（例如，从图像生成标题）；或者我们有一个独立变量是文本，一个依赖变量是图像（例如，从标题生成图像——这实际上是深度学习可以做到的！）；或者我们有图像、文本和表格数据作为独立变量，我们试图预测产品购买……可能性真的是无穷无尽的。\n\n要能够超越固定应用程序，为新问题制定自己的新颖解决方案，真正理解数据块 API（也许还有我们将在本书后面看到的中间层 API）是有帮助的。举个例子，让我们考虑*图像回归*的问题。这指的是从一个独立变量是图像，依赖变量是一个或多个浮点数的数据集中学习。通常我们看到人们将图像回归视为一个完全独立的应用程序——但正如你在这里看到的，我们可以将其视为数据块 API 上的另一个 CNN。\n\n我们将直接跳到图像回归的一个有点棘手的变体，因为我们知道你已经准备好了！我们将做一个关键点模型。*关键点*指的是图像中表示的特定位置——在这种情况下，我们将使用人物的图像，并且我们将寻找每个图像中人脸的中心。这意味着我们实际上将为每个图像预测*两个*值：人脸中心的行和列。\n\n## 数据组装\n\n我们将在这一部分使用[Biwi Kinect Head Pose 数据集](https://oreil.ly/-4cO-)。我们将像往常一样开始下载数据集：\n\n```py\npath = untar_data(URLs.BIWI_HEAD_POSE)\n```\n\n让我们看看我们有什么！\n\n```py\npath.ls()\n```\n\n```py\n(#50) [Path('13.obj'),Path('07.obj'),Path('06.obj'),Path('13'),Path('10'),Path('\n > 02'),Path('11'),Path('01'),Path('20.obj'),Path('17')...]\n```\n\n有 24 个从 01 到 24 编号的目录（它们对应不同的被摄人物），以及每个目录对应的*.obj*文件（我们这里不需要）。让我们看看其中一个目录的内容：\n\n```py\n(path/'01').ls()\n```\n\n```py\n(#1000) [Path('01/frame_00281_pose.txt'),Path('01/frame_00078_pose.txt'),Path('0\n > 1/frame_00349_rgb.jpg'),Path('01/frame_00304_pose.txt'),Path('01/frame_00207_\n > pose.txt'),Path('01/frame_00116_rgb.jpg'),Path('01/frame_00084_rgb.jpg'),Path\n > ('01/frame_00070_rgb.jpg'),Path('01/frame_00125_pose.txt'),Path('01/frame_003\n > 24_rgb.jpg')...]\n```\n\n在子目录中，我们有不同的帧。每个帧都带有一个图像（*_rgb.jpg*）和一个姿势文件（*_pose.txt*）。我们可以使用`get_image_files`轻松递归获取所有图像文件，然后编写一个函数，将图像文件名转换为其关联的姿势文件：\n\n```py\nimg_files = get_image_files(path)\ndef img2pose(x): return Path(f'{str(x)[:-7]}pose.txt')\nimg2pose(img_files[0])\n```\n\n```py\nPath('13/frame_00349_pose.txt')\n```\n\n让我们来看看我们的第一张图片：\n\n```py\nim = PILImage.create(img_files[0])\nim.shape\n```\n\n```py\n(480, 640)\n```\n\n```py\nim.to_thumb(160)\n```\n\n![](img/dlcf_06in03.png)\n\n[Biwi 数据集网站](https://oreil.ly/wHL28)用于解释与每个图像关联的姿势文本文件的格式，显示头部中心的位置。这些细节对我们来说并不重要，所以我们只会展示我们用来提取头部中心点的函数：\n\n```py\ncal = np.genfromtxt(path/'01'/'rgb.cal', skip_footer=6)\ndef get_ctr(f):\n    ctr = np.genfromtxt(img2pose(f), skip_header=3)\n    c1 = ctr[0] * cal[0][0]/ctr[2] + cal[0][2]\n    c2 = ctr[1] * cal[1][1]/ctr[2] + cal[1][2]\n    return tensor([c1,c2])\n```\n\n这个函数将坐标作为两个项目的张量返回：\n\n```py\nget_ctr(img_files[0])\n```\n\n```py\ntensor([384.6370, 259.4787])\n```\n\n我们可以将此函数传递给`DataBlock`作为`get_y`，因为它负责为每个项目标记。我们将将图像调整为其输入大小的一半，以加快训练速度。\n\n一个重要的要点是我们不应该只使用随机分割器。在这个数据集中，同一个人出现在多个图像中，但我们希望确保我们的模型可以泛化到它尚未见过的人。数据集中的每个文件夹包含一个人的图像。因此，我们可以创建一个分割器函数，仅为一个人返回`True`，从而使验证集仅包含该人的图像。\n\n与以前的数据块示例的唯一区别是第二个块是`PointBlock`。这是必要的，以便 fastai 知道标签代表坐标；这样，它就知道在进行数据增强时，应该对这些坐标执行与图像相同的增强：\n\n```py\nbiwi = DataBlock(\n    blocks=(ImageBlock, PointBlock),\n    get_items=get_image_files,\n    get_y=get_ctr,\n    splitter=FuncSplitter(lambda o: o.parent.name=='13'),\n    batch_tfms=[*aug_transforms(size=(240,320)),\n                Normalize.from_stats(*imagenet_stats)]\n)\n```\n\n# 点和数据增强\n\n我们不知道其他库（除了 fastai）会自动且正确地将数据增强应用于坐标。因此，如果您使用另一个库，可能需要禁用这些问题的数据增强。\n\n在进行任何建模之前，我们应该查看我们的数据以确认它看起来没问题：\n\n```py\ndls = biwi.dataloaders(path)\ndls.show_batch(max_n=9, figsize=(8,6))\n```\n\n![](img/dlcf_06in04.png)\n\n看起来不错！除了通过视觉查看批次外，还可以查看底层张量（尤其是作为学生；这将有助于澄清您对模型实际看到的内容的理解）：\n\n```py\nxb,yb = dls.one_batch()\nxb.shape,yb.shape\n```\n\n```py\n(torch.Size([64, 3, 240, 320]), torch.Size([64, 1, 2]))\n```\n\n确保您了解为什么这些是我们小批量的形状。\n\n这是依赖变量的一个示例行：\n\n```py\nyb[0]\n```\n\n```py\ntensor([[0.0111, 0.1810]], device='cuda:5')\n```\n\n正如您所看到的，我们不必使用单独的*图像回归*应用程序；我们所要做的就是标记数据并告诉 fastai 独立变量和因变量代表什么类型的数据。\n\n创建我们的`Learner`也是一样的。我们将使用与之前相同的函数，只有一个新参数，然后我们就可以准备训练我们的模型了。\n\n## 训练模型\n\n像往常一样，我们可以使用`cnn_learner`来创建我们的`Learner`。还记得在第一章中我们如何使用`y_range`告诉 fastai 我们目标的范围吗？我们将在这里做同样的事情（fastai 和 PyTorch 中的坐标始终在-1 和+1 之间重新缩放）：\n\n```py\nlearn = cnn_learner(dls, resnet18, y_range=(-1,1))\n```\n\n`y_range`在 fastai 中使用`sigmoid_range`实现，其定义如下：\n\n```py\ndef sigmoid_range(x, lo, hi): return torch.sigmoid(x) * (hi-lo) + lo\n```\n\n如果定义了`y_range`，则将其设置为模型的最终层。花点时间思考一下这个函数的作用，以及为什么它强制模型在范围`(lo,hi)`内输出激活。\n\n这是它的样子：\n\n```py\nplot_function(partial(sigmoid_range,lo=-1,hi=1), min=-4, max=4)\n```\n\n![](img/dlcf_06in05.png)\n\n我们没有指定损失函数，这意味着我们得到了 fastai 选择的默认值。让我们看看它为我们选择了什么：\n\n```py\ndls.loss_func\n```\n\n```py\nFlattenedLoss of MSELoss()\n```\n\n这是有道理的，因为当坐标被用作因变量时，大多数情况下我们可能会尽可能地预测接近某个值；这基本上就是 `MSELoss`（均方误差损失）所做的。如果你想使用不同的损失函数，你可以通过使用 `loss_func` 参数将其传递给 `cnn_learner`。\n\n还要注意，我们没有指定任何指标。这是因为均方误差已经是这个任务的一个有用指标（尽管在我们取平方根之后可能更易解释）。\n\n我们可以使用学习率查找器选择一个好的学习率：\n\n```py\nlearn.lr_find()\n```\n\n![](img/dlcf_06in06.png)\n\n我们将尝试一个学习率为 2e-2：\n\n```py\nlr = 2e-2\nlearn.fit_one_cycle(5, lr)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.045840 | 0.012957 | 00:36 |\n| 1 | 0.006369 | 0.001853 | 00:36 |\n| 2 | 0.003000 | 0.000496 | 00:37 |\n| 3 | 0.001963 | 0.000360 | 00:37 |\n| 4 | 0.001584 | 0.000116 | 00:36 |\n\n通常情况下，当我们运行这个时，我们得到的损失大约是 0.0001，这对应于这个平均坐标预测误差：\n\n```py\nmath.sqrt(0.0001)\n```\n\n```py\n0.01\n```\n\n这听起来非常准确！但是重要的是要用 `Learner.show_results` 查看我们的结果。左侧是实际（*真实*）坐标，右侧是我们模型的预测：\n\n```py\nlearn.show_results(ds_idx=1, max_n=3, figsize=(6,8))\n```\n\n![](img/dlcf_06in07.png)\n\n令人惊讶的是，仅仅几分钟的计算，我们就创建了一个如此准确的关键点模型，而且没有任何特定领域的应用。这就是在灵活的 API 上构建并使用迁移学习的力量！特别引人注目的是，我们能够如此有效地使用迁移学习，即使在完全不同的任务之间；我们的预训练模型是用来进行图像分类的，而我们对图像回归进行了微调。\n\n# 结论\n\n在乍一看完全不同的问题（单标签分类、多标签分类和回归）中，我们最终使用相同的模型，只是输出的数量不同。唯一改变的是损失函数，这就是为什么重要的是要仔细检查你是否为你的问题使用了正确的损失函数。\n\nfastai 将自动尝试从您构建的数据中选择正确的损失函数，但如果您使用纯 PyTorch 构建您的 `DataLoader`，请确保您认真考虑您选择的损失函数，并记住您很可能想要以下内容：\n\n+   `nn.CrossEntropyLoss` 用于单标签分类\n\n+   `nn.BCEWithLogitsLoss` 用于多标签分类\n\n+   `nn.MSELoss` 用于回归\n\n# 问卷\n\n1.  多标签分类如何提高熊分类器的可用性？\n\n1.  在多标签分类问题中，我们如何对因变量进行编码？\n\n1.  如何访问 DataFrame 的行和列，就像它是一个矩阵一样？\n\n1.  如何从 DataFrame 中按名称获取列？\n\n1.  `Dataset` 和 `DataLoader` 之间有什么区别？\n\n1.  `Datasets` 对象通常包含什么？\n\n1.  `DataLoaders` 对象通常包含什么？\n\n1.  `lambda` 在 Python 中是做什么的？\n\n1.  如何使用数据块 API 自定义独立变量和因变量的创建方法？\n\n1.  当使用一个独热编码的目标时，为什么 softmax 不是一个合适的输出激活函数？\n\n1.  当使用一个独热编码的目标时，为什么 `nll_loss` 不是一个合适的损失函数？\n\n1.  `nn.BCELoss` 和 `nn.BCEWithLogitsLoss` 之间有什么区别？\n\n1.  为什么在多标签问题中不能使用常规准确率？\n\n1.  何时可以在验证集上调整超参数？\n\n1.  `y_range` 在 fastai 中是如何实现的？（看看你是否可以自己实现并在不偷看的情况下测试！）\n\n1.  回归问题是什么？对于这样的问题应该使用什么损失函数？\n\n1.  为了确保 fastai 库将相同的数据增强应用于您的输入图像和目标点坐标，您需要做什么？\n\n## 进一步研究\n\n1.  阅读关于 Pandas DataFrames 的教程，并尝试一些看起来有趣的方法。查看书籍网站上推荐的教程。\n\n1.  使用多标签分类重新训练熊分类器。看看你是否可以使其有效地处理不包含任何熊的图像，包括在 Web 应用程序中显示该信息。尝试一张包含两种熊的图像。检查在单标签数据集上使用多标签分类是否会影响准确性。\n"
  },
  {
    "path": "translations/cn/07_sizing_and_tta.md",
    "content": "# 第七章：训练一个最先进的模型\n\n\n\n本章介绍了更高级的技术，用于训练图像分类模型并获得最先进的结果。如果您想了解更多关于深度学习的其他应用，并稍后回来，您可以跳过它——后续章节不会假设您已掌握这些材料。\n\n我们将看一下什么是归一化，一种强大的数据增强技术叫做 Mixup，渐进式调整大小方法，以及测试时间增强。为了展示所有这些，我们将从头开始训练一个模型（不使用迁移学习），使用一个名为 Imagenette 的 ImageNet 子集。它包含了原始 ImageNet 数据集中 10 个非常不同的类别的子集，使得在我们想要进行实验时训练更快。\n\n这将比我们之前的数据集更难做得好，因为我们使用全尺寸、全彩色的图像，这些图像是不同大小、不同方向、不同光照等对象的照片。因此，在本章中，我们将介绍一些重要的技术，以便充分利用您的数据集，特别是当您从头开始训练，或者使用迁移学习在一个与预训练模型使用的非常不同类型的数据集上训练模型时。\n\n# Imagenette\n\n当 fast.ai 刚开始时，人们主要使用三个主要数据集来构建和测试计算机视觉模型：\n\nImageNet\n\n1.3 百万张各种尺寸的图像，大约 500 像素宽，分为 1,000 个类别，需要几天时间来训练\n\nMNIST\n\n50,000 个 28×28 像素的灰度手写数字\n\nCIFAR10\n\n60,000 个 32×32 像素的彩色图像，分为 10 类\n\n问题在于较小的数据集无法有效地泛化到大型 ImageNet 数据集。在 ImageNet 上表现良好的方法通常必须在 ImageNet 上开发和训练。这导致许多人认为，只有拥有巨大计算资源的研究人员才能有效地为发展图像分类算法做出贡献。\n\n我们认为这似乎是不太可能成立的。我们从未见过一项研究表明 ImageNet 恰好是正确的大小，其他数据集无法提供有用的见解。因此，我们希望创建一个新的数据集，研究人员可以快速、廉价地测试他们的算法，但也能提供可能在完整的 ImageNet 数据集上起作用的见解。\n\n大约三个小时后，我们创建了 Imagenette。我们从完整的 ImageNet 中选择了 10 个看起来非常不同的类别。正如我们所希望的那样，我们能够快速、廉价地创建一个能够识别这些类别的分类器。然后我们尝试了一些算法调整，看它们如何影响 Imagenette。我们发现一些效果不错的，并在 ImageNet 上进行了测试，我们很高兴地发现我们的调整在 ImageNet 上也效果很好！\n\n这里有一个重要的信息：您得到的数据集不一定是您想要的数据集。特别是不太可能是您想要进行开发和原型设计的数据集。您应该力求迭代速度不超过几分钟——也就是说，当您想尝试一个新想法时，您应该能够在几分钟内训练一个模型并查看其效果。如果做一个实验花费的时间更长，考虑如何减少数据集的规模，或简化模型，以提高实验速度。您做的实验越多，效果就越好！\n\n让我们从这个数据集开始：\n\n```py\nfrom fastai.vision.all import *\npath = untar_data(URLs.IMAGENETTE)\n```\n\n首先，我们将使用在第五章中介绍的*预调整*技巧将我们的数据集放入`DataLoaders`对象中：\n\n```py\ndblock = DataBlock(blocks=(ImageBlock(), CategoryBlock()),\n                   get_items=get_image_files,\n                   get_y=parent_label,\n                   item_tfms=Resize(460),\n                   batch_tfms=aug_transforms(size=224, min_scale=0.75))\ndls = dblock.dataloaders(path, bs=64)\n```\n\n然后我们将进行一个作为基线的训练运行：\n\n```py\nmodel = xresnet50()\nlearn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.583403 | 2.064317 | 0.401792 | 01:03 |\n| 1 | 1.208877 | 1.260106 | 0.601568 | 01:02 |\n| 2 | 0.925265 | 1.036154 | 0.664302 | 01:03 |\n| 3 | 0.730190 | 0.700906 | 0.777819 | 01:03 |\n| 4 | 0.585707 | 0.541810 | 0.825243 | 01:03 |\n\n这是一个很好的基准，因为我们没有使用预训练模型，但我们可以做得更好。当使用从头开始训练的模型，或者对与预训练使用的数据集非常不同的数据集进行微调时，一些额外的技术就变得非常重要。在本章的其余部分，我们将考虑一些您需要熟悉的关键方法。第一个方法是*归一化*您的数据。\n\n# 归一化\n\n在训练模型时，如果您的输入数据是*归一化*的，那将会有所帮助——也就是说，具有平均值为 0 和标准差为 1。但大多数图像和计算机视觉库使用像素值在 0 到 255 之间，或者在 0 到 1 之间；在任何一种情况下，您的数据都不会具有平均值为 0 和标准差为 1。\n\n让我们获取一批数据并查看这些值，通过对除了通道轴之外的所有轴进行平均，通道轴是轴 1：\n\n```py\nx,y = dls.one_batch()\nx.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\n```\n\n```py\n(TensorImage([0.4842, 0.4711, 0.4511], device='cuda:5'),\n TensorImage([0.2873, 0.2893, 0.3110], device='cuda:5'))\n```\n\n正如我们预期的那样，平均值和标准差与期望值不太接近。幸运的是，在 fastai 中对数据进行归一化很容易，只需添加`Normalize`转换。这会一次作用于整个小批量数据，因此您可以将其添加到数据块的`batch_tfms`部分。您需要传递给此转换您想要使用的平均值和标准差；fastai 已经定义了标准的 ImageNet 平均值和标准差。（如果您没有向`Normalize`转换传递任何统计数据，fastai 将自动从您的数据的一个批次中计算出它们。）\n\n让我们添加这个转换（使用`imagenet_stats`，因为 Imagenette 是 ImageNet 的一个子集），现在看一下一个批次：\n\n```py\ndef get_dls(bs, size):\n    dblock = DataBlock(blocks=(ImageBlock, CategoryBlock),\n                   get_items=get_image_files,\n                   get_y=parent_label,\n                   item_tfms=Resize(460),\n                   batch_tfms=[*aug_transforms(size=size, min_scale=0.75),\n                               Normalize.from_stats(*imagenet_stats)])\n    return dblock.dataloaders(path, bs=bs)\n```\n\n```py\ndls = get_dls(64, 224)\n```\n\n```py\nx,y = dls.one_batch()\nx.mean(dim=[0,2,3]),x.std(dim=[0,2,3])\n```\n\n```py\n(TensorImage([-0.0787,  0.0525,  0.2136], device='cuda:5'),\n TensorImage([1.2330, 1.2112, 1.3031], device='cuda:5'))\n```\n\n让我们来看看这对训练我们的模型有什么影响：\n\n```py\nmodel = xresnet50()\nlearn = Learner(dls, model, loss_func=CrossEntropyLossFlat(), metrics=accuracy)\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.632865 | 2.250024 | 0.391337 | 01:02 |\n| 1 | 1.294041 | 1.579932 | 0.517177 | 01:02 |\n| 2 | 0.960535 | 1.069164 | 0.657207 | 01:04 |\n| 3 | 0.730220 | 0.767433 | 0.771845 | 01:05 |\n| 4 | 0.577889 | 0.550673 | 0.824496 | 01:06 |\n\n尽管在这里只有一点帮助，但在使用预训练模型时，归一化变得尤为重要。预训练模型只知道如何处理之前见过的数据类型。如果训练数据的平均像素值为 0，但您的数据的像素最小可能值为 0，那么模型将看到与预期完全不同的东西！\n\n这意味着当您分发模型时，您需要同时分发用于归一化的统计数据，因为任何使用它进行推断或迁移学习的人都需要使用相同的统计数据。同样，如果您使用别人训练过的模型，请确保您了解他们使用的归一化统计数据，并进行匹配。\n\n在之前的章节中，我们不必处理归一化，因为通过`cnn_learner`使用预训练模型时，fastai 库会自动添加适当的`Normalize`转换；模型已经使用`Normalize`中的某些统计数据进行了预训练（通常来自 ImageNet 数据集），因此库可以为您填充这些数据。请注意，这仅适用于预训练模型，这就是为什么在从头开始训练时需要在这里手动添加这些信息的原因。\n\n到目前为止，我们所有的训练都是在尺寸为 224 的情况下进行的。我们本可以在那之前从较小的尺寸开始训练。这被称为*渐进调整*。\n\n# 渐进调整\n\n当 fast.ai 及其学生团队在 2018 年赢得 DAWNBench 比赛时，其中最重要的创新之一是非常简单的事情：使用小图像开始训练，然后使用大图像结束训练。在大部分时期使用小图像进行训练有助于训练完成得更快。使用大图像完成训练使最终准确率更高。我们称这种方法为*渐进式调整大小*。\n\n# 术语：渐进式调整大小\n\n在训练过程中逐渐使用越来越大的图像。\n\n正如我们所看到的，卷积神经网络学习的特征类型与图像的大小无关——早期层发现边缘和梯度等内容，而后期层可能发现鼻子和日落等内容。因此，当我们在训练中途更改图像大小时，并不意味着我们必须为我们的模型找到完全不同的参数。\n\n但显然小图像和大图像之间存在一些差异，因此我们不应该期望我们的模型继续完全不变地工作得很好。这让你想起了什么吗？当我们开发这个想法时，它让我们想起了迁移学习！我们试图让我们的模型学会做一些与以前学会的有点不同的事情。因此，在调整图像大小后，我们应该能够使用`fine_tune`方法。\n\n渐进式调整大小还有一个额外的好处：它是另一种数据增强形式。因此，您应该期望看到使用渐进式调整大小训练的模型具有更好的泛化能力。\n\n要实现渐进式调整大小，最方便的方法是首先创建一个`get_dls`函数，该函数接受图像大小和批量大小，就像我们在前一节中所做的那样，并返回您的`DataLoaders`。\n\n现在，您可以使用小尺寸创建您的`DataLoaders`，并以通常的方式使用`fit_one_cycle`，训练的时期比您可能以其他方式做的要少：\n\n```py\ndls = get_dls(128, 128)\nlearn = Learner(dls, xresnet50(), loss_func=CrossEntropyLossFlat(),\n                metrics=accuracy)\nlearn.fit_one_cycle(4, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.902943 | 2.447006 | 0.401419 | 00:30 |\n| 1 | 1.315203 | 1.572992 | 0.525765 | 00:30 |\n| 2 | 1.001199 | 0.767886 | 0.759149 | 00:30 |\n| 3 | 0.765864 | 0.665562 | 0.797984 | 00:30 |\n\n然后，您可以在`Learner`内部替换`DataLoaders`，并进行微调：\n\n```py\nlearn.dls = get_dls(64, 224)\nlearn.fine_tune(5, 1e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.985213 | 1.654063 | 0.565721 | 01:06 |\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.706869 | 0.689622 | 0.784541 | 01:07 |\n| 1 | 0.739217 | 0.928541 | 0.712472 | 01:07 |\n| 2 | 0.629462 | 0.788906 | 0.764003 | 01:07 |\n| 3 | 0.491912 | 0.502622 | 0.836445 | 01:06 |\n| 4 | 0.414880 | 0.431332 | 0.863331 | 01:06 |\n\n正如您所看到的，我们的性能要好得多，而在每个时期的小图像上的初始训练速度要快得多。\n\n您可以根据需要重复增加大小并训练更多时期的过程，为您希望的图像大小——但当然，如果使用大于磁盘上图像大小的图像大小，您将不会获得任何好处。\n\n请注意，对于迁移学习，渐进式调整大小实际上可能会损害性能。如果您的预训练模型与您的迁移学习任务和数据集非常相似，并且是在类似大小的图像上训练的，那么权重不需要进行太多更改。在这种情况下，使用较小的图像进行训练可能会损坏预训练权重。\n\n另一方面，如果迁移学习任务将使用与预训练任务中使用的图像大小、形状或风格不同的图像，渐进式调整大小可能会有所帮助。像往常一样，“它会有帮助吗？”的答案是“试试看！”\n\n我们还可以尝试将数据增强应用于验证集。到目前为止，我们只在训练集上应用了数据增强；验证集始终获得相同的图像。但也许我们可以尝试为验证集的几个增强版本进行预测并取平均值。我们将在下一步考虑这种方法。\n\n# 测试时间增强\n\n我们一直在使用随机裁剪作为一种获取一些有用数据增强的方法，这导致更好的泛化，并且需要更少的训练数据。当我们使用随机裁剪时，fastai 将自动为验证集使用中心裁剪——也就是说，它将选择图像中心的最大正方形区域，而不会超出图像的边缘。\n\n这通常会带来问题。例如，在多标签数据集中，有时图像边缘会有小物体；这些物体可能会被中心裁剪完全裁剪掉。即使对于像我们的宠物品种分类示例这样的问题，也有可能关键特征，例如鼻子的颜色，可能会被裁剪掉。\n\n解决这个问题的一个方法是完全避免随机裁剪。相反，我们可以简单地压缩或拉伸矩形图像以适应正方形空间。但是这样我们会错过一个非常有用的数据增强，并且还会使图像识别对我们的模型更加困难，因为它必须学会识别被压缩和拉伸的图像，而不仅仅是正确比例的图像。\n\n另一个解决方案是在验证时不进行中心裁剪，而是从原始矩形图像中选择若干区域进行裁剪，将每个区域通过我们的模型，然后取预测的最大值或平均值。事实上，我们不仅可以对不同裁剪进行此操作，还可以对所有测试时间增强参数的不同值进行操作。这被称为*测试时间增强*（TTA）。\n\n# 术语：测试时间增强（TTA）\n\n在推断或验证期间，使用数据增强创建每个图像的多个版本，然后取每个增强版本的预测的平均值或最大值。\n\n根据数据集的不同，测试时间增强可以显著提高准确性。它不会改变训练所需的时间，但会增加验证或推断所需的时间，数量取决于请求的测试时间增强图像数量。默认情况下，fastai 将使用未增强的中心裁剪图像加上四个随机增强的图像。\n\n您可以将任何`DataLoader`传递给 fastai 的`tta`方法；默认情况下，它将使用您的验证集：\n\n```py\npreds,targs = learn.tta()\naccuracy(preds, targs).item()\n```\n\n```py\n0.8737863898277283\n```\n\n正如我们所看到的，使用 TTA 可以显著提高性能，而无需额外的训练。但是，它会使推断变慢——如果你对 TTA 平均了五张图像，推断将变慢五倍。\n\n我们已经看到了一些数据增强如何帮助训练更好的模型。现在让我们专注于一种名为*混合*的新数据增强技术。\n\n# 混合\n\n混合（Mixup）是在 2017 年张宏毅等人的论文《*混合：超越经验风险最小化*》中引入的一种强大的数据增强技术，可以提供极高的准确性，特别是当你没有太多数据，也没有经过预训练的模型，该模型是在与你的数据集相似的数据上训练的。该论文解释道：“虽然数据增强始终会导致改进的泛化，但该过程取决于数据集，并因此需要专业知识的使用。”例如，将图像翻转作为数据增强的一部分是很常见的，但是你应该只水平翻转还是同时垂直翻转呢？答案是取决于你的数据集。此外，如果（例如）翻转对你来说提供的数据增强不够，你不能“多翻转”。有助于拥有数据增强技术，可以“调高”或“调低”变化的程度，以找到最适合你的方法。\n\n对于每个图像，Mixup 的工作方式如下：\n\n1.  随机从数据集中选择另一个图像。\n\n1.  随机选择一个权重。\n\n1.  使用步骤 2 中的权重对所选图像和您的图像进行加权平均；这将是您的自变量。\n\n1.  将这个图像的标签与您的图像的标签进行加权平均（使用相同的权重）；这将是您的因变量。\n\n在伪代码中，我们这样做（其中`t`是我们加权平均值的权重）：\n\n```py\nimage2,target2 = dataset[randint(0,len(dataset)]\nt = random_float(0.5,1.0)\nnew_image = t * image1 + (1-t) * image2\nnew_target = t * target1 + (1-t) * target2\n```\n\n为了使其正常工作，我们的目标需要进行独热编码。该论文使用图 7-1 中的方程式描述了这一点（其中<math alttext=\"lamda\"><mi>λ</mi></math>与我们伪代码中的`t`相同）。\n\n![Mixup 论文摘录](img/dlcf_0701.png)\n\n###### 图 7-1。Mixup 论文摘录\n\n图 7-2 展示了在 Mixup 中进行图像*线性组合*的样子。\n\n![一座教堂、一个加油站和两者混合的图像。](img/dlcf_0702.png)\n\n###### 图 7-2。混合教堂和加油站\n\n第三个图像是通过将第一个图像的 0.3 倍和第二个图像的 0.7 倍相加而构建的。在这个例子中，模型应该预测“教堂”还是“加油站”？正确答案是 30%的教堂和 70%的加油站，因为如果我们采用独热编码目标的线性组合，那就是我们将得到的结果。例如，假设我们有 10 个类别，“教堂”由索引 2 表示，“加油站”由索引 7 表示。独热编码表示如下：\n\n```py\n[0, 0, 1, 0, 0, 0, 0, 0, 0, 0] and [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]\n```\n\n这是我们的最终目标：\n\n```py\n[0, 0, 0.3, 0, 0, 0, 0, 0.7, 0, 0]\n```\n\nfastai 通过向我们的`Learner`添加一个*callback*来完成所有这些操作。`Callback`是 fastai 中用于在训练循环中注入自定义行为的内容（如学习率调度或混合精度训练）。您将在第十六章中学习有关回调的所有内容，包括如何制作自己的回调。目前，您只需要知道使用`cbs`参数将回调传递给`Learner`。\n\n这是我们如何使用 Mixup 训练模型的方式：\n\n```py\nmodel = xresnet50()\nlearn = Learner(dls, model, loss_func=CrossEntropyLossFlat(),\n                metrics=accuracy, cbs=Mixup)\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n当我们用这种方式“混合”的数据训练模型时会发生什么？显然，训练会更加困难，因为很难看清每个图像中的内容。模型必须为每个图像预测两个标签，而不仅仅是一个，并且还必须弄清楚每个标签的权重。然而，过拟合似乎不太可能成为问题，因为我们不会在每个时代中显示相同的图像，而是显示两个图像的随机组合。\n\n与我们看到的其他增强方法相比，Mixup 需要更多的时代来训练以获得更好的准确性。您可以尝试使用[fastai repo](https://oreil.ly/lrGXE)中的*examples/train_imagenette.py*脚本来训练 Imagenette，使用 Mixup 和不使用 Mixup。在撰写本文时，[Imagenette repo](https://oreil.ly/3Gt56)中的排行榜显示，Mixup 用于训练超过 80 个时代的所有领先结果，而对于更少的时代，不使用 Mixup。这与我们使用 Mixup 的经验一致。\n\nMixup 如此令人兴奋的原因之一是它可以应用于除照片之外的数据类型。事实上，有些人甚至已经展示了通过在模型内部的激活上使用 Mixup 而获得良好结果，而不仅仅是在输入上使用 Mixup——这使得 Mixup 也可以用于 NLP 和其他数据类型。\n\nMixup 为我们处理的另一个微妙问题是，我们之前看到的模型实际上永远无法完美。问题在于我们的标签是 1 和 0，但 softmax 和 sigmoid 的输出永远无法等于 1 或 0。这意味着训练我们的模型会使我们的激活值越来越接近这些值，这样我们做的时代越多，我们的激活值就会变得越极端。\n\n使用 Mixup，我们不再有这个问题，因为我们的标签只有在我们碰巧与同一类别的另一幅图像“混合”时才会完全是 1 或 0。其余时间，我们的标签将是一个线性组合，比如我们在之前的教堂和加油站示例中得到的 0.7 和 0.3。\n\n然而，这种方法的一个问题是 Mixup“意外地”使标签大于 0 或小于 1。也就是说，我们并没有*明确*告诉我们的模型我们想以这种方式改变标签。因此，如果我们想要使标签更接近或远离 0 和 1，我们必须改变 Mixup 的数量，这也会改变数据增强的数量，这可能不是我们想要的。然而，有一种更直接处理的方法，那就是使用*标签平滑*。\n\n# 标签平滑\n\n在损失的理论表达中，在分类问题中，我们的目标是独热编码的（在实践中，我们倾向于避免这样做以节省内存，但我们计算的损失与使用独热编码时相同）。这意味着模型被训练为对所有类别返回 0，只有一个类别返回 1。即使是 0.999 也不是“足够好”；模型将获得梯度并学会以更高的信心预测激活。这会鼓励过拟合，并在推理时给出一个不会给出有意义概率的模型：即使不太确定，它总是会为预测的类别说 1，只是因为它是这样训练的。\n\n如果您的数据不完全标记，这可能会变得非常有害。在我们在第二章中研究的熊分类器中，我们看到一些图像被错误标记，或包含两种不同种类的熊。一般来说，您的数据永远不会是完美的。即使标签是人工制作的，也可能出现错误，或者在难以标记的图像上存在不同意见。\n\n相反，我们可以用一个比 1 稍微小一点的数字替换所有的 1，用一个比 0 稍微大一点的数字替换所有的 0，然后进行训练。这就是*标签平滑*。通过鼓励模型变得不那么自信，标签平滑将使您的训练更加健壮，即使存在错误标记的数据。结果将是一个在推理时更好泛化的模型。\n\n这就是标签平滑在实践中的工作方式：我们从独热编码的标签开始，然后用<math alttext=\"StartFraction epsilon Over upper N EndFraction\"><mfrac><mi>ϵ</mi> <mi>N</mi></mfrac></math>（这是希腊字母*epsilon*，在介绍标签平滑的[论文](https://oreil.ly/L3ypf)和 fastai 代码中使用）替换所有的 0，其中<math alttext=\"upper N\"><mi>N</mi></math>是类别数，<math alttext=\"epsilon\"><mi>ϵ</mi></math>是一个参数（通常为 0.1，这意味着我们对标签有 10%的不确定性）。由于我们希望标签总和为 1，我们还用<math alttext=\"1 minus epsilon plus StartFraction epsilon Over upper N EndFraction\"><mrow><mn>1</mn> <mo>-</mo> <mi>ϵ</mi> <mo>+</mo> <mfrac><mi>ϵ</mi> <mi>N</mi></mfrac></mrow></math>替换 1。这样，我们不会鼓励模型过于自信地预测。在我们的 Imagenette 示例中有 10 个类别，目标变成了这样（这里是对应于索引 3 的目标）：\n\n```py\n[0.01, 0.01, 0.01, 0.91, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01]\n```\n\n在实践中，我们不想对标签进行独热编码，幸运的是我们也不需要（独热编码只是用来解释标签平滑和可视化的）。\n\n在实践中使用这个方法，我们只需要在调用`Learner`时改变损失函数：\n\n```py\nmodel = xresnet50()\nlearn = Learner(dls, model, loss_func=LabelSmoothingCrossEntropy(),\n                metrics=accuracy)\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n与 Mixup 一样，您通常在训练更多时期后才会看到标签平滑带来的显著改进。自己尝试一下：在标签平滑显示改进之前，您需要训练多少个时期？\n\n# 结论\n\n您现在已经看到了训练计算机视觉中最先进模型所需的一切，无论是从头开始还是使用迁移学习。现在您只需要在自己的问题上进行实验！看看使用 Mixup 和/或标签平滑进行更长时间的训练是否可以避免过拟合并给出更好的结果。尝试渐进式调整大小和测试时间增强。\n\n最重要的是，记住，如果您的数据集很大，那么在整个数据集上进行原型设计是没有意义的。找到一个代表整体的小子集，就像我们在 Imagenette 上所做的那样，并在其上进行实验。\n\n在接下来的三章中，我们将看到 fastai 直接支持的其他应用程序：协同过滤、表格建模和处理文本。在本书的下一部分中，我们将回到计算机视觉，深入研究卷积神经网络在第十三章中。\n\n# 问卷\n\n1.  ImageNet 和 Imagenette 之间有什么区别？在什么情况下最好在其中一个上进行实验而不是另一个？\n\n1.  什么是归一化？\n\n1.  为什么在使用预训练模型时我们不需要关心归一化？\n\n1.  什么是渐进式调整大小？\n\n1.  在自己的项目中实现渐进式调整大小。有帮助吗？\n\n1.  什么是测试时间增强？如何在 fastai 中使用它？\n\n1.  在推理中使用 TTA 比常规推理更慢还是更快？为什么？\n\n1.  什么是 Mixup？如何在 fastai 中使用它？\n\n1.  为什么 Mixup 可以防止模型过于自信？\n\n1.  为什么使用 Mixup 进行五个时期的训练最终比不使用 Mixup 训练更糟糕？\n\n1.  标签平滑背后的理念是什么？\n\n1.  您的数据中有哪些问题可以通过标签平滑来解决？\n\n1.  在使用五个类别的标签平滑时，与索引 1 相关联的目标是什么？\n\n1.  当您想在新数据集上快速进行原型实验时，应该采取的第一步是什么？\n\n## 进一步研究\n\n1.  使用 fastai 文档构建一个函数，将图像裁剪为每个角落的正方形；然后实现一种 TTA 方法，该方法对中心裁剪和这四个裁剪的预测进行平均。有帮助吗？比 fastai 的 TTA 方法更好吗？\n\n1.  在 arXiv 上找到 Mixup 论文并阅读。选择一两篇介绍 Mixup 变体的较新文章并阅读它们；然后尝试在您的问题上实现它们。\n\n1.  找到使用 Mixup 训练 Imagenette 的脚本，并将其用作在自己项目上进行长时间训练的示例。执行它并查看是否有帮助。\n\n1.  阅读侧边栏[\"标签平滑，论文\"](＃label_smoothing）；然后查看原始论文的相关部分，看看您是否能够理解。不要害怕寻求帮助！\n"
  },
  {
    "path": "translations/cn/08_collab.md",
    "content": "# 第八章：协同过滤深入探讨\n\n\n\n解决的一个常见问题是有一定数量的用户和产品，您想推荐哪些产品最有可能对哪些用户有用。存在许多变体：例如，推荐电影（如 Netflix 上），确定在主页上为用户突出显示什么，决定在社交媒体动态中显示什么故事等。解决这个问题的一般方法称为*协同过滤*，工作原理如下：查看当前用户使用或喜欢的产品，找到其他使用或喜欢类似产品的用户，然后推荐那些用户使用或喜欢的其他产品。\n\n例如，在 Netflix 上，您可能观看了很多科幻、充满动作并且是上世纪 70 年代制作的电影。Netflix 可能不知道您观看的这些电影的特定属性，但它将能够看到观看了与您观看相同电影的其他人也倾向于观看其他科幻、充满动作并且是上世纪 70 年代制作的电影。换句话说，要使用这种方法，我们不一定需要了解电影的任何信息，只需要知道谁喜欢观看它们。\n\n这种方法可以解决更一般的一类问题，不一定涉及用户和产品。实际上，在协同过滤中，我们更常用*项目*这个术语，而不是*产品*。项目可以是人们点击的链接、为患者选择的诊断等。\n\n关键的基础概念是*潜在因素*。在 Netflix 的例子中，我们假设您喜欢老式、充满动作的科幻电影。但您从未告诉 Netflix 您喜欢这类电影。Netflix 也不需要在其电影表中添加列，说明哪些电影属于这些类型。尽管如此，必须存在一些关于科幻、动作和电影年龄的潜在概念，这些概念对于至少一些人的电影观看决策是相关的。\n\n在本章中，我们将解决这个电影推荐问题。我们将从获取适合协同过滤模型的一些数据开始。\n\n# 数据初探\n\n我们无法访问 Netflix 的完整电影观看历史数据集，但有一个很好的数据集可供我们使用，称为[MovieLens](https://oreil.ly/gP3Q5)。该数据集包含数千万部电影排名（电影 ID、用户 ID 和数字评分的组合），尽管我们只会使用其中的 10 万部作为示例。如果您感兴趣，可以尝试在完整的 2500 万推荐数据集上复制这种方法，您可以从他们的网站上获取。\n\n该数据集可通过通常的 fastai 函数获得：\n\n```py\nfrom fastai.collab import *\nfrom fastai.tabular.all import *\npath = untar_data(URLs.ML_100k)\n```\n\n根据*README*，主表位于文件*u.data*中。它是以制表符分隔的，列分别是用户、电影、评分和时间戳。由于这些名称没有编码，我们需要在使用 Pandas 读取文件时指定它们。以下是打开此表并查看的方法：\n\n```py\nratings = pd.read_csv(path/'u.data', delimiter='\\t', header=None,\n                      names=['user','movie','rating','timestamp'])\nratings.head()\n```\n\n|  | 用户 | 电影 | 评分 | 时间戳 |\n| --- | --- | --- | --- | --- |\n| 0 | 196 | 242 | 3 | 881250949 |\n| 1 | 186 | 302 | 3 | 891717742 |\n| 2 | 22 | 377 | 1 | 878887116 |\n| 3 | 244 | 51 | 2 | 880606923 |\n| 4 | 166 | 346 | 1 | 886397596 |\n\n尽管这包含了我们需要的所有信息，但这并不是人类查看这些数据的特别有用的方式。图 8-1 将相同数据交叉制表成了一个人类友好的表格。\n\n![电影和用户的交叉表](img/dlcf_0801.png)\n\n###### 图 8-1. 电影和用户的交叉表\n\n我们只选择了一些最受欢迎的电影和观看电影最多的用户，作为这个交叉表示例。这个表格中的空单元格是我们希望我们的模型学会填充的内容。这些是用户尚未评论电影的地方，可能是因为他们还没有观看。对于每个用户，我们希望找出他们最有可能喜欢哪些电影。\n\n如果我们知道每个用户对电影可能属于的每个重要类别的喜好程度，比如流派、年龄、喜欢的导演和演员等，以及我们对每部电影的相同信息，那么填写这个表格的一个简单方法是将这些信息相乘，然后使用组合。例如，假设这些因子的范围在-1 到+1 之间，正数表示更强的匹配，负数表示更弱的匹配，类别是科幻、动作和老电影，那么我们可以表示电影《最后的绝地武士》如下：\n\n```py\nlast_skywalker = np.array([0.98,0.9,-0.9])\n```\n\n在这里，例如，我们将*非常科幻*评分为 0.98，*非常不老*评分为-0.9。我们可以表示喜欢现代科幻动作电影的用户如下：\n\n```py\nuser1 = np.array([0.9,0.8,-0.6])\n```\n\n现在我们可以计算这种组合之间的匹配：\n\n```py\n(user1*last_skywalker).sum()\n```\n\n```py\n2.1420000000000003\n```\n\n当我们将两个向量相乘并将结果相加时，这被称为*点积*。它在机器学习中被广泛使用，并构成了矩阵乘法的基础。我们将在第十七章中更多地研究矩阵乘法和点积。\n\n# 术语：点积\n\n将两个向量的元素相乘，然后将结果相加的数学运算。\n\n另一方面，我们可以表示电影《卡萨布兰卡》如下：\n\n```py\ncasablanca = np.array([-0.99,-0.3,0.8])\n```\n\n这种组合之间的匹配如下所示：\n\n```py\n(user1*casablanca).sum()\n```\n\n```py\n-1.611\n```\n\n由于我们不知道潜在因子是什么，也不知道如何为每个用户和电影评分，我们应该学习它们。\n\n# 学习潜在因子\n\n在指定模型的结构和学习模型之间，实际上几乎没有什么区别，因为我们可以使用我们的一般梯度下降方法。\n\n这种方法的第一步是随机初始化一些参数。这些参数将是每个用户和电影的一组潜在因子。我们将不得不决定要使用多少个。我们将很快讨论如何选择这些，但为了说明，让我们现在使用 5 个。因为每个用户将有一组这些因子，每部电影也将有一组这些因子，我们可以在交叉表中的用户和电影旁边显示这些随机初始化的值，然后我们可以填写这些组合的点积。例如，图 8-2 显示了在 Microsoft Excel 中的样子，顶部左侧的单元格公式显示为示例。\n\n这种方法的第二步是计算我们的预测。正如我们讨论过的，我们可以通过简单地将每部电影与每个用户进行点积来实现这一点。例如，如果第一个潜在用户因子代表用户喜欢动作电影的程度，第一个潜在电影因子代表电影是否有很多动作，那么如果用户喜欢动作电影并且电影中有很多动作，或者用户不喜欢动作电影并且电影中没有任何动作，这两者的乘积将特别高。另一方面，如果存在不匹配（用户喜欢动作电影但电影不是动作片，或者用户不喜欢动作电影但电影是动作片），乘积将非常低。\n\n![交叉表中的潜在因子](img/dlcf_0802.png)\n\n###### 图 8-2. 交叉表中的潜在因子\n\n第三步是计算我们的损失。我们可以使用任何损失函数，让我们现在选择均方误差，因为这是一种合理的表示预测准确性的方法。\n\n这就是我们需要的全部内容。有了这个，我们可以使用随机梯度下降来优化我们的参数（潜在因素），以最小化损失。在每一步中，随机梯度下降优化器将使用点积计算每部电影与每个用户之间的匹配，并将其与每个用户给出的每部电影的实际评分进行比较。然后它将计算这个值的导数，并通过学习率乘以这个值来调整权重。经过多次这样的操作，损失会变得越来越好，推荐也会变得越来越好。\n\n要使用通常的`Learner.fit`函数，我们需要将我们的数据放入`DataLoaders`中，所以让我们现在专注于这一点。\n\n# 创建 DataLoaders\n\n在展示数据时，我们宁愿看到电影标题而不是它们的 ID。表`u.item`包含 ID 与标题的对应关系：\n\n```py\nmovies = pd.read_csv(path/'u.item',  delimiter='|', encoding='latin-1',\n                     usecols=(0,1), names=('movie','title'), header=None)\nmovies.head()\n```\n\n|  | 电影 | 标题 |\n| --- | --- | --- |\n| 0 | 1 | 玩具总动员（1995） |\n| 1 | 2 | 黄金眼（1995） |\n| 2 | 3 | 四个房间（1995） |\n| 3 | 4 | 短小（1995） |\n| 4 | 5 | 复制猫（1995） |\n\n我们可以将这个表与我们的`ratings`表合并，以获得按标题分类的用户评分：\n\n```py\nratings = ratings.merge(movies)\nratings.head()\n```\n\n|  | 用户 | 电影 | 评分 | 时间戳 | 标题 |\n| --- | --- | --- | --- | --- | --- |\n| 0 | 196 | 242 | 3 | 881250949 | 科洛亚（1996） |\n| 1 | 63 | 242 | 3 | 875747190 | 科洛亚（1996） |\n| 2 | 226 | 242 | 5 | 883888671 | 科洛亚（1996） |\n| 3 | 154 | 242 | 3 | 879138235 | 科洛亚（1996） |\n| 4 | 306 | 242 | 5 | 876503793 | 科洛亚（1996） |\n\n然后我们可以从这个表构建一个`DataLoaders`对象。默认情况下，它将使用第一列作为用户，第二列作为项目（这里是我们的电影），第三列作为评分。在我们的情况下，我们需要更改`item_name`的值，以使用标题而不是 ID：\n\n```py\ndls = CollabDataLoaders.from_df(ratings, item_name='title', bs=64)\ndls.show_batch()\n```\n\n|  | 用户 | 标题 | 评分 |\n| --- | --- | --- | --- |\n| 0 | 207 | 四个婚礼和一个葬礼（1994） | 3 |\n| 1 | 565 | 日残余（1993） | 5 |\n| 2 | 506 | 小孩（1995） | 1 |\n| 3 | 845 | 追求艾米（1997） | 3 |\n| 4 | 798 | 人类（1993） | 2 |\n| 5 | 500 | 低俗法则（1986） | 4 |\n| 6 | 409 | 无事生非（1993） | 3 |\n| 7 | 721 | 勇敢的心（1995） | 5 |\n| 8 | 316 | 精神病患者（1960） | 2 |\n| 9 | 883 | 判决之夜（1993） | 5 |\n\n为了在 PyTorch 中表示协同过滤，我们不能直接使用交叉表表示，特别是如果我们希望它适应我们的深度学习框架。我们可以将我们的电影和用户潜在因素表表示为简单的矩阵：\n\n```py\nn_users  = len(dls.classes['user'])\nn_movies = len(dls.classes['title'])\nn_factors = 5\n\nuser_factors = torch.randn(n_users, n_factors)\nmovie_factors = torch.randn(n_movies, n_factors)\n```\n\n要计算特定电影和用户组合的结果，我们必须查找电影在我们的电影潜在因素矩阵中的索引，以及用户在我们的用户潜在因素矩阵中的索引；然后我们可以在两个潜在因素向量之间进行点积。但*查找索引*不是我们的深度学习模型知道如何执行的操作。它们知道如何执行矩阵乘积和激活函数。\n\n幸运的是，我们可以将*查找索引*表示为矩阵乘积。技巧是用单热编码向量替换我们的索引。这是一个例子，展示了如果我们将一个向量乘以一个表示索引 3 的单热编码向量会发生什么：\n\n```py\none_hot_3 = one_hot(3, n_users).float()\nuser_factors.t() @ one_hot_3\n```\n\n```py\ntensor([-0.4586, -0.9915, -0.4052, -0.3621, -0.5908])\n```\n\n它给我们的结果与矩阵中索引 3 处的向量相同：\n\n```py\nuser_factors[3]\n```\n\n```py\ntensor([-0.4586, -0.9915, -0.4052, -0.3621, -0.5908])\n```\n\n如果我们一次为几个索引这样做，我们将得到一个独热编码向量的矩阵，这个操作将是一个矩阵乘法！这将是使用这种架构构建模型的一种完全可接受的方式，只是它会比必要的使用更多的内存和时间。我们知道没有真正的基础原因来存储独热编码向量，或者通过搜索找到数字 1 的出现 - 我们应该能够直接使用整数索引到数组中。因此，大多数深度学习库，包括 PyTorch，都包括一个特殊的层，它就是这样做的；它使用整数索引到一个向量中，但其导数的计算方式使其与使用独热编码向量进行矩阵乘法时完全相同。这被称为*嵌入*。\n\n# 术语：嵌入\n\n通过一个独热编码矩阵相乘，使用计算快捷方式，可以通过直接索引来实现。这是一个非常简单概念的相当花哨的词。您将独热编码矩阵相乘的东西（或者使用计算快捷方式，直接索引）称为*嵌入矩阵*。\n\n在计算机视觉中，我们有一种非常简单的方法通过其 RGB 值获取像素的所有信息：彩色图像中的每个像素由三个数字表示。这三个数字给我们红色、绿色和蓝色，这足以让我们的模型在之后工作。\n\n对于手头的问题，我们没有同样简单的方法来描述用户或电影。可能与流派有关：如果给定用户喜欢爱情片，他们可能会给爱情片更高的评分。其他因素可能是电影是更注重动作还是对话，或者是否有一个特定的演员，用户可能特别喜欢。\n\n我们如何确定用来描述这些数字的数字？答案是，我们不确定。我们将让我们的模型*学习*它们。通过分析用户和电影之间的现有关系，我们的模型可以自己找出看起来重要或不重要的特征。\n\n这就是嵌入。我们将为我们的每个用户和每个电影分配一个特定长度的随机向量（这里，`n_factors=5`），并将使它们成为可学习的参数。这意味着在每一步，当我们通过比较我们的预测和目标来计算损失时，我们将计算损失相对于这些嵌入向量的梯度，并根据 SGD（或其他优化器）的规则更新它们。\n\n一开始，这些数字没有任何意义，因为我们是随机选择的，但在训练结束时，它们将有意义。通过学习关于用户和电影之间关系的现有数据，没有任何其他信息，我们将看到它们仍然获得一些重要特征，并且可以将大片与独立电影、动作片与爱情片等区分开来。\n\n我们现在有能力从头开始创建我们的整个模型。\n\n# 从头开始协同过滤\n\n在我们可以用 PyTorch 编写模型之前，我们首先需要学习面向对象编程和 Python 的基础知识。如果您以前没有进行过面向对象编程，我们将在这里为您进行快速介绍，但我们建议您在继续之前查阅教程并进行一些练习。\n\n面向对象编程中的关键思想是*类*。我们在本书中一直在使用类，比如`DataLoader`、`String`和`Learner`。Python 还让我们很容易地创建新类。这是一个简单类的示例：\n\n```py\nclass Example:\n    def __init__(self, a): self.a = a\n    def say(self,x): return f'Hello {self.a}, {x}.'\n```\n\n这其中最重要的部分是一个特殊的方法叫做`__init__`（发音为*dunder init*）。在 Python 中，任何像这样用双下划线包围的方法都被认为是特殊的。它表示与这个方法名称相关联一些额外的行为。对于`__init__`，这是 Python 在创建新对象时将调用的方法。因此，这是你可以在对象创建时设置任何需要初始化的状态的地方。当用户构造类的实例时包含的任何参数都将作为参数传递给`__init__`方法。请注意，在类内定义的任何方法的第一个参数是`self`，因此你可以使用它来设置和获取任何你需要的属性：\n\n```py\nex = Example('Sylvain')\nex.say('nice to meet you')\n```\n\n```py\n'Hello Sylvain, nice to meet you.'\n```\n\n还要注意，创建一个新的 PyTorch 模块需要继承自`Module`。*继承*是一个重要的面向对象的概念，在这里我们不会详细讨论——简而言之，它意味着我们可以向现有类添加额外的行为。PyTorch 已经提供了一个`Module`类，它提供了一些我们想要构建的基本基础。因此，我们在定义类的名称后面添加这个*超类*的名称，如下面的示例所示。\n\n你需要知道创建一个新的 PyTorch 模块的最后一件事是，当调用你的模块时，PyTorch 将调用你的类中的一个名为`forward`的方法，并将包含在调用中的任何参数传递给它。这是定义我们的点积模型的类：\n\n```py\nclass DotProduct(Module):\n    def __init__(self, n_users, n_movies, n_factors):\n        self.user_factors = Embedding(n_users, n_factors)\n        self.movie_factors = Embedding(n_movies, n_factors)\n\n    def forward(self, x):\n        users = self.user_factors(x[:,0])\n        movies = self.movie_factors(x[:,1])\n        return (users * movies).sum(dim=1)\n```\n\n如果你以前没有见过面向对象的编程，不用担心；在这本书中你不需要经常使用它。我们在这里提到这种方法只是因为大多数在线教程和文档将使用面向对象的语法。\n\n请注意，模型的输入是一个形状为`batch_size x 2`的张量，其中第一列（`x[:, 0]`）包含用户 ID，第二列（`x[:, 1]`）包含电影 ID。如前所述，我们使用*嵌入*层来表示我们的用户和电影潜在因子的矩阵：\n\n```py\nx,y = dls.one_batch()\nx.shape\n```\n\n```py\ntorch.Size([64, 2])\n```\n\n现在我们已经定义了我们的架构并创建了参数矩阵，我们需要创建一个`Learner`来优化我们的模型。在过去，我们使用了特殊函数，比如`cnn_learner`，为特定应用程序为我们设置了一切。由于我们在这里从头开始做事情，我们将使用普通的`Learner`类：\n\n```py\nmodel = DotProduct(n_users, n_movies, 50)\nlearn = Learner(dls, model, loss_func=MSELossFlat())\n```\n\n现在我们准备拟合我们的模型：\n\n```py\nlearn.fit_one_cycle(5, 5e-3)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 1.326261 | 1.295701 | 00:12 |\n| 1 | 1.091352 | 1.091475 | 00:11 |\n| 2 | 0.961574 | 0.977690 | 00:11 |\n| 3 | 0.829995 | 0.893122 | 00:11 |\n| 4 | 0.781661 | 0.876511 | 00:12 |\n\n我们可以做的第一件事是让这个模型更好一点，强制这些预测值在 0 到 5 之间。为此，我们只需要使用`sigmoid_range`，就像第六章中那样。我们经验性地发现，最好让范围略微超过 5，所以我们使用`(0, 5.5)`：\n\n```py\nclass DotProduct(Module):\n    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\n        self.user_factors = Embedding(n_users, n_factors)\n        self.movie_factors = Embedding(n_movies, n_factors)\n        self.y_range = y_range\n\n    def forward(self, x):\n        users = self.user_factors(x[:,0])\n        movies = self.movie_factors(x[:,1])\n        return sigmoid_range((users * movies).sum(dim=1), *self.y_range)\n```\n\n```py\nmodel = DotProduct(n_users, n_movies, 50)\nlearn = Learner(dls, model, loss_func=MSELossFlat())\nlearn.fit_one_cycle(5, 5e-3)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.976380 | 1.001455 | 00:12 |\n| 1 | 0.875964 | 0.919960 | 00:12 |\n| 2 | 0.685377 | 0.870664 | 00:12 |\n| 3 | 0.483701 | 0.874071 | 00:12 |\n| 4 | 0.385249 | 0.878055 | 00:12 |\n\n这是一个合理的开始，但我们可以做得更好。一个明显缺失的部分是，有些用户在推荐中只是更积极或更消极，有些电影只是比其他电影更好或更差。但在我们的点积表示中，我们没有任何方法来编码这两件事。如果你只能说一部电影，例如，它非常科幻，非常动作导向，非常不老旧，那么你实际上没有办法说大多数人是否喜欢它。\n\n这是因为在这一点上我们只有权重；我们没有偏差。如果我们为每个用户有一个可以添加到我们的分数中的单个数字，对于每部电影也是如此，那么这将非常好地处理这个缺失的部分。因此，首先让我们调整我们的模型架构：\n\n```py\nclass DotProductBias(Module):\n    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\n        self.user_factors = Embedding(n_users, n_factors)\n        self.user_bias = Embedding(n_users, 1)\n        self.movie_factors = Embedding(n_movies, n_factors)\n        self.movie_bias = Embedding(n_movies, 1)\n        self.y_range = y_range\n\n    def forward(self, x):\n        users = self.user_factors(x[:,0])\n        movies = self.movie_factors(x[:,1])\n        res = (users * movies).sum(dim=1, keepdim=True)\n        res += self.user_bias(x[:,0]) + self.movie_bias(x[:,1])\n        return sigmoid_range(res, *self.y_range)\n```\n\n让我们尝试训练这个模型，看看效果如何：\n\n```py\nmodel = DotProductBias(n_users, n_movies, 50)\nlearn = Learner(dls, model, loss_func=MSELossFlat())\nlearn.fit_one_cycle(5, 5e-3)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.929161 | 0.936303 | 00:13 |\n| 1 | 0.820444 | 0.861306 | 00:13 |\n| 2 | 0.621612 | 0.865306 | 00:14 |\n| 3 | 0.404648 | 0.886448 | 00:13 |\n| 4 | 0.292948 | 0.892580 | 00:13 |\n\n但是，结果并不比之前更好（至少在训练结束时）。为什么呢？如果我们仔细观察这两次训练，我们会发现验证损失在中间停止改善并开始变差。正如我们所见，这是过拟合的明显迹象。在这种情况下，没有办法使用数据增强，所以我们将不得不使用另一种正则化技术。一个有帮助的方法是*权重衰减*。\n\n## Weight Decay\n\n权重衰减，或*L2 正则化*，包括将所有权重的平方和添加到损失函数中。为什么这样做？因为当我们计算梯度时，它会为梯度增加一个贡献，鼓励权重尽可能小。\n\n为什么它可以防止过拟合？这个想法是，系数越大，损失函数中的峡谷就会越尖锐。如果我们以抛物线的基本例子`y = a * (x**2)`为例，`a`越大，抛物线就越*狭窄*：\n\n![不同 a 值的抛物线](img/dlcf_0803.png)\n\n因此，让我们的模型学习高参数可能导致它用一个过于复杂、具有非常尖锐变化的函数拟合训练集中的所有数据点，这将导致过拟合。\n\n限制我们的权重过大会阻碍模型的训练，但会产生一个更好泛化的状态。回顾一下理论，权重衰减（或`wd`）是一个控制我们在损失中添加的平方和的参数（假设`parameters`是所有参数的张量）：\n\n```py\nloss_with_wd = loss + wd * (parameters**2).sum()\n```\n\n然而，在实践中，计算那个大和并将其添加到损失中将非常低效（也许在数值上不稳定）。如果你还记得一点高中数学，你可能会记得`p**2`关于`p`的导数是`2*p`，所以将那个大和添加到我们的损失中，实际上等同于这样做：\n\n```py\nparameters.grad += wd * 2 * parameters\n```\n\n实际上，由于`wd`是我们选择的一个参数，我们可以使它变为两倍大，所以在这个方程中我们甚至不需要`*2`。要在 fastai 中使用权重衰减，在调用`fit`或`fit_one_cycle`时传递`wd`即可（可以同时传递）：\n\n```py\nmodel = DotProductBias(n_users, n_movies, 50)\nlearn = Learner(dls, model, loss_func=MSELossFlat())\nlearn.fit_one_cycle(5, 5e-3, wd=0.1)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.972090 | 0.962366 | 00:13 |\n| 1 | 0.875591 | 0.885106 | 00:13 |\n| 2 | 0.723798 | 0.839880 | 00:13 |\n| 3 | 0.586002 | 0.823225 | 00:13 |\n| 4 | 0.490980 | 0.823060 | 00:13 |\n\n好多了！\n\n## 创建我们自己的嵌入模块\n\n到目前为止，我们使用`Embedding`而没有考虑它是如何工作的。让我们重新创建`DotProductBias`，*不*使用这个类。我们需要为每个嵌入初始化一个随机权重矩阵。然而，我们必须小心。回想一下第四章中提到的，优化器要求能够从模块的`parameters`方法中获取模块的所有参数。然而，这并不是完全自动发生的。如果我们只是将一个张量作为`Module`的属性添加，它不会包含在`parameters`中：\n\n```py\nclass T(Module):\n    def __init__(self): self.a = torch.ones(3)\n\nL(T().parameters())\n```\n\n```py\n(#0) []\n```\n\n要告诉`Module`我们希望将一个张量视为参数，我们必须将其包装在`nn.Parameter`类中。这个类不添加任何功能（除了自动为我们调用`requires_grad_`）。它只用作一个“标记”，以显示要包含在`parameters`中的内容：\n\n```py\nclass T(Module):\n    def __init__(self): self.a = nn.Parameter(torch.ones(3))\n\nL(T().parameters())\n```\n\n```py\n(#1) [Parameter containing:\ntensor([1., 1., 1.], requires_grad=True)]\n```\n\n所有 PyTorch 模块都使用`nn.Parameter`来表示任何可训练参数，这就是为什么我们直到现在都不需要显式使用这个包装器：\n\n```py\nclass T(Module):\n    def __init__(self): self.a = nn.Linear(1, 3, bias=False)\n\nt = T()\nL(t.parameters())\n```\n\n```py\n(#1) [Parameter containing:\ntensor([[-0.9595],\n        [-0.8490],\n        [ 0.8159]], requires_grad=True)]\n```\n\n```py\ntype(t.a.weight)\n```\n\n```py\ntorch.nn.parameter.Parameter\n```\n\n我们可以创建一个张量作为参数，进行随机初始化，如下所示：\n\n```py\ndef create_params(size):\n    return nn.Parameter(torch.zeros(*size).normal_(0, 0.01))\n```\n\n让我们再次使用这个来创建`DotProductBias`，但不使用`Embedding`：\n\n```py\nclass DotProductBias(Module):\n    def __init__(self, n_users, n_movies, n_factors, y_range=(0,5.5)):\n        self.user_factors = create_params([n_users, n_factors])\n        self.user_bias = create_params([n_users])\n        self.movie_factors = create_params([n_movies, n_factors])\n        self.movie_bias = create_params([n_movies])\n        self.y_range = y_range\n\n    def forward(self, x):\n        users = self.user_factors[x[:,0]]\n        movies = self.movie_factors[x[:,1]]\n        res = (users*movies).sum(dim=1)\n        res += self.user_bias[x[:,0]] + self.movie_bias[x[:,1]]\n        return sigmoid_range(res, *self.y_range)\n```\n\n然后让我们再次训练它，以检查我们是否得到了与前一节中看到的大致相同的结果：\n\n```py\nmodel = DotProductBias(n_users, n_movies, 50)\nlearn = Learner(dls, model, loss_func=MSELossFlat())\nlearn.fit_one_cycle(5, 5e-3, wd=0.1)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.962146 | 0.936952 | 00:14 |\n| 1 | 0.858084 | 0.884951 | 00:14 |\n| 2 | 0.740883 | 0.838549 | 00:14 |\n| 3 | 0.592497 | 0.823599 | 00:14 |\n| 4 | 0.473570 | 0.824263 | 00:14 |\n\n现在，让我们看看我们的模型学到了什么。\n\n# 解释嵌入和偏差\n\n我们的模型已经很有用，因为它可以为我们的用户提供电影推荐，但看到它发现了什么参数也很有趣。最容易解释的是偏差。以下是偏差向量中值最低的电影：\n\n```py\nmovie_bias = learn.model.movie_bias.squeeze()\nidxs = movie_bias.argsort()[:5]\n[dls.classes['title'][i] for i in idxs]\n```\n\n```py\n['Children of the Corn: The Gathering (1996)',\n 'Lawnmower Man 2: Beyond Cyberspace (1996)',\n 'Beautician and the Beast, The (1997)',\n 'Crow: City of Angels, The (1996)',\n 'Home Alone 3 (1997)']\n```\n\n想想这意味着什么。它表明对于这些电影中的每一部，即使用户与其潜在因素非常匹配（稍后我们将看到，这些因素往往代表动作水平、电影年龄等等），他们通常仍然不喜欢它。我们本可以简单地按照电影的平均评分对其进行排序，但查看学到的偏差告诉我们更有趣的事情。它告诉我们不仅仅是电影是人们不喜欢观看的类型，而且即使是他们本来会喜欢的类型，人们也倾向于不喜欢观看！同样地，以下是偏差最高的电影：\n\n```py\nidxs = movie_bias.argsort(descending=True)[:5]\n[dls.classes['title'][i] for i in idxs]\n```\n\n```py\n['L.A. Confidential (1997)',\n 'Titanic (1997)',\n 'Silence of the Lambs, The (1991)',\n 'Shawshank Redemption, The (1994)',\n 'Star Wars (1977)']\n```\n\n因此，例如，即使您通常不喜欢侦探电影，您可能会喜欢*LA 机密*！\n\n直接解释嵌入矩阵并不那么容易。对于人类来说，因素太多了。但有一种技术可以提取出这种矩阵中最重要的基础*方向*，称为*主成分分析*（PCA）。我们不会在本书中详细讨论这个，因为您要成为深度学习从业者并不特别重要，但如果您感兴趣，我们建议您查看 fast.ai 课程[面向程序员的计算线性代数](https://oreil.ly/NLj2R)。图 8-3 显示了基于两个最强的 PCA 组件的电影的外观。\n\n![基于两个最强的 PCA 组件的电影表示](img/dlcf_0804.png)\n\n###### 图 8-3. 基于两个最强的 PCA 组件的电影表示\n\n我们可以看到模型似乎已经发现了*经典*与*流行文化*电影的概念，或者这里代表的是*广受好评*。\n\n# 杰里米说\n\n无论我训练多少模型，我永远不会停止被这些随机初始化的数字组合所感动和惊讶，这些数字通过如此简单的机制训练，竟然能够自己发现关于我的数据的东西。我几乎觉得可以欺骗，我可以创建一个能够做有用事情的代码，而从未真正告诉它如何做这些事情！\n\n我们从头开始定义了我们的模型，以教给您内部情况，但您可以直接使用 fastai 库来构建它。我们将在下一节看看如何做到这一点。\n\n## 使用 fastai.collab\n\n我们可以使用 fastai 的`collab_learner`使用先前显示的确切结构创建和训练协同过滤模型：\n\n```py\nlearn = collab_learner(dls, n_factors=50, y_range=(0, 5.5))\n```\n\n```py\nlearn.fit_one_cycle(5, 5e-3, wd=0.1)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.931751 | 0.953806 | 00:13 |\n| 1 | 0.851826 | 0.878119 | 00:13 |\n| 2 | 0.715254 | 0.834711 | 00:13 |\n| 3 | 0.583173 | 0.821470 | 00:13 |\n| 4 | 0.496625 | 0.821688 | 00:13 |\n\n通过打印模型可以看到层的名称：\n\n```py\nlearn.model\n```\n\n```py\nEmbeddingDotBias(\n  (u_weight): Embedding(944, 50)\n  (i_weight): Embedding(1635, 50)\n  (u_bias): Embedding(944, 1)\n  (i_bias): Embedding(1635, 1)\n)\n```\n\n我们可以使用这些来复制我们在上一节中所做的任何分析，例如：\n\n```py\nmovie_bias = learn.model.i_bias.weight.squeeze()\nidxs = movie_bias.argsort(descending=True)[:5]\n[dls.classes['title'][i] for i in idxs]\n```\n\n```py\n['Titanic (1997)',\n \"Schindler's List (1993)\",\n 'Shawshank Redemption, The (1994)',\n 'L.A. Confidential (1997)',\n 'Silence of the Lambs, The (1991)']\n```\n\n我们可以使用这些学到的嵌入来查看*距离*。\n\n## 嵌入距离\n\n在二维地图上，我们可以通过使用毕达哥拉斯定理的公式来计算两个坐标之间的距离：<math alttext=\"StartRoot x squared plus y squared EndRoot\"><msqrt><mrow><msup><mi>x</mi> <mn>2</mn></msup> <mo>+</mo> <msup><mi>y</mi> <mn>2</mn></msup></mrow></msqrt></math>（假设*x*和*y*是每个轴上坐标之间的距离）。对于一个 50 维的嵌入，我们可以做完全相同的事情，只是将所有 50 个坐标距离的平方相加。\n\n如果有两部几乎相同的电影，它们的嵌入向量也必须几乎相同，因为喜欢它们的用户几乎完全相同。这里有一个更一般的想法：电影的相似性可以由喜欢这些电影的用户的相似性来定义。这直接意味着两部电影的嵌入向量之间的距离可以定义这种相似性。我们可以利用这一点找到与“沉默的羔羊”最相似的电影：\n\n```py\nmovie_factors = learn.model.i_weight.weight\nidx = dls.classes['title'].o2i['Silence of the Lambs, The (1991)']\ndistances = nn.CosineSimilarity(dim=1)(movie_factors, movie_factors[idx][None])\nidx = distances.argsort(descending=True)[1]\ndls.classes['title'][idx]\n```\n\n```py\n'Dial M for Murder (1954)'\n```\n\n现在我们已经成功训练了一个模型，让我们看看如何处理没有用户数据的情况。我们如何向新用户推荐？\n\n# 引导协同过滤模型\n\n在实践中使用协同过滤模型的最大挑战是“引导问题”。这个问题的最极端版本是没有用户，因此没有历史可供学习。您向您的第一个用户推荐什么产品？\n\n但即使您是一家历史悠久的公司，拥有长期的用户交易记录，您仍然会面临一个问题：当新用户注册时，您该怎么办？实际上，当您向您的产品组合添加新产品时，您该怎么办？这个问题没有魔法解决方案，而我们建议的解决方案实际上只是“运用常识”的变体。您可以将新用户分配为其他用户所有嵌入向量的平均值，但这会带来一个问题，即该潜在因素的特定组合可能并不常见（例如，科幻因素的平均值可能很高，而动作因素的平均值可能很低，但很少有人喜欢科幻而不喜欢动作）。最好选择一个特定用户来代表“平均品味”。\n\n更好的方法是使用基于用户元数据的表格模型来构建您的初始嵌入向量。当用户注册时，考虑一下您可以询问哪些问题来帮助您了解他们的口味。然后，您可以创建一个模型，其中因变量是用户的嵌入向量，而自变量是您问他们的问题的结果，以及他们的注册元数据。我们将在下一节中看到如何创建这些类型的表格模型。（您可能已经注意到，当您注册 Pandora 和 Netflix 等服务时，它们往往会问您一些关于您喜欢的电影或音乐类型的问题；这就是它们如何提出您的初始协同过滤推荐的方式。）\n\n需要注意的一点是，一小部分非常热情的用户可能最终会有效地为整个用户群设置推荐。这是一个非常常见的问题，例如，在电影推荐系统中。看动漫的人往往会看很多动漫，而且不怎么看其他东西，花很多时间在网站上评分。因此，动漫往往在许多“有史以来最佳电影”列表中被过度代表。在这种特殊情况下，很明显您有一个代表性偏见的问题，但如果偏见发生在潜在因素中，可能一点也不明显。\n\n这样的问题可能会改变您的用户群体的整体构成，以及您系统的行为。这特别是由于正反馈循环。如果您的一小部分用户倾向于设定您的推荐系统的方向，他们自然会吸引更多类似他们的人来到您的系统。这当然会放大原始的表征偏见。这种偏见是一种被指数级放大的自然倾向。您可能已经看到一些公司高管对他们的在线平台如何迅速恶化表示惊讶，以至于表达了与创始人价值观不符的价值观。在存在这种类型的反馈循环的情况下，很容易看到这种分歧如何迅速发生，以及以一种隐藏的方式，直到为时已晚。\n\n在这样一个自我强化的系统中，我们可能应该预期这些反馈循环是常态，而不是例外。因此，您应该假设您会看到它们，为此做好计划，并提前确定如何处理这些问题。尝试考虑反馈循环可能在您的系统中表示的所有方式，以及您如何能够在数据中识别它们。最终，这又回到了我们关于如何在推出任何类型的机器学习系统时避免灾难的最初建议。这一切都是为了确保有人参与其中；有仔细的监控，以及一个渐进和周到的推出。\n\n我们的点积模型效果相当不错，并且是许多成功的现实世界推荐系统的基础。这种协同过滤方法被称为*概率矩阵分解*（PMF）。另一种方法，通常在给定相同数据时效果类似，是深度学习。\n\n# 协同过滤的深度学习\n\n将我们的架构转换为深度学习模型的第一步是获取嵌入查找的结果并将这些激活连接在一起。这给我们一个矩阵，然后我们可以按照通常的方式通过线性层和非线性传递它们。\n\n由于我们将连接嵌入矩阵，而不是取它们的点积，所以两个嵌入矩阵可以具有不同的大小（不同数量的潜在因素）。fastai 有一个函数`get_emb_sz`，根据 fast.ai 发现在实践中往往效果良好的启发式方法，返回推荐的嵌入矩阵大小：\n\n```py\nembs = get_emb_sz(dls)\nembs\n```\n\n```py\n[(944, 74), (1635, 101)]\n```\n\n让我们实现这个类：\n\n```py\nclass CollabNN(Module):\n    def __init__(self, user_sz, item_sz, y_range=(0,5.5), n_act=100):\n        self.user_factors = Embedding(*user_sz)\n        self.item_factors = Embedding(*item_sz)\n        self.layers = nn.Sequential(\n            nn.Linear(user_sz[1]+item_sz[1], n_act),\n            nn.ReLU(),\n            nn.Linear(n_act, 1))\n        self.y_range = y_range\n\n    def forward(self, x):\n        embs = self.user_factors(x[:,0]),self.item_factors(x[:,1])\n        x = self.layers(torch.cat(embs, dim=1))\n        return sigmoid_range(x, *self.y_range)\n```\n\n并使用它创建一个模型：\n\n```py\nmodel = CollabNN(*embs)\n```\n\n`CollabNN`以与本章中先前类似的方式创建我们的`Embedding`层，只是现在我们使用`embs`大小。`self.layers`与我们在第四章为 MNIST 创建的迷你神经网络是相同的。然后，在`forward`中，我们应用嵌入，连接结果，并通过迷你神经网络传递。最后，我们像以前的模型一样应用`sigmoid_range`。\n\n让我们看看它是否训练：\n\n```py\nlearn = Learner(dls, model, loss_func=MSELossFlat())\nlearn.fit_one_cycle(5, 5e-3, wd=0.01)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.940104 | 0.959786 | 00:15 |\n| 1 | 0.893943 | 0.905222 | 00:14 |\n| 2 | 0.865591 | 0.875238 | 00:14 |\n| 3 | 0.800177 | 0.867468 | 00:14 |\n| 4 | 0.760255 | 0.867455 | 00:14 |\n\n如果您在调用`collab_learner`时传递`use_nn=True`（包括为您调用`get_emb_sz`），fastai 在`fastai.collab`中提供了这个模型，并且让您轻松创建更多层。例如，在这里我们创建了两个隐藏层，分别为大小 100 和 50：\n\n```py\nlearn = collab_learner(dls, use_nn=True, y_range=(0, 5.5), layers=[100,50])\nlearn.fit_one_cycle(5, 5e-3, wd=0.1)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 1.002747 | 0.972392 | 00:16 |\n| 1 | 0.926903 | 0.922348 | 00:16 |\n| 2 | 0.877160 | 0.893401 | 00:16 |\n| 3 | 0.838334 | 0.865040 | 00:16 |\n| 4 | 0.781666 | 0.864936 | 00:16 |\n\n`learn.model`是`EmbeddingNN`类型的对象。让我们看一下 fastai 对这个类的代码：\n\n```py\n@delegates(TabularModel)\nclass EmbeddingNN(TabularModel):\n    def __init__(self, emb_szs, layers, **kwargs):\n        super().__init__(emb_szs, layers=layers, n_cont=0, out_sz=1, **kwargs)\n```\n\n哇，这不是很多代码！这个类*继承*自`TabularModel`，这是它获取所有功能的地方。在`__init__`中，它调用`TabularModel`中的相同方法，传递`n_cont=0`和`out_sz=1`；除此之外，它只传递它收到的任何参数。\n\n尽管`EmbeddingNN`的结果比点积方法稍差一些（这显示了为领域精心构建架构的力量），但它确实允许我们做一件非常重要的事情：我们现在可以直接将其他用户和电影信息、日期和时间信息或任何可能与推荐相关的信息纳入考虑。这正是`TabularModel`所做的。事实上，我们现在已经看到，`EmbeddingNN`只是一个`TabularModel`，其中`n_cont=0`和`out_sz=1`。因此，我们最好花一些时间了解`TabularModel`，以及如何使用它获得出色的结果！我们将在下一章中做到这一点。\n\n# 结论\n\n对于我们的第一个非计算机视觉应用，我们研究了推荐系统，并看到梯度下降如何从评分历史中学习有关项目的内在因素或偏差。然后，这些因素可以为我们提供有关数据的信息。\n\n我们还在 PyTorch 中构建了我们的第一个模型。在书的下一部分中，我们将做更多这样的工作，但首先，让我们完成对深度学习的其他一般应用的探讨，继续处理表格数据。\n\n# 问卷\n\n1.  协同过滤解决了什么问题？\n\n1.  它是如何解决的？\n\n1.  为什么协同过滤预测模型可能无法成为非常有用的推荐系统？\n\n1.  协同过滤数据的交叉表表示是什么样的？\n\n1.  编写代码创建 MovieLens 数据的交叉表表示（您可能需要进行一些网络搜索！）。\n\n1.  什么是潜在因素？为什么它是“潜在”的？\n\n1.  什么是点积？使用纯 Python 和列表手动计算点积。\n\n1.  `pandas.DataFrame.merge`是做什么的？\n\n1.  什么是嵌入矩阵？\n\n1.  嵌入和一个独热编码向量矩阵之间的关系是什么？\n\n1.  如果我们可以使用独热编码向量来做同样的事情，为什么我们需要`Embedding`？\n\n1.  在我们开始训练之前，嵌入包含什么内容（假设我们没有使用预训练模型）？\n\n1.  创建一个类（尽量不要偷看！）并使用它。\n\n1.  `x[:,0]`返回什么？\n\n1.  重写`DotProduct`类（尽量不要偷看！）并用它训练模型。\n\n1.  在 MovieLens 中使用什么样的损失函数是好的？为什么？\n\n1.  如果我们在 MovieLens 中使用交叉熵损失会发生什么？我们需要如何更改模型？\n\n1.  点积模型中偏差的用途是什么？\n\n1.  权重衰减的另一个名称是什么？\n\n1.  写出权重衰减的方程（不要偷看！）。\n\n1.  写出权重衰减的梯度方程。为什么它有助于减少权重？\n\n1.  为什么减少权重会导致更好的泛化？\n\n1.  PyTorch 中的`argsort`是做什么的？\n\n1.  对电影偏差进行排序是否会得到与按电影平均评分相同的结果？为什么/为什么不？\n\n1.  如何打印模型中层的名称和详细信息？\n\n1.  协同过滤中的“自举问题”是什么？\n\n1.  如何处理新用户的自举问题？对于新电影呢？\n\n1.  反馈循环如何影响协同过滤系统？\n\n1.  在协同过滤中使用神经网络时，为什么我们可以为电影和用户使用不同数量的因素？\n\n1.  为什么在`CollabNN`模型中有一个`nn.Sequential`？\n\n1.  如果我们想要向协同过滤模型添加有关用户和项目的元数据，或者有关日期和时间等信息，应该使用什么样的模型？\n\n## 进一步研究\n\n1.  看看`Embedding`版本的`DotProductBias`和`create_params`版本之间的所有差异，并尝试理解为什么需要进行每一项更改。如果不确定，尝试撤销每个更改以查看发生了什么。（注意：甚至在`forward`中使用的括号类型也已更改！）\n\n1.  找到另外三个协同过滤正在使用的领域，并在这些领域中确定这种方法的优缺点。\n\n1.  使用完整的 MovieLens 数据集完成这个笔记本，并将结果与在线基准进行比较。看看你能否提高准确性。在书的网站和 fast.ai 论坛上寻找想法。请注意，完整数据集中有更多列，看看你是否也可以使用这些列（下一章可能会给你一些想法）。\n\n1.  为 MovieLens 创建一个使用交叉熵损失的模型，并将其与本章中的模型进行比较。\n"
  },
  {
    "path": "translations/cn/09_tabular.md",
    "content": "# 第九章：表格建模深入探讨\n\n\n\n表格建模将数据以表格形式（如电子表格或 CSV 文件）呈现。目标是基于其他列中的值来预测一列中的值。在本章中，我们将不仅看深度学习，还将看更一般的机器学习技术，如随机森林，因为根据您的问题，它们可能会给出更好的结果。\n\n我们将看看我们应该如何预处理和清理数据，以及如何在训练后解释我们模型的结果，但首先我们将看看如何通过使用嵌入将包含类别的列馈送到期望数字的模型中。\n\n# 分类嵌入\n\n在表格数据中，某些列可能包含数值数据，如“年龄”，而其他列包含字符串值，如“性别”。数值数据可以直接输入模型（经过一些可选的预处理），但其他列需要转换为数字。由于这些值对应不同的类别，我们通常将这种类型的变量称为*分类变量*。第一种类型被称为*连续* *变量*。\n\n# 术语：连续和分类变量\n\n连续变量是数值数据，如“年龄”，可以直接输入模型，因为可以直接进行加法和乘法。分类变量包含多个离散级别，如“电影 ID”，对于这些级别，加法和乘法没有意义（即使它们以数字形式存储）。\n\n2015 年底，[Rossmann 销售竞赛](https://oreil.ly/U85_1)在 Kaggle 上举行。参赛者获得了有关德国各个商店的各种信息，并被要求尝试预测若干天的销售额。目标是帮助公司适当管理库存，并能够满足需求而不必持有不必要的库存。官方训练集提供了大量有关商店的信息。允许参赛者使用额外的数据，只要这些数据是公开的并对所有参与者可用。\n\n其中一位金牌得主使用了深度学习，在已知的最先进深度学习表格模型的早期示例中。他们的方法涉及远少于其他金牌得主的基于领域知识的特征工程。论文[“分类变量的实体嵌入”](https://oreil.ly/VmgoU)描述了他们的方法。在[书籍网站](https://book.fast.ai)的在线专章中，我们展示了如何从头开始复制它，并获得论文中显示的相同准确性。在论文的摘要中，作者（Cheng Guo 和 Felix Bekhahn）说：\n\n> 实体嵌入不仅可以减少内存使用量并加快神经网络的速度，与独热编码相比，更重要的是通过将相似值映射到嵌入空间中的相邻位置，揭示了分类变量的固有属性...[它]在具有大量高基数特征的数据集中特别有用，其他方法往往容易过拟合...由于实体嵌入为分类变量定义了距离度量，因此可以用于可视化分类数据和数据聚类。\n\n当我们构建协同过滤模型时，我们已经注意到了所有这些要点。然而，我们可以清楚地看到这些见解远不止于协同过滤。\n\n该论文还指出（正如我们在前一章中讨论的），嵌入层与在每个独热编码输入层之后放置普通线性层完全等效。作者使用图 9-1 中的图表来展示这种等效性。请注意，“密集层”是与“线性层”相同含义的术语，而独热编码层代表输入。\n\n这一见解很重要，因为我们已经知道如何训练线性层，所以从架构和训练算法的角度来看，嵌入层只是另一层。我们在前一章中实践中也看到了这一点，当我们构建了一个与这个图表完全相同的协同过滤神经网络时。\n\n就像我们分析了电影评论的嵌入权重一样，实体嵌入论文的作者分析了他们的销售预测模型的嵌入权重。他们发现的结果非常惊人，并展示了他们的第二个关键见解：嵌入将分类变量转换为连续且有意义的输入。\n\n![神经网络中的实体嵌入](img/dlcf_0901.png)\n\n###### 图 9-1。神经网络中的实体嵌入（由 Cheng Guo 和 Felix Berkhahn 提供）\n\n图 9-2 中的图像说明了这些想法。它们基于论文中使用的方法，以及我们添加的一些分析。\n\n![状态嵌入和地图](img/dlcf_0902.png)\n\n###### 图 9-2。状态嵌入和地图（由 Cheng Guo 和 Felix Berkhahn 提供）\n\n左侧是`State`类别可能值的嵌入矩阵图。对于分类变量，我们称变量的可能值为其“级别”（或“类别”或“类别”），因此这里一个级别是“柏林”，另一个是“汉堡”等。右侧是德国地图。德国各州的实际物理位置不是提供的数据的一部分，但模型本身学会了它们必须在哪里，仅基于商店销售的行为！\n\n您还记得我们谈论过嵌入之间的*距离*吗？论文的作者绘制了商店嵌入之间的距离与商店之间的实际地理距离之间的关系（参见图 9-3）。他们发现它们非常接近！\n\n![商店距离](img/dlcf_0903.png)\n\n###### 图 9-3。存储距离（由 Cheng Guo 和 Felix Berkhahn 提供）\n\n我们甚至尝试绘制一周中的日期和一年中的月份的嵌入，发现在日历上彼此相邻的日期和月份也在嵌入中靠近，如图 9-4 所示。\n\n这两个示例中突出的是，我们向模型提供了基本关于离散实体的分类数据（例如德国各州或一周中的日期），然后模型学习了这些实体的嵌入，定义了它们之间的连续距离概念。由于嵌入距离是基于数据中的真实模式学习的，因此该距离往往与我们的直觉相匹配。\n\n![日期嵌入](img/dlcf_0904.png)\n\n###### 图 9-4。日期嵌入（由 Cheng Guo 和 Felix Berkhahn 提供）\n\n此外，嵌入本身是有价值的，因为模型更擅长理解连续变量。这并不奇怪，因为模型由许多连续参数权重和连续激活值构成，这些值通过梯度下降（一种用于找到连续函数最小值的学习算法）进行更新。\n\n另一个好处是，我们可以将连续嵌入值与真正连续的输入数据简单地结合在一起：我们只需连接变量并将连接输入到我们的第一个密集层中。换句话说，在与原始连续输入数据交互之前，原始分类数据通过嵌入层进行转换。这就是 fastai 和 Guo 和 Berkhahn 处理包含连续和分类变量的表格模型的方式。\n\n使用这种连接方法的一个示例是谷歌在 Google Play 上进行推荐的方式，正如在论文“广泛和深度学习用于推荐系统”中所解释的那样。图 9-5 说明了这一点。\n\n有趣的是，谷歌团队结合了我们在上一章看到的两种方法：点积（他们称之为*交叉乘积*）和神经网络方法。\n\n![谷歌 Play 推荐系统](img/dlcf_0905.png)\n\n###### 图 9-5. 谷歌 Play 推荐系统\n\n让我们暂停一下。到目前为止，解决我们所有建模问题的方法都是*训练一个深度学习模型*。确实，对于像图像、声音、自然语言文本等复杂的非结构化数据，这是一个相当好的经验法则。深度学习在协同过滤方面也表现得非常出色。但对于分析表格数据来说，它并不总是最佳的起点。\n\n# 超越深度学习\n\n大多数机器学习课程会向你介绍几十种算法，简要介绍它们背后的数学原理，可能还会有一个玩具示例。你会被展示的各种技术茫然不解，对如何应用它们几乎没有实际的理解。\n\n好消息是，现代机器学习可以归结为几种广泛适用的关键技术。最近的研究表明，绝大多数数据集最适合用两种方法建模：\n\n+   决策树集成（即随机森林和梯度提升机），主要用于结构化数据（比如大多数公司数据库表中可能找到的数据）\n\n+   使用 SGD 学习的多层神经网络（即浅层和/或深度学习），主要用于非结构化数据（比如音频、图像和自然语言）\n\n尽管深度学习几乎总是在非结构化数据方面明显优越，但对于许多种结构化数据，这两种方法往往给出相似的结果。但决策树集成往往训练更快，通常更容易解释，不需要特殊的 GPU 硬件进行规模推断，并且通常需要更少的超参数调整。它们也比深度学习流行得早得多，因此在它们周围有更成熟的工具和文档生态系统。\n\n最重要的是，解释表格数据模型的关键步骤对于决策树集成来说要容易得多。有工具和方法可以回答相关问题，比如：数据集中哪些列对你的预测最重要？它们与因变量有什么关系？它们如何相互作用？哪些特定特征对某个特定观察最重要？\n\n因此，决策树集成是我们分析新表格数据集的第一步方法。\n\n这一准则的例外情况是当数据集符合以下条件之一时：\n\n+   有一些高基数分类变量非常重要（“基数”指代表示类别的离散级别的数量，因此高基数分类变量是指像邮政编码这样可能有数千个可能级别的变量）。\n\n+   有一些包含最好用神经网络理解的数据的列，比如纯文本数据。\n\n在实践中，当我们处理符合这些特殊条件的数据集时，我们总是尝试决策树集成和深度学习，看哪个效果更好。在我们的协同过滤示例中，深度学习可能是一个有用的方法，因为我们至少有两个高基数分类变量：用户和电影。但在实践中，事情往往没有那么明确，通常会有高基数和低基数分类变量以及连续变量的混合。\n\n无论如何，很明显我们需要将决策树集成添加到我们的建模工具箱中！\n\n到目前为止，我们几乎所有的繁重工作都是使用 PyTorch 和 fastai 完成的。但是这些库主要设计用于进行大量矩阵乘法和导数计算（即，类似深度学习的操作！）。决策树根本不依赖于这些操作，因此 PyTorch 没有太多用处。\n\n相反，我们将主要依赖一个名为*scikit-learn*（也称为*sklearn*）的库。Scikit-learn 是一个流行的库，用于创建机器学习模型，使用的方法不包括深度学习。此外，我们需要进行一些表格数据处理和查询，因此我们将使用 Pandas 库。最后，我们还需要 NumPy，因为这是 sklearn 和 Pandas 都依赖的主要数值编程库。\n\n我们没有时间在本书中深入研究所有这些库，因此我们只会涉及每个库的一些主要部分。对于更深入的讨论，我们强烈建议阅读 Wes McKinney 的[*Python 数据分析*](http://shop.oreilly.com/product/0636920050896.do)（O'Reilly）。McKinney 是 Pandas 的创始人，因此您可以确信信息是准确的！\n\n首先，让我们收集我们将使用的数据。\n\n# 数据集\n\n本章中使用的数据集来自于蓝皮书对推土机的 Kaggle 竞赛，该竞赛的描述如下：“比赛的目标是根据其使用情况、设备类型和配置来预测拍卖中特定重型设备的销售价格。数据来源于拍卖结果发布，并包括有关使用情况和设备配置的信息。”\n\n这是一种非常常见的数据集类型和预测问题，类似于您在项目或工作场所中可能遇到的情况。该数据集可以在 Kaggle 上下载，Kaggle 是一个举办数据科学竞赛的网站。\n\n## Kaggle 竞赛\n\nKaggle 是一个非常棒的资源，适合有志成为数据科学家或任何希望提高机器学习技能的人。没有什么比亲自动手实践并获得实时反馈来帮助您提高技能。\n\nKaggle 提供了以下内容：\n\n+   有趣的数据集\n\n+   关于您的表现的反馈\n\n+   排行榜可以看到什么是好的，什么是可能的，以及什么是最先进的\n\n+   获奖选手分享有用的技巧和技术的博客文章\n\n到目前为止，我们所有的数据集都可以通过 fastai 的集成数据集系统下载。然而，在本章中我们将使用的数据集只能从 Kaggle 获取。因此，您需要在该网站上注册，然后转到[比赛页面](https://oreil.ly/B9wfd)。在该页面上点击规则，然后点击我理解并接受。（尽管比赛已经结束，您不会参加，但您仍然需要同意规则才能下载数据。）\n\n下载 Kaggle 数据集的最简单方法是使用 Kaggle API。您可以通过使用`pip`安装它，并在笔记本单元格中运行以下命令：\n\n```py\n!pip install kaggle\n```\n\n使用 Kaggle API 需要一个 API 密钥；要获取一个，点击 Kaggle 网站上的个人资料图片，选择我的账户；然后点击创建新的 API 令牌。这将在您的 PC 上保存一个名为*kaggle.json*的文件。您需要将此密钥复制到您的 GPU 服务器上。为此，请打开您下载的文件，复制内容，并将其粘贴到与本章相关的笔记本中的以下单引号内（例如，`creds = `'`{\"username\":\"*xxx*\",\"key\":\"*xxx*\"}`'``）：\n\n```py\ncreds = ''\n```\n\n然后执行此单元格（这只需要运行一次）：\n\n```py\ncred_path = Path('~/.kaggle/kaggle.json').expanduser()\nif not cred_path.exists():\n    cred_path.parent.mkdir(exist_ok=True)\n    cred_path.write(creds)\n    cred_path.chmod(0o600)\n```\n\n现在您可以从 Kaggle 下载数据集！选择一个路径来下载数据集：\n\n```py\npath = URLs.path('bluebook')\npath\n```\n\n```py\nPath('/home/sgugger/.fastai/archive/bluebook')\n```\n\n然后使用 Kaggle API 将数据集下载到该路径并解压缩：\n\n```py\nif not path.exists():\n    path.mkdir()\n    api.competition_download_cli('bluebook-for-bulldozers', path=path)\n    file_extract(path/'bluebook-for-bulldozers.zip')\n\npath.ls(file_type='text')\n```\n\n```py\n(#7) [Path('Valid.csv'),Path('Machine_Appendix.csv'),Path('ValidSolution.csv'),P\n > ath('TrainAndValid.csv'),Path('random_forest_benchmark_test.csv'),Path('Test.\n > csv'),Path('median_benchmark.csv')]\n```\n\n现在我们已经下载了数据集，让我们来看一下！\n\n## 查看数据\n\nKaggle 提供了有关我们数据集中某些字段的信息。[数据页面](https://oreil.ly/oSrBi)解释了*train.csv*中的关键字段如下：\n\n`SalesID`\n\n销售的唯一标识符。\n\n`MachineID`\n\n机器的唯一标识符。一台机器可以被多次出售。\n\n`销售价格`\n\n机器在拍卖中的售价（仅在*train.csv*中提供）。\n\n`销售日期`\n\n销售日期。\n\n在任何数据科学工作中，直接查看数据是很重要的，以确保您了解格式、存储方式、包含的值类型等。即使您已经阅读了数据的描述，实际数据可能并非您所期望的。我们将从将训练集读入 Pandas DataFrame 开始。通常，除非 Pandas 实际耗尽内存并返回错误，否则最好也指定`low_memory=False`。`low_memory`参数默认为`True`，告诉 Pandas 一次只查看几行数据，以确定每列中包含的数据类型。这意味着 Pandas 最终可能会为不同的行使用不同的数据类型，这通常会导致数据处理错误或模型训练问题。\n\n让我们加载数据并查看列：\n\n```py\ndf = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\n```\n\n```py\ndf.columns\n```\n\n```py\nIndex(['SalesID', 'SalePrice', 'MachineID', 'ModelID', 'datasource',\n       'auctioneerID', 'YearMade', 'MachineHoursCurrentMeter', 'UsageBand',\n       'saledate', 'fiModelDesc', 'fiBaseModel', 'fiSecondaryDesc',\n       'fiModelSeries', 'fiModelDescriptor', 'ProductSize',\n       'fiProductClassDesc', 'state', 'ProductGroup', 'ProductGroupDesc',\n       'Drive_System', 'Enclosure', 'Forks', 'Pad_Type', 'Ride_Control',\n       'Stick', 'Transmission', 'Turbocharged', 'Blade_Extension',\n       'Blade_Width', 'Enclosure_Type', 'Engine_Horsepower', 'Hydraulics',\n       'Pushblock', 'Ripper', 'Scarifier', 'Tip_Control', 'Tire_Size',\n       'Coupler', 'Coupler_System', 'Grouser_Tracks', 'Hydraulics_Flow',\n       'Track_Type', 'Undercarriage_Pad_Width', 'Stick_Length', 'Thumb',\n       'Pattern_Changer', 'Grouser_Type', 'Backhoe_Mounting', 'Blade_Type',\n       'Travel_Controls', 'Differential_Type', 'Steering_Controls'],\n      dtype='object')\n```\n\n这是我们要查看的许多列！尝试浏览数据集，了解每个列中包含的信息类型。我们很快将看到如何“聚焦”于最有趣的部分。\n\n在这一点上，一个很好的下一步是处理*有序列的列*。这指的是包含字符串或类似内容的列，但其中这些字符串具有自然排序。例如，这里是`ProductSize`的级别：\n\n```py\ndf['ProductSize'].unique()\n```\n\n```py\narray([nan, 'Medium', 'Small', 'Large / Medium', 'Mini', 'Large', 'Compact'],\n > dtype=object)\n```\n\n我们可以告诉 Pandas 这些级别的适当排序方式如下：\n\n```py\nsizes = 'Large','Large / Medium','Medium','Small','Mini','Compact'\n```\n\n```py\ndf['ProductSize'] = df['ProductSize'].astype('category')\ndf['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\n```\n\n最重要的数据列是因变量——我们想要预测的变量。请记住，模型的度量是反映预测有多好的函数。重要的是要注意项目使用的度量标准。通常，选择度量标准是项目设置的重要部分。在许多情况下，选择一个好的度量标准将需要不仅仅是选择一个已经存在的变量。这更像是一个设计过程。您应该仔细考虑哪种度量标准，或一组度量标准，实际上衡量了对您重要的模型质量概念。如果没有变量代表该度量标准，您应该看看是否可以从可用的变量构建度量标准。\n\n然而，在这种情况下，Kaggle 告诉我们要使用的度量标准是实际和预测拍卖价格之间的平方对数误差（RMLSE）。我们只需要进行少量处理即可使用这个度量标准：我们取价格的对数，这样该值的`m_rmse`将给出我们最终需要的值：\n\n```py\ndep_var = 'SalePrice'\n```\n\n```py\ndf[dep_var] = np.log(df[dep_var])\n```\n\n我们现在准备探索我们的第一个用于表格数据的机器学习算法：决策树。\n\n# 决策树\n\n决策树集成，顾名思义，依赖于决策树。所以让我们从那里开始！决策树对数据提出一系列关于数据的二元（是或否）问题。在每个问题之后，树的那部分数据在“是”和“否”分支之间分割，如图 9-6 所示。经过一个或多个问题后，可以基于所有先前答案做出预测，或者需要另一个问题。\n\n现在，这一系列问题是一个过程，用于获取任何数据项，无论是来自训练集还是新数据项，并将该项分配到一个组中。换句话说，在提出问题并回答问题之后，我们可以说该项属于与所有其他训练数据项相同的组，这些数据项对问题的答案相同。但这有什么好处呢？我们模型的目标是预测项目的值，而不是将它们分配到训练数据集中的组中。好处在于我们现在可以为这些组中的每个项目分配一个预测值——对于回归，我们取该组中项目的目标均值。\n\n![决策树示例](img/dlcf_0906.png)\n\n###### 图 9-6\\. 决策树示例\n\n让我们考虑如何找到正确的问题。当然，我们不希望自己创建所有这些问题-这就是计算机的作用！训练决策树的基本步骤可以很容易地写下来：\n\n1.  依次循环数据集的每一列。\n\n1.  对于每一列，依次循环该列的每个可能级别。\n\n1.  尝试将数据分成两组，基于它们是否大于或小于该值（或者如果它是一个分类变量，则基于它们是否等于或不等于该分类变量的水平）。\n\n1.  找到这两组中每组的平均销售价格，并查看这与该组中每个设备的实际销售价格有多接近。将这视为一个非常简单的“模型”，其中我们的预测只是该项组的平均销售价格。\n\n1.  在循环遍历所有列和每个可能的级别后，选择使用该简单模型给出最佳预测的分割点。\n\n1.  现在我们的数据有两组，基于这个选定的分割。将每个组视为一个单独的数据集，并通过返回到步骤 1 为每个组找到最佳分割。\n\n1.  递归地继续这个过程，直到每个组达到某个停止标准-例如，当组中只有 20 个项目时停止进一步分割。\n\n尽管这是一个很容易自己实现的算法（这是一个很好的练习），但我们可以节省一些时间，使用内置在 sklearn 中的实现。\n\n然而，首先，我们需要做一些数据准备。\n\n# Alexis 说\n\n这是一个值得思考的有益问题。如果您考虑到定义决策树的过程本质上选择了一个关于变量的*分割问题序列*，您可能会问自己，我们如何知道这个过程选择了*正确的序列*？规则是选择产生最佳分割（即最准确地将项目分为两个不同类别）的分割问题，然后将同样的规则应用于该分割产生的组，依此类推。这在计算机科学中被称为“贪婪”方法。您能想象出一个情景，其中提出一个“不那么强大”的分割问题会使未来的分割更好（或者我应该说更好地导致更好的结果）吗？\n\n## 处理日期\n\n我们需要做的第一件数据准备工作是丰富我们对日期的表示。我们刚刚描述的决策树的基本基础是*二分* - 将一组分成两组。我们查看序数变量，并根据变量的值是大于（或小于）阈值来划分数据集，我们查看分类变量，并根据变量的级别是否是特定级别来划分数据集。因此，这个算法有一种根据序数和分类数据划分数据集的方法。\n\n但是这如何适用于常见的数据类型，日期呢？您可能希望将日期视为序数值，因为说一个日期比另一个日期更大是有意义的。然而，日期与大多数序数值有所不同，因为一些日期在某种方面与其他日期有质的不同，这通常与我们建模的系统相关。\n\n为了帮助我们的算法智能处理日期，我们希望我们的模型不仅知道一个日期是否比另一个日期更近或更早。我们可能希望我们的模型根据日期的星期几、某一天是否是假期、所在月份等来做决策。为此，我们用一组日期元数据列替换每个日期列，例如假期、星期几和月份。这些列提供了我们认为会有用的分类数据。\n\nfastai 带有一个函数，可以为我们执行此操作-我们只需传递包含日期的列名：\n\n```py\ndf = add_datepart(df, 'saledate')\n```\n\n在那里的同时，让我们为测试集做同样的事情：\n\n```py\ndf_test = pd.read_csv(path/'Test.csv', low_memory=False)\ndf_test = add_datepart(df_test, 'saledate')\n```\n\n我们可以看到我们的 DataFrame 中现在有很多新的列：\n\n```py\n' '.join(o for o in df.columns if o.startswith('sale'))\n```\n\n```py\n'saleYear saleMonth saleWeek saleDay saleDayofweek saleDayofyear\n > saleIs_month_end saleIs_month_start saleIs_quarter_end saleIs_quarter_start\n > saleIs_year_end saleIs_year_start saleElapsed'\n```\n\n这是一个很好的第一步，但我们需要做更多的清理。为此，我们将使用 fastai 对象`TabularPandas`和`TabularProc`。\n\n## 使用 TabularPandas 和 TabularProc\n\n第二个预处理步骤是确保我们可以处理字符串和缺失数据。默认情况下，sklearn 都不能处理。相反，我们将使用 fastai 的`TabularPandas`类，它包装了一个 Pandas DataFrame 并提供了一些便利。为了填充一个`TabularPandas`，我们将使用两个`TabularProc`，`Categorify`和`FillMissing`。`TabularProc`类似于常规的`Transform`，但有以下不同：\n\n+   它返回传递给它的完全相同的对象，在原地修改对象后返回。\n\n+   它在数据首次传入时运行变换，而不是在访问数据时懒惰地运行。\n\n`Categorify`是一个`TabularProc`，用数字分类列替换列。`FillMissing`是一个`TabularProc`，用列的中位数替换缺失值，并创建一个新的布尔列，对于任何值缺失的行，该列设置为`True`。这两个变换几乎适用于您将使用的每个表格数据集，因此这是您数据处理的一个很好的起点：\n\n```py\nprocs = [Categorify, FillMissing]\n```\n\n`TabularPandas`还将为我们处理数据集的拆分为训练集和验证集。但是，我们需要非常小心处理我们的验证集。我们希望设计它，使其类似于 Kaggle 将用来评判比赛的*测试集*。\n\n回想一下验证集和测试集之间的区别，如第一章中所讨论的。*验证集*是我们从训练中保留的数据，以确保训练过程不会在训练数据上过拟合。*测试集*是更深层次地被我们自己保留的数据，以确保我们在探索各种模型架构和超参数时不会在验证数据上过拟合。\n\n我们看不到测试集。但我们确实希望定义我们的验证数据，使其与训练数据具有与测试集相同类型的关系。\n\n在某些情况下，随机选择数据点的子集就足够了。但这不是这种情况，因为这是一个时间序列。\n\n如果您查看测试集中表示的日期范围，您会发现它覆盖了 2012 年 5 月的六个月期间，这比训练集中的任何日期都要晚。这是一个很好的设计，因为竞赛赞助商希望确保模型能够预测未来。但这意味着如果我们要有一个有用的验证集，我们也希望验证集比训练集更晚。Kaggle 的训练数据在 2012 年 4 月结束，因此我们将定义一个更窄的训练数据集，其中只包括 2011 年 11 月之前的 Kaggle 训练数据，并且我们将定义一个验证集，其中包括 2011 年 11 月之后的数据。\n\n为了做到这一点，我们使用`np.where`，这是一个有用的函数，返回（作为元组的第一个元素）所有`True`值的索引：\n\n```py\ncond = (df.saleYear<2011) | (df.saleMonth<10)\ntrain_idx = np.where( cond)[0]\nvalid_idx = np.where(~cond)[0]\n\nsplits = (list(train_idx),list(valid_idx))\n```\n\n`TabularPandas`需要告诉哪些列是连续的，哪些是分类的。我们可以使用辅助函数`cont_cat_split`自动处理：\n\n```py\ncont,cat = cont_cat_split(df, 1, dep_var=dep_var)\n```\n\n```py\nto = TabularPandas(df, procs, cat, cont, y_names=dep_var, splits=splits)\n```\n\n`TabularPandas`的行为很像一个 fastai 的`Datasets`对象，包括提供`train`和`valid`属性：\n\n```py\nlen(to.train),len(to.valid)\n```\n\n```py\n(404710, 7988)\n```\n\n我们可以看到数据仍然显示为类别的字符串（这里我们只显示了一些列，因为完整的表太大了，无法放在一页上）。\n\n```py\nto.show(3)\n```\n\n|  | state | ProductGroup | Drive_System | Enclosure | SalePrice |\n| --- | --- | --- | --- | --- | --- |\n| 0 | Alabama | WL | #na# | EROPS w AC | 11.097410 |\n| 1 | North Carolina | WL | #na# | EROPS w AC | 10.950807 |\n| 2 | New York | SSL | #na# | OROPS | 9.210340 |\n\n然而，底层项目都是数字：\n\n```py\nto.items.head(3)\n```\n\n|  | state | ProductGroup | Drive_System | Enclosure |\n| --- | --- | --- | --- | --- |\n| 0 | 1 | 6 | 0 | 3 |\n| 1 | 33 | 6 | 0 | 3 |\n| 2 | 32 | 3 | 0 | 6 |\n\n将分类列转换为数字是通过简单地用数字替换每个唯一级别来完成的。与级别相关联的数字是按照它们在列中出现的顺序连续选择的，因此在转换后的分类列中，数字没有特定的含义。唯一的例外是，如果您首先将列转换为 Pandas 有序类别（就像我们之前为`ProductSize`所做的那样），那么您选择的排序将被使用。我们可以通过查看`classes`属性来查看映射：\n\n```py\nto.classes['ProductSize']\n```\n\n```py\n(#7) ['#na#','Large','Large / Medium','Medium','Small','Mini','Compact']\n```\n\n由于处理数据到这一点需要一分钟左右的时间，我们应该保存它，这样以后我们可以继续从这里继续工作，而不必重新运行之前的步骤。fastai 提供了一个使用 Python 的*pickle*系统保存几乎任何 Python 对象的`save`方法：\n\n```py\n(path/'to.pkl').save(to)\n```\n\n以后要读回来，您将键入：\n\n```py\nto = (path/'to.pkl').load()\n```\n\n现在所有这些预处理都完成了，我们准备创建一个决策树。\n\n## 创建决策树\n\n首先，我们定义我们的自变量和因变量：\n\n```py\nxs,y = to.train.xs,to.train.y\nvalid_xs,valid_y = to.valid.xs,to.valid.y\n```\n\n现在我们的数据都是数字的，没有缺失值，我们可以创建一个决策树：\n\n```py\nm = DecisionTreeRegressor(max_leaf_nodes=4)\nm.fit(xs, y);\n```\n\n为了简单起见，我们告诉 sklearn 只创建了四个*叶节点*。要查看它学到了什么，我们可以显示决策树：\n\n```py\ndraw_tree(m, xs, size=7, leaves_parallel=True, precision=2)\n```\n\n![](img/dlcf_09in01.png)\n\n理解这幅图片是理解决策树的最好方法之一，所以我们将从顶部开始，逐步解释每个部分。\n\n顶部节点代表*初始模型*，在进行任何分割之前，所有数据都在一个组中。这是最简单的模型。这是在不问任何问题的情况下得到的结果，将始终预测值为整个数据集的平均值。在这种情况下，我们可以看到它预测销售价格的对数值为 10.1。它给出了均方误差为 0.48。这个值的平方根是 0.69。（请记住，除非您看到`m_rmse`，或者*均方根误差*，否则您看到的值是在取平方根之前的，因此它只是差异的平方的平均值。）我们还可以看到在这个组中有 404,710 条拍卖记录，这是我们训练集的总大小。这里显示的最后一部分信息是找到的最佳分割的决策标准，即基于`coupler_system`列进行分割。\n\n向下移动并向左移动，这个节点告诉我们，在`coupler_system`小于 0.5 的设备拍卖记录中有 360,847 条。这个组中我们的因变量的平均值是 10.21。从初始模型向下移动并向右移动，我们来到了`coupler_system`大于 0.5 的记录。\n\n底部行包含我们的*叶节点*：没有答案出现的节点，因为没有更多问题需要回答。在这一行的最右边是包含`coupler_system`大于 0.5 的记录的节点。平均值为 9.21，因此我们可以看到决策树算法确实找到了一个单一的二进制决策，将高价值与低价值的拍卖结果分开。仅询问`coupler_system`预测的平均值为 9.21，而不是 10.1。\n\n在第一个决策点后返回到顶部节点后，我们可以看到已经进行了第二个二进制决策分割，基于询问`YearMade`是否小于或等于 1991.5。对于这个条件为真的组（请记住，这是根据`coupler_system`和`YearMade`进行的两个二进制决策），平均值为 9.97，在这个组中有 155,724 条拍卖记录。对于这个条件为假的拍卖组，平均值为 10.4，有 205,123 条记录。因此，我们可以看到决策树算法成功地将我们更昂贵的拍卖记录分成了两组，这两组在价值上有显著差异。\n\n我们可以使用 Terence Parr 强大的[dtreeviz 库](https://oreil.ly/e9KrM)显示相同的信息：\n\n```py\nsamp_idx = np.random.permutation(len(y))[:500]\ndtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\n        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\n        orientation='LR')\n```\n\n![](img/dlcf_09in02.png)\n\n这显示了每个分割点数据分布的图表。我们可以清楚地看到我们的`YearMade`数据存在问题：显然有一些在 1000 年制造的推土机！很可能，这只是一个缺失值代码（在数据中没有出现的值，用作占位符的值，用于在值缺失的情况下）。对于建模目的，1000 是可以的，但正如你所看到的，这个异常值使得我们感兴趣的数值更难以可视化。所以，让我们用 1950 年替换它：\n\n```py\nxs.loc[xs['YearMade']<1900, 'YearMade'] = 1950\nvalid_xs.loc[valid_xs['YearMade']<1900, 'YearMade'] = 1950\n```\n\n这个改变使得树的可视化中的分割更加清晰，尽管这并没有在模型结果上有任何显著的改变。这是决策树对数据问题有多么弹性的一个很好的例子！\n\n```py\nm = DecisionTreeRegressor(max_leaf_nodes=4).fit(xs, y)\ndtreeviz(m, xs.iloc[samp_idx], y.iloc[samp_idx], xs.columns, dep_var,\n        fontname='DejaVu Sans', scale=1.6, label_fontsize=10,\n        orientation='LR')\n```\n\n![](img/dlcf_09in03.png)\n\n现在让决策树算法构建一个更大的树。在这里，我们没有传递任何停止标准，比如`max_leaf_nodes`：\n\n```py\nm = DecisionTreeRegressor()\nm.fit(xs, y);\n```\n\n我们将创建一个小函数来检查我们模型的均方根误差（`m_rmse`），因为比赛是根据这个来评判的：\n\n```py\ndef r_mse(pred,y): return round(math.sqrt(((pred-y)**2).mean()), 6)\ndef m_rmse(m, xs, y): return r_mse(m.predict(xs), y)\n```\n\n```py\nm_rmse(m, xs, y)\n```\n\n```py\n0.0\n```\n\n所以，我们的模型完美了，对吧？不要那么快……记住，我们真的需要检查验证集，以确保我们没有过拟合：\n\n```py\nm_rmse(m, valid_xs, valid_y)\n```\n\n```py\n0.337727\n```\n\n哎呀——看起来我们可能过拟合得很严重。原因如下：\n\n```py\nm.get_n_leaves(), len(xs)\n```\n\n```py\n(340909, 404710)\n```\n\n我们的叶节点数几乎和数据点一样多！这似乎有点过于热情。事实上，sklearn 的默认设置允许它继续分裂节点，直到每个叶节点只包含一个项目。让我们改变停止规则，告诉 sklearn 确保每个叶节点至少包含 25 个拍卖记录：\n\n```py\nm = DecisionTreeRegressor(min_samples_leaf=25)\nm.fit(to.train.xs, to.train.y)\nm_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\n```\n\n```py\n(0.248562, 0.32368)\n```\n\n看起来好多了。让我们再次检查叶节点的数量：\n\n```py\nm.get_n_leaves()\n```\n\n```py\n12397\n```\n\n更加合理！\n\n# Alexis 说\n\n对于一个叶节点比数据项更多的过拟合决策树，这是我的直觉。考虑一下“二十个问题”游戏。在那个游戏中，选择者秘密想象一个物体（比如，“我们的电视机”），猜测者可以提出 20 个是或否的问题来猜测物体是什么（比如“它比一个面包盒大吗？”）。猜测者并不是在尝试预测一个数值，而只是在识别所有可想象物体集合中的特定物体。当你的决策树的叶节点多于域中可能的物体时，它本质上是一个训练有素的猜测者。它已经学会了识别训练集中特定数据项所需的问题序列，并且只是通过描述该项的值来“预测”。这是一种记忆训练集的方式，即过拟合。\n\n构建决策树是创建数据模型的好方法。它非常灵活，因为它可以清楚地处理变量之间的非线性关系和交互作用。但我们可以看到在如何泛化（通过创建小树可以实现）和在训练集上的准确性（通过使用大树可以实现）之间存在一个基本的妥协。\n\n那么我们如何兼顾两全呢？我们将在处理一个重要的遗漏细节之后向您展示：如何处理分类变量。\n\n## 分类变量\n\n在前一章中，当使用深度学习网络时，我们通过独热编码处理分类变量，并将其馈送到嵌入层。嵌入层帮助模型发现这些变量不同级别的含义（分类变量的级别没有固有含义，除非我们使用 Pandas 手动指定一个排序）。在决策树中，我们没有嵌入层，那么这些未处理的分类变量如何在决策树中发挥作用呢？例如，像产品代码这样的东西如何使用？\n\n简短的答案是：它就是有效！想象一种情况，其中一个产品代码在拍卖中比其他任何产品代码都要昂贵得多。在这种情况下，任何二元分割都将导致该产品代码位于某个组中，而该组将比其他组更昂贵。因此，我们简单的决策树构建算法将选择该分割。稍后，在训练过程中，算法将能够进一步分割包含昂贵产品代码的子组，随着时间的推移，树将聚焦于那一个昂贵的产品。\n\n还可以使用一位编码来替换单个分类变量，其中每一列代表变量的一个可能级别。Pandas 有一个`get_dummies`方法可以做到这一点。\n\n然而，实际上并没有证据表明这种方法会改善最终结果。因此，我们通常会尽可能避免使用它，因为它确实会使您的数据集更难处理。在 2019 年，这个问题在 Marvin Wright 和 Inke König 的论文[“Splitting on Categorical Predictors in Random Forests”](https://oreil.ly/ojzKJ)中得到了探讨：\n\n> 对于名义预测器，标准方法是考虑所有 2^(*k* − 1) − 1 个*k*预测类别的 2-分区。然而，这种指数关系会产生大量需要评估的潜在分割，增加了计算复杂性并限制了大多数实现中可能的类别数量。对于二元分类和回归，已经证明按照每个分割中的预测类别进行排序会导致与标准方法完全相同的分割。这减少了计算复杂性，因为对于具有*k*个类别的名义预测器，只需要考虑*k* − 1 个分割。\n\n现在您了解了决策树的工作原理，是时候尝试那种最佳的解决方案了：随机森林。\n\n# 随机森林\n\n1994 年，伯克利大学教授 Leo Breiman 在退休一年后发表了一份名为[“Bagging Predictors”](https://oreil.ly/6gMuG)的小型技术报告，这个报告成为现代机器学习中最有影响力的想法之一。报告开始说：\n\n> Bagging 预测器是一种生成预测器的多个版本并使用这些版本来获得聚合预测器的方法。聚合平均了这些版本……通过对学习集进行自助复制并将其用作新的学习集来形成多个版本。测试表明，bagging 可以显著提高准确性。关键因素是预测方法的不稳定性。如果扰动学习集可以导致构建的预测器发生显著变化，那么 bagging 可以提高准确性。\n\n这是 Breiman 提出的程序：\n\n1.  随机选择数据的子集（即“学习集的自助复制”）。\n\n1.  使用这个子集训练模型。\n\n1.  保存该模型，然后返回到步骤 1 几次。\n\n1.  这将为您提供多个经过训练的模型。要进行预测，请使用所有模型进行预测，然后取每个模型预测的平均值。\n\n这个过程被称为*bagging*。它基于一个深刻而重要的观点：尽管在数据子集上训练的每个模型会比在完整数据集上训练的模型产生更多错误，但这些错误不会相互关联。不同的模型会产生不同的错误。因此，这些错误的平均值为零！因此，如果我们取所有模型预测的平均值，我们应该得到一个预测，随着模型数量的增加，它会越来越接近正确答案。这是一个非凡的结果——这意味着我们可以通过多次在不同随机数据子集上训练它来改进几乎任何类型的机器学习算法的准确性，并对其预测进行平均。\n\n2001 年，Breiman 继续展示了这种建模方法，当应用于决策树构建算法时，特别强大。他甚至比仅仅随机选择每个模型训练的行更进一步，还在每棵决策树的每个分裂点随机选择了一部分列。他将这种方法称为*随机森林*。今天，它可能是最广泛使用和实际重要的机器学习方法。\n\n实质上，随机森林是一个模型，它平均了大量决策树的预测结果，这些决策树是通过随机变化各种参数生成的，这些参数指定了用于训练树和其他树参数的数据。Bagging 是一种特定的*集成*方法，或者将多个模型的结果组合在一起。为了看看它在实践中是如何工作的，让我们开始创建我们自己的随机森林！\n\n## 创建随机森林\n\n我们可以像创建决策树一样创建随机森林，只是现在我们还指定了指示森林中应该有多少树，如何对数据项（行）进行子集化以及如何对字段（列）进行子集化的参数。\n\n在下面的函数定义中，`n_estimators`定义了我们想要的树的数量，`max_samples`定义了每棵树训练时要抽样的行数，`max_features`定义了在每个分裂点抽样的列数（其中`0.5`表示“取一半的总列数”）。我们还可以指定何时停止分裂树节点，有效地限制树的深度，通过包含我们在前一节中使用的相同`min_samples_leaf`参数。最后，我们传递`n_jobs=-1`告诉 sklearn 使用所有 CPU 并行构建树。通过创建一个小函数，我们可以更快地尝试本章其余部分的变化：\n\n```py\ndef rf(xs, y, n_estimators=40, max_samples=200_000,\n       max_features=0.5, min_samples_leaf=5, **kwargs):\n    return RandomForestRegressor(n_jobs=-1, n_estimators=n_estimators,\n        max_samples=max_samples, max_features=max_features,\n        min_samples_leaf=min_samples_leaf, oob_score=True).fit(xs, y)\n```\n\n```py\nm = rf(xs, y);\n```\n\n我们的验证 RMSE 现在比我们上次使用`DecisionTreeRegressor`生成的结果要好得多，后者只使用了所有可用数据生成了一棵树：\n\n```py\nm_rmse(m, xs, y), m_rmse(m, valid_xs, valid_y)\n```\n\n```py\n(0.170896, 0.233502)\n```\n\n随机森林最重要的特性之一是它对超参数选择不太敏感，比如`max_features`。您可以将`n_estimators`设置为尽可能高的数字，以便训练更多的树，树越多，模型就越准确。`max_samples`通常可以保持默认值，除非您有超过 200,000 个数据点，在这种情况下，将其设置为 200,000 将使其在准确性上有很小影响的情况下更快地训练。`max_features=0.5`和`min_samples_leaf=4`通常效果很好，尽管 sklearn 的默认值也很好。\n\nsklearn 文档[展示了一个例子](https://oreil.ly/E0Och)，展示了不同`max_features`选择的效果，以及树的数量增加。在图中，蓝色曲线使用最少的特征，绿色曲线使用最多的特征（使用所有特征）。正如您在图 9-7 中所看到的，使用较少特征但具有更多树的模型具有最低的错误结果。\n\n![sklearn max_features 图表](img/dlcf_0907.png)\n\n###### 图 9-7\\. 基于最大特征和树的数量的错误（来源：[*https://oreil.ly/E0Och*](https://oreil.ly/E0Och)）\n\n为了查看`n_estimators`的影响，让我们从森林中的每棵树获取预测结果（这些在`estimators_`属性中）：\n\n```py\npreds = np.stack([t.predict(valid_xs) for t in m.estimators_])\n```\n\n如您所见，`preds.mean(0)`给出了与我们的随机森林相同的结果：\n\n```py\nr_mse(preds.mean(0), valid_y)\n```\n\n```py\n0.233502\n```\n\n让我们看看随着树的数量增加，RMSE 会发生什么变化。如您所见，大约在 30 棵树后，改进水平就会显著减少：\n\n```py\nplt.plot([r_mse(preds[:i+1].mean(0), valid_y) for i in range(40)]);\n```\n\n![](img/dlcf_09in04.png)\n\n我们在验证集上的表现比在训练集上差。但这是因为我们过拟合了，还是因为验证集涵盖了不同的时间段，或者两者都有？根据我们已经看到的信息，我们无法确定。然而，随机森林有一个非常聪明的技巧叫做*袋外*（OOB）误差，可以帮助我们解决这个问题（以及更多！）。\n\n## 袋外误差\n\n回想一下，在随机森林中，每棵树都是在训练数据的不同子集上训练的。OOB 错误是一种通过在计算行的错误时仅包括那些行*未*包含在训练中的树来测量训练数据集中的预测错误的方法。这使我们能够看到模型是否过拟合，而无需单独的验证集。\n\n# Alexis 说\n\n我对此的直觉是，由于每棵树都是在不同的随机选择的行子集上训练的，因此袋外错误有点像想象每棵树因此也有自己的验证集。该验证集只是未被选中用于该树训练的行。\n\n这在我们只有少量训练数据的情况下特别有益，因为它使我们能够看到我们的模型是否在不移除物品以创建验证集的情况下泛化。OOB 预测可在`oob_prediction_`属性中找到。请注意，我们将它们与训练标签进行比较，因为这是在使用训练集的树上计算的：\n\n```py\nr_mse(m.oob_prediction_, y)\n```\n\n```py\n0.210686\n```\n\n我们可以看到我们的 OOB 错误远低于验证集错误。这意味着除了正常的泛化错误之外，还有其他原因导致了该错误。我们将在本章后面讨论这些原因。\n\n这是解释我们模型预测的一种方式——现在让我们更专注于这些。\n\n# 模型解释\n\n对于表格数据，模型解释尤为重要。对于给定的模型，我们最有兴趣的是以下内容：\n\n+   我们对使用特定数据行进行的预测有多自信？\n\n+   对于使用特定数据行进行预测，最重要的因素是什么，它们如何影响该预测？\n\n+   哪些列是最强的预测因子，哪些可以忽略？\n\n+   哪些列在预测目的上实际上是多余的？\n\n+   当我们改变这些列时，预测会如何变化？\n\n正如我们将看到的，随机森林特别适合回答这些问题。让我们从第一个问题开始！\n\n## 用于预测置信度的树方差\n\n我们看到模型如何平均每棵树的预测以获得整体预测——也就是说，一个值的估计。但是我们如何知道估计的置信度？一种简单的方法是使用树之间预测的标准差，而不仅仅是均值。这告诉我们预测的*相对*置信度。一般来说，我们会更谨慎地使用树给出非常不同结果的行的结果（更高的标准差），而不是在树更一致的情况下使用结果（更低的标准差）。\n\n在\"创建随机森林\"中，我们看到如何使用 Python 列表推导来对验证集进行预测，对森林中的每棵树都这样做：\n\n```py\npreds = np.stack([t.predict(valid_xs) for t in m.estimators_])\n```\n\n```py\npreds.shape\n```\n\n```py\n(40, 7988)\n```\n\n现在我们对验证集中的每棵树和每个拍卖都有一个预测（40 棵树和 7,988 个拍卖）。\n\n使用这种方法，我们可以获得每个拍卖的所有树的预测的标准差：\n\n```py\npreds_std = preds.std(0)\n```\n\n以下是前五个拍卖的预测的标准差——也就是验证集的前五行：\n\n```py\npreds_std[:5]\n```\n\n```py\narray([0.21529149, 0.10351274, 0.08901878, 0.28374773, 0.11977206])\n```\n\n正如您所看到的，预测的置信度差异很大。对于一些拍卖，标准差较低，因为树是一致的。对于其他拍卖，标准差较高，因为树不一致。这是在生产环境中会有用的信息；例如，如果您使用此模型来决定在拍卖中对哪些物品进行竞标，低置信度的预测可能会导致您在竞标之前更仔细地查看物品。\n\n## 特征重要性\n\n仅仅知道一个模型能够做出准确的预测通常是不够的，我们还想知道*它是如何*做出预测的。*特征重要性*给了我们这种洞察力。我们可以直接从 sklearn 的随机森林中获取这些信息，方法是查看`feature_importances_`属性。这里有一个简单的函数，我们可以用它将它们放入一个 DataFrame 并对它们进行排序：\n\n```py\ndef rf_feat_importance(m, df):\n    return pd.DataFrame({'cols':df.columns, 'imp':m.feature_importances_}\n                       ).sort_values('imp', ascending=False)\n```\n\n我们模型的特征重要性显示，前几个最重要的列的重要性得分比其余的要高得多，其中（不出所料）`YearMade`和`ProductSize`位于列表的顶部：\n\n```py\nfi = rf_feat_importance(m, xs)\nfi[:10]\n```\n\n|  | cols | imp |\n| --- | --- | --- |\n| 69 | YearMade | 0.182890 |\n| 6 | ProductSize | 0.127268 |\n| 30 | Coupler_System | 0.117698 |\n| 7 | fiProductClassDesc | 0.069939 |\n| 66 | ModelID | 0.057263 |\n| 77 | saleElapsed | 0.050113 |\n| 32 | Hydraulics_Flow | 0.047091 |\n| 3 | fiSecondaryDesc | 0.041225 |\n| 31 | Grouser_Tracks | 0.031988 |\n| 1 | fiModelDesc | 0.031838 |\n\n特征重要性的图表显示了相对重要性更清晰：\n\n```py\ndef plot_fi(fi):\n    return fi.plot('cols', 'imp', 'barh', figsize=(12,7), legend=False)\n\nplot_fi(fi[:30]);\n```\n\n![](img/dlcf_09in05.png)\n\n这些重要性是如何计算的相当简单而优雅。特征重要性算法循环遍历每棵树，然后递归地探索每个分支。在每个分支，它查看用于该分割的特征是什么，以及模型由于该分割而改善了多少。该改善（按该组中的行数加权）被添加到该特征的重要性分数中。这些分数在所有树的所有分支中求和，最后对分数进行归一化，使它们总和为 1。\n\n## 去除低重要性变量\n\n看起来我们可以通过去除低重要性的变量来使用列的子集，并且仍然能够获得良好的结果。让我们尝试只保留那些具有特征重要性大于 0.005 的列：\n\n```py\nto_keep = fi[fi.imp>0.005].cols\nlen(to_keep)\n```\n\n```py\n21\n```\n\n我们可以使用列的这个子集重新训练我们的模型：\n\n```py\nxs_imp = xs[to_keep]\nvalid_xs_imp = valid_xs[to_keep]\n```\n\n```py\nm = rf(xs_imp, y)\n```\n\n这里是结果：\n\n```py\nm_rmse(m, xs_imp, y), m_rmse(m, valid_xs_imp, valid_y)\n```\n\n```py\n(0.181208, 0.232323)\n```\n\n我们的准确率大致相同，但我们有更少的列需要研究：\n\n```py\nlen(xs.columns), len(xs_imp.columns)\n```\n\n```py\n(78, 21)\n```\n\n我们发现，通常改进模型的第一步是简化它——78 列对我们来说太多了，我们无法深入研究它们！此外，在实践中，通常更简单、更易解释的模型更容易推出和维护。\n\n这也使得我们的特征重要性图更容易解释。让我们再次看一下：\n\n```py\nplot_fi(rf_feat_importance(m, xs_imp));\n```\n\n![](img/dlcf_09in06.png)\n\n使这个更难解释的一点是，似乎有一些含义非常相似的变量：例如，`ProductGroup`和`ProductGroupDesc`。让我们尝试去除任何冗余特征。\n\n## 去除冗余特征\n\n让我们从这里开始：\n\n```py\ncluster_columns(xs_imp)\n```\n\n![](img/dlcf_09in07.png)\n\n在这个图表中，最相似的列对是在树的左侧远离“根”处早期合并在一起的。毫不奇怪，`ProductGroup`和`ProductGroupDesc`字段很早就合并了，`saleYear`和`saleElapsed`，以及`fiModelDesc`和`fiBaseModel`也是如此。它们可能是如此密切相关，以至于它们实际上是彼此的同义词。\n\n# 确定相似性\n\n最相似的对是通过计算*秩相关性*来找到的，这意味着所有的值都被它们的*秩*（在列内的第一、第二、第三等）替换，然后计算*相关性*。（如果你愿意，可以跳过这个细节，因为它在本书中不会再次出现！）\n\n让我们尝试删除一些这些密切相关特征，看看模型是否可以简化而不影响准确性。首先，我们创建一个快速训练随机森林并返回 OOB 分数的函数，通过使用较低的`max_samples`和较高的`min_samples_leaf`。OOB 分数是由 sklearn 返回的一个数字，范围在 1.0（完美模型）和 0.0（随机模型）之间。（在统计学中被称为*R*²，尽管这些细节对于这个解释并不重要。）我们不需要它非常准确——我们只是要用它来比较不同的模型，基于删除一些可能冗余的列：\n\n```py\ndef get_oob(df):\n    m = RandomForestRegressor(n_estimators=40, min_samples_leaf=15,\n        max_samples=50000, max_features=0.5, n_jobs=-1, oob_score=True)\n    m.fit(df, y)\n    return m.oob_score_\n```\n\n这是我们的基线：\n\n```py\nget_oob(xs_imp)\n```\n\n```py\n0.8771039618198545\n```\n\n现在我们尝试逐个删除我们可能冗余的变量：\n\n```py\n{c:get_oob(xs_imp.drop(c, axis=1)) for c in (\n    'saleYear', 'saleElapsed', 'ProductGroupDesc','ProductGroup',\n    'fiModelDesc', 'fiBaseModel',\n    'Hydraulics_Flow','Grouser_Tracks', 'Coupler_System')}\n```\n\n```py\n{'saleYear': 0.8759666979317242,\n 'saleElapsed': 0.8728423449081594,\n 'ProductGroupDesc': 0.877877012281002,\n 'ProductGroup': 0.8772503407182847,\n 'fiModelDesc': 0.8756415073829513,\n 'fiBaseModel': 0.8765165299438019,\n 'Hydraulics_Flow': 0.8778545895742573,\n 'Grouser_Tracks': 0.8773718142788077,\n 'Coupler_System': 0.8778016988955392}\n```\n\n现在让我们尝试删除多个变量。我们将从我们之前注意到的紧密对齐的一对中的每个变量中删除一个。让我们看看这样做会发生什么：\n\n```py\nto_drop = ['saleYear', 'ProductGroupDesc', 'fiBaseModel', 'Grouser_Tracks']\nget_oob(xs_imp.drop(to_drop, axis=1))\n```\n\n```py\n0.8739605718147015\n```\n\n看起来不错！这与拥有所有字段的模型相比几乎没有差别。让我们创建没有这些列的数据框，并保存它们：\n\n```py\nxs_final = xs_imp.drop(to_drop, axis=1)\nvalid_xs_final = valid_xs_imp.drop(to_drop, axis=1)\n```\n\n```py\n(path/'xs_final.pkl').save(xs_final)\n(path/'valid_xs_final.pkl').save(valid_xs_final)\n```\n\n我们可以稍后重新加载它们：\n\n```py\nxs_final = (path/'xs_final.pkl').load()\nvalid_xs_final = (path/'valid_xs_final.pkl').load()\n```\n\n现在我们可以再次检查我们的 RMSE，以确认准确性没有发生实质性变化：\n\n```py\nm = rf(xs_final, y)\nm_rmse(m, xs_final, y), m_rmse(m, valid_xs_final, valid_y)\n```\n\n```py\n(0.183263, 0.233846)\n```\n\n通过专注于最重要的变量并删除一些冗余的变量，我们大大简化了我们的模型。现在，让我们看看这些变量如何影响我们的预测，使用部分依赖图。\n\n## 部分依赖\n\n正如我们所看到的，最重要的预测变量是`ProductSize`和`YearMade`。我们想要了解这些预测变量与销售价格之间的关系。首先，最好检查每个类别的值的计数（由 Pandas 的`value_counts`方法提供），看看每个类别有多常见：\n\n```py\np = valid_xs_final['ProductSize'].value_counts(sort=False).plot.barh()\nc = to.classes['ProductSize']\nplt.yticks(range(len(c)), c);\n```\n\n![](img/dlcf_09in08.png)\n\n最大的组是`#na#`，这是 fastai 用于缺失值的标签。\n\n让我们对`YearMade`做同样的事情。由于这是一个数值特征，我们需要绘制一个直方图，将年份值分组为几个离散的箱：\n\n```py\nax = valid_xs_final['YearMade'].hist()\n```\n\n![](img/dlcf_09in09.png)\n\n除了我们用于编码缺失年份值的特殊值 1950 之外，大多数数据都是 1990 年后的。\n\n现在我们准备看*部分依赖图*。部分依赖图试图回答这个问题：如果一行除了关注的特征之外没有变化，它会如何影响因变量？\n\n例如，`YearMade` 如何影响销售价格，其他条件都相同？为了回答这个问题，我们不能简单地取每个`YearMade`的平均销售价格。这种方法的问题在于，许多其他因素也会随着年份的变化而变化，比如销售哪些产品、有多少产品带空调、通货膨胀等等。因此，仅仅对具有相同`YearMade`的所有拍卖品进行平均会捕捉到每个其他字段如何随着`YearMade`的变化而变化以及这种整体变化如何影响价格的效果。\n\n相反，我们将`YearMade`列中的每个值替换为 1950，然后计算每个拍卖品的预测销售价格，并对所有拍卖品进行平均。然后我们对 1951、1952 等年份做同样的操作，直到我们的最终年份 2011。这隔离了仅`YearMade`的影响（即使通过对一些想象中的记录进行平均，我们分配了一个可能永远不会实际存在的`YearMade`值以及一些其他值）。\n\n# Alexis 说\n\n如果你有哲学头脑，思考我们为了做出这个计算而搅乱的不同种类的假设性可能会让人眩晕。首先，每个预测都是假设的，因为我们没有记录实证数据。其次，我们不仅仅是想知道如果我们改变`YearMade`以及所有其他因素会如何改变销售价格。相反，我们非常明确地询问在一个假设的世界中，只有`YearMade`改变了销售价格会如何改变。哎呀！我们能够提出这样的问题令人印象深刻。如果你对更深入探讨分析这些微妙之处的形式主义感兴趣，我推荐 Judea Pearl 和 Dana Mackenzie 最近的关于因果关系的书籍*为什么之书*（Basic Books）。\n\n有了这些平均值，我们就可以在 x 轴上绘制每年，y 轴上绘制每个预测。最终，这是一个偏依赖图。让我们来看一下：\n\n```py\nfrom sklearn.inspection import plot_partial_dependence\n\nfig,ax = plt.subplots(figsize=(12, 4))\nplot_partial_dependence(m, valid_xs_final, ['YearMade','ProductSize'],\n                        grid_resolution=20, ax=ax);\n```\n\n![](img/dlcf_09in10.png)\n\n首先看`YearMade`的图表，特别是涵盖 1990 年后的年份部分（因为，正如我们注意到的，这是我们拥有最多数据的地方），我们可以看到年份和价格之间几乎是线性关系。请记住我们的因变量是取对数后的，所以这意味着实际上价格呈指数增长。这是我们所期望的：折旧通常被认为是随时间的乘法因子，因此对于给定的销售日期，改变制造年份应该显示出与销售价格的指数关系。\n\n`ProductSize`的部分图有点令人担忧。它显示我们看到的最终组，即缺失值，价格最低。要在实践中使用这一见解，我们需要找出*为什么*它经常缺失以及这意味着什么。缺失值有时可以是有用的预测因子-这完全取决于导致它们缺失的原因。然而，有时它们可能表明*数据泄漏*。\n\n## 数据泄漏\n\n在论文[“数据挖掘中的泄漏：制定、检测和避免”](https://oreil.ly/XwvYf)中，Shachar Kaufman 等人描述了泄漏如下：\n\n> 关于数据挖掘问题的目标的信息引入，这些信息不应该合法地从中挖掘出来。泄漏的一个微不足道的例子是一个模型将目标本身用作输入，因此得出例如“雨天下雨”的结论。实际上，引入这种非法信息是无意的，并且由数据收集、聚合和准备过程促成。\n\n他们举了一个例子：\n\n> 在 IBM 的一个实际商业智能项目中，根据其网站上发现的关键词，识别了某些产品的潜在客户。结果证明这是泄漏，因为用于训练的网站内容是在潜在客户已经成为客户的时间点进行采样的，网站包含了 IBM 购买的产品的痕迹，比如“Websphere”这样的词（例如，在关于购买的新闻稿或客户使用的特定产品功能中）。\n\n数据泄漏是微妙的，可以采取多种形式。特别是，缺失值通常代表数据泄漏。\n\n例如，Jeremy 参加了一个 Kaggle 竞赛，旨在预测哪些研究人员最终会获得研究资助。这些信息是由一所大学提供的，包括成千上万个研究项目的示例，以及有关涉及的研究人员和每个资助是否最终被接受的数据。大学希望能够使用在这次竞赛中开发的模型来排名哪些资助申请最有可能成功，以便优先处理。\n\nJeremy 使用随机森林对数据进行建模，然后使用特征重要性来找出哪些特征最具预测性。他注意到了三件令人惊讶的事情：\n\n+   该模型能够在 95%以上的时间内正确预测谁将获得资助。\n\n+   显然，毫无意义的标识列是最重要的预测因子。\n\n+   星期几和一年中的日期列也具有很高的预测性；例如，大多数在星期日日期的资助申请被接受，许多被接受的资助申请日期在 1 月 1 日。\n\n对于标识列，部分依赖图显示，当信息缺失时，申请几乎总是被拒绝。实际上，事实证明，大学在接受资助申请后才填写了大部分这些信息。通常，对于未被接受的申请，这些信息只是留空。因此，这些信息在申请接收时并不可用，并且不会对预测模型可用——这是数据泄漏。\n\n同样，成功申请的最终处理通常在一周或一年结束时自动完成。最终处理日期最终出现在数据中，因此，尽管这些信息具有预测性，但实际上在接收申请时并不可用。\n\n这个例子展示了识别数据泄漏最实用和简单方法，即构建模型，然后执行以下操作：\n\n+   检查模型的准确性是否*过于完美*。\n\n+   寻找在实践中不合理的重要预测因子。\n\n+   寻找在实践中不合理的部分依赖图结果。\n\n回想一下我们的熊探测器，这与我们在第二章中提供的建议相符——通常先构建模型，然后进行数据清理是一个好主意，而不是反过来。模型可以帮助您识别潜在的数据问题。\n\n它还可以帮助您确定哪些因素影响特定预测，使用树解释器。\n\n## 树解释器\n\n在本节开始时，我们说我们想要能够回答五个问题：\n\n+   我们对使用特定数据行进行预测有多自信？\n\n+   对于预测特定数据行，最重要的因素是什么，它们如何影响该预测？\n\n+   哪些列是最强的预测因子？\n\n+   哪些列在预测目的上实际上是多余的？\n\n+   当我们改变这些列时，预测会如何变化？\n\n我们已经处理了其中四个；只剩下第二个问题。要回答这个问题，我们需要使用*treeinterpreter*库。我们还将使用*waterfallcharts*库来绘制结果图表。您可以通过在笔记本单元格中运行以下命令来安装这些：\n\n```py\n!pip install treeinterpreter\n!pip install waterfallcharts\n```\n\n我们已经看到如何计算整个随机森林中的特征重要性。基本思想是查看每个变量对模型改进的贡献，在每棵树的每个分支处，然后将每个变量的所有这些贡献相加。\n\n我们可以完全相同的方式做，但只针对单个数据行。例如，假设我们正在查看拍卖中的特定物品。我们的模型可能预测这个物品会非常昂贵，我们想知道原因。因此，我们取出那一行数据并将其通过第一棵决策树，查看树中每个点处使用的分割。对于每个分割，我们找到相对于树的父节点的增加或减少。我们对每棵树都这样做，并将每个分割变量的重要性变化相加。\n\n例如，让我们选择验证集的前几行：\n\n```py\nrow = valid_xs_final.iloc[:5]\n```\n\n然后我们可以将这些传递给`treeinterpreter`：\n\n```py\nprediction,bias,contributions = treeinterpreter.predict(m, row.values)\n```\n\n`prediction`只是随机森林的预测。`bias`是基于取因变量的平均值（即每棵树的根*模型*）的预测。`contributions`是最有趣的部分-它告诉我们由于每个独立变量的变化而导致的预测总变化。因此，对于每行，`contributions`加上`bias`必须等于`prediction`。让我们只看第一行：\n\n```py\nprediction[0], bias[0], contributions[0].sum()\n```\n\n```py\n(array([9.98234598]), 10.104309759725059, -0.12196378442186026)\n```\n\n用*瀑布图*最清晰地显示贡献。这显示了所有独立变量的正负贡献如何相加以创建最终预测，这里标有“净”标签的右侧列：\n\n```py\nwaterfall(valid_xs_final.columns, contributions[0], threshold=0.08,\n          rotation_value=45,formatting='{:,.3f}');\n```\n\n![](img/dlcf_09in11.png)\n\n这种信息在生产中最有用，而不是在模型开发过程中。您可以使用它为数据产品的用户提供有关预测背后的基本推理的有用信息。\n\n现在我们已经介绍了一些经典的机器学习技术来解决这个问题，让我们看看深度学习如何帮助！\n\n# 外推和神经网络\n\n随机森林存在的问题，就像所有机器学习或深度学习算法一样，它们并不总是很好地推广到新数据。我们将看到在哪些情况下神经网络更好地推广，但首先，让我们看看随机森林存在的外推问题以及它们如何帮助识别域外数据。\n\n## 外推问题\n\n让我们考虑一个简单的任务，从显示略带噪音的线性关系的 40 个数据点中进行预测：\n\n```py\nx_lin = torch.linspace(0,20, steps=40)\ny_lin = x_lin + torch.randn_like(x_lin)\nplt.scatter(x_lin, y_lin);\n```\n\n![](img/dlcf_09in12.png)\n\n虽然我们只有一个独立变量，但 sklearn 期望独立变量的矩阵，而不是单个向量。因此，我们必须将我们的向量转换为一个具有一列的矩阵。换句话说，我们必须将*shape*从`[40]`更改为`[40,1]`。一种方法是使用`unsqueeze`方法，在请求的维度上为张量添加一个新的单位轴：\n\n```py\nxs_lin = x_lin.unsqueeze(1)\nx_lin.shape,xs_lin.shape\n```\n\n```py\n(torch.Size([40]), torch.Size([40, 1]))\n```\n\n更灵活的方法是使用特殊值`None`切片数组或张量，这会在该位置引入一个额外的单位轴：\n\n```py\nx_lin[:,None].shape\n```\n\n```py\ntorch.Size([40, 1])\n```\n\n现在我们可以为这些数据创建一个随机森林。我们将只使用前 30 行来训练模型：\n\n```py\nm_lin = RandomForestRegressor().fit(xs_lin[:30],y_lin[:30])\n```\n\n然后我们将在完整数据集上测试模型。蓝点是训练数据，红点是预测：\n\n```py\nplt.scatter(x_lin, y_lin, 20)\nplt.scatter(x_lin, m_lin.predict(xs_lin), color='red', alpha=0.5);\n```\n\n![](img/dlcf_09in13.png)\n\n我们有一个大问题！我们在训练数据范围之外的预测都太低了。你认为这是为什么？\n\n请记住，随机森林只是对多棵树的预测进行平均。而树只是预测叶子中行的平均值。因此，树和随机森林永远无法预测超出训练数据范围的值。这对于表示随时间变化的数据，如通货膨胀，且希望对未来时间进行预测的数据尤为棘手。您的预测将系统性地过低。\n\n但问题不仅限于时间变量。随机森林无法对其未见过的数据类型进行外推，从更一般的意义上讲。这就是为什么我们需要确保我们的验证集不包含域外数据。\n\n## 查找域外数据\n\n有时很难知道您的测试集是否与训练数据以相同方式分布，或者如果不同，哪些列反映了这种差异。有一种简单的方法可以弄清楚这一点，那就是使用随机森林！\n\n但在这种情况下，我们不使用随机森林来预测我们实际的因变量。相反，我们尝试预测一行是在验证集还是训练集中。要看到这一点，让我们将训练集和验证集结合起来，创建一个代表每行来自哪个数据集的因变量，使用该数据构建一个随机森林，并获取其特征重要性：\n\n```py\ndf_dom = pd.concat([xs_final, valid_xs_final])\nis_valid = np.array([0]*len(xs_final) + [1]*len(valid_xs_final))\n\nm = rf(df_dom, is_valid)\nrf_feat_importance(m, df_dom)[:6]\n```\n\n|  | cols | imp |\n| --- | --- | --- |\n| 5 | saleElapsed | 0.859446 |\n| 9 | SalesID | 0.119325 |\n| 13 | MachineID | 0.014259 |\n| 0 | YearMade | 0.001793 |\n| 8 | fiModelDesc | 0.001740 |\n| 11 | Enclosure | 0.000657 |\n\n这显示训练集和验证集之间有三列显着不同：`saleElapsed`、`SalesID` 和 `MachineID`。`saleElapsed` 的差异相当明显：它是数据集开始和每行之间的天数，因此直接编码了日期。`SalesID` 的差异表明拍卖销售的标识符可能会随时间递增。`MachineID` 表明类似的情况可能发生在这些拍卖中出售的个别物品上。\n\n让我们先获取原始随机森林模型的 RMSE 基线，然后逐个确定移除这些列的影响：\n\n```py\nm = rf(xs_final, y)\nprint('orig', m_rmse(m, valid_xs_final, valid_y))\n\nfor c in ('SalesID','saleElapsed','MachineID'):\n    m = rf(xs_final.drop(c,axis=1), y)\n    print(c, m_rmse(m, valid_xs_final.drop(c,axis=1), valid_y))\n```\n\n```py\norig 0.232795\nSalesID 0.23109\nsaleElapsed 0.236221\nMachineID 0.233492\n```\n\n看起来我们应该能够移除 `SalesID` 和 `MachineID` 而不会失去任何准确性。让我们检查一下：\n\n```py\ntime_vars = ['SalesID','MachineID']\nxs_final_time = xs_final.drop(time_vars, axis=1)\nvalid_xs_time = valid_xs_final.drop(time_vars, axis=1)\n\nm = rf(xs_final_time, y)\nm_rmse(m, valid_xs_time, valid_y)\n```\n\n```py\n0.231307\n```\n\n删除这些变量略微提高了模型的准确性；但更重要的是，这应该使其随时间更具弹性，更易于维护和理解。我们建议对所有数据集尝试构建一个以 `is_valid` 为因变量的模型，就像我们在这里所做的那样。它通常可以揭示您可能会忽略的微妙的*领域转移*问题。\n\n在我们的情况下，可能有助于简单地避免使用旧数据。通常，旧数据显示的关系已经不再有效。让我们尝试只使用最近几年的数据：\n\n```py\nxs['saleYear'].hist();\n```\n\n![](img/dlcf_09in14.png)\n\n在这个子集上训练的结果如下：\n\n```py\nfilt = xs['saleYear']>2004\nxs_filt = xs_final_time[filt]\ny_filt = y[filt]\n```\n\n```py\nm = rf(xs_filt, y_filt)\nm_rmse(m, xs_filt, y_filt), m_rmse(m, valid_xs_time, valid_y)\n```\n\n```py\n(0.17768, 0.230631)\n```\n\n稍微好一点，这表明您不应该总是使用整个数据集；有时候子集可能更好。\n\n让我们看看使用神经网络是否有帮助。\n\n## 使用神经网络\n\n我们可以使用相同的方法构建一个神经网络模型。让我们首先复制设置 `TabularPandas` 对象的步骤：\n\n```py\ndf_nn = pd.read_csv(path/'TrainAndValid.csv', low_memory=False)\ndf_nn['ProductSize'] = df_nn['ProductSize'].astype('category')\ndf_nn['ProductSize'].cat.set_categories(sizes, ordered=True, inplace=True)\ndf_nn[dep_var] = np.log(df_nn[dep_var])\ndf_nn = add_datepart(df_nn, 'saledate')\n```\n\n我们可以通过使用相同的列集合来为我们的神经网络利用我们在随机森林中修剪不需要的列的工作：\n\n```py\ndf_nn_final = df_nn[list(xs_final_time.columns) + [dep_var]]\n```\n\n在神经网络中，与决策树方法相比，分类列的处理方式大不相同。正如我们在第八章中看到的，在神经网络中，处理分类变量的一个很好的方法是使用嵌入。为了创建嵌入，fastai 需要确定哪些列应该被视为分类变量。它通过比较变量中不同级别的数量与 `max_card` 参数的值来实现这一点。如果较低，fastai 将把该变量视为分类变量。嵌入大小大于 10,000 通常只应在测试是否有更好的方法来分组变量之后使用，因此我们将使用 9,000 作为我们的 `max_card` 值：\n\n```py\ncont_nn,cat_nn = cont_cat_split(df_nn_final, max_card=9000, dep_var=dep_var)\n```\n\n然而，在这种情况下，有一个变量绝对不能被视为分类变量：`saleElapsed`。按定义，分类变量无法在其所见值范围之外进行外推，但我们希望能够预测未来的拍卖销售价格。因此，我们需要将其作为连续变量处理：\n\n```py\ncont_nn.append('saleElapsed')\ncat_nn.remove('saleElapsed')\n```\n\n让我们来看看我们目前选择的每个分类变量的基数：\n\n```py\ndf_nn_final[cat_nn].nunique()\n```\n\n```py\nYearMade                73\nProductSize              6\nCoupler_System           2\nfiProductClassDesc      74\nModelID               5281\nHydraulics_Flow          3\nfiSecondaryDesc        177\nfiModelDesc           5059\nProductGroup             6\nEnclosure                6\nfiModelDescriptor      140\nDrive_System             4\nHydraulics              12\nTire_Size               17\ndtype: int64\n```\n\n有关设备“型号”的两个变量，都具有类似非常高的基数，这表明它们可能包含相似的冗余信息。请注意，当分析冗余特征时，我们不一定会注意到这一点，因为这依赖于相似变量按相同顺序排序（即，它们需要具有类似命名的级别）。拥有 5,000 个级别的列意味着我们的嵌入矩阵需要 5,000 列，如果可能的话最好避免。让我们看看删除其中一个这些型号列对随机森林的影响：\n\n```py\nxs_filt2 = xs_filt.drop('fiModelDescriptor', axis=1)\nvalid_xs_time2 = valid_xs_time.drop('fiModelDescriptor', axis=1)\nm2 = rf(xs_filt2, y_filt)\nm_rmse(m, xs_filt2, y_filt), m_rmse(m2, valid_xs_time2, valid_y)\n```\n\n```py\n(0.176706, 0.230642)\n```\n\n影响很小，因此我们将其作为神经网络的预测变量移除：\n\n```py\ncat_nn.remove('fiModelDescriptor')\n```\n\n我们可以像创建随机森林那样创建我们的`TabularPandas`对象，但有一个非常重要的补充：归一化。随机森林不需要任何归一化——树构建过程只关心变量中值的顺序，而不关心它们的缩放。但正如我们所见，神经网络确实关心这一点。因此，在构建`TabularPandas`对象时，我们添加`Normalize`处理器：\n\n```py\nprocs_nn = [Categorify, FillMissing, Normalize]\nto_nn = TabularPandas(df_nn_final, procs_nn, cat_nn, cont_nn,\n                      splits=splits, y_names=dep_var)\n```\n\n表格模型和数据通常不需要太多的 GPU 内存，因此我们可以使用更大的批量大小：\n\n```py\ndls = to_nn.dataloaders(1024)\n```\n\n正如我们讨论过的，为回归模型设置`y_range`是一个好主意，所以让我们找到我们因变量的最小值和最大值：\n\n```py\ny = to_nn.train.y\ny.min(),y.max()\n```\n\n```py\n(8.465899897028686, 11.863582336583399)\n```\n\n现在我们可以创建`Learner`来创建这个表格模型。像往常一样，我们使用特定于应用程序的学习函数，以利用其应用程序定制的默认值。我们将损失函数设置为 MSE，因为这就是这个比赛使用的损失函数。\n\n默认情况下，对于表格数据，fastai 创建一个具有两个隐藏层的神经网络，分别具有 200 和 100 个激活。这对于小数据集效果很好，但在这里我们有一个相当大的数据集，所以我们将层大小增加到 500 和 250：\n\n```py\nfrom fastai.tabular.all import *\n```\n\n```py\nlearn = tabular_learner(dls, y_range=(8,12), layers=[500,250],\n                        n_out=1, loss_func=F.mse_loss)\n```\n\n```py\nlearn.lr_find()\n```\n\n```py\n(0.005754399299621582, 0.0002754228771664202)\n```\n\n![](img/dlcf_09in15.png)\n\n不需要使用`fine_tune`，所以我们将使用`fit_one_cycle`进行几个周期的训练，看看效果如何：\n\n```py\nlearn.fit_one_cycle(5, 1e-2)\n```\n\n| epoch | train_loss | valid_loss | time |\n| --- | --- | --- | --- |\n| 0 | 0.069705 | 0.062389 | 00:11 |\n| 1 | 0.056253 | 0.058489 | 00:11 |\n| 2 | 0.048385 | 0.052256 | 00:11 |\n| 3 | 0.043400 | 0.050743 | 00:11 |\n| 4 | 0.040358 | 0.050986 | 00:11 |\n\n我们可以使用我们的`r_mse`函数将结果与之前得到的随机森林结果进行比较：\n\n```py\npreds,targs = learn.get_preds()\nr_mse(preds,targs)\n```\n\n```py\n0.2258\n```\n\n它比随机森林要好得多（尽管训练时间更长，对超参数调整要求更高）。\n\n在继续之前，让我们保存我们的模型，以防以后想再次使用它：\n\n```py\nlearn.save('nn')\n```\n\n另一件可以帮助泛化的事情是使用几个模型并平均它们的预测——一个技术，如前面提到的，称为*集成*。\n\n# 集成\n\n回想一下随机森林之所以效果如此好的最初原因：每棵树都有错误，但这些错误彼此之间不相关，因此一旦有足够多的树，这些错误的平均值应该趋向于零。类似的推理可以用来考虑平均使用不同算法训练的模型的预测。\n\n在我们的情况下，我们有两个非常不同的模型，使用非常不同的算法进行训练：一个是随机森林，一个是神经网络。可以合理地期望每个模型产生的错误类型会有很大不同。因此，我们可能会期望它们的预测平均值会比任何一个单独的预测都要好。\n\n正如我们之前看到的，随机森林本身就是一个集成模型。但是我们可以将一个随机森林包含在*另一个*集成中——一个由随机森林和神经网络组成的集成！虽然集成不会决定建模过程的成功与否，但它确实可以为您构建的任何模型增加一点小提升。\n\n我们必须注意的一个小问题是，我们的 PyTorch 模型和我们的 sklearn 模型创建了不同类型的数据：PyTorch 给我们一个秩为 2 的张量（列矩阵），而 NumPy 给我们一个秩为 1 的数组（向量）。`squeeze`会从张量中删除任何单位轴，`to_np`将其转换为 NumPy 数组：\n\n```py\nrf_preds = m.predict(valid_xs_time)\nens_preds = (to_np(preds.squeeze()) + rf_preds) /2\n```\n\n这给我们比任何一个模型单独取得的结果都要好：\n\n```py\nr_mse(ens_preds,valid_y)\n```\n\n```py\n0.22291\n```\n\n实际上，这个结果比 Kaggle 排行榜上显示的任何分数都要好。然而，它并不直接可比，因为 Kaggle 排行榜使用了一个我们无法访问的单独数据集。Kaggle 不允许我们提交到这个旧的比赛中，以找出我们的表现如何，但我们的结果确实看起来令人鼓舞！\n\n## 提升\n\n到目前为止，我们集成的方法是使用*装袋*，它涉及将许多模型（每个模型在不同的数据子集上训练）组合起来通过平均它们。正如我们所看到的，当应用于决策树时，这被称为*随机森林*。\n\n在另一种重要的集成方法中，称为*提升*，我们添加模型而不是对它们进行平均。以下是提升的工作原理：\n\n1.  训练一个欠拟合数据集的小模型。\n\n1.  计算该模型在训练集中的预测。\n\n1.  从目标中减去预测值；这些被称为*残差*，代表了训练集中每个点的误差。\n\n1.  回到第 1 步，但是不要使用原始目标，而是使用残差作为训练的目标。\n\n1.  继续这样做，直到达到停止标准，比如最大树的数量，或者观察到验证集错误变得更糟。\n\n使用这种方法，每棵新树都将尝试拟合所有先前树的错误。因为我们不断通过从先前树的残差中减去每棵新树的预测来创建新的残差，残差会变得越来越小。\n\n使用提升树集成进行预测，我们计算每棵树的预测，然后将它们全部加在一起。有许多遵循这种基本方法的模型，以及许多相同模型的名称。*梯度提升机*（GBMs）和*梯度提升决策树*（GBDTs）是您最有可能遇到的术语，或者您可能会看到实现这些模型的特定库的名称；在撰写本文时，*XGBoost*是最受欢迎的。\n\n请注意，与随机森林不同，使用这种方法，没有什么可以阻止我们过拟合。在随机森林中使用更多树不会导致过拟合，因为每棵树都是独立的。但是在提升集成中，拥有更多树，训练错误就会变得更好，最终您将在验证集上看到过拟合。\n\n我们不会在这里详细介绍如何训练梯度提升树集成，因为这个领域发展迅速，我们提供的任何指导几乎肯定会在您阅读时过时。在我们撰写本文时，sklearn 刚刚添加了一个`HistGradientBoostingRegressor`类，提供了出色的性能。对于这个类，以及我们见过的所有梯度提升树方法，有许多要调整的超参数。与随机森林不同，梯度提升树对这些超参数的选择非常敏感；在实践中，大多数人使用一个循环来尝试一系列超参数，找到最适合的那些。\n\n另一种取得很好结果的技术是在机器学习模型中使用神经网络学习的嵌入。\n\n## 将嵌入与其他方法结合\n\n我们在本章开头提到的实体嵌入论文的摘要中指出：“从训练的神经网络中获得的嵌入在作为输入特征时显著提高了所有测试的机器学习方法的性能。”它包括在图 9-8 中显示的非常有趣的表格。\n\n![嵌入与其他方法结合](img/dlcf_0908.png)\n\n###### 图 9-8。使用神经网络嵌入作为其他机器学习方法的输入的效果（由 Cheng Guo 和 Felix Berkhahn 提供）\n\n这显示了四种建模技术之间的平均百分比误差（MAPE）的比较，其中三种我们已经看过，还有一种是*k*-最近邻（KNN），这是一种非常简单的基准方法。第一列数字包含在比赛中使用这些方法的结果；第二列显示如果您首先使用具有分类嵌入的神经网络，然后在模型中使用这些分类嵌入而不是原始分类列会发生什么。正如您所看到的，在每种情况下，使用嵌入而不是原始类别可以显著改善模型。\n\n这是一个非常重要的结果，因为它表明您可以在推断时获得神经网络的性能改进的大部分，而无需使用神经网络。您可以只使用一个嵌入，这实际上只是一个数组查找，以及一个小的决策树集成。\n\n这些嵌入甚至不需要为组织中的每个模型或任务单独学习。相反，一旦为特定任务的列学习了一组嵌入，它们可以存储在一个中心位置，并在多个模型中重复使用。实际上，我们从与其他大公司的从业者的私下交流中得知，这在许多地方已经发生了。\n\n# 结论\n\n我们已经讨论了表格建模的两种方法：决策树集成和神经网络。我们还提到了两种决策树集成：随机森林和梯度提升机。每种方法都是有效的，但也需要做出妥协：\n\n+   *随机森林*是最容易训练的，因为它们对超参数选择非常有韧性，需要很少的预处理。它们训练速度快，如果有足够的树，就不会过拟合。但是它们可能会稍微不够准确，特别是在需要外推的情况下，比如预测未来的时间段。\n\n+   梯度提升机理论上训练速度与随机森林一样快，但实际上您将不得不尝试很多超参数。它们可能会过拟合，但通常比随机森林稍微准确一些。\n\n+   *神经网络*需要最长的训练时间，并需要额外的预处理，比如归一化；这种归一化也需要在推断时使用。它们可以提供很好的结果并很好地外推，但只有在您小心处理超参数并注意避免过拟合时才能实现。\n\n我们建议从随机森林开始分析。这将为您提供一个强大的基准线，您可以确信这是一个合理的起点。然后，您可以使用该模型进行特征选择和部分依赖分析，以更好地了解您的数据。\n\n基于这个基础，您可以尝试神经网络和 GBM，如果它们在合理的时间内在验证集上给出显著更好的结果，您可以使用它们。如果决策树集成对您有效，尝试将分类变量的嵌入添加到数据中，看看这是否有助于您的决策树学习更好。\n\n# 问卷\n\n1.  什么是连续变量？\n\n1.  什么是分类变量？\n\n1.  分类变量可能的取值中使用的两个词是什么？\n\n1.  什么是密集层？\n\n1.  实体嵌入如何减少内存使用量并加快神经网络的速度？\n\n1.  实体嵌入特别适用于哪些类型的数据集？\n\n1.  机器学习算法的两个主要家族是什么？\n\n1.  为什么有些分类列需要在它们的类别中有特殊的排序？如何在 Pandas 中实现这一点？\n\n1.  总结决策树算法的作用。\n\n1.  日期与常规分类或连续变量有何不同，如何预处理它以使其能够在模型中使用？\n\n1.  在推土机比赛中应该选择一个随机的验证集吗？如果不是，应该选择什么样的验证集？\n\n1.  pickle 是什么，它有什么用？\n\n1.  在本章中绘制的决策树中，如何计算`mse`、`samples`和`values`？\n\n1.  在构建决策树之前，我们如何处理异常值？\n\n1.  我们如何在决策树中处理分类变量？\n\n1.  什么是装袋法？\n\n1.  创建随机森林时，`max_samples`和`max_features`之间有什么区别？\n\n1.  如果将`n_estimators`增加到一个非常高的值，是否会导致过拟合？为什么或为什么不？\n\n1.  在“创建随机森林”部分，在图 9-7 之后，为什么`preds.mean(0)`给出了与我们的随机森林相同的结果？\n\n1.  什么是袋外误差？\n\n1.  列出模型的验证集误差可能比 OOB 误差更糟糕的原因。如何测试您的假设？\n\n1.  解释为什么随机森林很适合回答以下每个问题：\n\n    +   我们对使用特定数据行的预测有多自信？\n\n    +   对于预测特定数据行，最重要的因素是什么，它们如何影响该预测？\n\n    +   哪些列是最强的预测因子？\n\n    +   随着这些列的变化，预测会如何变化？\n\n1.  移除不重要变量的目的是什么？\n\n1.  哪种类型的图表适合展示树解释器的结果？\n\n1.  什么是外推问题？\n\n1.  如何判断测试或验证集的分布方式是否与训练集不同？\n\n1.  为什么我们将`saleElapsed`作为连续变量，即使它的唯一值不到 9,000 个？\n\n1.  什么是提升？\n\n1.  我们如何在随机森林中使用嵌入？我们是否期望这有所帮助？\n\n1.  为什么我们不总是使用神经网络进行表格建模？\n\n## 进一步研究\n\n1.  选择一个 Kaggle 上的带表格数据的比赛（当前或过去），并尝试调整本章中所见的技术以获得最佳结果。将您的结果与私人排行榜进行比较。\n\n1.  自己从头开始实现本章中的决策树算法，并在第一个练习中使用的数据集上尝试它。\n\n1.  在本章中使用神经网络中的嵌入在随机森林中，并查看是否可以改进我们看到的随机森林结果。\n\n1.  解释`TabularModel`源代码的每一行做了什么（除了`BatchNorm1d`和`Dropout`层）。\n"
  },
  {
    "path": "translations/cn/10_nlp.md",
    "content": "# 第十章：NLP 深入探讨：RNNs\n\n\n\n在第一章中，我们看到深度学习可以用于处理自然语言数据集并取得出色的结果。我们的示例依赖于使用预训练的语言模型，并对其进行微调以对评论进行分类。该示例突出了 NLP 和计算机视觉中迁移学习的区别：通常情况下，在 NLP 中，预训练模型是在不同任务上训练的。\n\n我们所谓的*语言模型*是一个经过训练以猜测文本中下一个单词的模型（在读取之前的单词后）。这种任务称为*自监督学习*：我们不需要为我们的模型提供标签，只需向其提供大量文本。它有一个过程可以从数据中自动获取标签，这个任务并不是微不足道的：为了正确猜测句子中的下一个单词，模型将必须发展对英语（或其他语言）的理解。自监督学习也可以用于其他领域；例如，参见[“自监督学习和计算机视觉”](https://oreil.ly/ECjfJ)以了解视觉应用。自监督学习通常不用于直接训练的模型，而是用于预训练用于迁移学习的模型。\n\n# 术语：自监督学习\n\n使用嵌入在自变量中的标签来训练模型，而不是需要外部标签。例如，训练一个模型来预测文本中的下一个单词。\n\n我们在第一章中用于分类 IMDb 评论的语言模型是在维基百科上预训练的。通过直接微调这个语言模型到电影评论分类器，我们取得了出色的结果，但通过一个额外的步骤，我们甚至可以做得更好。维基百科的英语与 IMDb 的英语略有不同，因此，我们可以将我们的预训练语言模型微调到 IMDb 语料库，然后将*那个*作为我们分类器的基础。\n\n即使我们的语言模型了解我们在任务中使用的语言的基础知识（例如，我们的预训练模型是英语），熟悉我们的目标语料库的风格也是有帮助的。它可能是更非正式的语言，或者更技术性的，有新词要学习或者不同的句子构成方式。在 IMDb 数据集的情况下，将会有很多电影导演和演员的名字，通常比维基百科中看到的语言更不正式。\n\n我们已经看到，使用 fastai，我们可以下载一个预训练的英语语言模型，并用它来获得 NLP 分类的最新结果。（我们预计很快将提供更多语言的预训练模型；实际上，当您阅读本书时，它们可能已经可用。）那么，为什么我们要详细学习如何训练语言模型呢？\n\n当然，一个原因是了解您正在使用的模型的基础知识是有帮助的。但还有另一个非常实际的原因，那就是如果在微调分类模型之前微调（基于序列的）语言模型，您将获得更好的结果。例如，对于 IMDb 情感分析任务，数据集包括额外的 50,000 条电影评论，这些评论没有任何积极或消极的标签。由于训练集中有 25,000 条带标签的评论，验证集中有 25,000 条，总共有 100,000 条电影评论。我们可以使用所有这些评论来微调仅在维基百科文章上训练的预训练语言模型，这将导致一个特别擅长预测电影评论下一个单词的语言模型。\n\n这被称为通用语言模型微调（ULMFiT）方法。[介绍它的论文](https://oreil.ly/rET-C)表明，在将语言模型微调到传递学习到分类任务之前，这个额外的微调阶段会导致预测显著更好。使用这种方法，我们在 NLP 中有三个传递学习阶段，如图 10-1 所总结。\n\n![ULMFiT 过程的图表](img/dlcf_1001.png)\n\n###### 图 10-1。ULMFiT 过程\n\n我们现在将探讨如何将神经网络应用于这个语言建模问题，使用前两章介绍的概念。但在继续阅读之前，请暂停一下，思考一下*您*将如何处理这个问题。\n\n# 文本预处理\n\n到目前为止，我们学到的如何构建语言模型并不明显。句子的长度可能不同，文档可能很长。那么我们如何使用神经网络来预测句子的下一个单词呢？让我们找出答案！\n\n我们已经看到分类变量可以作为神经网络的独立变量使用。以下是我们为单个分类变量采取的方法：\n\n1.  制作该分类变量的所有可能级别的列表（我们将称此列表为*词汇*）。\n\n1.  用词汇表中的索引替换每个级别。\n\n1.  为此创建一个包含每个级别的行的嵌入矩阵（即，词汇表中的每个项目）。\n\n1.  将此嵌入矩阵用作神经网络的第一层。（专用嵌入矩阵可以将步骤 2 中创建的原始词汇索引作为输入；这相当于但比使用表示索引的独热编码向量作为输入更快速和更有效。）\n\n我们几乎可以用文本做同样的事情！新的是序列的概念。首先，我们将数据集中的所有文档连接成一个大字符串，然后将其拆分为单词（或*标记*），从而给我们一个非常长的单词列表。我们的独立变量将是从我们非常长的列表中的第一个单词开始并以倒数第二个单词结束的单词序列，我们的因变量将是从第二个单词开始并以最后一个单词结束的单词序列。\n\n我们的词汇将由一些常见词汇和我们语料库中特定的新词汇（例如电影术语或演员的名字）混合组成。我们的嵌入矩阵将相应构建：对于预训练模型词汇中的词，我们将使用预训练模型的嵌入矩阵中的相应行；但对于新词，我们将没有任何内容，因此我们将只是用随机向量初始化相应的行。\n\n创建语言模型所需的每个步骤都与自然语言处理领域的术语相关联，并且有 fastai 和 PyTorch 类可用于帮助。步骤如下：\n\n标记化\n\n将文本转换为单词列表（或字符，或子字符串，取决于您模型的粒度）。\n\n数值化\n\n列出所有出现的唯一单词（词汇表），并通过查找其在词汇表中的索引将每个单词转换为一个数字。\n\n语言模型数据加载器创建\n\nfastai 提供了一个`LMDataLoader`类，它会自动处理创建一个依赖变量，该变量与独立变量相差一个标记。它还处理一些重要的细节，例如如何以保持所需结构的方式对训练数据进行洗牌。\n\n语言模型创建\n\n我们需要一种特殊类型的模型，可以处理我们以前没有见过的输入列表，这些列表可能非常大或非常小。有许多方法可以做到这一点；在本章中，我们将使用*循环神经网络*（RNN）。我们将在第十二章中详细介绍 RNN 的细节，但现在，您可以将其视为另一个深度神经网络。\n\n让我们详细看看每个步骤是如何工作的。\n\n## 分词\n\n当我们说“将文本转换为单词列表”时，我们忽略了很多细节。例如，我们如何处理标点符号？我们如何处理像“don’t”这样的单词？它是一个单词还是两个？长的医学或化学术语怎么办？它们应该被分割成各自的含义部分吗？连字符词怎么处理？像德语和波兰语这样的语言如何处理，它们可以从许多部分组成一个非常长的单词？像日语和中文这样的语言如何处理，它们根本不使用基础，也没有一个明确定义的*单词*的概念？\n\n由于这些问题没有一个正确答案，所以也没有一个分词的方法。有三种主要方法：\n\n基于单词的\n\n将一个句子按空格分割，同时应用特定于语言的规则，尝试在没有空格的情况下分隔含义部分（例如将“don’t”转换为“do n’t”）。通常，标点符号也会被分割成单独的标记。\n\n基于子词的\n\n根据最常出现的子字符串将单词分割成较小的部分。例如，“occasion”可能被分词为“o c ca sion”。\n\n基于字符的\n\n将一个句子分割成其各个字符。\n\n我们将在这里看一下单词和子词的分词，将字符为基础的分词留给你在本章末尾的问卷中实现。\n\n# 行话：Token\n\n由分词过程创建的列表的一个元素。它可以是一个单词，一个单词的一部分（一个*子词*），或一个单个字符。\n\n## 使用 fastai 进行单词分词\n\nfastai 并没有提供自己的分词器，而是提供了一个一致的接口来使用外部库中的一系列分词器。分词是一个活跃的研究领域，新的和改进的分词器不断涌现，因此 fastai 使用的默认值也会发生变化。然而，API 和选项不应该发生太大变化，因为 fastai 试图在底层技术发生变化时保持一致的 API。\n\n让我们尝试一下我们在第一章中使用的 IMDb 数据集：\n\n```py\nfrom fastai.text.all import *\npath = untar_data(URLs.IMDB)\n```\n\n我们需要获取文本文件以尝试一个分词器。就像`get_image_files`（我们已经使用了很多次）获取路径中的所有图像文件一样，`get_text_files`获取路径中的所有文本文件。我们还可以选择性地传递`folders`来限制搜索到特定的子文件夹列表：\n\n```py\nfiles = get_text_files(path, folders = ['train', 'test', 'unsup'])\n```\n\n这是一个我们将要分词的评论（我们这里只打印开头部分以节省空间）：\n\n```py\ntxt = files[0].open().read(); txt[:75]\n```\n\n```py\n'This movie, which I just discovered at the video store, has apparently sit '\n```\n\n在撰写本书时，fastai 的默认英语单词分词器使用了一个名为*spaCy*的库。它有一个复杂的规则引擎，具有针对 URL、特殊英语单词等的特殊规则，以及更多。然而，我们不会直接使用`SpacyTokenizer`，而是使用`WordTokenizer`，因为它将始终指向 fastai 当前默认的单词分词器（取决于你阅读本书的时间，可能不一定是 spaCy）。\n\n让我们试一试。我们将使用 fastai 的`coll_repr(*collection*,*n*)`函数来显示结果。这会显示*`collection`*的前*`n`*个项目，以及完整的大小——这是`L`默认使用的。请注意，fastai 的分词器接受一个要分词的文档集合，因此我们必须将`txt`包装在一个列表中：\n\n```py\nspacy = WordTokenizer()\ntoks = first(spacy([txt]))\nprint(coll_repr(toks, 30))\n```\n\n```py\n(#201) ['This','movie',',','which','I','just','discovered','at','the','video','s\n > tore',',','has','apparently','sit','around','for','a','couple','of','years','\n > without','a','distributor','.','It',\"'s\",'easy','to','see'...]\n```\n\n正如你所看到的，spaCy 主要只是将单词和标点符号分开。但它在这里也做了其他事情：它将“it's”分割成“it”和“’s”。这是直观的；这些实际上是分开的单词。分词是一个令人惊讶的微妙任务，当你考虑到所有必须处理的细节时。幸运的是，spaCy 为我们处理得相当好——例如，在这里我们看到“.”在终止句子时被分开，但在首字母缩写或数字中不会被分开：\n\n```py\nfirst(spacy(['The U.S. dollar $1 is $1.00.']))\n```\n\n```py\n(#9) ['The','U.S.','dollar','$','1','is','$','1.00','.']\n```\n\n然后 fastai 通过`Tokenizer`类为分词过程添加了一些额外功能：\n\n```py\ntkn = Tokenizer(spacy)\nprint(coll_repr(tkn(txt), 31))\n```\n\n```py\n(#228) ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at',\n > 'the','video','store',',','has','apparently','sit','around','for','a','couple\n > ','of','years','without','a','distributor','.','xxmaj','it',\"'s\",'easy'...]\n```\n\n请注意，现在有一些以“xx”开头的标记，这不是英语中常见的单词前缀。这些是*特殊标记*。\n\n例如，列表中的第一项`xxbos`是一个特殊标记，表示新文本的开始（“BOS”是一个标准的 NLP 缩写，意思是“流的开始”）。通过识别这个开始标记，模型将能够学习需要“忘记”先前说过的内容，专注于即将出现的单词。\n\n这些特殊标记并不是直接来自 spaCy。它们存在是因为 fastai 默认添加它们，通过在处理文本时应用一系列规则。这些规则旨在使模型更容易识别句子中的重要部分。在某种意义上，我们正在将原始的英语语言序列翻译成一个简化的标记化语言——这种语言被设计成易于模型学习。\n\n例如，规则将用一个感叹号替换四个感叹号，后面跟着一个特殊的*重复字符*标记，然后是数字四。通过这种方式，模型的嵌入矩阵可以编码关于重复标点等一般概念的信息，而不需要为每个标点符号的重复次数添加单独的标记。同样，一个大写的单词将被替换为一个特殊的大写标记，后面跟着单词的小写版本。这样，嵌入矩阵只需要单词的小写版本，节省了计算和内存资源，但仍然可以学习大写的概念。\n\n以下是一些你会看到的主要特殊标记：\n\n`xxbos`\n\n指示文本的开始（这里是一篇评论）\n\n`xxmaj`\n\n指示下一个单词以大写字母开头（因为我们将所有字母转换为小写）\n\n`xxunk`\n\n指示下一个单词是未知的\n\n要查看使用的规则，可以查看默认规则：\n\n```py\ndefaults.text_proc_rules\n```\n\n```py\n[<function fastai.text.core.fix_html(x)>,\n <function fastai.text.core.replace_rep(t)>,\n <function fastai.text.core.replace_wrep(t)>,\n <function fastai.text.core.spec_add_spaces(t)>,\n <function fastai.text.core.rm_useless_spaces(t)>,\n <function fastai.text.core.replace_all_caps(t)>,\n <function fastai.text.core.replace_maj(t)>,\n <function fastai.text.core.lowercase(t, add_bos=True, add_eos=False)>]\n```\n\n如常，你可以通过在笔记本中键入以下内容查看每个规则的源代码：\n\n```py\n??replace_rep\n```\n\n以下是每个标记的简要摘要：\n\n`fix_html`\n\n用可读版本替换特殊的 HTML 字符（IMDb 评论中有很多这样的字符）\n\n`replace_rep`\n\n用一个特殊标记替换任何重复三次或更多次的字符（`xxrep`），重复的次数，然后是字符\n\n`replace_wrep`\n\n用一个特殊标记替换任何重复三次或更多次的单词（`xxwrep`），重复的次数，然后是单词\n\n`spec_add_spaces`\n\n在/和#周围添加空格\n\n`rm_useless_spaces`\n\n删除所有空格的重复\n\n`replace_all_caps`\n\n将所有大写字母单词转换为小写，并在其前面添加一个特殊标记（`xxcap`）\n\n`replace_maj`\n\n将大写的单词转换为小写，并在其前面添加一个特殊标记（`xxmaj`）\n\n`lowercase`\n\n将所有文本转换为小写，并在开头（`xxbos`）和/或结尾（`xxeos`）添加一个特殊标记\n\n让我们看看其中一些的操作：\n\n```py\ncoll_repr(tkn('&copy;   Fast.ai www.fast.ai/INDEX'), 31)\n```\n\n```py\n\"(#11) ['xxbos','©','xxmaj','fast.ai','xxrep','3','w','.fast.ai','/','xxup','ind\n > ex'...]\"\n```\n\n现在让我们看看子词标记化是如何工作的。\n\n## 子词标记化\n\n除了在前一节中看到的*单词标记化*方法之外，另一种流行的标记化方法是*子词标记化*。单词标记化依赖于一个假设，即空格在句子中提供了有意义的组件的有用分隔。然而，这个假设并不总是适用。例如，考虑这个句子：我的名字是郝杰瑞（中文中的“My name is Jeremy Howard”）。这对于单词标记器来说不会很好，因为其中没有空格！像中文和日文这样的语言不使用空格，事实上它们甚至没有一个明确定义的“单词”概念。其他语言，如土耳其语和匈牙利语，可以将许多子词组合在一起而不使用空格，创建包含许多独立信息片段的非常长的单词。\n\n为了处理这些情况，通常最好使用子词标记化。这个过程分为两步：\n\n1.  分析一组文档以找到最常出现的字母组。这些将成为词汇表。\n\n1.  使用这个*子词单元*的词汇对语料库进行标记化。\n\n让我们看一个例子。对于我们的语料库，我们将使用前 2,000 条电影评论：\n\n```py\ntxts = L(o.open().read() for o in files[:2000])\n```\n\n我们实例化我们的标记器，传入我们想要创建的词汇表的大小，然后我们需要“训练”它。也就是说，我们需要让它阅读我们的文档并找到常见的字符序列以创建词汇表。这是通过`setup`完成的。正如我们将很快看到的，`setup`是一个特殊的 fastai 方法，在我们通常的数据处理流程中会自动调用。然而，由于目前我们正在手动执行所有操作，因此我们必须自己调用它。这是一个为给定词汇表大小执行这些步骤并显示示例输出的函数：\n\n```py\ndef subword(sz):\n    sp = SubwordTokenizer(vocab_sz=sz)\n    sp.setup(txts)\n    return ' '.join(first(sp([txt]))[:40])\n```\n\n让我们试一试：\n\n```py\nsubword(1000)\n```\n\n```py\n'▁This ▁movie , ▁which ▁I ▁just ▁dis c over ed ▁at ▁the ▁video ▁st or e , ▁has\n > ▁a p par ent ly ▁s it ▁around ▁for ▁a ▁couple ▁of ▁years ▁without ▁a ▁dis t\n > ri but or . ▁It'\n```\n\n使用 fastai 的子词标记器时，特殊字符`▁`代表原始文本中的空格字符。\n\n如果我们使用较小的词汇表，每个标记将代表更少的字符，并且需要更多的标记来表示一个句子：\n\n```py\nsubword(200)\n```\n\n```py\n'▁ T h i s ▁movie , ▁w h i ch ▁I ▁ j us t ▁ d i s c o ver ed ▁a t ▁the ▁ v id e\n > o ▁ st or e , ▁h a s'\n```\n\n另一方面，如果我们使用较大的词汇表，大多数常见的英语单词将最终出现在词汇表中，我们将不需要那么多来表示一个句子：\n\n```py\nsubword(10000)\n```\n\n```py\n\"▁This ▁movie , ▁which ▁I ▁just ▁discover ed ▁at ▁the ▁video ▁store , ▁has\n > ▁apparently ▁sit ▁around ▁for ▁a ▁couple ▁of ▁years ▁without ▁a ▁distributor\n > . ▁It ' s ▁easy ▁to ▁see ▁why . ▁The ▁story ▁of ▁two ▁friends ▁living\"\n```\n\n选择子词词汇表大小代表一种折衷：较大的词汇表意味着每个句子的标记较少，这意味着训练速度更快，内存更少，并且模型需要记住的状态更少；但是，缺点是，这意味着更大的嵌入矩阵，这需要更多的数据来学习。\n\n总的来说，子词标记化提供了一种在字符标记化（即使用较小的子词词汇表）和单词标记化（即使用较大的子词词汇表）之间轻松切换的方法，并且处理每种人类语言而无需开发特定于语言的算法。它甚至可以处理其他“语言”，如基因组序列或 MIDI 音乐符号！因此，过去一年中，它的流行度飙升，似乎很可能成为最常见的标记化方法（当您阅读本文时，它可能已经是了！）。\n\n一旦我们的文本被分割成标记，我们需要将它们转换为数字。我们将在下一步中看到这一点。\n\n## 使用 fastai 进行数字化\n\n*数字化*是将标记映射到整数的过程。这些步骤基本上与创建`Category`变量所需的步骤相同，例如 MNIST 中数字的因变量：\n\n1.  制作该分类变量的所有可能级别的列表（词汇表）。\n\n1.  用词汇表中的索引替换每个级别。\n\n让我们看看在之前看到的单词标记化文本上的实际操作：\n\n```py\ntoks = tkn(txt)\nprint(coll_repr(tkn(txt), 31))\n```\n\n```py\n(#228) ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at',\n > 'the','video','store',',','has','apparently','sit','around','for','a','couple\n > ','of','years','without','a','distributor','.','xxmaj','it',\"'s\",'easy'...]\n```\n\n就像`SubwordTokenizer`一样，我们需要在`Numericalize`上调用`setup`；这是我们创建词汇表的方法。这意味着我们首先需要我们的标记化语料库。由于标记化需要一段时间，fastai 会并行进行；但是对于这个手动演示，我们将使用一个小的子集：\n\n```py\ntoks200 = txts[:200].map(tkn)\ntoks200[0]\n```\n\n```py\n(#228)\n > ['xxbos','xxmaj','this','movie',',','which','i','just','discovered','at'...]\n```\n\n我们可以将这个传递给`setup`来创建我们的词汇表：\n\n```py\nnum = Numericalize()\nnum.setup(toks200)\ncoll_repr(num.vocab,20)\n```\n\n```py\n\"(#2000) ['xxunk','xxpad','xxbos','xxeos','xxfld','xxrep','xxwrep','xxup','xxmaj\n > ','the','.',',','a','and','of','to','is','in','i','it'...]\"\n```\n\n我们的特殊规则标记首先出现，然后每个单词按频率顺序出现一次。`Numericalize`的默认值为`min_freq=3`和`max_vocab=60000`。`max_vocab=60000`导致 fastai 用特殊的*未知单词*标记`xxunk`替换除最常见的 60,000 个单词之外的所有单词。这有助于避免过大的嵌入矩阵，因为这可能会减慢训练速度并占用太多内存，并且还可能意味着没有足够的数据来训练稀有单词的有用表示。然而，通过设置`min_freq`来处理最后一个问题更好；默认值`min_freq=3`意味着出现少于三次的任何单词都将被替换为`xxunk`。\n\nfastai 还可以使用您提供的词汇表对数据集进行数字化，方法是将单词列表作为`vocab`参数传递。\n\n一旦我们创建了我们的`Numericalize`对象，我们可以像使用函数一样使用它：\n\n```py\nnums = num(toks)[:20]; nums\n```\n\n```py\ntensor([  2,   8,  21,  28,  11,  90,  18,  59,   0,  45,   9, 351, 499,  11,\n > 72, 533, 584, 146,  29,  12])\n```\n\n这一次，我们的标记已经转换为模型可以接收的整数张量。我们可以检查它们是否映射回原始文本：\n\n```py\n' '.join(num.vocab[o] for o in nums)\n```\n\n```py\n'xxbos xxmaj this movie , which i just xxunk at the video store , has apparently\n > sit around for a'\n```\n\n| xxbos | xxmaj | 在 | 这个 | 章节 | ， | 我们 | 将 | 回顾 | 一下 | 分类 | 的 | 例子 |\n\n## 回到我们之前的例子，有 6 个长度为 15 的批次，如果我们选择序列长度为 5，那意味着我们首先输入以下数组：\n\n处理图像时，我们需要将它们全部调整为相同的高度和宽度，然后将它们组合在一起形成一个小批次，以便它们可以有效地堆叠在一个张量中。这里会有一点不同，因为不能简单地将文本调整为所需的长度。此外，我们希望我们的语言模型按顺序阅读文本，以便它可以有效地预测下一个单词是什么。这意味着每个新批次应该从上一个批次结束的地方开始。\n\n假设我们有以下文本：\n\n> 在这一章中，我们将回顾我们在第一章中学习的分类电影评论的例子，并深入挖掘。首先，我们将看一下将文本转换为数字所需的处理步骤以及如何自定义它。通过这样做，我们将有另一个使用数据块 API 中的预处理器的例子。\n> \n> 然后我们将学习如何构建一个语言模型并训练它一段时间。\n\n标记化过程将添加特殊标记并处理标点以返回这个文本：\n\n> xxbos 在这一章中，我们将回顾我们在第一章中学习的分类电影评论的例子，并深入挖掘。首先，我们将看一下将文本转换为数字所需的处理步骤以及如何自定义它。通过这样做，我们将有另一个使用数据块 API 中的预处理器的例子。\n\n现在我们有 90 个标记，用空格分隔。假设我们想要一个批次大小为 6。我们需要将这个文本分成 6 个长度为 15 的连续部分：\n\n| 转换 | 文本 | 为 | 数字 | 和 |\n| --- | --- | --- | --- | --- |\n| 电影 | 评论 | 我们 | 研究 | 在 | 章节 | 1 | 和 | 深入 | 更深 | 在 | 表面 | 。 | xxmaj |\n| 首先 | 我们 | 将 | 看 | 处理 | 步骤 | 必要 | 将 | 文本 | 转换 | 为 | 数字 | 和 |\n| 如何 | 自定义 | 它 | 。 | 通过 | 这样做 | ， | 我们 | 将 | 有 | 另一个 | 例子 |\n| 预处理器 | 在 | 数据 | 块 | xxup | api | 中 | 使用 | 的 | 例子 | \\n | 然后 | 我们 |\n| 将 | 学习 | 我们 | 如何 | 构建 | 一个 | 语言 | 模型 | 并 | 训练 | 它 | 一段时间 | 为 | 一个 | 。 |\n\n在理想的情况下，我们可以将这一个批次提供给我们的模型。但这种方法不具有可扩展性，因为在这个玩具示例之外，一个包含所有标记的单个批次不太可能适合我们的 GPU 内存（这里有 90 个标记，但所有 IMDb 评论一起给出了数百万个）。\n\n因此，我们需要将这个数组更细地划分为固定序列长度的子数组。在这些子数组内部和之间保持顺序非常重要，因为我们将使用一个保持状态的模型，以便在预测接下来的内容时记住之前读到的内容。\n\n| 语言 | 模型 | 和 | 训练 |\n\n| xxbos | xxmaj | 在 | 这个 | 章节 |\n| --- | --- | --- | --- | --- |\n| 分类 | 的 | 例子 | 在 | 电影 | 评论 | 中 | 我们 | 研究 |\n| 首先 | 我们 | 将 | 看 | 到 |\n| 如何 | 自定义 | 它 | 。 |\n| 预处理器 | 使用 | 在 |\n| 将 | 学习 | 我们 | 如何 | 构建 |\n\n然后，这一个：\n\n| ， | 我们 | 将 | 回顾 |\n| --- | --- | --- | --- |\n| 章节 | 1 | 和 | 深入 | 更深 |\n| 处理 | 步骤 | 必要 | 将 |\n| 通过 | 这样做 | ， |\n| 数据 | 块 | xxup | api |\n| 现在我们有了数字，我们需要将它们分批放入模型中。 |\n\n最后：\n\n| 将我们的文本放入语言模型的批次中 |\n| --- |\n| 更深 | 在 | 表面 | 。 xxmaj |\n| 将文本转换为数字，并按行翻译成中文： |\n| 我们 | 有 | 另一个 | 例子 |\n| 。 | \\n | xxmaj | 然后 | 我们 |\n| 它 | 一段时间 | 为 | 一个 | 。 |\n\n回到我们的电影评论数据集，第一步是通过将各个文本串联在一起将其转换为流。与图像一样，最好随机化输入的顺序，因此在每个时期的开始，我们将对条目进行洗牌以生成新的流（我们对文档的顺序进行洗牌，而不是其中的单词顺序，否则文本将不再有意义！）。\n\n然后将此流切成一定数量的批次（这是我们的*批量大小*）。例如，如果流有 50,000 个标记，我们设置批量大小为 10，这将给我们 5,000 个标记的 10 个小流。重要的是我们保留标记的顺序（因此从 1 到 5,000 为第一个小流，然后从 5,001 到 10,000…），因为我们希望模型读取连续的文本行（如前面的示例）。在预处理期间，在每个文本的开头添加一个`xxbos`标记，以便模型知道当读取流时新条目何时开始。\n\n因此，总结一下，每个时期我们都会对文档集合进行洗牌，并将它们连接成一个标记流。然后将该流切成一批固定大小的连续小流。我们的模型将按顺序读取小流，并由于内部状态，无论我们选择的序列长度如何，它都将产生相同的激活。\n\n当我们创建`LMDataLoader`时，所有这些都是由 fastai 库在幕后完成的。我们首先将我们的`Numericalize`对象应用于标记化的文本\n\n```py\nnums200 = toks200.map(num)\n```\n\n然后将其传递给`LMDataLoader`：\n\n```py\ndl = LMDataLoader(nums200)\n```\n\n让我们通过获取第一批来确认这是否给出了预期的结果\n\n```py\nx,y = first(dl)\nx.shape,y.shape\n```\n\n```py\n(torch.Size([64, 72]), torch.Size([64, 72]))\n```\n\n然后查看独立变量的第一行，这应该是第一个文本的开头：\n\n```py\n' '.join(num.vocab[o] for o in x[0][:20])\n```\n\n```py\n'xxbos xxmaj this movie , which i just xxunk at the video store , has apparently\n > sit around for a'\n```\n\n依赖变量是相同的，只是偏移了一个标记：\n\n```py\n' '.join(num.vocab[o] for o in y[0][:20])\n```\n\n```py\n'xxmaj this movie , which i just xxunk at the video store , has apparently sit\n > around for a couple'\n```\n\n这就完成了我们需要对数据应用的所有预处理步骤。我们现在准备训练我们的文本分类器。\n\n# 训练文本分类器\n\n正如我们在本章开头看到的那样，使用迁移学习训练最先进的文本分类器有两个步骤：首先，我们需要微调在 Wikipedia 上预训练的语言模型以适应 IMDb 评论的语料库，然后我们可以使用该模型来训练分类器。\n\n像往常一样，让我们从组装数据开始。\n\n## 使用 DataBlock 的语言模型\n\n当`TextBlock`传递给`DataBlock`时，fastai 会自动处理标记化和数值化。所有可以传递给`Tokenizer`和`Numericalize`的参数也可以传递给`TextBlock`。在下一章中，我们将讨论分别运行每个步骤的最简单方法，以便进行调试，但您也可以通过在数据的子集上手动运行它们来进行调试，如前几节所示。不要忘记`DataBlock`的方便的`summary`方法，用于调试数据问题非常有用。\n\n这是我们如何使用`TextBlock`使用 fastai 的默认值创建语言模型的方式：\n\n```py\nget_imdb = partial(get_text_files, folders=['train', 'test', 'unsup'])\n\ndls_lm = DataBlock(\n    blocks=TextBlock.from_folder(path, is_lm=True),\n    get_items=get_imdb, splitter=RandomSplitter(0.1)\n).dataloaders(path, path=path, bs=128, seq_len=80)\n```\n\n与我们在`DataBlock`中使用的以前类型不同的一件事是，我们不仅仅直接使用类（即`TextBlock（...）`，而是调用*类方法*。类方法是 Python 方法，如其名称所示，属于*类*而不是*对象*。（如果您对类方法不熟悉，请务必在网上搜索更多信息，因为它们在许多 Python 库和应用程序中常用；我们在本书中以前使用过几次，但没有特别提到。）`TextBlock`之所以特殊是因为设置数值化器的词汇表可能需要很长时间（我们必须读取和标记化每个文档以获取词汇表）。\n\n为了尽可能高效，fastai 执行了一些优化：\n\n+   它将标记化的文档保存在临时文件夹中，因此不必多次对其进行标记化。\n\n+   它并行运行多个标记化过程，以利用计算机的 CPU。\n\n我们需要告诉`TextBlock`如何访问文本，以便它可以进行这种初始预处理——这就是`from_folder`的作用。\n\n`show_batch`然后以通常的方式工作：\n\n```py\ndls_lm.show_batch(max_n=2)\n```\n\n|  | text | text_ |\n| --- | --- | --- |\n| 0 | xxbos xxmaj it ’s awesome ! xxmaj in xxmaj story xxmaj mode , your going from punk to pro . xxmaj you have to complete goals that involve skating , driving , and walking . xxmaj you create your own skater and give it a name , and you can make it look stupid or realistic . xxmaj you are with your friend xxmaj eric throughout the game until he betrays you and gets you kicked off of the skateboard | xxmaj it ’s awesome ! xxmaj in xxmaj story xxmaj mode , your going from punk to pro . xxmaj you have to complete goals that involve skating , driving , and walking . xxmaj you create your own skater and give it a name , and you can make it look stupid or realistic . xxmaj you are with your friend xxmaj eric throughout the game until he betrays you and gets you kicked off of the skateboard xxunk |\n| 1 | what xxmaj i ‘ve read , xxmaj death xxmaj bed is based on an actual dream , xxmaj george xxmaj barry , the director , successfully transferred dream to film , only a genius could accomplish such a task . \\n\\n xxmaj old mansions make for good quality horror , as do portraits , not sure what to make of the killer bed with its killer yellow liquid , quite a bizarre dream , indeed . xxmaj also , this | xxmaj i ‘ve read , xxmaj death xxmaj bed is based on an actual dream , xxmaj george xxmaj barry , the director , successfully transferred dream to film , only a genius could accomplish such a task . \\n\\n xxmaj old mansions make for good quality horror , as do portraits , not sure what to make of the killer bed with its killer yellow liquid , quite a bizarre dream , indeed . xxmaj also , this is |\n\n现在我们的数据准备好了，我们可以对预训练语言模型进行微调。\n\n## 微调语言模型\n\n将整数单词索引转换为我们可以用于神经网络的激活时，我们将使用嵌入，就像我们在协同过滤和表格建模中所做的那样。然后，我们将把这些嵌入馈送到*递归神经网络*（RNN）中，使用一种称为*AWD-LSTM*的架构（我们将在第十二章中向您展示如何从头开始编写这样一个模型）。正如我们之前讨论的，预训练模型中的嵌入与为不在预训练词汇表中的单词添加的随机嵌入合并。这在`language_model_learner`内部自动处理：\n\n```py\nlearn = language_model_learner(\n    dls_lm, AWD_LSTM, drop_mult=0.3,\n    metrics=[accuracy, Perplexity()]).to_fp16()\n```\n\n默认使用的损失函数是交叉熵损失，因为我们基本上有一个分类问题（不同类别是我们词汇表中的单词）。这里使用的*困惑度*指标通常用于 NLP 的语言模型：它是损失的指数（即`torch.exp(cross_entropy)`）。我们还包括准确性指标，以查看我们的模型在尝试预测下一个单词时有多少次是正确的，因为交叉熵（正如我们所见）很难解释，并且更多地告诉我们有关模型信心而不是准确性。\n\n让我们回到本章开头的流程图。第一个箭头已经为我们完成，并作为 fastai 中的预训练模型提供，我们刚刚构建了第二阶段的`DataLoaders`和`Learner`。现在我们准备好对我们的语言模型进行微调！\n\n![ULMFiT 过程的图表](img/dlcf_1001.png)\n\n每个时代的训练需要相当长的时间，因此我们将在训练过程中保存中间模型结果。由于`fine_tune`不会为我们执行此操作，因此我们将使用`fit_one_cycle`。就像`cnn_learner`一样，当使用预训练模型（这是默认设置）时，`language_model_learner`在使用时会自动调用`freeze`，因此这将仅训练嵌入（模型中唯一包含随机初始化权重的部分——即我们 IMDb 词汇表中存在但不在预训练模型词汇表中的单词的嵌入）：\n\n```py\nlearn.fit_one_cycle(1, 2e-2)\n```\n\n| epoch | train_loss | valid_loss | accuracy | perplexity | time |\n| --- | --- | --- | --- | --- | --- |\n| 0 | 4.120048 | 3.912788 | 0.299565 | 50.038246 | 11:39 |\n\n这个模型训练时间较长，所以现在是谈论保存中间结果的好机会。\n\n## 保存和加载模型\n\n您可以轻松保存模型的状态如下：\n\n```py\nlearn.save('1epoch')\n```\n\n这将在 *learn.path/models/* 中创建一个名为 *1epoch.pth* 的文件。如果您想在另一台机器上加载模型，或者稍后恢复训练，可以按照以下方式加载此文件的内容：\n\n```py\nlearn = learn.load('1epoch')\n```\n\n一旦初始训练完成，我们可以在解冻后继续微调模型：\n\n```py\nlearn.unfreeze()\nlearn.fit_one_cycle(10, 2e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | perplexity | time |\n| --- | --- | --- | --- | --- | --- |\n| 0 | 3.893486 | 3.772820 | 0.317104 | 43.502548 | 12:37 |\n| 1 | 3.820479 | 3.717197 | 0.323790 | 41.148880 | 12:30 |\n| 2 | 3.735622 | 3.659760 | 0.330321 | 38.851997 | 12:09 |\n| 3 | 3.677086 | 3.624794 | 0.333960 | 37.516987 | 12:12 |\n| 4 | 3.636646 | 3.601300 | 0.337017 | 36.645859 | 12:05 |\n| 5 | 3.553636 | 3.584241 | 0.339355 | 36.026001 | 12:04 |\n| 6 | 3.507634 | 3.571892 | 0.341353 | 35.583862 | 12:08 |\n| 7 | 3.444101 | 3.565988 | 0.342194 | 35.374371 | 12:08 |\n| 8 | 3.398597 | 3.566283 | 0.342647 | 35.384815 | 12:11 |\n| 9 | 3.375563 | 3.568166 | 0.342528 | 35.451500 | 12:05 |\n\n完成后，我们保存所有模型，除了将激活转换为在我们的词汇表中选择每个标记的概率的最终层。不包括最终层的模型称为*编码器*。我们可以使用 `save_encoder` 来保存它：\n\n```py\nlearn.save_encoder('finetuned')\n```\n\n# 术语：编码器\n\n不包括任务特定的最终层。当应用于视觉 CNN 时，这个术语与“主体”几乎意思相同，但在 NLP 和生成模型中更常用“编码器”。\n\n这完成了文本分类过程的第二阶段：微调语言模型。我们现在可以使用它来微调一个分类器，使用 IMDb 的情感标签。然而，在继续微调分类器之前，让我们快速尝试一些不同的东西：使用我们的模型生成随机评论。\n\n## 文本生成\n\n因为我们的模型经过训练可以猜测句子的下一个单词，所以我们可以用它来写新评论：\n\n```py\nTEXT = \"I liked this movie because\"\nN_WORDS = 40\nN_SENTENCES = 2\npreds = [learn.predict(TEXT, N_WORDS, temperature=0.75)\n         for _ in range(N_SENTENCES)]\n```\n\n```py\nprint(\"\\n\".join(preds))\n```\n\n```py\ni liked this movie because of its story and characters . The story line was very\n > strong , very good for a sci - fi film . The main character , Alucard , was\n > very well developed and brought the whole story\ni liked this movie because i like the idea of the premise of the movie , the (\n > very ) convenient virus ( which , when you have to kill a few people , the \"\n > evil \" machine has to be used to protect\n```\n\n正如您所看到的，我们添加了一些随机性（我们根据模型返回的概率选择一个随机单词），这样我们就不会得到完全相同的评论两次。我们的模型没有任何关于句子结构或语法规则的编程知识，但它显然已经学会了很多关于英语句子：我们可以看到它正确地大写了（*I* 被转换为 *i*，因为我们的规则要求两个字符或更多才能认为一个单词是大写的，所以看到它小写是正常的）并且使用一致的时态。一般的评论乍一看是有意义的，只有仔细阅读时才能注意到有些地方有点不对。对于在几个小时内训练的模型来说，这还不错！\n\n但我们的最终目标不是训练一个生成评论的模型，而是对其进行分类...所以让我们使用这个模型来做到这一点。\n\n## 创建分类器数据加载器\n\n我们现在从语言模型微调转向分类器微调。简而言之，语言模型预测文档的下一个单词，因此不需要任何外部标签。然而，分类器预测外部标签——在 IMDb 的情况下，是文档的情感。\n\n这意味着我们用于 NLP 分类的 `DataBlock` 结构看起来非常熟悉。它几乎与我们为许多图像分类数据集看到的相同：\n\n```py\ndls_clas = DataBlock(\n    blocks=(TextBlock.from_folder(path, vocab=dls_lm.vocab),CategoryBlock),\n    get_y = parent_label,\n    get_items=partial(get_text_files, folders=['train', 'test']),\n    splitter=GrandparentSplitter(valid_name='test')\n).dataloaders(path, path=path, bs=128, seq_len=72)\n```\n\n就像图像分类一样，`show_batch` 显示了依赖变量（情感，在这种情况下）与每个独立变量（电影评论文本）：\n\n```py\ndls_clas.show_batch(max_n=3)\n```\n\n|  | 文本 | 类别 |\n| --- | --- | --- |\n| 0 | xxbos 我给这部电影打了 3 颗头骨的评分，只是因为女孩们知道如何尖叫，这部电影本可以更好，如果演员更好的话，双胞胎还行，我相信他们是邪恶的，但是最大和最小的兄弟，他们表现得真的很糟糕，看起来他们在读剧本而不是表演……。剧透：如果他们是吸血鬼，为什么他们会冻结血液？吸血鬼不能喝冻结的血液，电影中的姐姐说让我们在她活着的时候喝她……。但是当他们搬到另一栋房子时，他们带了一个冷藏盒装着他们的冻结血液。剧透结束\\n\\n 这是浪费时间，这让我很生气，因为我读了所有关于它的评论 | neg |\n| 1 | xxbos 我已经阅读了所有的《爱来的方式》系列书籍。我充分了解电影无法使用书中的所有方面，但通常它们至少会有书中的主要内容。我对这部电影感到非常失望。这部电影中唯一与书中相同的是，书中有 xxmaj missy 的父亲来到 xxunk （在书中父母都来了）。就是这样。故事情节扭曲且牵强，是的，悲伤，与书中完全不同，我无法享受。即使我没有读过这本书，它也太悲伤了。我知道拓荒生活很艰难，但整部电影都是一个沮丧的故事。评分 | neg |\n| 2 | xxbos 这部电影，用一个更好的词来说，很糟糕。我从哪里开始呢……\\n\\n 电影摄影 - 这或许是我今年看过的最糟糕的。看起来就像摄影师之间在互相抛接相机。也许他们只有一台相机。这让你感觉像是一个排球。\\n\\n 有一堆场景，零零散散地扔进去，完全没有连贯性。当他们做 '分屏' 时，那是荒谬的。一切都被压扁了，看起来荒谬。颜色调整完全错了。这些人需要学会如何平衡相机。这部 '电影' 制作很差， | neg |\n\n从 `DataBlock` 的定义来看，每个部分都与我们构建的先前数据块相似，但有两个重要的例外：\n\n+   `TextBlock.from_folder` 不再具有 `is_lm=True` 参数。\n\n+   我们传递了为语言模型微调创建的 `vocab`。\n\n我们传递语言模型的 `vocab` 是为了确保我们使用相同的标记到索引的对应关系。否则，我们在微调语言模型中学到的嵌入对这个模型没有任何意义，微调步骤也没有任何用处。\n\n通过传递 `is_lm=False`（或者根本不传递 `is_lm`，因为它默认为 `False`），我们告诉 `TextBlock` 我们有常规标记的数据，而不是将下一个标记作为标签。然而，我们必须处理一个挑战，这与将多个文档合并成一个小批次有关。让我们通过一个示例来看，尝试创建一个包含前 10 个文档的小批次。首先我们将它们数值化：\n\n```py\nnums_samp = toks200[:10].map(num)\n```\n\n现在让我们看看这 10 条电影评论中每条有多少个标记：\n\n```py\nnums_samp.map(len)\n```\n\n```py\n(#10) [228,238,121,290,196,194,533,124,581,155]\n```\n\n记住，PyTorch 的 `DataLoader` 需要将批次中的所有项目整合到一个张量中，而一个张量具有固定的形状（即，每个轴上都有特定的长度，并且所有项目必须一致）。这应该听起来很熟悉：我们在图像中也遇到了同样的问题。在那种情况下，我们使用裁剪、填充和/或压缩来使所有输入大小相同。对于文档来说，裁剪可能不是一个好主意，因为我们可能会删除一些关键信息（话虽如此，对于图像也是同样的问题，我们在那里使用裁剪；数据增强在自然语言处理领域尚未得到很好的探索，因此也许在自然语言处理中也有使用裁剪的机会！）。你不能真正“压缩”一个文档。所以只剩下填充了！\n\n我们将扩展最短的文本以使它们都具有相同的大小。为此，我们使用一个特殊的填充标记，该标记将被我们的模型忽略。此外，为了避免内存问题并提高性能，我们将大致相同长度的文本批量处理在一起（对于训练集进行一些洗牌）。我们通过在每个时期之前（对于训练集）按长度对文档进行排序来实现这一点。结果是，整理成单个批次的文档往往具有相似的长度。我们不会将每个批次填充到相同的大小，而是使用每个批次中最大文档的大小作为目标大小。\n\n# 动态调整图像大小\n\n可以对图像执行类似的操作，这对于不规则大小的矩形图像特别有用，但在撰写本文时，尚无库提供良好的支持，也没有任何涵盖此内容的论文。然而，我们计划很快将其添加到 fastai 中，因此请关注本书的网站；一旦我们成功运行，我们将添加有关此内容的信息。\n\n当使用`TextBlock`和`is_lm=False`时，数据块 API 会自动为我们进行排序和填充。（对于语言模型数据，我们不会遇到这个问题，因为我们首先将所有文档连接在一起，然后将它们分成相同大小的部分。）\n\n我们现在可以创建一个用于分类文本的模型：\n\n```py\nlearn = text_classifier_learner(dls_clas, AWD_LSTM, drop_mult=0.5,\n                                metrics=accuracy).to_fp16()\n```\n\n在训练分类器之前的最后一步是从我们微调的语言模型中加载编码器。我们使用`load_encoder`而不是`load`，因为我们只有编码器的预训练权重可用；`load`默认情况下会在加载不完整的模型时引发异常：\n\n```py\nlearn = learn.load_encoder('finetuned')\n```\n\n## 微调分类器\n\n最后一步是使用有区分性的学习率和*逐步解冻*进行训练。在计算机视觉中，我们经常一次性解冻整个模型，但对于 NLP 分类器，我们发现逐层解冻会产生真正的差异：\n\n```py\nlearn.fit_one_cycle(1, 2e-2)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.347427 | 0.184480 | 0.929320 | 00:33 |\n\n仅仅一个时期，我们就获得了与第一章中的训练相同的结果——还不错！我们可以将`freeze_to`设置为`-2`，以冻结除最后两个参数组之外的所有参数组：\n\n```py\nlearn.freeze_to(-2)\nlearn.fit_one_cycle(1, slice(1e-2/(2.6**4),1e-2))\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.247763 | 0.171683 | 0.934640 | 00:37 |\n\n然后我们可以解冻更多层并继续训练：\n\n```py\nlearn.freeze_to(-3)\nlearn.fit_one_cycle(1, slice(5e-3/(2.6**4),5e-3))\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.193377 | 0.156696 | 0.941200 | 00:45 |\n\n最后，整个模型！\n\n```py\nlearn.unfreeze()\nlearn.fit_one_cycle(2, slice(1e-3/(2.6**4),1e-3))\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.172888 | 0.153770 | 0.943120 | 01:01 |\n| 1 | 0.161492 | 0.155567 | 0.942640 | 00:57 |\n\n我们达到了 94.3%的准确率，这在仅仅三年前是最先进的性能。通过在所有文本上训练另一个模型，并对这两个模型的预测进行平均，我们甚至可以达到 95.1%的准确率，这是由 ULMFiT 论文引入的最先进技术。仅仅几个月前，通过微调一个更大的模型并使用昂贵的数据增强技术（将句子翻译成另一种语言，然后再翻译回来，使用另一个模型进行翻译）来打破了这一记录。\n\n使用预训练模型让我们构建了一个非常强大的微调语言模型，可以用来生成假评论或帮助对其进行分类。这是令人兴奋的事情，但要记住这项技术也可以被用于恶意目的。\n\n# 虚假信息和语言模型\n\n即使是基于规则的简单算法，在广泛使用深度学习语言模型之前，也可以用来创建欺诈账户并试图影响决策者。ProPublica 的计算记者 Jeff Kao 分析了发送给美国联邦通信委员会（FCC）有关 2017 年废除网络中立提案的评论。在他的文章“可能伪造了一百多万条支持废除网络中立的评论”中，他报告了他是如何发现一大批反对网络中立的评论，这些评论似乎是通过某种 Mad Libs 风格的邮件合并生成的。在图 10-2 中，Kao 已经帮助着色编码了这些虚假评论，以突出它们的公式化特性。\n\n![](img/dlcf_1002.png)\n\n###### 图 10-2. FCC 在网络中立辩论期间收到的评论\n\nKao 估计“2200 多万条评论中不到 80 万条...可以被认为是真正独特的”，“超过 99%的真正独特评论支持保持网络中立”。\n\n鉴于自 2017 年以来语言建模的进展，这种欺诈性活动现在几乎不可能被发现。您现在拥有所有必要的工具来创建一个引人注目的语言模型 - 可以生成与上下文相关、可信的文本。它不一定会完全准确或正确，但它会是可信的。想象一下，当这种技术与我们近年来了解到的各种虚假信息活动结合在一起时会意味着什么。看看 Reddit 对话中显示的图 10-3，其中基于 OpenAI 的 GPT-2 算法的语言模型正在讨论美国政府是否应该削减国防开支。\n\n![Reddit 上的算法自言自语](img/dlcf_1003.png)\n\n###### 图 10-3. Reddit 上的算法自言自语\n\n在这种情况下，解释了正在使用算法生成对话。但想象一下，如果一个坏演员决定在社交网络上发布这样的算法会发生什么 - 他们可以慢慢而谨慎地这样做，让算法随着时间逐渐发展出追随者和信任。要做到这一点并不需要太多资源，就可以让成千上万的账户这样做。在这种情况下，我们很容易想象到在线讨论的绝大部分都是来自机器人，而没有人会意识到这种情况正在发生。\n\n我们已经开始看到机器学习被用来生成身份的例子。例如，图 10-4 显示了 Katie Jones 的 LinkedIn 个人资料。\n\n![](img/dlcf_1004.png)\n\n###### 图 10-4. Katie Jones 的 LinkedIn 个人资料\n\nKatie Jones 在 LinkedIn 上与几位主流华盛顿智库成员有联系。但她并不存在。你看到的那张图片是由生成对抗网络自动生成的，而某人名为 Katie Jones 的确没有毕业于战略与国际研究中心。\n\n许多人假设或希望算法将在这里为我们辩护 - 我们将开发能够自动识别自动生成内容的分类算法。然而，问题在于这将永远是一场军备竞赛，更好的分类（或鉴别器）算法可以用来创建更好的生成算法。\n\n# 结论\n\n在本章中，我们探讨了 fastai 库中提供的最后一个开箱即用的应用：文本。我们看到了两种类型的模型：可以生成文本的语言模型，以及可以确定评论是积极还是消极的分类器。为了构建一个最先进的分类器，我们使用了一个预训练的语言模型，对其进行微调以适应我们任务的语料库，然后使用其主体（编码器）与一个新的头部进行分类。\n\n在结束本书的这一部分之前，我们将看看 fastai 库如何帮助您为您的特定问题组装数据。\n\n# 问卷\n\n1.  什么是自监督学习？\n\n1.  什么是语言模型？\n\n1.  为什么语言模型被认为是自监督的？\n\n1.  自监督模型通常用于什么？\n\n1.  为什么我们要微调语言模型？\n\n1.  创建一流文本分类器的三个步骤是什么？\n\n1.  50,000 个未标记的电影评论如何帮助为 IMDb 数据集创建更好的文本分类器？\n\n1.  为语言模型准备数据的三个步骤是什么？\n\n1.  什么是标记化？为什么我们需要它？\n\n1.  列出三种标记化方法。\n\n1.  什么是 `xxbos`？\n\n1.  列出 fastai 在标记化期间应用的四条规则。\n\n1.  为什么重复字符被替换为一个显示重复次数和被重复的字符的标记？\n\n1.  什么是数值化？\n\n1.  为什么会有单词被替换为“未知单词”标记？\n\n1.  使用批量大小为 64，表示第一批次的张量的第一行包含数据集的前 64 个标记。那个张量的第二行包含什么？第二批次的第一行包含什么？（小心 - 学生经常答错这个问题！一定要在书的网站上检查你的答案。）\n\n1.  为什么文本分类需要填充？为什么语言建模不需要填充？\n\n1.  NLP 的嵌入矩阵包含什么？它的形状是什么？\n\n1.  什么是困惑度？\n\n1.  为什么我们必须将语言模型的词汇传递给分类器数据块？\n\n1.  什是逐步解冻？\n\n1.  为什么文本生成总是可能领先于自动识别机器生成的文本？\n\n## 进一步研究\n\n1.  看看你能学到关于语言模型和虚假信息的什么。今天最好的语言模型是什么？看看它们的一些输出。你觉得它们令人信服吗？坏人如何最好地利用这样的模型来制造冲突和不确定性？\n\n1.  考虑到模型不太可能能够一致地识别机器生成的文本，可能需要哪些其他方法来处理利用深度学习的大规模虚假信息活动？\n"
  },
  {
    "path": "translations/cn/11_midlevel_data.md",
    "content": "# 第十一章：使用 fastai 的中级 API 进行数据整理\n\n\n\n我们已经看到了`Tokenizer`和`Numericalize`对文本集合的处理方式，以及它们如何在数据块 API 中使用，该 API 直接使用`TextBlock`处理这些转换。但是，如果我们只想应用这些转换中的一个，要么是为了查看中间结果，要么是因为我们已经对文本进行了标记化，我们该怎么办？更一般地说，当数据块 API 不足以满足我们特定用例的需求时，我们需要使用 fastai 的*中级 API*来处理数据。数据块 API 是建立在该层之上的，因此它将允许您执行数据块 API 所做的一切，以及更多更多。\n\n# 深入了解 fastai 的分层 API\n\nfastai 库是建立在*分层 API*上的。在最顶层是*应用程序*，允许我们在五行代码中训练模型，正如我们在第一章中看到的。例如，对于为文本分类器创建`DataLoaders`，我们使用了这一行：\n\n```py\nfrom fastai.text.all import *\n\ndls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid='test')\n```\n\n当您的数据排列方式与 IMDb 数据集完全相同时，工厂方法`TextDataLoaders.from_folder`非常方便，但实际上，情况通常不会如此。数据块 API 提供了更多的灵活性。正如我们在前一章中看到的，我们可以通过以下方式获得相同的结果：\n\n```py\npath = untar_data(URLs.IMDB)\ndls = DataBlock(\n    blocks=(TextBlock.from_folder(path),CategoryBlock),\n    get_y = parent_label,\n    get_items=partial(get_text_files, folders=['train', 'test']),\n    splitter=GrandparentSplitter(valid_name='test')\n).dataloaders(path)\n```\n\n但有时它并不够灵活。例如，出于调试目的，我们可能需要仅应用与此数据块一起的部分转换。或者我们可能希望为 fastai 不直接支持的应用程序创建一个`DataLoaders`。在本节中，我们将深入探讨 fastai 内部用于实现数据块 API 的组件。了解这些将使您能够利用这个中间层 API 的强大和灵活性。\n\n# 中级 API\n\n中级 API 不仅包含用于创建`DataLoaders`的功能。它还具有*回调*系统，允许我们以任何我们喜欢的方式自定义训练循环，以及*通用优化器*。这两者将在第十六章中介绍。\n\n## 转换\n\n在前一章中研究标记化和数值化时，我们首先获取了一堆文本：\n\n```py\nfiles = get_text_files(path, folders = ['train', 'test'])\ntxts = L(o.open().read() for o in files[:2000])\n```\n\n然后我们展示了如何使用`Tokenizer`对它们进行标记化\n\n```py\ntok = Tokenizer.from_folder(path)\ntok.setup(txts)\ntoks = txts.map(tok)\ntoks[0]\n```\n\n```py\n(#374) ['xxbos','xxmaj','well',',','\"','cube','\"','(','1997',')'...]\n```\n\n以及如何进行数值化，包括自动为我们的语料库创建词汇表：\n\n```py\nnum = Numericalize()\nnum.setup(toks)\nnums = toks.map(num)\nnums[0][:10]\n```\n\n```py\ntensor([   2,    8,   76,   10,   23, 3112,   23,   34, 3113,   33])\n```\n\n这些类还有一个`decode`方法。例如，`Numericalize.decode`会将字符串标记返回给我们：\n\n```py\nnums_dec = num.decode(nums[0][:10]); nums_dec\n```\n\n```py\n(#10) ['xxbos','xxmaj','well',',','\"','cube','\"','(','1997',')']\n```\n\n`Tokenizer.decode`将其转换回一个字符串（但可能不完全与原始字符串相同；这取决于标记器是否是*可逆的*，在我们撰写本书时，默认的单词标记器不是）：\n\n```py\ntok.decode(nums_dec)\n```\n\n```py\n'xxbos xxmaj well , \" cube \" ( 1997 )'\n```\n\n`decode`被 fastai 的`show_batch`和`show_results`以及其他一些推断方法使用，将预测和小批量转换为人类可理解的表示。\n\n在前面的示例中，对于`tok`或`num`，我们创建了一个名为`setup`的对象（如果需要为`tok`训练标记器并为`num`创建词汇表），将其应用于我们的原始文本（通过将对象作为函数调用），然后最终将结果解码回可理解的表示。大多数数据预处理任务都需要这些步骤，因此 fastai 提供了一个封装它们的类。这就是`Transform`类。`Tokenize`和`Numericalize`都是`Transform`。\n\n一般来说，`Transform`是一个行为类似于函数的对象，它具有一个可选的`setup`方法，用于初始化内部状态（例如`num`内部的词汇表），以及一个可选的`decode`方法，用于反转函数（正如我们在`tok`中看到的那样，这种反转可能不完美）。\n\n`decode` 的一个很好的例子可以在我们在 第七章 中看到的 `Normalize` 转换中找到：为了能够绘制图像，它的 `decode` 方法会撤消归一化（即，乘以标准差并加回均值）。另一方面，数据增强转换没有 `decode` 方法，因为我们希望展示图像上的效果，以确保数据增强按我们的意愿进行工作。\n\n`Transform` 的一个特殊行为是它们总是应用于元组。一般来说，我们的数据总是一个元组 `(input, target)`（有时有多个输入或多个目标）。当对这样的项目应用转换时，例如 `Resize`，我们不希望整个元组被调整大小；相反，我们希望分别调整输入（如果适用）和目标（如果适用）。对于进行数据增强的批处理转换也是一样的：当输入是图像且目标是分割掩模时，需要将转换（以相同的方式）应用于输入和目标。\n\n如果我们将一个文本元组传递给 `tok`，我们可以看到这种行为：\n\n```py\ntok((txts[0], txts[1]))\n```\n\n```py\n((#374) ['xxbos','xxmaj','well',',','\"','cube','\"','(','1997',')'...],\n (#207)\n > ['xxbos','xxmaj','conrad','xxmaj','hall','went','out','with','a','bang'...])\n```\n\n## 编写您自己的转换\n\n如果您想编写一个自定义的转换来应用于您的数据，最简单的方法是编写一个函数。正如您在这个例子中看到的，`Transform` 只会应用于匹配的类型，如果提供了类型（否则，它将始终被应用）。在下面的代码中，函数签名中的 `:int` 表示 `f` 仅应用于 `ints`。这就是为什么 `tfm(2.0)` 返回 `2.0`，但 `tfm(2)` 在这里返回 `3`：\n\n```py\ndef f(x:int): return x+1\ntfm = Transform(f)\ntfm(2),tfm(2.0)\n```\n\n```py\n(3, 2.0)\n```\n\n在这里，`f` 被转换为一个没有 `setup` 和没有 `decode` 方法的 `Transform`。\n\nPython 有一种特殊的语法，用于将一个函数（如 `f`）传递给另一个函数（或类似函数的东西，在 Python 中称为 *callable*），称为 *decorator*。通过在可调用对象前加上 `@` 并将其放在函数定义之前来使用装饰器（关于 Python 装饰器有很多很好的在线教程，如果这对您来说是一个新概念，请查看其中一个）。以下代码与前面的代码相同：\n\n```py\n@Transform\ndef f(x:int): return x+1\nf(2),f(2.0)\n```\n\n```py\n(3, 2.0)\n```\n\n如果您需要 `setup` 或 `decode`，您需要对 `Transform` 进行子类化，以在 `encodes` 中实现实际的编码行为，然后（可选）在 `setups` 中实现设置行为和在 `decodes` 中实现解码行为：\n\n```py\nclass NormalizeMean(Transform):\n    def setups(self, items): self.mean = sum(items)/len(items)\n    def encodes(self, x): return x-self.mean\n    def decodes(self, x): return x+self.mean\n```\n\n在这里，`NormalizeMean` 将在设置期间初始化某个状态（传递的所有元素的平均值）；然后转换是减去该平均值。为了解码目的，我们通过添加平均值来实现该转换的反向。这里是 `NormalizeMean` 的一个示例：\n\n```py\ntfm = NormalizeMean()\ntfm.setup([1,2,3,4,5])\nstart = 2\ny = tfm(start)\nz = tfm.decode(y)\ntfm.mean,y,z\n```\n\n```py\n(3.0, -1.0, 2.0)\n```\n\n请注意，每个方法的调用和实现是不同的：\n\n| 类 | 调用 | 实现 |\n| --- | --- | --- |\n| `nn.Module`（PyTorch） | `()`（即，作为函数调用） | `forward` |\n| `Transform` | `()` | `encodes` |\n| `Transform` | `decode()` | `decodes` |\n| `Transform` | `setup()` | `setups` |\n\n因此，例如，您永远不会直接调用 `setups`，而是会调用 `setup`。原因是 `setup` 在为您调用 `setups` 之前和之后做了一些工作。要了解有关 `Transform` 及如何使用它们根据输入类型实现不同行为的更多信息，请务必查看 fastai 文档中的教程。\n\n## Pipeline\n\n要将几个转换组合在一起，fastai 提供了 `Pipeline` 类。我们通过向 `Pipeline` 传递一个 `Transform` 列表来定义一个 `Pipeline`；然后它将组合其中的转换。当您在对象上调用 `Pipeline` 时，它将自动按顺序调用其中的转换：\n\n```py\ntfms = Pipeline([tok, num])\nt = tfms(txts[0]); t[:20]\n```\n\n```py\ntensor([   2,    8,   76,   10,   23, 3112,   23,   34, 3113,   33,   10,    8,\n > 4477,   22,   88,   32,   10,   27,   42,   14])\n```\n\n您可以对编码结果调用 `decode`，以获取可以显示和分析的内容：\n\n```py\ntfms.decode(t)[:100]\n```\n\n```py\n'xxbos xxmaj well , \" cube \" ( 1997 ) , xxmaj vincenzo \\'s first movie , was one\n > of the most interesti'\n```\n\n`Transform` 中与 `Transform` 不同的部分是设置。要在一些数据上正确设置 `Transform` 的 `Pipeline`，您需要使用 `TfmdLists`。\n\n# TfmdLists 和 Datasets：转换的集合\n\n您的数据通常是一组原始项目（如文件名或 DataFrame 中的行），您希望对其应用一系列转换。我们刚刚看到，一系列转换在 fastai 中由`Pipeline`表示。将这个`Pipeline`与您的原始项目组合在一起的类称为`TfmdLists`。\n\n## TfmdLists\n\n以下是在前一节中看到的转换的简短方式：\n\n```py\ntls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize])\n```\n\n在初始化时，`TfmdLists`将自动调用每个`Transform`的`setup`方法，依次提供每个原始项目而不是由所有先前的`Transform`转换的项目。我们可以通过索引到`TfmdLists`中的任何原始元素来获得我们的`Pipeline`的结果：\n\n```py\nt = tls[0]; t[:20]\n```\n\n```py\ntensor([    2,     8,    91,    11,    22,  5793,    22,    37,  4910,    34,\n > 11,     8, 13042,    23,   107,    30,    11,    25,    44,    14])\n```\n\n而`TfmdLists`知道如何解码以进行显示：\n\n```py\ntls.decode(t)[:100]\n```\n\n```py\n'xxbos xxmaj well , \" cube \" ( 1997 ) , xxmaj vincenzo \\'s first movie , was one\n > of the most interesti'\n```\n\n实际上，它甚至有一个`show`方法：\n\n```py\ntls.show(t)\n```\n\n```py\nxxbos xxmaj well , \" cube \" ( 1997 ) , xxmaj vincenzo 's first movie , was one\n > of the most interesting and tricky ideas that xxmaj i 've ever seen when\n > talking about movies . xxmaj they had just one scenery , a bunch of actors\n > and a plot . xxmaj so , what made it so special were all the effective\n > direction , great dialogs and a bizarre condition that characters had to deal\n > like rats in a labyrinth . xxmaj his second movie , \" cypher \" ( 2002 ) , was\n > all about its story , but it was n't so good as \" cube \" but here are the\n > characters being tested like rats again .\n\n \" nothing \" is something very interesting and gets xxmaj vincenzo coming back\n > to his ' cube days ' , locking the characters once again in a very different\n > space with no time once more playing with the characters like playing with\n > rats in an experience room . xxmaj but instead of a thriller sci - fi ( even\n > some of the promotional teasers and trailers erroneous seemed like that ) , \"\n > nothing \" is a loose and light comedy that for sure can be called a modern\n > satire about our society and also about the intolerant world we 're living .\n > xxmaj once again xxmaj xxunk amaze us with a great idea into a so small kind\n > of thing . 2 actors and a blinding white scenario , that 's all you got most\n > part of time and you do n't need more than that . xxmaj while \" cube \" is a\n > claustrophobic experience and \" cypher \" confusing , \" nothing \" is\n > completely the opposite but at the same time also desperate .\n\n xxmaj this movie proves once again that a smart idea means much more than just\n > a millionaire budget . xxmaj of course that the movie fails sometimes , but\n > its prime idea means a lot and offsets any flaws . xxmaj there 's nothing\n > more to be said about this movie because everything is a brilliant surprise\n > and a totally different experience that i had in movies since \" cube \" .\n```\n\n`TfmdLists`以“s”命名，因为它可以使用`splits`参数处理训练集和验证集。您只需要传递在训练集中的元素的索引和在验证集中的元素的索引：\n\n```py\ncut = int(len(files)*0.8)\nsplits = [list(range(cut)), list(range(cut,len(files)))]\ntls = TfmdLists(files, [Tokenizer.from_folder(path), Numericalize],\n                splits=splits)\n```\n\n然后可以通过`train`和`valid`属性访问它们：\n\n```py\ntls.valid[0][:20]\n```\n\n```py\ntensor([    2,     8,    20,    30,    87,   510,  1570,    12,   408,   379,\n > 4196,    10,     8,    20,    30,    16,    13, 12216,   202,   509])\n```\n\n如果您手动编写了一个`Transform`，一次执行所有预处理，将原始项目转换为具有输入和目标的元组，那么`TfmdLists`是您需要的类。您可以使用`dataloaders`方法直接将其转换为`DataLoaders`对象。这是我们稍后在本章中将要做的事情。\n\n一般来说，您将有两个（或更多）并行的转换流水线：一个用于将原始项目处理为输入，另一个用于将原始项目处理为目标。例如，在这里，我们定义的流水线仅将原始文本处理为输入。如果我们要进行文本分类，还必须将标签处理为目标。\n\n为此，我们需要做两件事。首先，我们从父文件夹中获取标签名称。有一个名为`parent_label`的函数：\n\n```py\nlbls = files.map(parent_label)\nlbls\n```\n\n```py\n(#50000) ['pos','pos','pos','pos','pos','pos','pos','pos','pos','pos'...]\n```\n\n然后我们需要一个`Transform`，在设置期间将抓取的唯一项目构建为词汇表，然后在调用时将字符串标签转换为整数。fastai 为我们提供了这个；它被称为`Categorize`：\n\n```py\ncat = Categorize()\ncat.setup(lbls)\ncat.vocab, cat(lbls[0])\n```\n\n```py\n((#2) ['neg','pos'], TensorCategory(1))\n```\n\n要在我们的文件列表上自动执行整个设置，我们可以像以前一样创建一个`TfmdLists`：\n\n```py\ntls_y = TfmdLists(files, [parent_label, Categorize()])\ntls_y[0]\n```\n\n```py\nTensorCategory(1)\n```\n\n但是然后我们得到了两个分开的对象用于我们的输入和目标，这不是我们想要的。这就是`Datasets`发挥作用的地方。\n\n## Datasets\n\n`Datasets`将并行应用两个（或更多）流水线到相同的原始对象，并构建一个包含结果的元组。与`TfmdLists`一样，它将自动为我们进行设置，当我们索引到`Datasets`时，它将返回一个包含每个流水线结果的元组：\n\n```py\nx_tfms = [Tokenizer.from_folder(path), Numericalize]\ny_tfms = [parent_label, Categorize()]\ndsets = Datasets(files, [x_tfms, y_tfms])\nx,y = dsets[0]\nx[:20],y\n```\n\n像`TfmdLists`一样，我们可以将`splits`传递给`Datasets`以在训练和验证集之间拆分我们的数据：\n\n```py\nx_tfms = [Tokenizer.from_folder(path), Numericalize]\ny_tfms = [parent_label, Categorize()]\ndsets = Datasets(files, [x_tfms, y_tfms], splits=splits)\nx,y = dsets.valid[0]\nx[:20],y\n```\n\n```py\n(tensor([    2,     8,    20,    30,    87,   510,  1570,    12,   408,   379,\n > 4196,    10,     8,    20,    30,    16,    13, 12216,   202,   509]),\n TensorCategory(0))\n```\n\n它还可以解码任何处理过的元组或直接显示它：\n\n```py\nt = dsets.valid[0]\ndsets.decode(t)\n```\n\n```py\n('xxbos xxmaj this movie had horrible lighting and terrible camera movements .\n > xxmaj this movie is a jumpy horror flick with no meaning at all . xxmaj the\n > slashes are totally fake looking . xxmaj it looks like some 17 year - old\n > idiot wrote this movie and a 10 year old kid shot it . xxmaj with the worst\n > acting you can ever find . xxmaj people are tired of knives . xxmaj at least\n > move on to guns or fire . xxmaj it has almost exact lines from \" when a xxmaj\n > stranger xxmaj calls \" . xxmaj with gruesome killings , only crazy people\n > would enjoy this movie . xxmaj it is obvious the writer does n\\'t have kids\n > or even care for them . i mean at show some mercy . xxmaj just to sum it up ,\n > this movie is a \" b \" movie and it sucked . xxmaj just for your own sake , do\n > n\\'t even think about wasting your time watching this crappy movie .',\n 'neg')\n```\n\n最后一步是将我们的`Datasets`对象转换为`DataLoaders`，可以使用`dataloaders`方法完成。在这里，我们需要传递一个特殊参数来解决填充问题（正如我们在前一章中看到的）。这需要在我们批处理元素之前发生，所以我们将其传递给`before_batch`：\n\n```py\ndls = dsets.dataloaders(bs=64, before_batch=pad_input)\n```\n\n`dataloaders`直接在我们的`Datasets`的每个子集上调用`DataLoader`。fastai 的`DataLoader`扩展了 PyTorch 中同名类，并负责将我们的数据集中的项目整理成批次。它有很多自定义点，但您应该知道的最重要的是：\n\n`after_item`\n\n在数据集中抓取项目后应用于每个项目。这相当于`DataBlock`中的`item_tfms`。\n\n`before_batch`\n\n在整理之前应用于项目列表上。这是将项目填充到相同大小的理想位置。\n\n`after_batch`\n\n在构建后对整个批次应用。这相当于`DataBlock`中的`batch_tfms`。\n\n最后，这是为了准备文本分类数据所需的完整代码：\n\n```py\ntfms = [[Tokenizer.from_folder(path), Numericalize], [parent_label, Categorize]]\nfiles = get_text_files(path, folders = ['train', 'test'])\nsplits = GrandparentSplitter(valid_name='test')(files)\ndsets = Datasets(files, tfms, splits=splits)\ndls = dsets.dataloaders(dl_type=SortedDL, before_batch=pad_input)\n```\n\n与之前的代码的两个不同之处是使用`GrandparentSplitter`来分割我们的训练和验证数据，以及`dl_type`参数。这是告诉`dataloaders`使用`DataLoader`的`SortedDL`类，而不是通常的类。`SortedDL`通过将大致相同长度的样本放入批次来构建批次。\n\n这与我们之前的`DataBlock`完全相同：\n\n```py\npath = untar_data(URLs.IMDB)\ndls = DataBlock(\n    blocks=(TextBlock.from_folder(path),CategoryBlock),\n    get_y = parent_label,\n    get_items=partial(get_text_files, folders=['train', 'test']),\n    splitter=GrandparentSplitter(valid_name='test')\n).dataloaders(path)\n```\n\n但现在你知道如何定制每一个部分了！\n\n让我们现在通过一个计算机视觉示例练习刚学到的关于使用这个中级 API 进行数据预处理。\n\n# 应用中级数据 API：SiamesePair\n\n一个*暹罗模型*需要两张图片，并且必须确定它们是否属于同一类。在这个例子中，我们将再次使用宠物数据集，并准备数据用于一个模型，该模型将预测两张宠物图片是否属于同一品种。我们将在这里解释如何为这样的模型准备数据，然后我们将在第十五章中训练该模型。\n\n首先要做的是-让我们获取数据集中的图片：\n\n```py\nfrom fastai.vision.all import *\npath = untar_data(URLs.PETS)\nfiles = get_image_files(path/\"images\")\n```\n\n如果我们根本不关心显示我们的对象，我们可以直接创建一个转换来完全预处理那个文件列表。但是我们想要查看这些图片，因此我们需要创建一个自定义类型。当您在`TfmdLists`或`Datasets`对象上调用`show`方法时，它将解码项目，直到达到包含`show`方法的类型，并使用它来显示对象。该`show`方法会传递一个`ctx`，它可以是图像的`matplotlib`轴，也可以是文本的 DataFrame 行。\n\n在这里，我们创建了一个`SiameseImage`对象，它是`Tuple`的子类，旨在包含三个东西：两张图片和一个布尔值，如果图片是同一品种则为`True`。我们还实现了特殊的`show`方法，使其将两张图片与中间的黑线连接起来。不要太担心`if`测试中的部分（这是在 Python 图片而不是张量时显示`SiameseImage`的部分）；重要的部分在最后三行：\n\n```py\nclass SiameseImage(Tuple):\n    def show(self, ctx=None, **kwargs):\n        img1,img2,same_breed = self\n        if not isinstance(img1, Tensor):\n            if img2.size != img1.size: img2 = img2.resize(img1.size)\n            t1,t2 = tensor(img1),tensor(img2)\n            t1,t2 = t1.permute(2,0,1),t2.permute(2,0,1)\n        else: t1,t2 = img1,img2\n        line = t1.new_zeros(t1.shape[0], t1.shape[1], 10)\n        return show_image(torch.cat([t1,line,t2], dim=2),\n                          title=same_breed, ctx=ctx)\n```\n\n让我们创建一个第一个`SiameseImage`并检查我们的`show`方法是否有效：\n\n```py\nimg = PILImage.create(files[0])\ns = SiameseImage(img, img, True)\ns.show();\n```\n\n![](img/dlcf_11in01.png)\n\n我们也可以尝试一个不属于同一类的第二张图片：\n\n```py\nimg1 = PILImage.create(files[1])\ns1 = SiameseImage(img, img1, False)\ns1.show();\n```\n\n![](img/dlcf_11in02.png)\n\n我们之前看到的转换的重要之处是它们会分派到元组或其子类。这正是为什么在这种情况下我们选择子类化`Tuple`的原因-这样，我们可以将适用于图像的任何转换应用于我们的`SiameseImage`，并且它将应用于元组中的每个图像：\n\n```py\ns2 = Resize(224)(s1)\ns2.show();\n```\n\n![](img/dlcf_11in03.png)\n\n这里`Resize`转换应用于两个图片中的每一个，但不应用于布尔标志。即使我们有一个自定义类型，我们也可以从库中的所有数据增强转换中受益。\n\n现在我们准备构建`Transform`，以便为暹罗模型准备数据。首先，我们需要一个函数来确定所有图片的类别：\n\n```py\ndef label_func(fname):\n    return re.match(r'^(.*)_\\d+.jpg$', fname.name).groups()[0]\n```\n\n对于每张图片，我们的转换将以 0.5 的概率从同一类中绘制一张图片，并返回一个带有真标签的`SiameseImage`，或者从另一类中绘制一张图片并返回一个带有假标签的`SiameseImage`。这一切都在私有的`_draw`函数中完成。训练集和验证集之间有一个区别，这就是为什么转换需要用拆分初始化：在训练集上，我们将每次读取一张图片时进行随机选择，而在验证集上，我们将在初始化时进行一次性随机选择。这样，在训练期间我们会得到更多不同的样本，但始终是相同的验证集：\n\n```py\nclass SiameseTransform(Transform):\n    def __init__(self, files, label_func, splits):\n        self.labels = files.map(label_func).unique()\n        self.lbl2files = {l: L(f for f in files if label_func(f) == l)\n                          for l in self.labels}\n        self.label_func = label_func\n        self.valid = {f: self._draw(f) for f in files[splits[1]]}\n\n    def encodes(self, f):\n        f2,t = self.valid.get(f, self._draw(f))\n        img1,img2 = PILImage.create(f),PILImage.create(f2)\n        return SiameseImage(img1, img2, t)\n\n    def _draw(self, f):\n        same = random.random() < 0.5\n        cls = self.label_func(f)\n        if not same:\n            cls = random.choice(L(l for l in self.labels if l != cls))\n        return random.choice(self.lbl2files[cls]),same\n```\n\n然后我们可以创建我们的主要转换：\n\n```py\nsplits = RandomSplitter()(files)\ntfm = SiameseTransform(files, label_func, splits)\ntfm(files[0]).show();\n```\n\n![](img/dlcf_11in04.png)\n\n在数据收集的中级 API 中，我们有两个对象可以帮助我们在一组项目上应用转换：`TfmdLists`和`Datasets`。如果您记得刚才看到的内容，一个应用一系列转换的`Pipeline`，另一个并行应用多个`Pipeline`，以构建元组。在这里，我们的主要转换已经构建了元组，因此我们使用`TfmdLists`：\n\n```py\ntls = TfmdLists(files, tfm, splits=splits)\nshow_at(tls.valid, 0);\n```\n\n![](img/dlcf_11in05.png)\n\n最后，我们可以通过调用`dataloaders`方法在`DataLoaders`中获取我们的数据。这里需要注意的一点是，这个方法不像`DataBlock`那样接受`item_tfms`和`batch_tfms`。fastai 的`DataLoader`有几个钩子，这些钩子以事件命名；在我们抓取项目后应用的内容称为`after_item`，在构建批次后应用的内容称为`after_batch`：\n\n```py\ndls = tls.dataloaders(after_item=[Resize(224), ToTensor],\n    after_batch=[IntToFloatTensor, Normalize.from_stats(*imagenet_stats)])\n```\n\n请注意，我们需要传递比通常更多的转换，这是因为数据块 API 通常会自动添加它们：\n\n+   `ToTensor`是将图像转换为张量的函数（再次，它应用于元组的每个部分）。\n\n+   `IntToFloatTensor`将包含 0 到 255 之间整数的图像张量转换为浮点数张量，并除以 255，使值在 0 到 1 之间。\n\n现在我们可以使用这个`DataLoaders`来训练模型。与`cnn_learner`提供的通常模型相比，它需要更多的定制，因为它必须接受两个图像而不是一个，但我们将看到如何创建这样的模型并在第十五章中进行训练。\n\n# 结论\n\nfastai 提供了分层 API。当数据处于通常设置之一时，只需一行代码即可获取数据，这使得初学者可以专注于训练模型，而无需花费太多时间组装数据。然后，高级数据块 API 通过允许您混合和匹配构建块来提供更多灵活性。在其下面，中级 API 为您提供更大的灵活性，以在项目上应用转换。在您的实际问题中，这可能是您需要使用的内容，我们希望它使数据处理步骤尽可能简单。\n\n# 问卷调查\n\n1.  为什么我们说 fastai 具有“分层”API？这是什么意思？\n\n1.  `Transform`为什么有一个`decode`方法？它是做什么的？\n\n1.  `Transform`为什么有一个`setup`方法？它是做什么的？\n\n1.  当在元组上调用`Transform`时，它是如何工作的？\n\n1.  编写自己的`Transform`时需要实现哪些方法？\n\n1.  编写一个完全规范化项目的`Normalize`转换（减去数据集的平均值并除以标准差），并且可以解码该行为。尽量不要偷看！\n\n1.  编写一个`Transform`，用于对标记化文本进行数字化（它应该从已见数据集自动设置其词汇，并具有`decode`方法）。如果需要帮助，请查看 fastai 的源代码。\n\n1.  什么是`Pipeline`？\n\n1.  什么是`TfmdLists`？\n\n1.  什么是`Datasets`？它与`TfmdLists`有什么不同？\n\n1.  为什么`TfmdLists`和`Datasets`带有“s”这个名字？\n\n1.  如何从`TfmdLists`或`Datasets`构建`DataLoaders`？\n\n1.  在从`TfmdLists`或`Datasets`构建`DataLoaders`时，如何传递`item_tfms`和`batch_tfms`？\n\n1.  当您希望自定义项目与`show_batch`或`show_results`等方法一起使用时，您需要做什么？\n\n1.  为什么我们可以轻松地将 fastai 数据增强转换应用于我们构建的`SiamesePair`？\n\n## 进一步研究\n\n1.  使用中级 API 在自己的数据集上准备`DataLoaders`中的数据。尝试在 Pet 数据集和 Adult 数据集上进行此操作，这两个数据集来自第一章。\n\n1.  查看[fastai 文档](https://docs.fast.ai)中的 Siamese 教程，了解如何为新类型的项目自定义`show_batch`和`show_results`的行为。在您自己的项目中实现它。\n\n# 理解 fastai 的应用：总结\n\n恭喜你——你已经完成了本书中涵盖训练模型和使用深度学习的关键实用部分的所有章节！你知道如何使用所有 fastai 内置的应用程序，以及如何使用数据块 API 和损失函数进行定制。你甚至知道如何从头开始创建神经网络并训练它！（希望你现在也知道一些问题要问，以确保你的创作有助于改善社会。）\n\n你已经掌握的知识足以创建许多类型的神经网络应用的完整工作原型。更重要的是，它将帮助你了解深度学习模型的能力和局限性，以及如何设计一个适应它们的系统。\n\n在本书的其余部分，我们将逐个拆解这些应用程序，以了解它们构建在哪些基础之上。这对于深度学习从业者来说是重要的知识，因为它使您能够检查和调试您构建的模型，并创建定制的新应用程序，以适应您特定的项目。\n"
  },
  {
    "path": "translations/cn/12_nlp_dive.md",
    "content": "# 第十二章：从头开始的语言模型\n\n\n\n我们现在准备深入…深入深度学习！您已经学会了如何训练基本的神经网络，但是如何从那里创建最先进的模型呢？在本书的这一部分，我们将揭开所有的神秘，从语言模型开始。\n\n您在第十章中看到了如何微调预训练的语言模型以构建文本分类器。在本章中，我们将解释该模型的内部结构以及 RNN 是什么。首先，让我们收集一些数据，这些数据将允许我们快速原型化各种模型。\n\n# 数据\n\n每当我们开始处理一个新问题时，我们总是首先尝试想出一个最简单的数据集，这样可以让我们快速轻松地尝试方法并解释结果。几年前我们开始进行语言建模时，我们没有找到任何可以快速原型的数据集，所以我们自己制作了一个。我们称之为*Human Numbers*，它简单地包含了用英语写出的前 10000 个数字。\n\n# Jeremy 说\n\n我在高度经验丰富的从业者中经常看到的一个常见实际错误是在分析过程中未能在适当的时间使用适当的数据集。特别是，大多数人倾向于从太大、太复杂的数据集开始。\n\n我们可以按照通常的方式下载、提取并查看我们的数据集：\n\n```py\nfrom fastai.text.all import *\npath = untar_data(URLs.HUMAN_NUMBERS)\n```\n\n```py\npath.ls()\n```\n\n```py\n(#2) [Path('train.txt'),Path('valid.txt')]\n```\n\n让我们打开这两个文件，看看里面有什么。首先，我们将把所有文本连接在一起，忽略数据集给出的训练/验证拆分（我们稍后会回到这一点）：\n\n```py\nlines = L()\nwith open(path/'train.txt') as f: lines += L(*f.readlines())\nwith open(path/'valid.txt') as f: lines += L(*f.readlines())\nlines\n```\n\n```py\n(#9998) ['one \\n','two \\n','three \\n','four \\n','five \\n','six \\n','seven\n > \\n','eight \\n','nine \\n','ten \\n'...]\n```\n\n我们将所有这些行连接在一个大流中。为了标记我们从一个数字到下一个数字的转变，我们使用`.`作为分隔符：\n\n```py\ntext = ' . '.join([l.strip() for l in lines])\ntext[:100]\n```\n\n```py\n'one . two . three . four . five . six . seven . eight . nine . ten . eleven .\n > twelve . thirteen . fo'\n```\n\n我们可以通过在空格上拆分来对这个数据集进行标记化：\n\n```py\ntokens = text.split(' ')\ntokens[:10]\n```\n\n```py\n['one', '.', 'two', '.', 'three', '.', 'four', '.', 'five', '.']\n```\n\n为了数值化，我们必须创建一个包含所有唯一标记（我们的*词汇表*）的列表：\n\n```py\nvocab = L(*tokens).unique()\nvocab\n```\n\n```py\n(#30) ['one','.','two','three','four','five','six','seven','eight','nine'...]\n```\n\n然后，我们可以通过查找每个词在词汇表中的索引，将我们的标记转换为数字：\n\n```py\nword2idx = {w:i for i,w in enumerate(vocab)}\nnums = L(word2idx[i] for i in tokens)\nnums\n```\n\n```py\n(#63095) [0,1,2,1,3,1,4,1,5,1...]\n```\n\n现在我们有了一个小数据集，语言建模应该是一个简单的任务，我们可以构建我们的第一个模型。\n\n# 我们的第一个从头开始的语言模型\n\n将这转换为神经网络的一个简单方法是指定我们将基于前三个单词预测每个单词。我们可以创建一个包含每个三个单词序列的列表作为我们的自变量，以及每个序列后面的下一个单词作为因变量。\n\n我们可以用普通的 Python 来做到这一点。首先让我们用标记来确认它是什么样子的：\n\n```py\nL((tokens[i:i+3], tokens[i+3]) for i in range(0,len(tokens)-4,3))\n```\n\n```py\n(#21031) [(['one', '.', 'two'], '.'),(['.', 'three', '.'], 'four'),(['four',\n > '.', 'five'], '.'),(['.', 'six', '.'], 'seven'),(['seven', '.', 'eight'],\n > '.'),(['.', 'nine', '.'], 'ten'),(['ten', '.', 'eleven'], '.'),(['.',\n > 'twelve', '.'], 'thirteen'),(['thirteen', '.', 'fourteen'], '.'),(['.',\n > 'fifteen', '.'], 'sixteen')...]\n```\n\n现在我们将使用数值化值的张量来做到这一点，这正是模型实际使用的：\n\n```py\nseqs = L((tensor(nums[i:i+3]), nums[i+3]) for i in range(0,len(nums)-4,3))\nseqs\n```\n\n```py\n(#21031) [(tensor([0, 1, 2]), 1),(tensor([1, 3, 1]), 4),(tensor([4, 1, 5]),\n > 1),(tensor([1, 6, 1]), 7),(tensor([7, 1, 8]), 1),(tensor([1, 9, 1]),\n > 10),(tensor([10,  1, 11]), 1),(tensor([ 1, 12,  1]), 13),(tensor([13,  1,\n > 14]), 1),(tensor([ 1, 15,  1]), 16)...]\n```\n\n我们可以使用`DataLoader`类轻松地对这些进行批处理。现在，我们将随机拆分序列：\n\n```py\nbs = 64\ncut = int(len(seqs) * 0.8)\ndls = DataLoaders.from_dsets(seqs[:cut], seqs[cut:], bs=64, shuffle=False)\n```\n\n现在我们可以创建一个神经网络架构，它以三个单词作为输入，并返回词汇表中每个可能的下一个单词的概率预测。我们将使用三个标准线性层，但有两个调整。\n\n第一个调整是，第一个线性层将仅使用第一个词的嵌入作为激活，第二层将使用第二个词的嵌入加上第一层的输出激活，第三层将使用第三个词的嵌入加上第二层的输出激活。关键效果是每个词都在其前面的任何单词的信息上下文中被解释。\n\n第二个调整是，这三个层中的每一个将使用相同的权重矩阵。一个词对来自前面单词的激活的影响方式不应该取决于单词的位置。换句话说，激活值会随着数据通过层移动而改变，但是层权重本身不会从一层到另一层改变。因此，一个层不会学习一个序列位置；它必须学会处理所有位置。\n\n由于层权重不会改变，您可能会认为顺序层是“重复的相同层”。事实上，PyTorch 使这一点具体化；我们可以创建一个层并多次使用它。\n\n## 我们的 PyTorch 语言模型\n\n我们现在可以创建我们之前描述的语言模型模块：\n\n```py\nclass LMModel1(Module):\n    def __init__(self, vocab_sz, n_hidden):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.h_h = nn.Linear(n_hidden, n_hidden)\n        self.h_o = nn.Linear(n_hidden,vocab_sz)\n\n    def forward(self, x):\n        h = F.relu(self.h_h(self.i_h(x[:,0])))\n        h = h + self.i_h(x[:,1])\n        h = F.relu(self.h_h(h))\n        h = h + self.i_h(x[:,2])\n        h = F.relu(self.h_h(h))\n        return self.h_o(h)\n```\n\n正如您所看到的，我们已经创建了三个层：\n\n+   嵌入层（`i_h`，表示 *输入* 到 *隐藏*）\n\n+   线性层用于创建下一个单词的激活（`h_h`，表示 *隐藏* 到 *隐藏*）\n\n+   一个最终的线性层来预测第四个单词（`h_o`，表示 *隐藏* 到 *输出*）\n\n这可能更容易以图示形式表示，因此让我们定义一个基本神经网络的简单图示表示。图 12-1 显示了我们将如何用一个隐藏层表示神经网络。\n\n![简单神经网络的图示表示](img/dlcf_1201.png)\n\n###### 图 12-1。简单神经网络的图示表示\n\n每个形状代表激活：矩形代表输入，圆圈代表隐藏（内部）层激活，三角形代表输出激活。我们将在本章中的所有图表中使用这些形状（在 图 12-2 中总结）。\n\n![我们图示表示中使用的形状](img/dlcf_1202.png)\n\n###### 图 12-2。我们图示表示中使用的形状\n\n箭头代表实际的层计算——即线性层后跟激活函数。使用这种符号，图 12-3 显示了我们简单语言模型的外观。\n\n![我们基本语言模型的表示](img/dlcf_1203.png)\n\n###### 图 12-3。我们基本语言模型的表示\n\n为了简化事情，我们已经从每个箭头中删除了层计算的细节。我们还对箭头进行了颜色编码，使所有具有相同颜色的箭头具有相同的权重矩阵。例如，所有输入层使用相同的嵌入矩阵，因此它们都具有相同的颜色（绿色）。\n\n让我们尝试训练这个模型，看看效果如何：\n\n```py\nlearn = Learner(dls, LMModel1(len(vocab), 64), loss_func=F.cross_entropy,\n                metrics=accuracy)\nlearn.fit_one_cycle(4, 1e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.824297 | 1.970941 | 0.467554 | 00:02 |\n| 1 | 1.386973 | 1.823242 | 0.467554 | 00:02 |\n| 2 | 1.417556 | 1.654497 | 0.494414 | 00:02 |\n| 3 | 1.376440 | 1.650849 | 0.494414 | 00:02 |\n\n要查看这是否有效，请查看一个非常简单的模型会给我们什么结果。在这种情况下，我们总是可以预测最常见的标记，因此让我们找出在我们的验证集中最常见的目标是哪个标记：\n\n```py\nn,counts = 0,torch.zeros(len(vocab))\nfor x,y in dls.valid:\n    n += y.shape[0]\n    for i in range_of(vocab): counts[i] += (y==i).long().sum()\nidx = torch.argmax(counts)\nidx, vocab[idx.item()], counts[idx].item()/n\n```\n\n```py\n(tensor(29), 'thousand', 0.15165200855716662)\n```\n\n最常见的标记的索引是 29，对应于标记 `thousand`。总是预测这个标记将给我们大约 15% 的准确率，所以我们表现得更好！\n\n# Alexis 说\n\n我的第一个猜测是分隔符会是最常见的标记，因为每个数字都有一个分隔符。但查看 `tokens` 提醒我，大数字用许多单词写成，所以在通往 10,000 的路上，你会经常写“thousand”：five thousand, five thousand and one, five thousand and two 等等。糟糕！查看数据对于注意到微妙特征以及尴尬明显的特征都很有帮助。\n\n这是一个不错的第一个基线。让我们看看如何用循环重构它。\n\n## 我们的第一个循环神经网络\n\n查看我们模块的代码，我们可以通过用 `for` 循环替换调用层的重复代码来简化它。除了使我们的代码更简单外，这样做的好处是我们将能够同样适用于不同长度的标记序列——我们不会被限制在长度为三的标记列表上：\n\n```py\nclass LMModel2(Module):\n    def __init__(self, vocab_sz, n_hidden):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.h_h = nn.Linear(n_hidden, n_hidden)\n        self.h_o = nn.Linear(n_hidden,vocab_sz)\n\n    def forward(self, x):\n        h = 0\n        for i in range(3):\n            h = h + self.i_h(x[:,i])\n            h = F.relu(self.h_h(h))\n        return self.h_o(h)\n```\n\n让我们检查一下，看看我们使用这种重构是否得到相同的结果：\n\n```py\nlearn = Learner(dls, LMModel2(len(vocab), 64), loss_func=F.cross_entropy,\n                metrics=accuracy)\nlearn.fit_one_cycle(4, 1e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.816274 | 1.964143 | 0.460185 | 00:02 |\n| 1 | 1.423805 | 1.739964 | 0.473259 | 00:02 |\n| 2 | 1.430327 | 1.685172 | 0.485382 | 00:02 |\n| 3 | 1.388390 | 1.657033 | 0.470406 | 00:02 |\n\n我们还可以以完全相同的方式重构我们的图示表示，如图 12-4 所示（这里我们也删除了激活大小的细节，并使用与图 12-3 相同的箭头颜色）。\n\n![基本循环神经网络](img/dlcf_1204.png)\n\n###### 图 12-4\\. 基本循环神经网络\n\n您将看到一组激活在每次循环中被更新，存储在变量`h`中—这被称为*隐藏状态*。\n\n# 术语：隐藏状态\n\n在循环神经网络的每一步中更新的激活。\n\n使用这样的循环定义的神经网络称为*循环神经网络*（RNN）。重要的是要意识到 RNN 并不是一个复杂的新架构，而只是使用`for`循环对多层神经网络进行重构。\n\n# Alexis 说\n\n我的真实看法：如果它们被称为“循环神经网络”或 LNNs，它们看起来会少恐怖 50%！\n\n现在我们知道了什么是 RNN，让我们试着让它变得更好一点。\n\n# 改进 RNN\n\n观察我们的 RNN 代码，有一个看起来有问题的地方是，我们为每个新的输入序列将隐藏状态初始化为零。为什么这是个问题呢？我们将样本序列设置得很短，以便它们可以轻松地适应批处理。但是，如果我们正确地对这些样本进行排序，模型将按顺序读取样本序列，使模型暴露于原始序列的长时间段。\n\n我们还可以考虑增加更多信号：为什么只预测第四个单词，而不使用中间预测来预测第二和第三个单词呢？让我们看看如何实现这些变化，首先从添加一些状态开始。\n\n## 维护 RNN 的状态\n\n因为我们为每个新样本将模型的隐藏状态初始化为零，这样我们就丢失了关于迄今为止看到的句子的所有信息，这意味着我们的模型实际上不知道我们在整体计数序列中的进度。这很容易修复；我们只需将隐藏状态的初始化移动到`__init__`中。\n\n但是，这种修复方法将产生自己微妙但重要的问题。它实际上使我们的神经网络变得和文档中的令牌数量一样多。例如，如果我们的数据集中有 10,000 个令牌，我们将创建一个有 10,000 层的神经网络。\n\n要了解为什么会出现这种情况，请考虑我们循环神经网络的原始图示表示，即在图 12-3 中，在使用`for`循环重构之前。您可以看到每个层对应一个令牌输入。当我们谈论使用`for`循环重构之前的循环神经网络的表示时，我们称之为*展开表示*。在尝试理解 RNN 时，考虑展开表示通常是有帮助的。\n\n10,000 层神经网络的问题在于，当您到达数据集的第 10,000 个单词时，您仍然需要计算直到第一层的所有导数。这将非常缓慢，且占用内存。您可能无法在 GPU 上存储一个小批量。\n\n解决这个问题的方法是告诉 PyTorch 我们不希望通过整个隐式神经网络反向传播导数。相反，我们将保留梯度的最后三层。为了在 PyTorch 中删除所有梯度历史，我们使用`detach`方法。\n\n这是我们 RNN 的新版本。现在它是有状态的，因为它在不同调用`forward`时记住了其激活，这代表了它在批处理中用于不同样本的情况：\n\n```py\nclass LMModel3(Module):\n    def __init__(self, vocab_sz, n_hidden):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.h_h = nn.Linear(n_hidden, n_hidden)\n        self.h_o = nn.Linear(n_hidden,vocab_sz)\n        self.h = 0\n\n    def forward(self, x):\n        for i in range(3):\n            self.h = self.h + self.i_h(x[:,i])\n            self.h = F.relu(self.h_h(self.h))\n        out = self.h_o(self.h)\n        self.h = self.h.detach()\n        return out\n\n    def reset(self): self.h = 0\n```\n\n无论我们选择什么序列长度，这个模型将具有相同的激活，因为隐藏状态将记住上一批次的最后激活。唯一不同的是在每一步计算的梯度：它们将仅在过去的序列长度标记上计算，而不是整个流。这种方法称为*时间穿梭反向传播*（BPTT）。\n\n# 术语：时间穿梭反向传播\n\n将一个神经网络有效地视为每个时间步长一个层（通常使用循环重构），并以通常的方式在其上计算梯度。为了避免内存和时间不足，我们通常使用*截断* BPTT，每隔几个时间步“分离”隐藏状态的计算历史。\n\n要使用`LMModel3`，我们需要确保样本按照一定顺序进行查看。正如我们在第十章中看到的，如果第一批的第一行是我们的`dset[0]`，那么第二批应该将`dset[1]`作为第一行，以便模型看到文本流动。\n\n`LMDataLoader`在第十章中为我们做到了这一点。这次我们要自己做。\n\n为此，我们将重新排列我们的数据集。首先，我们将样本分成`m = len(dset) // bs`组（这相当于将整个连接数据集分成，例如，64 个大小相等的部分，因为我们在这里使用`bs=64`）。`m`是每个这些部分的长度。例如，如果我们使用整个数据集（尽管我们实际上将在一会儿将其分成训练和验证），我们有：\n\n```py\nm = len(seqs)//bs\nm,bs,len(seqs)\n```\n\n```py\n(328, 64, 21031)\n```\n\n第一批将由样本组成\n\n```py\n(0, m, 2*m, ..., (bs-1)*m)\n```\n\n样本的第二批\n\n```py\n(1, m+1, 2*m+1, ..., (bs-1)*m+1)\n```\n\n等等。这样，每个时期，模型将在每批次的每行上看到大小为`3*m`的连续文本块（因为每个文本的大小为 3）。\n\n以下函数执行重新索引：\n\n```py\ndef group_chunks(ds, bs):\n    m = len(ds) // bs\n    new_ds = L()\n    for i in range(m): new_ds += L(ds[i + m*j] for j in range(bs))\n    return new_ds\n```\n\n然后，我们在构建`DataLoaders`时只需传递`drop_last=True`来删除最后一个形状不为`bs`的批次。我们还传递`shuffle=False`以确保文本按顺序阅读：\n\n```py\ncut = int(len(seqs) * 0.8)\ndls = DataLoaders.from_dsets(\n    group_chunks(seqs[:cut], bs),\n    group_chunks(seqs[cut:], bs),\n    bs=bs, drop_last=True, shuffle=False)\n```\n\n我们添加的最后一件事是通过`Callback`对训练循环进行微调。我们将在第十六章中更多地讨论回调；这个回调将在每个时期的开始和每个验证阶段之前调用我们模型的`reset`方法。由于我们实现了该方法来将模型的隐藏状态设置为零，这将确保我们在阅读这些连续文本块之前以干净的状态开始。我们也可以开始训练更长一点：\n\n```py\nlearn = Learner(dls, LMModel3(len(vocab), 64), loss_func=F.cross_entropy,\n                metrics=accuracy, cbs=ModelResetter)\nlearn.fit_one_cycle(10, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.677074 | 1.827367 | 0.467548 | 00:02 |\n| 1 | 1.282722 | 1.870913 | 0.388942 | 00:02 |\n| 2 | 1.090705 | 1.651793 | 0.462500 | 00:02 |\n| 3 | 1.005092 | 1.613794 | 0.516587 | 00:02 |\n| 4 | 0.965975 | 1.560775 | 0.551202 | 00:02 |\n| 5 | 0.916182 | 1.595857 | 0.560577 | 00:02 |\n| 6 | 0.897657 | 1.539733 | 0.574279 | 00:02 |\n| 7 | 0.836274 | 1.585141 | 0.583173 | 00:02 |\n| 8 | 0.805877 | 1.629808 | 0.586779 | 00:02 |\n| 9 | 0.795096 | 1.651267 | 0.588942 | 00:02 |\n\n这已经更好了！下一步是使用更多目标并将它们与中间预测进行比较。\n\n## 创建更多信号\n\n我们当前方法的另一个问题是，我们仅为每三个输入单词预测一个输出单词。因此，我们反馈以更新权重的信号量不如可能的那么大。如果我们在每个单词后预测下一个单词，而不是每三个单词，将会更好，如图 12-5 所示。\n\n![RNN 在每个标记后进行预测](img/dlcf_1205.png)\n\n###### 图 12-5。RNN 在每个标记后进行预测\n\n这很容易添加。我们需要首先改变我们的数据，使得因变量在每个三个输入词后的每个三个词中都有。我们使用一个属性`sl`（用于序列长度），并使其稍微变大：\n\n```py\nsl = 16\nseqs = L((tensor(nums[i:i+sl]), tensor(nums[i+1:i+sl+1]))\n         for i in range(0,len(nums)-sl-1,sl))\ncut = int(len(seqs) * 0.8)\ndls = DataLoaders.from_dsets(group_chunks(seqs[:cut], bs),\n                             group_chunks(seqs[cut:], bs),\n                             bs=bs, drop_last=True, shuffle=False)\n```\n\n查看`seqs`的第一个元素，我们可以看到它包含两个相同大小的列表。第二个列表与第一个相同，但偏移了一个元素：\n\n```py\n[L(vocab[o] for o in s) for s in seqs[0]]\n```\n\n```py\n[(#16) ['one','.','two','.','three','.','four','.','five','.'...],\n (#16) ['.','two','.','three','.','four','.','five','.','six'...]]\n```\n\n现在我们需要修改我们的模型，使其在每个单词之后输出一个预测，而不仅仅是在一个三个词序列的末尾：\n\n```py\nclass LMModel4(Module):\n    def __init__(self, vocab_sz, n_hidden):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.h_h = nn.Linear(n_hidden, n_hidden)\n        self.h_o = nn.Linear(n_hidden,vocab_sz)\n        self.h = 0\n\n    def forward(self, x):\n        outs = []\n        for i in range(sl):\n            self.h = self.h + self.i_h(x[:,i])\n            self.h = F.relu(self.h_h(self.h))\n            outs.append(self.h_o(self.h))\n        self.h = self.h.detach()\n        return torch.stack(outs, dim=1)\n\n    def reset(self): self.h = 0\n```\n\n这个模型将返回形状为`bs x sl x vocab_sz`的输出（因为我们在`dim=1`上堆叠）。我们的目标的形状是`bs x sl`，所以在使用`F.cross_entropy`之前，我们需要将它们展平：\n\n```py\ndef loss_func(inp, targ):\n    return F.cross_entropy(inp.view(-1, len(vocab)), targ.view(-1))\n```\n\n我们现在可以使用这个损失函数来训练模型：\n\n```py\nlearn = Learner(dls, LMModel4(len(vocab), 64), loss_func=loss_func,\n                metrics=accuracy, cbs=ModelResetter)\nlearn.fit_one_cycle(15, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 3.103298 | 2.874341 | 0.212565 | 00:01 |\n| 1 | 2.231964 | 1.971280 | 0.462158 | 00:01 |\n| 2 | 1.711358 | 1.813547 | 0.461182 | 00:01 |\n| 3 | 1.448516 | 1.828176 | 0.483236 | 00:01 |\n| 4 | 1.288630 | 1.659564 | 0.520671 | 00:01 |\n| 5 | 1.161470 | 1.714023 | 0.554932 | 00:01 |\n| 6 | 1.055568 | 1.660916 | 0.575033 | 00:01 |\n| 7 | 0.960765 | 1.719624 | 0.591064 | 00:01 |\n| 8 | 0.870153 | 1.839560 | 0.614665 | 00:01 |\n| 9 | 0.808545 | 1.770278 | 0.624349 | 00:01 |\n| 10 | 0.758084 | 1.842931 | 0.610758 | 00:01 |\n| 11 | 0.719320 | 1.799527 | 0.646566 | 00:01 |\n| 12 | 0.683439 | 1.917928 | 0.649821 | 00:01 |\n| 13 | 0.660283 | 1.874712 | 0.628581 | 00:01 |\n| 14 | 0.646154 | 1.877519 | 0.640055 | 00:01 |\n\n我们需要训练更长时间，因为任务有点变化，现在更加复杂。但我们最终得到了一个好结果...至少有时候是这样。如果你多次运行它，你会发现在不同的运行中可以得到非常不同的结果。这是因为实际上我们在这里有一个非常深的网络，这可能导致非常大或非常小的梯度。我们将在本章的下一部分看到如何处理这个问题。\n\n现在，获得更好模型的明显方法是加深：在我们基本的 RNN 中，隐藏状态和输出激活之间只有一个线性层，所以也许我们用更多的线性层会得到更好的结果。\n\n# 多层 RNNs\n\n在多层 RNN 中，我们将来自我们递归神经网络的激活传递到第二个递归神经网络中，就像图 12-6 中所示。\n\n![2 层 RNN](img/dlcf_1206.png)\n\n###### 图 12-6\\. 2 层 RNN\n\n展开的表示在图 12-7 中显示（类似于图 12-3）。\n\n![2 层展开的 RNN](img/dlcf_1207.png)\n\n###### 图 12-7\\. 2 层展开的 RNN\n\n让我们看看如何在实践中实现这一点。\n\n## 模型\n\n我们可以通过使用 PyTorch 的`RNN`类来节省一些时间，该类实现了我们之前创建的内容，但也给了我们堆叠多个 RNN 的选项，正如我们之前讨论的那样：\n\n```py\nclass LMModel5(Module):\n    def __init__(self, vocab_sz, n_hidden, n_layers):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.rnn = nn.RNN(n_hidden, n_hidden, n_layers, batch_first=True)\n        self.h_o = nn.Linear(n_hidden, vocab_sz)\n        self.h = torch.zeros(n_layers, bs, n_hidden)\n\n    def forward(self, x):\n        res,h = self.rnn(self.i_h(x), self.h)\n        self.h = h.detach()\n        return self.h_o(res)\n\n    def reset(self): self.h.zero_()\n```\n\n```py\nlearn = Learner(dls, LMModel5(len(vocab), 64, 2),\n                loss_func=CrossEntropyLossFlat(),\n                metrics=accuracy, cbs=ModelResetter)\nlearn.fit_one_cycle(15, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 3.055853 | 2.591640 | 0.437907 | 00:01 |\n| 1 | 2.162359 | 1.787310 | 0.471598 | 00:01 |\n| 2 | 1.710663 | 1.941807 | 0.321777 | 00:01 |\n| 3 | 1.520783 | 1.999726 | 0.312012 | 00:01 |\n| 4 | 1.330846 | 2.012902 | 0.413249 | 00:01 |\n| 5 | 1.163297 | 1.896192 | 0.450684 | 00:01 |\n| 6 | 1.033813 | 2.005209 | 0.434814 | 00:01 |\n| 7 | 0.919090 | 2.047083 | 0.456706 | 00:01 |\n| 8 | 0.822939 | 2.068031 | 0.468831 | 00:01 |\n| 9 | 0.750180 | 2.136064 | 0.475098 | 00:01 |\n| 10 | 0.695120 | 2.139140 | 0.485433 | 00:01 |\n| 11 | 0.655752 | 2.155081 | 0.493652 | 00:01 |\n| 12 | 0.629650 | 2.162583 | 0.498535 | 00:01 |\n| 13 | 0.613583 | 2.171649 | 0.491048 | 00:01 |\n| 14 | 0.604309 | 2.180355 | 0.487874 | 00:01 |\n\n现在这令人失望...我们之前的单层 RNN 表现更好。为什么？原因是我们有一个更深的模型，导致激活爆炸或消失。\n\n## 激活爆炸或消失\n\n在实践中，从这种类型的 RNN 创建准确的模型是困难的。如果我们调用`detach`的频率较少，并且有更多的层，我们将获得更好的结果 - 这使得我们的 RNN 有更长的时间跨度来学习和创建更丰富的特征。但这也意味着我们有一个更深的模型要训练。深度学习发展中的关键挑战是如何训练这种类型的模型。\n\n这是具有挑战性的，因为当您多次乘以一个矩阵时会发生什么。想想当您多次乘以一个数字时会发生什么。例如，如果您从 1 开始乘以 2，您会得到序列 1、2、4、8，...在 32 步之后，您已经达到 4,294,967,296。如果您乘以 0.5，类似的问题会发生：您会得到 0.5、0.25、0.125，...在 32 步之后，它是 0.00000000023。正如您所看到的，即使是比 1 稍高或稍低的数字，经过几次重复乘法后，我们的起始数字就会爆炸或消失。\n\n因为矩阵乘法只是将数字相乘并将它们相加，重复矩阵乘法会发生完全相同的事情。这就是深度神经网络的全部内容 - 每一层都是另一个矩阵乘法。这意味着深度神经网络很容易最终得到极大或极小的数字。\n\n这是一个问题，因为计算机存储数字的方式（称为*浮点数*）意味着随着数字远离零点，它们变得越来越不准确。来自优秀文章“关于浮点数你从未想知道但却被迫了解”的图 12-8 中的图表显示了浮点数的精度如何随着数字线变化。\n\n![浮点数的精度](img/dlcf_1208.png)\n\n###### 图 12-8。浮点数的精度\n\n这种不准确性意味着通常为更新权重计算的梯度最终会变为零或无穷大。这通常被称为*消失梯度*或*爆炸梯度*问题。这意味着在 SGD 中，权重要么根本不更新，要么跳到无穷大。无论哪种方式，它们都不会随着训练而改善。\n\n研究人员已经开发出了解决这个问题的方法，我们将在本书后面讨论。一种选择是改变层的定义方式，使其不太可能出现激活爆炸。当我们讨论批量归一化时，我们将在第十三章中看到这是如何完成的，当我们讨论 ResNets 时，我们将在第十四章中看到，尽管这些细节通常在实践中并不重要（除非您是一个研究人员，正在创造解决这个问题的新方法）。另一种处理这个问题的策略是谨慎初始化，这是我们将在第十七章中调查的一个主题。\n\n为了避免激活爆炸，RNN 经常使用两种类型的层：*门控循环单元*（GRUs）和*长短期记忆*（LSTM）层。这两种都在 PyTorch 中可用，并且可以直接替换 RNN 层。在本书中，我们只会涵盖 LSTMs；在线上有很多好的教程解释 GRUs，它们是 LSTM 设计的一个小变体。\n\n# LSTM\n\nLSTM 是由 Jürgen Schmidhuber 和 Sepp Hochreiter 于 1997 年引入的一种架构。在这种架构中，不是一个，而是两个隐藏状态。在我们的基本 RNN 中，隐藏状态是 RNN 在上一个时间步的输出。那个隐藏状态负责两件事：\n\n+   拥有正确的信息来预测正确的下一个标记的输出层\n\n+   保留句子中发生的一切记忆\n\n例如，考虑句子“Henry has a dog and he likes his dog very much”和“Sophie has a dog and she likes her dog very much。”很明显，RNN 需要记住句子开头的名字才能预测*he/she*或*his/her*。\n\n在实践中，RNN 在保留句子中较早发生的记忆方面表现非常糟糕，这就是在 LSTM 中有另一个隐藏状态（称为*cell state*）的动机。cell state 将负责保持*长期短期记忆*，而隐藏状态将专注于预测下一个标记。让我们更仔细地看看如何实现这一点，并从头开始构建一个 LSTM。\n\n## 从头开始构建一个 LSTM\n\n为了构建一个 LSTM，我们首先必须了解其架构。图 12-9 显示了其内部结构。\n\n![显示 LSTM 内部架构的图表](img/dlcf_1209.png)\n\n###### 图 12-9\\. LSTM 的架构\n\n在这张图片中，我们的输入<math alttext=\"x Subscript t\"><msub><mi>x</mi> <mi>t</mi></msub></math>从左侧进入，带有先前的隐藏状态（<math alttext=\"h Subscript t minus 1\"><msub><mi>h</mi> <mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub></math>）和 cell state（<math alttext=\"c Subscript t minus 1\"><msub><mi>c</mi> <mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub></math>）。四个橙色框代表四个层（我们的神经网络），激活函数可以是 sigmoid（<math alttext=\"sigma\"><mi>σ</mi></math>）或 tanh。tanh 只是一个重新缩放到范围-1 到 1 的 sigmoid 函数。它的数学表达式可以写成这样：\n\n<math alttext=\"双曲正切左括号 x 右括号等于开始分数 e 上标 x 基线加 e 上标 负 x 基线 除以 e 上标 x 基线减 e 上标 负 x 基线 等于 2 sigma 左括号 2 x 右括号 减 1\" display=\"block\"><mrow><mo form=\"prefix\">tanh</mo> <mrow><mo>(</mo> <mi>x</mi> <mo>)</mo></mrow> <mo>=</mo> <mfrac><mrow><msup><mi>e</mi> <mi>x</mi></msup> <mo>+</mo><msup><mi>e</mi> <mrow><mo>-</mo><mi>x</mi></mrow></msup></mrow> <mrow><msup><mi>e</mi> <mi>x</mi></msup> <mo>-</mo><msup><mi>e</mi> <mrow><mo>-</mo><mi>x</mi></mrow></msup></mrow></mfrac> <mo>=</mo> <mn>2</mn> <mi>σ</mi> <mrow><mo>(</mo> <mn>2</mn> <mi>x</mi> <mo>)</mo></mrow> <mo>-</mo> <mn>1</mn></mrow></math>\n\n其中<math alttext=\"sigma\"><mi>σ</mi></math>是 sigmoid 函数。图中的绿色圆圈是逐元素操作。右侧输出的是新的隐藏状态（<math alttext=\"h Subscript t\"><msub><mi>h</mi> <mi>t</mi></msub></math>）和新的 cell state（<math alttext=\"c Subscript t\"><msub><mi>c</mi> <mi>t</mi></msub></math>），准备接受我们的下一个输入。新的隐藏状态也被用作输出，这就是为什么箭头分开向上移动。\n\n让我们逐一查看四个神经网络（称为*门*）并解释图表——但在此之前，请注意 cell state（顶部）几乎没有改变。它甚至没有直接通过神经网络！这正是为什么它将继续保持较长期的状态。\n\n首先，将输入和旧隐藏状态的箭头连接在一起。在本章前面编写的 RNN 中，我们将它们相加。在 LSTM 中，我们将它们堆叠在一个大张量中。这意味着我们的嵌入的维度（即<math alttext=\"x Subscript t\"><msub><mi>x</mi> <mi>t</mi></msub></math>的维度）可以与隐藏状态的维度不同。如果我们将它们称为`n_in`和`n_hid`，底部的箭头大小为`n_in + n_hid`；因此所有的神经网络（橙色框）都是具有`n_in + n_hid`输入和`n_hid`输出的线性层。\n\n第一个门（从左到右看）称为*遗忘门*。由于它是一个线性层后面跟着一个 sigmoid，它的输出将由 0 到 1 之间的标量组成。我们将这个结果乘以细胞状态，以确定要保留哪些信息，要丢弃哪些信息：接近 0 的值被丢弃，接近 1 的值被保留。这使得 LSTM 有能力忘记关于其长期状态的事情。例如，当穿过一个句号或一个`xxbos`标记时，我们期望它（已经学会）重置其细胞状态。\n\n第二个门称为*输入门*。它与第三个门（没有真正的名称，但有时被称为*细胞门*）一起更新细胞状态。例如，我们可能看到一个新的性别代词，这时我们需要替换遗忘门删除的关于性别的信息。与遗忘门类似，输入门决定要更新的细胞状态元素（接近 1 的值）或不更新（接近 0 的值）。第三个门确定这些更新值是什么，范围在-1 到 1 之间（由于 tanh 函数）。结果被添加到细胞状态中。\n\n最后一个门是*输出门*。它确定从细胞状态中使用哪些信息来生成输出。细胞状态经过 tanh 后与输出门的 sigmoid 输出结合，结果就是新的隐藏状态。在代码方面，我们可以这样写相同的步骤：\n\n```py\nclass LSTMCell(Module):\n    def __init__(self, ni, nh):\n        self.forget_gate = nn.Linear(ni + nh, nh)\n        self.input_gate  = nn.Linear(ni + nh, nh)\n        self.cell_gate   = nn.Linear(ni + nh, nh)\n        self.output_gate = nn.Linear(ni + nh, nh)\n\n    def forward(self, input, state):\n        h,c = state\n        h = torch.stack([h, input], dim=1)\n        forget = torch.sigmoid(self.forget_gate(h))\n        c = c * forget\n        inp = torch.sigmoid(self.input_gate(h))\n        cell = torch.tanh(self.cell_gate(h))\n        c = c + inp * cell\n        out = torch.sigmoid(self.output_gate(h))\n        h = outgate * torch.tanh(c)\n        return h, (h,c)\n```\n\n实际上，我们可以重构代码。此外，就性能而言，做一次大矩阵乘法比做四次小矩阵乘法更好（因为我们只在 GPU 上启动一次特殊的快速内核，这样可以让 GPU 并行处理更多工作）。堆叠需要一点时间（因为我们必须在 GPU 上移动一个张量，使其全部在一个连续的数组中），所以我们为输入和隐藏状态使用两个单独的层。优化和重构后的代码如下：\n\n```py\nclass LSTMCell(Module):\n    def __init__(self, ni, nh):\n        self.ih = nn.Linear(ni,4*nh)\n        self.hh = nn.Linear(nh,4*nh)\n\n    def forward(self, input, state):\n        h,c = state\n        # One big multiplication for all the gates is better than 4 smaller ones\n        gates = (self.ih(input) + self.hh(h)).chunk(4, 1)\n        ingate,forgetgate,outgate = map(torch.sigmoid, gates[:3])\n        cellgate = gates[3].tanh()\n\n        c = (forgetgate*c) + (ingate*cellgate)\n        h = outgate * c.tanh()\n        return h, (h,c)\n```\n\n在这里，我们使用 PyTorch 的`chunk`方法将张量分成四部分。它的工作原理如下：\n\n```py\nt = torch.arange(0,10); t\n```\n\n```py\ntensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])\n```\n\n```py\nt.chunk(2)\n```\n\n```py\n(tensor([0, 1, 2, 3, 4]), tensor([5, 6, 7, 8, 9]))\n```\n\n现在让我们使用这个架构来训练一个语言模型！\n\n## 使用 LSTMs 训练语言模型\n\n这是与`LMModel5`相同的网络，使用了两层 LSTM。我们可以以更高的学习率进行训练，时间更短，获得更好的准确性：\n\n```py\nclass LMModel6(Module):\n    def __init__(self, vocab_sz, n_hidden, n_layers):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\n        self.h_o = nn.Linear(n_hidden, vocab_sz)\n        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\n\n    def forward(self, x):\n        res,h = self.rnn(self.i_h(x), self.h)\n        self.h = [h_.detach() for h_ in h]\n        return self.h_o(res)\n\n    def reset(self):\n        for h in self.h: h.zero_()\n```\n\n```py\nlearn = Learner(dls, LMModel6(len(vocab), 64, 2),\n                loss_func=CrossEntropyLossFlat(),\n                metrics=accuracy, cbs=ModelResetter)\nlearn.fit_one_cycle(15, 1e-2)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 3.000821 | 2.663942 | 0.438314 | 00:02 |\n| 1 | 2.139642 | 2.184780 | 0.240479 | 00:02 |\n| 2 | 1.607275 | 1.812682 | 0.439779 | 00:02 |\n| 3 | 1.347711 | 1.830982 | 0.497477 | 00:02 |\n| 4 | 1.123113 | 1.937766 | 0.594401 | 00:02 |\n| 5 | 0.852042 | 2.012127 | 0.631592 | 00:02 |\n| 6 | 0.565494 | 1.312742 | 0.725749 | 00:02 |\n| 7 | 0.347445 | 1.297934 | 0.711263 | 00:02 |\n| 8 | 0.208191 | 1.441269 | 0.731201 | 00:02 |\n| 9 | 0.126335 | 1.569952 | 0.737305 | 00:02 |\n| 10 | 0.079761 | 1.427187 | 0.754150 | 00:02 |\n| 11 | 0.052990 | 1.494990 | 0.745117 | 00:02 |\n| 12 | 0.039008 | 1.393731 | 0.757894 | 00:02 |\n| 13 | 0.031502 | 1.373210 | 0.758464 | 00:02 |\n| 14 | 0.028068 | 1.368083 | 0.758464 | 00:02 |\n\n现在这比多层 RNN 好多了！然而，我们仍然可以看到有一点过拟合，这表明一点正则化可能会有所帮助。\n\n# 正则化 LSTM\n\n循环神经网络总体上很难训练，因为我们之前看到的激活和梯度消失问题。使用 LSTM（或 GRU）单元比使用普通 RNN 更容易训练，但它们仍然很容易过拟合。数据增强虽然是一种可能性，但在文本数据中使用得比图像数据少，因为在大多数情况下，它需要另一个模型来生成随机增强（例如，将文本翻译成另一种语言，然后再翻译回原始语言）。总的来说，目前文本数据的数据增强并不是一个被充分探索的领域。\n\n然而，我们可以使用其他正则化技术来减少过拟合，这些技术在与 LSTMs 一起使用时进行了深入研究，如 Stephen Merity 等人的论文[“正则化和优化 LSTM 语言模型”](https://oreil.ly/Rf-OG)。这篇论文展示了如何有效地使用 dropout、激活正则化和时间激活正则化可以使一个 LSTM 击败以前需要更复杂模型的最新结果。作者将使用这些技术的 LSTM 称为*AWD-LSTM*。我们将依次看看这些技术。\n\n## Dropout\n\n*Dropout*是由 Geoffrey Hinton 等人在[“通过防止特征探测器的共适应来改进神经网络”](https://oreil.ly/-_xie)中引入的一种正则化技术。基本思想是在训练时随机将一些激活变为零。这确保所有神经元都积极地朝着输出工作，如图 12-10 所示（来自 Nitish Srivastava 等人的[“Dropout：防止神经网络过拟合的简单方法”](https://oreil.ly/pYNxF)）。\n\n![文章中显示 dropout 如何关闭神经元的图](img/dlcf_1210.png)\n\n###### 图 12-10。在神经网络中应用 dropout（由 Nitish Srivastava 等人提供）\n\nHinton 在一次采访中解释了 dropout 的灵感时使用了一个很好的比喻：\n\n> 我去了我的银行。出纳员不断变换，我问其中一个原因。他说他不知道，但他们经常被调动。我想这一定是因为需要员工之间的合作才能成功欺诈银行。这让我意识到，随机在每个示例中删除不同的神经元子集将防止阴谋，从而减少过拟合。\n\n在同一次采访中，他还解释了神经科学提供了额外的灵感：\n\n> 我们并不真正知道为什么神经元会突触。有一种理论是它们想要变得嘈杂以进行正则化，因为我们的参数比数据点多得多。dropout 的想法是，如果你有嘈杂的激活，你可以承担使用一个更大的模型。\n\n这解释了为什么 dropout 有助于泛化的想法：首先它帮助神经元更好地合作；然后它使激活更嘈杂，从而使模型更健壮。\n\n然而，我们可以看到，如果我们只是将这些激活置零而不做其他任何操作，我们的模型将会训练出问题：如果我们从五个激活的总和（由于我们应用了 ReLU，它们都是正数）变为只有两个，这不会有相同的规模。因此，如果我们以概率`p`应用 dropout，我们通过将所有激活除以`1-p`来重新缩放它们（平均`p`将被置零，所以剩下`1-p`），如图 12-11 所示。\n\n![介绍 dropout 的文章中的一个图，显示神经元是开启/关闭状态](img/dlcf_1211.png)\n\n###### 图 12-11。应用 dropout 时为什么要缩放激活（由 Nitish Srivastava 等人提供）\n\n这是 PyTorch 中 dropout 层的完整实现（尽管 PyTorch 的原生层实际上是用 C 而不是 Python 编写的）：\n\n```py\nclass Dropout(Module):\n    def __init__(self, p): self.p = p\n    def forward(self, x):\n        if not self.training: return x\n        mask = x.new(*x.shape).bernoulli_(1-p)\n        return x * mask.div_(1-p)\n```\n\n`bernoulli_`方法创建一个随机零（概率为`p`）和一（概率为`1-p`）的张量，然后将其乘以我们的输入，再除以`1-p`。注意`training`属性的使用，它在任何 PyTorch `nn.Module`中都可用，并告诉我们是否在训练或推理。\n\n# 做你自己的实验\n\n在本书的前几章中，我们会在这里添加一个`bernoulli_`的代码示例，这样您就可以看到它的确切工作原理。但是现在您已经了解足够多，可以自己做这个，我们将为您提供越来越少的示例，而是期望您自己进行实验以了解事物是如何工作的。在这种情况下，您将在章节末尾的问卷中看到，我们要求您尝试使用`bernoulli_`，但不要等到我们要求您进行实验才开发您对我们正在研究的代码的理解；无论如何都可以开始做。\n\n在将我们的 LSTM 的输出传递到最终层之前使用 dropout 将有助于减少过拟合。在许多其他模型中也使用了 dropout，包括`fastai.vision`中使用的默认 CNN 头部，并且通过传递`ps`参数（其中每个“p”都传递给每个添加的`Dropout`层）在`fastai.tabular`中也可用，正如我们将在第十五章中看到的。\n\n在训练和验证模式下，dropout 的行为不同，我们使用`Dropout`中的`training`属性进行指定。在`Module`上调用`train`方法会将`training`设置为`True`（对于您调用该方法的模块以及递归包含的每个模块），而`eval`将其设置为`False`。在调用`Learner`的方法时会自动执行此操作，但如果您没有使用该类，请记住根据需要在两者之间切换。\n\n## 激活正则化和时间激活正则化\n\n激活正则化（AR）和时间激活正则化（TAR）是两种与权重衰减非常相似的正则化方法，在第八章中讨论过。在应用权重衰减时，我们会对损失添加一个小的惩罚，旨在使权重尽可能小。对于激活正则化，我们将尝试使 LSTM 生成的最终激活尽可能小，而不是权重。\n\n为了对最终激活进行正则化，我们必须将它们存储在某个地方，然后将它们的平方的平均值添加到损失中（以及一个乘数`alpha`，就像权重衰减的`wd`一样）：\n\n```py\nloss += alpha * activations.pow(2).mean()\n```\n\n时间激活正则化与我们在句子中预测标记有关。这意味着当我们按顺序阅读它们时，我们的 LSTM 的输出应该在某种程度上是有意义的。TAR 通过向损失添加惩罚来鼓励这种行为，使两个连续激活之间的差异尽可能小：我们的激活张量的形状为`bs x sl x n_hid`，我们在序列长度轴上（中间维度）读取连续激活。有了这个，TAR 可以表示如下：\n\n```py\nloss += beta * (activations[:,1:] - activations[:,:-1]).pow(2).mean()\n```\n\n然后，`alpha`和`beta`是要调整的两个超参数。为了使这项工作成功，我们需要让我们的带有 dropout 的模型返回三个东西：正确的输出，LSTM 在 dropout 之前的激活以及 LSTM 在 dropout 之后的激活。通常在 dropout 后的激活上应用 AR（以免惩罚我们之后转换为零的激活），而 TAR 应用在未经 dropout 的激活上（因为这些零会在两个连续时间步之间产生很大的差异）。然后，一个名为`RNNRegularizer`的回调将为我们应用这种正则化。\n\n## 训练带有权重绑定的正则化 LSTM\n\n我们可以将 dropout（应用在我们进入输出层之前）与 AR 和 TAR 相结合，以训练我们之前的 LSTM。我们只需要返回三个东西而不是一个：我们的 LSTM 的正常输出，dropout 后的激活以及我们的 LSTM 的激活。最后两个将由回调`RNNRegularization`捕获，以便为其对损失的贡献做出贡献。\n\n我们可以从[AWD-LSTM 论文](https://oreil.ly/ETQ5X)中添加另一个有用的技巧是*权重绑定*。在语言模型中，输入嵌入表示从英语单词到激活的映射，输出隐藏层表示从激活到英语单词的映射。直觉上，我们可能会期望这些映射是相同的。我们可以通过将相同的权重矩阵分配给这些层来在 PyTorch 中表示这一点：\n\n```py\nself.h_o.weight = self.i_h.weight\n```\n\n在`LMMModel7`中，我们包括了这些最终的调整：\n\n```py\nclass LMModel7(Module):\n    def __init__(self, vocab_sz, n_hidden, n_layers, p):\n        self.i_h = nn.Embedding(vocab_sz, n_hidden)\n        self.rnn = nn.LSTM(n_hidden, n_hidden, n_layers, batch_first=True)\n        self.drop = nn.Dropout(p)\n        self.h_o = nn.Linear(n_hidden, vocab_sz)\n        self.h_o.weight = self.i_h.weight\n        self.h = [torch.zeros(n_layers, bs, n_hidden) for _ in range(2)]\n\n    def forward(self, x):\n        raw,h = self.rnn(self.i_h(x), self.h)\n        out = self.drop(raw)\n        self.h = [h_.detach() for h_ in h]\n        return self.h_o(out),raw,out\n\n    def reset(self):\n        for h in self.h: h.zero_()\n```\n\n我们可以使用`RNNRegularizer`回调函数创建一个正则化的`Learner`：\n\n```py\nlearn = Learner(dls, LMModel7(len(vocab), 64, 2, 0.5),\n                loss_func=CrossEntropyLossFlat(), metrics=accuracy,\n                cbs=[ModelResetter, RNNRegularizer(alpha=2, beta=1)])\n```\n\n`TextLearner`会自动为我们添加这两个回调函数（使用`alpha`和`beta`的默认值），因此我们可以简化前面的行：\n\n```py\nlearn = TextLearner(dls, LMModel7(len(vocab), 64, 2, 0.4),\n                    loss_func=CrossEntropyLossFlat(), metrics=accuracy)\n```\n\n然后我们可以训练模型，并通过增加权重衰减到`0.1`来添加额外的正则化：\n\n```py\nlearn.fit_one_cycle(15, 1e-2, wd=0.1)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.693885 | 2.013484 | 0.466634 | 00:02 |\n| 1 | 1.685549 | 1.187310 | 0.629313 | 00:02 |\n| 2 | 0.973307 | 0.791398 | 0.745605 | 00:02 |\n| 3 | 0.555823 | 0.640412 | 0.794108 | 00:02 |\n| 4 | 0.351802 | 0.557247 | 0.836100 | 00:02 |\n| 5 | 0.244986 | 0.594977 | 0.807292 | 00:02 |\n| 6 | 0.192231 | 0.511690 | 0.846761 | 00:02 |\n| 7 | 0.162456 | 0.520370 | 0.858073 | 00:02 |\n| 8 | 0.142664 | 0.525918 | 0.842285 | 00:02 |\n| 9 | 0.128493 | 0.495029 | 0.858073 | 00:02 |\n| 10 | 0.117589 | 0.464236 | 0.867188 | 00:02 |\n| 11 | 0.109808 | 0.466550 | 0.869303 | 00:02 |\n| 12 | 0.104216 | 0.455151 | 0.871826 | 00:02 |\n| 13 | 0.100271 | 0.452659 | 0.873617 | 00:02 |\n| 14 | 0.098121 | 0.458372 | 0.869385 | 00:02 |\n\n现在这比我们之前的模型好多了！\n\n# 结论\n\n您现在已经看到了我们在第十章中用于文本分类的 AWD-LSTM 架构内部的所有内容。它在更多地方使用了丢失：\n\n+   嵌入丢失（就在嵌入层之后）\n\n+   输入丢失（在嵌入层之后）\n\n+   权重丢失（应用于每个训练步骤中 LSTM 的权重）\n\n+   隐藏丢失（应用于两个层之间的隐藏状态）\n\n这使得它更加规范化。由于微调这五个丢失值（包括输出层之前的丢失）很复杂，我们已经确定了良好的默认值，并允许通过您在该章节中看到的`drop_mult`参数来整体调整丢失的大小。\n\n另一个非常强大的架构，特别适用于“序列到序列”问题（依赖变量本身是一个变长序列的问题，例如语言翻译），是 Transformer 架构。您可以在[书籍网站](https://book.fast.ai)的额外章节中找到它。\n\n# 问卷\n\n1.  如果您的项目数据集非常庞大且复杂，处理它需要大量时间，您应该怎么做？\n\n1.  为什么在创建语言模型之前我们要将数据集中的文档连接起来？\n\n1.  要使用标准的全连接网络来预测前三个单词给出的第四个单词，我们需要对模型进行哪两个调整？\n\n1.  我们如何在 PyTorch 中跨多个层共享权重矩阵？\n\n1.  编写一个模块，预测句子前两个单词给出的第三个单词，而不偷看。\n\n1.  什么是循环神经网络？\n\n1.  隐藏状态是什么？\n\n1.  `LMModel1`中隐藏状态的等价物是什么？\n\n1.  为了在 RNN 中保持状态，为什么按顺序将文本传递给模型很重要？\n\n1.  什么是 RNN 的“展开”表示？\n\n1.  为什么在 RNN 中保持隐藏状态会导致内存和性能问题？我们如何解决这个问题？\n\n1.  什么是 BPTT？\n\n1.  编写代码打印出验证集的前几个批次，包括将标记 ID 转换回英文字符串，就像我们在第十章中展示的 IMDb 数据批次一样。\n\n1.  `ModelResetter`回调函数的作用是什么？我们为什么需要它？\n\n1.  为每三个输入词预测一个输出词的缺点是什么？\n\n1.  为什么我们需要为`LMModel4`设计一个自定义损失函数？\n\n1.  为什么`LMModel4`的训练不稳定？\n\n1.  在展开表示中，我们可以看到递归神经网络有许多层。那么为什么我们需要堆叠 RNN 以获得更好的结果？\n\n1.  绘制一个堆叠（多层）RNN 的表示。\n\n1.  如果我们不经常调用`detach`，为什么在 RNN 中应该获得更好的结果？为什么在实践中可能不会发生这种情况？\n\n1.  为什么深度网络可能导致非常大或非常小的激活？这为什么重要？\n\n1.  在计算机的浮点数表示中，哪些数字是最精确的？\n\n1.  为什么消失的梯度会阻止训练？\n\n1.  在 LSTM 架构中有两个隐藏状态为什么有帮助？每个的目的是什么？\n\n1.  在 LSTM 中这两个状态被称为什么？\n\n1.  tanh 是什么，它与 sigmoid 有什么关系？\n\n1.  `LSTMCell`中这段代码的目的是什么：\n\n    ```py\n    h = torch.stack([h, input], dim=1)\n    ```\n\n1.  在 PyTorch 中`chunk`是做什么的？\n\n1.  仔细研究`LSTMCell`的重构版本，确保你理解它如何以及为什么与未重构版本执行相同的操作。\n\n1.  为什么我们可以为`LMModel6`使用更高的学习率？\n\n1.  AWD-LSTM 模型中使用的三种正则化技术是什么？\n\n1.  什么是 dropout？\n\n1.  为什么我们要用 dropout 来缩放权重？这是在训练期间、推理期间还是两者都应用？\n\n1.  `Dropout`中这行代码的目的是什么：\n\n    ```py\n    if not self.training: return x\n    ```\n\n1.  尝试使用`bernoulli_`来了解它的工作原理。\n\n1.  如何在 PyTorch 中将模型设置为训练模式？在评估模式下呢？\n\n1.  写出激活正则化的方程（数学或代码，任你选择）。它与权重衰减有什么不同？\n\n1.  写出时间激活正则化的方程（数学或代码，任你选择）。为什么我们不会在计算机视觉问题中使用这个？\n\n1.  语言模型中的权重绑定是什么？\n\n## 进一步研究\n\n1.  在`LMModel2`中，为什么`forward`可以从`h=0`开始？为什么我们不需要写`h=torch.zeros(...)`？\n\n1.  从头开始编写一个 LSTM 的代码（你可以参考图 12-9）。\n\n1.  搜索互联网了解 GRU 架构并从头开始实现它，尝试训练一个模型。看看能否获得类似于本章中看到的结果。将你的结果与 PyTorch 内置的`GRU`模块的结果进行比较。\n\n1.  查看 fastai 中 AWD-LSTM 的源代码，并尝试将每行代码映射到本章中展示的概念。\n"
  },
  {
    "path": "translations/cn/13_convolutions.md",
    "content": "# 第十三章：卷积神经网络\n\n\n\n在第四章中，我们学习了如何创建一个识别图像的神经网络。我们能够在区分 3 和 7 方面达到 98%以上的准确率，但我们也看到 fastai 内置的类能够接近 100%。让我们开始尝试缩小这个差距。\n\n在本章中，我们将首先深入研究卷积是什么，并从头开始构建一个 CNN。然后，我们将研究一系列技术来改善训练稳定性，并学习库通常为我们应用的所有调整，以获得出色的结果。\n\n# 卷积的魔力\n\n机器学习从业者手中最强大的工具之一是*特征工程*。*特征*是数据的一种转换，旨在使其更容易建模。例如，我们在第九章中用于我们表格数据集预处理的`add_datepart`函数向 Bulldozers 数据集添加了日期特征。我们能够从图像中创建哪些特征呢？\n\n# 术语：特征工程\n\n创建输入数据的新转换，以使其更容易建模。\n\n在图像的背景下，特征是一种视觉上独特的属性。例如，数字 7 的特征是在数字的顶部附近有一个水平边缘，以及在其下方有一个从右上到左下的对角边缘。另一方面，数字 3 的特征是在数字的左上角和右下角有一个方向的对角边缘，在左下角和右上角有相反的对角边缘，在中间、顶部和底部有水平边缘等等。那么，如果我们能够提取关于每个图像中边缘出现位置的信息，然后将该信息用作我们的特征，而不是原始像素呢？\n\n事实证明，在图像中找到边缘是计算机视觉中非常常见的任务，而且非常简单。为了做到这一点，我们使用一种称为*卷积*的东西。卷积只需要乘法和加法——这两种操作是我们将在本书中看到的每个深度学习模型中绝大部分工作的原因！\n\n卷积将一个*卷积核*应用于图像。卷积核是一个小矩阵，例如图 13-1 右上角的 3×3 矩阵。\n\n应用卷积到一个位置\n\n###### 图 13-1。将卷积应用到一个位置\n\n左侧的 7×7 网格是我们将应用卷积核的*图像*。卷积操作将卷积核的每个元素与图像的一个 3×3 块的每个元素相乘。然后将这些乘积的结果相加。图 13-1 中的图示显示了将卷积核应用于图像中单个位置的示例，即围绕 18 单元格的 3×3 块。\n\n让我们用代码来做这个。首先，我们创建一个小的 3×3 矩阵如下：\n\n```py\ntop_edge = tensor([[-1,-1,-1],\n                   [ 0, 0, 0],\n                   [ 1, 1, 1]]).float()\n```\n\n我们将称之为卷积核（因为这是时髦的计算机视觉研究人员称呼的）。当然，我们还需要一张图片：\n\n```py\npath = untar_data(URLs.MNIST_SAMPLE)\n```\n\n```py\nim3 = Image.open(path/'train'/'3'/'12.png')\nshow_image(im3);\n```\n\n![](img/dlcf_13in01.png)\n\n现在我们将取图像的顶部 3×3 像素正方形，并将这些值中的每一个与我们的卷积核中的每个项目相乘。然后我们将它们加在一起，就像这样：\n\n```py\nim3_t = tensor(im3)\nim3_t[0:3,0:3] * top_edge\n```\n\n```py\ntensor([[-0., -0., -0.],\n        [0., 0., 0.],\n        [0., 0., 0.]])\n```\n\n```py\n(im3_t[0:3,0:3] * top_edge).sum()\n```\n\n```py\ntensor(0.)\n```\n\n到目前为止并不是很有趣——左上角的所有像素都是白色的。但让我们选择一些更有趣的地方：\n\n```py\ndf = pd.DataFrame(im3_t[:10,:20])\ndf.style.set_properties(**{'font-size':'6pt'}).background_gradient('Greys')\n```\n\n![数字的顶部部分](img/dlcf_13in02.png)\n\n在 5,7 单元格处有一个顶边。让我们在那里重复我们的计算：\n\n```py\n(im3_t[4:7,6:9] * top_edge).sum()\n```\n\n```py\ntensor(762.)\n```\n\n在 8,18 单元格处有一个右边缘。这给我们带来了什么？\n\n```py\n(im3_t[7:10,17:20] * top_edge).sum()\n```\n\n```py\ntensor(-29.)\n```\n\n正如您所看到的，这个小计算返回了一个高数字，其中 3×3 像素的正方形代表顶边（即，在正方形顶部有低值，紧接着是高值）。这是因为我们的卷积核中的`-1`值在这种情况下影响很小，但`1`值影响很大。\n\n让我们稍微看一下数学。过滤器将在我们的图像中取任意大小为 3×3 的窗口，如果我们像这样命名像素值\n\n<math alttext=\"StartLayout 1st Row 1st Column a Baseline 1 2nd Column a Baseline 2 3rd Column a Baseline 3 2nd Row 1st Column a Baseline 4 2nd Column a Baseline 5 3rd Column a Baseline 6 3rd Row 1st Column a Baseline 7 2nd Column a Baseline 8 3rd Column a Baseline 9 EndLayout\" display=\"block\"><mtable><mtr><mtd><mrow><mi>a</mi> <mn>1</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>2</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>3</mn></mrow></mtd></mtr> <mtr><mtd><mrow><mi>a</mi> <mn>4</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>5</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>6</mn></mrow></mtd></mtr> <mtr><mtd><mrow><mi>a</mi> <mn>7</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>8</mn></mrow></mtd> <mtd><mrow><mi>a</mi> <mn>9</mn></mrow></mtd></mtr></mtable></math>\n\n它将返回<math alttext=\"a Baseline 1 加 a Baseline 2 加 a Baseline 3 减 a Baseline 7 减 a Baseline 8 减 a Baseline 9\"><mrow><mi>a</mi> <mn>1</mn> <mo>+</mo> <mi>a</mi> <mn>2</mn> <mo>+</mo> <mi>a</mi> <mn>3</mn> <mo>-</mo> <mi>a</mi> <mn>7</mn> <mo>-</mo> <mi>a</mi> <mn>8</mn> <mo>-</mo> <mi>a</mi> <mn>9</mn></mrow></math>。如果我们在图像的某个部分，其中<math alttext=\"a Baseline 1\"><mrow><mi>a</mi> <mn>1</mn></mrow></math>，<math alttext=\"a Baseline 2\"><mrow><mi>a</mi> <mn>2</mn></mrow></math>和<math alttext=\"a Baseline 3\"><mrow><mi>a</mi> <mn>3</mn></mrow></math>加起来等于<math alttext=\"a Baseline 7\"><mrow><mi>a</mi> <mn>7</mn></mrow></math>，<math alttext=\"a Baseline 8\"><mrow><mi>a</mi> <mn>8</mn></mrow></math>和<math alttext=\"a Baseline 9\"><mrow><mi>a</mi> <mn>9</mn></mrow></math>，那么这些项将互相抵消，我们将得到 0。然而，如果<math alttext=\"a Baseline 1\"><mrow><mi>a</mi> <mn>1</mn></mrow></math>大于<math alttext=\"a Baseline 7\"><mrow><mi>a</mi> <mn>7</mn></mrow></math>，<math alttext=\"a Baseline 2\"><mrow><mi>a</mi> <mn>2</mn></mrow></math>大于<math alttext=\"a Baseline 8\"><mrow><mi>a</mi> <mn>8</mn></mrow></math>，<math alttext=\"a Baseline 3\"><mrow><mi>a</mi> <mn>3</mn></mrow></math>大于<math alttext=\"a Baseline 9\"><mrow><mi>a</mi> <mn>9</mn></mrow></math>，我们将得到一个更大的数字作为结果。因此，这个过滤器检测水平边缘，更准确地说，我们从图像顶部的亮部到底部的暗部。\n\n将我们的过滤器更改为顶部为`1`，底部为`-1`的行将检测从暗到亮的水平边缘。将`1`和`-1`放在列而不是行中会给我们检测垂直边缘的过滤器。每组权重将产生不同类型的结果。\n\n让我们创建一个函数来为一个位置执行此操作，并检查它是否与之前的结果匹配：\n\n```py\ndef apply_kernel(row, col, kernel):\n    return (im3_t[row-1:row+2,col-1:col+2] * kernel).sum()\n```\n\n```py\napply_kernel(5,7,top_edge)\n```\n\n```py\ntensor(762.)\n```\n\n但请注意，我们不能将其应用于角落（例如，位置 0,0），因为那里没有完整的 3×3 正方形。\n\n## 映射卷积核\n\n我们可以在坐标网格上映射`apply_kernel()`。也就是说，我们将取我们的 3×3 卷积核，并将其应用于图像的每个 3×3 部分。例如，图 13-2 显示了 3×3 卷积核可以应用于 5×5 图像第一行的位置。\n\n![在网格上应用卷积核](img/dlcf_1302.png)\n\n###### 图 13-2\\. 在网格上应用卷积核\n\n要获得坐标网格，我们可以使用*嵌套列表推导*，如下所示：\n\n```py\n[[(i,j) for j in range(1,5)] for i in range(1,5)]\n```\n\n```py\n[[(1, 1), (1, 2), (1, 3), (1, 4)],\n [(2, 1), (2, 2), (2, 3), (2, 4)],\n [(3, 1), (3, 2), (3, 3), (3, 4)],\n [(4, 1), (4, 2), (4, 3), (4, 4)]]\n```\n\n# 嵌套列表推导\n\n在 Python 中经常使用嵌套列表推导，所以如果你以前没有见过它们，请花几分钟确保你理解这里发生了什么，并尝试编写自己的嵌套列表推导。\n\n这是将我们的卷积核应用于坐标网格的结果：\n\n```py\nrng = range(1,27)\ntop_edge3 = tensor([[apply_kernel(i,j,top_edge) for j in rng] for i in rng])\n\nshow_image(top_edge3);\n```\n\n![](img/dlcf_13in03.png)\n\n看起来不错！我们的顶部边缘是黑色的，底部边缘是白色的（因为它们是顶部边缘的*相反*）。现在我们的图像中也包含负数，`matplotlib`已自动更改了我们的颜色，使得白色是图像中最小的数字，黑色是最高的，零显示为灰色。\n\n我们也可以尝试同样的方法来处理左边缘：\n\n```py\nleft_edge = tensor([[-1,1,0],\n                    [-1,1,0],\n                    [-1,1,0]]).float()\n\nleft_edge3 = tensor([[apply_kernel(i,j,left_edge) for j in rng] for i in rng])\n\nshow_image(left_edge3);\n```\n\n![](img/dlcf_13in04.png)\n\n正如我们之前提到的，卷积是将这样的内核应用于网格的操作。Vincent Dumoulin 和 Francesco Visin 的论文[“深度学习卷积算术指南”](https://oreil.ly/les1R)中有许多出色的图表，展示了如何应用图像内核。图 13-3 是论文中的一个示例，显示了（底部）一个浅蓝色的 4×4 图像，应用了一个深蓝色的 3×3 内核，创建了一个顶部的 2×2 绿色输出激活图。\n\n![将 3x3 内核应用于 4x4 图像的结果](img/dlcf_1303.png)\n\n###### 图 13-3。将 3×3 内核应用于 4×4 图像的结果（由 Vincent Dumoulin 和 Francesco Visin 提供）\n\n看一下结果的形状。如果原始图像的高度为`h`，宽度为`w`，我们可以找到多少个 3×3 窗口？正如您从示例中看到的，有`h-2`乘以`w-2`个窗口，因此我们得到的结果图像的高度为`h-2`，宽度为`w-2`。\n\n我们不会从头开始实现这个卷积函数，而是使用 PyTorch 的实现（它比我们在 Python 中能做的任何事情都要快）。\n\n## PyTorch 中的卷积\n\n卷积是一个如此重要且广泛使用的操作，PyTorch 已经内置了它。它被称为`F.conv2d`（回想一下，`F`是从`torch.nn.functional`中导入的 fastai，正如 PyTorch 建议的）。PyTorch 文档告诉我们它包括这些参数：\n\n`input`\n\n形状为`(minibatch, in_channels, iH, iW)`的输入张量\n\n`weight`\n\n形状为`(out_channels, in_channels, kH, kW)`的滤波器\n\n这里`iH，iW`是图像的高度和宽度（即`28,28`），`kH，kW`是我们内核的高度和宽度（`3,3`）。但显然 PyTorch 期望这两个参数都是秩为 4 的张量，而当前我们只有秩为 2 的张量（即矩阵，或具有两个轴的数组）。\n\n这些额外轴的原因是 PyTorch 有一些技巧。第一个技巧是 PyTorch 可以同时将卷积应用于多个图像。这意味着我们可以一次在批次中的每个项目上调用它！\n\n第二个技巧是 PyTorch 可以同时应用多个内核。因此，让我们也创建对角边缘内核，然后将我们的四个边缘内核堆叠成一个单个张量：\n\n```py\ndiag1_edge = tensor([[ 0,-1, 1],\n                     [-1, 1, 0],\n                     [ 1, 0, 0]]).float()\ndiag2_edge = tensor([[ 1,-1, 0],\n                     [ 0, 1,-1],\n                     [ 0, 0, 1]]).float()\n\nedge_kernels = torch.stack([left_edge, top_edge, diag1_edge, diag2_edge])\nedge_kernels.shape\n```\n\n```py\ntorch.Size([4, 3, 3])\n```\n\n为了测试这个，我们需要一个`DataLoader`和一个样本小批量。让我们使用数据块 API：\n\n```py\nmnist = DataBlock((ImageBlock(cls=PILImageBW), CategoryBlock),\n                  get_items=get_image_files,\n                  splitter=GrandparentSplitter(),\n                  get_y=parent_label)\n\ndls = mnist.dataloaders(path)\nxb,yb = first(dls.valid)\nxb.shape\n```\n\n```py\ntorch.Size([64, 1, 28, 28])\n```\n\n默认情况下，fastai 在使用数据块时会将数据放在 GPU 上。让我们将其移动到 CPU 用于我们的示例：\n\n```py\nxb,yb = to_cpu(xb),to_cpu(yb)\n```\n\n一个批次包含 64 张图片，每张图片有 1 个通道，每个通道有 28×28 个像素。`F.conv2d`也可以处理多通道（彩色）图像。*通道*是图像中的单个基本颜色——对于常规全彩图像，有三个通道，红色、绿色和蓝色。PyTorch 将图像表示为一个秩为 3 的张量，具有以下维度：\n\n```py\n[*channels*, *rows*, *columns*]\n```\n\n我们将在本章后面看到如何处理多个通道。传递给`F.conv2d`的内核需要是秩为 4 的张量：\n\n```py\n[*channels_in*, *features_out*, *rows*, *columns*]\n```\n\n`edge_kernels`目前缺少其中一个：我们需要告诉 PyTorch 内核中的输入通道数是 1，我们可以通过在第一个位置插入一个大小为 1 的轴来实现（这称为*单位轴*），PyTorch 文档显示`in_channels`应该是预期的。要在张量中插入一个单位轴，我们使用`unsqueeze`方法：\n\n```py\nedge_kernels.shape,edge_kernels.unsqueeze(1).shape\n```\n\n```py\n(torch.Size([4, 3, 3]), torch.Size([4, 1, 3, 3]))\n```\n\n现在这是`edge_kernels`的正确形状。让我们将所有这些传递给`conv2d`：\n\n```py\nedge_kernels = edge_kernels.unsqueeze(1)\n```\n\n```py\nbatch_features = F.conv2d(xb, edge_kernels)\nbatch_features.shape\n```\n\n```py\ntorch.Size([64, 4, 26, 26])\n```\n\n输出形状显示我们有 64 个图像在小批量中，4 个内核，以及 26×26 的边缘映射（我们从前面讨论中开始是 28×28 的图像，但每边丢失一个像素）。我们可以看到我们得到了与手动操作时相同的结果：\n\n```py\nshow_image(batch_features[0,0]);\n```\n\n![](img/dlcf_13in05.png)\n\nPyTorch 最重要的技巧是它可以使用 GPU 并行地完成所有这些工作-将多个核应用于多个图像，跨多个通道。并行进行大量工作对于使 GPU 高效工作至关重要；如果我们一次执行每个操作，通常会慢几百倍（如果我们使用前一节中的手动卷积循环，将慢数百万倍！）。因此，要成为一名优秀的深度学习从业者，一个需要练习的技能是让 GPU 一次处理大量工作。\n\n不要在每个轴上丢失这两个像素会很好。我们这样做的方法是添加*填充*，简单地在图像周围添加额外的像素。最常见的是添加零像素。\n\n## 步幅和填充\n\n通过适当的填充，我们可以确保输出激活图与原始图像的大小相同，这在构建架构时可以使事情变得简单得多。图 13-4 显示了添加填充如何允许我们在图像角落应用核。\n\n![带填充的卷积](img/dlcf_1304.png)\n\n###### 图 13-4。带填充的卷积\n\n使用 5×5 输入，4×4 核和 2 像素填充，我们最终得到一个 6×6 的激活图，如我们在图 13-5 中所看到的。\n\n![4x4 核与 5x5 输入和 2 像素填充](img/dlcf_1305.png)\n\n###### 图 13-5。一个 4×4 的核与 5×5 的输入和 2 像素的填充（由 Vincent Dumoulin 和 Francesco Visin 提供）\n\n如果我们添加一个大小为`ks`乘以`ks`的核（其中`ks`是一个奇数），为了保持相同的形状，每一侧所需的填充是`ks//2`。对于`ks`的偶数，需要在上/下和左/右两侧填充不同数量，但实际上我们几乎从不使用偶数滤波器大小。\n\n到目前为止，当我们将核应用于网格时，我们每次将其移动一个像素。但我们可以跳得更远；例如，我们可以在每次核应用后移动两个像素，就像图 13-6 中所示。这被称为*步幅-2*卷积。实践中最常见的核大小是 3×3，最常见的填充是 1。正如您将看到的，步幅-2 卷积对于减小输出大小很有用，而步幅-1 卷积对于添加层而不改变输出大小也很有用。\n\n![3x3 核与 5x5 输入，步幅 2 卷积和 1 像素填充](img/dlcf_1306.png)\n\n###### 图 13-6。一个 3×3 的核与 5×5 的输入，步幅 2 卷积和 1 像素填充（由 Vincent Dumoulin 和 Francesco Visin 提供）\n\n在大小为`h`乘以`w`的图像中，使用填充 1 和步幅 2 将给出大小为`(h+1)//2`乘以`(w+1)//2`的结果。每个维度的一般公式是\n\n```py\n(n + 2*pad - ks) // stride + 1\n```\n\n其中`pad`是填充，`ks`是我们核的大小，`stride`是步幅。\n\n现在让我们看看如何计算我们卷积结果的像素值。\n\n## 理解卷积方程\n\n为了解释卷积背后的数学，fast.ai 学生 Matt Kleinsmith 提出了一个非常聪明的想法，展示了[不同视角的 CNNs](https://oreil.ly/wZuBs)。事实上，这个想法非常聪明，非常有帮助，我们也会在这里展示！\n\n这是我们的 3×3 像素图像，每个像素都用字母标记：\n\n![图像](img/dlcf_13in06.png)\n\n这是我们的核，每个权重都用希腊字母标记：\n\n![核](img/dlcf_13in07.png)\n\n由于滤波器适合图像四次，我们有四个结果：\n\n![激活](img/dlcf_13in08.png)\n\n图 13-7 显示了我们如何将核应用于图像的每个部分以产生每个结果。\n\n![应用核](img/dlcf_1307.png)\n\n###### 图 13-7。应用核\n\n方程视图在图 13-8 中。\n\n![方程](img/dlcf_1308.png)\n\n###### 图 13-8。方程\n\n请注意，偏置项*b*对于图像的每个部分都是相同的。您可以将偏置视为滤波器的一部分，就像权重（α、β、γ、δ）是滤波器的一部分一样。\n\n这里有一个有趣的见解——卷积可以被表示为一种特殊类型的矩阵乘法，如图 13-9 所示。权重矩阵就像传统神经网络中的那些一样。但是，这个权重矩阵具有两个特殊属性：\n\n1.  灰色显示的零是不可训练的。这意味着它们在优化过程中将保持为零。\n\n1.  一些权重是相等的，虽然它们是可训练的（即可更改的），但它们必须保持相等。这些被称为*共享权重*。\n\n零对应于滤波器无法触及的像素。权重矩阵的每一行对应于滤波器的一次应用。\n\n![卷积作为矩阵乘法](img/dlcf_1309.png)\n\n###### 图 13-9。卷积作为矩阵乘法\n\n现在我们了解了卷积是什么，让我们使用它们来构建一个神经网络。\n\n# 我们的第一个卷积神经网络\n\n没有理由相信某些特定的边缘滤波器是图像识别最有用的卷积核。此外，我们已经看到在后续层中，卷积核变成了来自较低层特征的复杂转换，但我们不知道如何手动构建这些转换。\n\n相反，最好学习卷积核的值。我们已经知道如何做到这一点——SGD！实际上，模型将学习对分类有用的特征。当我们使用卷积而不是（或者除了）常规线性层时，我们创建了一个*卷积神经网络*（CNN）。\n\n## 创建 CNN\n\n让我们回到第四章中的基本神经网络。它的定义如下：\n\n```py\nsimple_net = nn.Sequential(\n    nn.Linear(28*28,30),\n    nn.ReLU(),\n    nn.Linear(30,1)\n)\n```\n\n我们可以查看模型的定义：\n\n```py\nsimple_net\n```\n\n```py\nSequential(\n  (0): Linear(in_features=784, out_features=30, bias=True)\n  (1): ReLU()\n  (2): Linear(in_features=30, out_features=1, bias=True)\n)\n```\n\n现在我们想要创建一个类似于这个线性模型的架构，但是使用卷积层而不是线性层。`nn.Conv2d`是`F.conv2d`的模块等效物。在创建架构时，它比`F.conv2d`更方便，因为在实例化时会自动为我们创建权重矩阵。\n\n这是一个可能的架构：\n\n```py\nbroken_cnn = sequential(\n    nn.Conv2d(1,30, kernel_size=3, padding=1),\n    nn.ReLU(),\n    nn.Conv2d(30,1, kernel_size=3, padding=1)\n)\n```\n\n这里需要注意的一点是，我们不需要指定`28*28`作为输入大小。这是因为线性层需要在权重矩阵中为每个像素设置一个权重，因此它需要知道有多少像素，但卷积会自动应用于每个像素。权重仅取决于输入和输出通道的数量以及核大小，正如我们在前一节中看到的。\n\n想一想输出形状会是什么；然后让我们尝试一下：\n\n```py\nbroken_cnn(xb).shape\n```\n\n```py\ntorch.Size([64, 1, 28, 28])\n```\n\n这不是我们可以用来进行分类的东西，因为我们需要每个图像一个单独的输出激活，而不是一个 28×28 的激活图。处理这个问题的一种方法是使用足够多的步幅为 2 的卷积，使得最终层的大小为 1。经过一次步幅为 2 的卷积后，大小将为 14×14；经过两次后，将为 7×7；然后是 4×4，2×2，最终大小为 1。\n\n现在让我们尝试一下。首先，我们将定义一个函数，其中包含我们在每个卷积中将使用的基本参数：\n\n```py\ndef conv(ni, nf, ks=3, act=True):\n    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\n    if act: res = nn.Sequential(res, nn.ReLU())\n    return res\n```\n\n# 重构\n\n重构神经网络的部分，可以减少由于架构不一致而导致的错误，也可以更明显地向读者展示哪些层的部分实际上在改变。\n\n当我们使用步幅为 2 的卷积时，通常会同时增加特征的数量。这是因为我们通过将激活图中的激活数量减少 4 倍来减少层的容量，我们不希望一次过多地减少层的容量。\n\n# 术语：通道和特征\n\n这两个术语通常可以互换使用，指的是权重矩阵的第二轴的大小，即卷积后每个网格单元的激活数量。*特征*从不用于指代输入数据，但*通道*可以指代输入数据(通常是颜色)或网络内部的激活。\n\n以下是我们如何构建一个简单的 CNN：\n\n```py\nsimple_cnn = sequential(\n    conv(1 ,4),            #14x14\n    conv(4 ,8),            #7x7\n    conv(8 ,16),           #4x4\n    conv(16,32),           #2x2\n    conv(32,2, act=False), #1x1\n    Flatten(),\n)\n```\n\n# Jeremy 说\n\n我喜欢在每个卷积后添加类似这里的注释，以显示每个层后激活图的大小。这些注释假定输入大小为 28×28。\n\n现在网络输出两个激活，这对应于我们标签中的两个可能级别：\n\n```py\nsimple_cnn(xb).shape\n```\n\n```py\ntorch.Size([64, 2])\n```\n\n我们现在可以创建我们的`Learner`：\n\n```py\nlearn = Learner(dls, simple_cnn, loss_func=F.cross_entropy, metrics=accuracy)\n```\n\n要查看模型中发生的情况，我们可以使用`summary`：\n\n```py\nlearn.summary()\n```\n\n```py\nSequential (Input shape: ['64 x 1 x 28 x 28'])\n================================================================\nLayer (type)         Output Shape         Param #    Trainable\n================================================================\nConv2d               64 x 4 x 14 x 14     40         True\n________________________________________________________________\nReLU                 64 x 4 x 14 x 14     0          False\n________________________________________________________________\nConv2d               64 x 8 x 7 x 7       296        True\n________________________________________________________________\nReLU                 64 x 8 x 7 x 7       0          False\n________________________________________________________________\nConv2d               64 x 16 x 4 x 4      1,168      True\n________________________________________________________________\nReLU                 64 x 16 x 4 x 4      0          False\n________________________________________________________________\nConv2d               64 x 32 x 2 x 2      4,640      True\n________________________________________________________________\nReLU                 64 x 32 x 2 x 2      0          False\n________________________________________________________________\nConv2d               64 x 2 x 1 x 1       578        True\n________________________________________________________________\nFlatten              64 x 2               0          False\n________________________________________________________________\n\nTotal params: 6,722\nTotal trainable params: 6,722\nTotal non-trainable params: 0\n\nOptimizer used: <function Adam at 0x7fbc9c258cb0>\nLoss function: <function cross_entropy at 0x7fbca9ba0170>\n\nCallbacks:\n  - TrainEvalCallback\n  - Recorder\n  - ProgressCallback\n```\n\n请注意，最终的`Conv2d`层的输出是`64x2x1x1`。我们需要去除那些额外的`1x1`轴；这就是`Flatten`所做的。这基本上与 PyTorch 的`squeeze`方法相同，但作为一个模块。\n\n让我们看看这是否训练！由于这是我们从头开始构建的比以前更深的网络，我们将使用更低的学习率和更多的时代：\n\n```py\nlearn.fit_one_cycle(2, 0.01)\n```\n\n| 时代 | 训练损失 | 验证损失 | 准确性 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 0.072684 | 0.045110 | 0.990186 | 00:05 |\n| 1 | 0.022580 | 0.030775 | 0.990186 | 00:05 |\n\n成功！它越来越接近我们之前的`resnet18`结果，尽管还不完全达到，而且需要更多的时代，我们需要使用更低的学习率。我们还有一些技巧要学习，但我们越来越接近能够从头开始创建现代 CNN。\n\n## 理解卷积算术\n\n我们可以从总结中看到，我们有一个大小为`64x1x28x28`的输入。轴是`批次、通道、高度、宽度`。这通常表示为`NCHW`(其中`N`是批次大小)。另一方面，TensorFlow 使用`NHWC`轴顺序。这是第一层：\n\n```py\nm = learn.model[0]\nm\n```\n\n```py\nSequential(\n  (0): Conv2d(1, 4, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n  (1): ReLU()\n)\n```\n\n因此，我们有 1 个输入通道，4 个输出通道和一个 3×3 的内核。让我们检查第一个卷积的权重：\n\n```py\nm[0].weight.shape\n```\n\n```py\ntorch.Size([4, 1, 3, 3])\n```\n\n总结显示我们有 40 个参数，`4*1*3*3`是 36。其他四个参数是什么？让我们看看偏差包含什么：\n\n```py\nm[0].bias.shape\n```\n\n```py\ntorch.Size([4])\n```\n\n我们现在可以利用这些信息来澄清我们在上一节中的陈述：“当我们使用步幅为 2 的卷积时，我们经常增加特征的数量，因为我们通过 4 的因子减少了激活图中的激活数量；我们不希望一次性太多地减少层的容量。”\n\n每个通道都有一个偏差。(有时通道被称为*特征*或*滤波器*，当它们不是输入通道时。) 输出形状是`64x4x14x14`，因此这将成为下一层的输入形状。根据`summary`，下一层有 296 个参数。让我们忽略批次轴，保持简单。因此，对于`14*14=196`个位置，我们正在乘以`296-8=288`个权重(为简单起见忽略偏差)，因此在这一层有`196*288=56,448`次乘法。下一层将有`7*7*(1168-16)=56,448`次乘法。\n\n这里发生的情况是，我们的步幅为 2 的卷积将*网格大小*从`14x14`减半到`7x7`，并且我们将*滤波器数量*从 8 增加到 16，导致总体计算量没有变化。如果我们在每个步幅为 2 的层中保持通道数量不变，那么网络中所做的计算量会随着深度增加而减少。但我们知道，更深层次必须计算语义丰富的特征(如眼睛或毛发)，因此我们不会期望*减少*计算是有意义的。\n\n另一种思考这个问题的方式是基于感受野。\n\n## 感受野\n\n*接受域*是参与层计算的图像区域。在[书籍网站](https://book.fast.ai)上，您会找到一个名为*conv-example.xlsx*的 Excel 电子表格，展示了使用 MNIST 数字计算两个步幅为 2 的卷积层的过程。每个层都有一个单独的核。图 13-10 展示了如果我们点击*conv2*部分中的一个单元格，显示第二个卷积层的输出，并点击*trace precedents*时看到的内容。\n\n![conv2 层的直接前置](img/dlcf_1310.png)\n\n###### 图 13-10. Conv2 层的直接前置\n\n这里，有绿色边框的单元格是我们点击的单元格，蓝色高亮显示的单元格是它的*前置*——用于计算其值的单元格。这些单元格是输入层（左侧）的对应 3×3 区域单元格和滤波器（右侧）的单元格。现在让我们再次点击*trace precedents*，看看用于计算这些输入的单元格。图 13-11 展示了发生了什么。\n\n![conv2 层的次要前置](img/dlcf_1311.png)\n\n###### 图 13-11. Conv2 层的次要前置\n\n在这个例子中，我们只有两个步幅为 2 的卷积层，因此现在追溯到了输入图像。我们可以看到输入层中的一个 7×7 区域单元格用于计算 Conv2 层中的单个绿色单元格。这个 7×7 区域是 Conv2 中绿色激活的输入的*接受域*。我们还可以看到现在需要第二个滤波器核，因为我们有两个层。\n\n从这个例子中可以看出，我们在网络中越深（特别是在一个层之前有更多步幅为 2 的卷积层时），该层中激活的接受域就越大。一个大的接受域意味着输入图像的大部分被用来计算该层中每个激活。我们现在知道，在网络的深层，我们有语义丰富的特征，对应着更大的接受域。因此，我们期望我们需要更多的权重来处理这种不断增加的复杂性。这是另一种说法，与我们在前一节提到的相同：当我们在网络中引入步幅为 2 的卷积时，我们也应该增加通道数。\n\n在撰写这一特定章节时，我们有很多问题需要回答，以便尽可能好地向您解释 CNN。信不信由你，我们在 Twitter 上找到了大部分答案。在我们继续讨论彩色图像之前，我们将快速休息一下，与您谈谈这个问题。\n\n## 关于 Twitter 的一点说明\n\n总的来说，我们并不是社交网络的重度用户。但我们写这本书的目标是帮助您成为最优秀的深度学习从业者，我们不提及 Twitter 在我们自己的深度学习之旅中有多么重要是不合适的。\n\n您看，Twitter 还有另一部分，远离唐纳德·特朗普和卡戴珊家族，深度学习研究人员和从业者每天都在这里交流。在我们撰写这一部分时，Jeremy 想要再次确认我们关于步幅为 2 的卷积的说法是否准确，所以他在 Twitter 上提问：\n\n![twitter 1](img/dlcf_13in09.png)\n\n几分钟后，这个答案出现了：\n\n![twitter 2](img/dlcf_13in10.png)\n\nChristian Szegedy 是[Inception](https://oreil.ly/hGE_Y)的第一作者，这是 2014 年 ImageNet 的获奖作品，也是现代神经网络中许多关键见解的来源。两小时后，这个出现了：\n\n![twitter 3](img/dlcf_13in11.png)\n\n你认识那个名字吗？您在第二章中看到过，当时我们在谈论今天建立深度学习基础的图灵奖获得者！\n\nJeremy 还在 Twitter 上询问有关我们在第七章中描述的标签平滑是否准确，并再次直接从 Christian Szegedy（标签平滑最初是在 Inception 论文中引入的）那里得到了回应：\n\n![twitter 4](img/dlcf_13in12.png)\n\n今天深度学习领域的许多顶尖人物经常在 Twitter 上活跃，并且非常乐意与更广泛的社区互动。一个好的开始方法是查看 Jeremy 的[最近的 Twitter 点赞](https://oreil.ly/sqOI7)，或者[Sylvain 的](https://oreil.ly/VWYHY)。这样，您可以看到我们认为有趣和有用的人发表的 Twitter 用户列表。\n\nTwitter 是我们保持与有趣论文、软件发布和其他深度学习新闻最新的主要途径。为了与深度学习社区建立联系，我们建议在[fast.ai 论坛](https://forums.fast.ai)和 Twitter 上都积极参与。\n\n话虽如此，让我们回到本章的重点。到目前为止，我们只展示了黑白图片的示例，每个像素只有一个值。实际上，大多数彩色图像每个像素有三个值来定义它们的颜色。接下来我们将看看如何处理彩色图像。\n\n# 彩色图像\n\n彩色图片是一个三阶张量：\n\n```py\nim = image2tensor(Image.open('images/grizzly.jpg'))\nim.shape\n```\n\n```py\ntorch.Size([3, 1000, 846])\n```\n\n```py\nshow_image(im);\n```\n\n![](img/dlcf_13in13.png)\n\n第一个轴包含红色、绿色和蓝色的通道：\n\n```py\n_,axs = subplots(1,3)\nfor bear,ax,color in zip(im,axs,('Reds','Greens','Blues')):\n    show_image(255-bear, ax=ax, cmap=color)\n```\n\n![](img/dlcf_13in14.png)\n\n我们看到卷积操作是针对图像的一个通道上的一个滤波器（我们的示例是在一个正方形上完成的）。卷积层将接受一个具有一定数量通道的图像（对于常规 RGB 彩色图像的第一层有三个通道），并输出一个具有不同数量通道的图像。与我们的隐藏大小代表线性层中神经元数量一样，我们可以决定有多少个滤波器，并且每个滤波器都可以专门化（一些用于检测水平边缘，其他用于检测垂直边缘等等），从而产生类似我们在第二章中学习的示例。\n\n在一个滑动窗口中，我们有一定数量的通道，我们需要同样数量的滤波器（我们不对所有通道使用相同的核）。因此，我们的核不是 3×3 的大小，而是`ch_in`（通道数）乘以 3×3。在每个通道上，我们将窗口的元素乘以相应滤波器的元素，然后对结果求和（如前所述），并对所有滤波器求和。在图 13-12 中给出的示例中，我们在该窗口上的卷积层的结果是红色+绿色+蓝色。\n\n![在 RGB 图像上进行卷积](img/dlcf_1312.png)\n\n###### 图 13-12\\. 在 RGB 图像上进行卷积\n\n因此，为了将卷积应用于彩色图片，我们需要一个大小与第一个轴匹配的核张量。在每个位置，核和图像块的相应部分相乘。\n\n然后，所有这些都相加在一起，为每个输出特征的每个网格位置产生一个单个数字，如图 13-13 所示。\n\n![添加 RGB 滤波器](img/dlcf_1313.png)\n\n###### 图 13-13\\. 添加 RGB 滤波器\n\n然后我们有`ch_out`这样的滤波器，因此最终，我们的卷积层的结果将是一个具有`ch_out`通道的图像批次，高度和宽度由前面概述的公式给出。这给我们`ch_out`大小为`ch_in x ks x ks`的张量，我们将其表示为一个四维大张量。在 PyTorch 中，这些权重的维度顺序是`ch_out x ch_in x ks x ks`。\n\n此外，我们可能希望为每个滤波器设置一个偏置。在前面的示例中，我们的卷积层的最终结果将是<math alttext=\"y Subscript upper R Baseline plus y Subscript upper G Baseline plus y Subscript upper B Baseline plus b\"><mrow><msub><mi>y</mi> <mi>R</mi></msub> <mo>+</mo> <msub><mi>y</mi> <mi>G</mi></msub> <mo>+</mo> <msub><mi>y</mi> <mi>B</mi></msub> <mo>+</mo> <mi>b</mi></mrow></math>。就像在线性层中一样，我们有多少个卷积核就有多少个偏置，因此偏置是大小为`ch_out`的向量。\n\n在使用彩色图像进行训练 CNN 时不需要特殊机制。只需确保您的第一层有三个输入。\n\n有很多处理彩色图像的方法。例如，您可以将它们转换为黑白色，从 RGB 转换为 HSV（色调、饱和度和值）颜色空间等。一般来说，实验证明，改变颜色的编码不会对模型结果产生任何影响，只要在转换中不丢失信息。因此，转换为黑白色是一个坏主意，因为它完全删除了颜色信息（这可能是关键的；例如，宠物品种可能具有独特的颜色）；但通常转换为 HSV 不会产生任何影响。\n\n现在您知道了第一章中“神经网络学习到的内容”中的那些图片来自[Zeiler 和 Fergus 的论文](https://oreil.ly/Y6dzZ)的含义！作为提醒，这是他们关于一些第 1 层权重的图片：\n\n![Zeiler 和 Fergus 找到的第 1 层卷积核](img/dlcf_13in15.png)\n\n这是将卷积核的三个切片，对于每个输出特征，显示为图像。我们可以看到，即使神经网络的创建者从未明确创建用于查找边缘的卷积核，神经网络也会使用 SGD 自动发现这些特征。\n\n现在让我们看看如何训练这些 CNN，并向您展示 fastai 在底层使用的所有技术，以实现高效的训练。\n\n# 提高训练稳定性\n\n由于我们在识别 3 和 7 方面做得很好，让我们转向更难的事情——识别所有 10 个数字。这意味着我们需要使用`MNIST`而不是`MNIST_SAMPLE`：\n\n```py\npath = untar_data(URLs.MNIST)\n```\n\n```py\npath.ls()\n```\n\n```py\n(#2) [Path('testing'),Path('training')]\n```\n\n数据在两个名为*training*和*testing*的文件夹中，因此我们必须告诉`GrandparentSplitter`这一点（默认为`train`和`valid`）。我们在`get_dls`函数中执行此操作，该函数定义使得稍后更改批量大小变得容易：\n\n```py\ndef get_dls(bs=64):\n    return DataBlock(\n        blocks=(ImageBlock(cls=PILImageBW), CategoryBlock),\n        get_items=get_image_files,\n        splitter=GrandparentSplitter('training','testing'),\n        get_y=parent_label,\n        batch_tfms=Normalize()\n    ).dataloaders(path, bs=bs)\n\ndls = get_dls()\n```\n\n记住，在使用数据之前先查看数据总是一个好主意：\n\n```py\ndls.show_batch(max_n=9, figsize=(4,4))\n```\n\n![](img/dlcf_13in16.png)\n\n现在我们的数据准备好了，我们可以在上面训练一个简单的模型。\n\n## 一个简单的基线\n\n在本章的前面，我们基于类似于`conv`函数构建了一个模型：\n\n```py\ndef conv(ni, nf, ks=3, act=True):\n    res = nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)\n    if act: res = nn.Sequential(res, nn.ReLU())\n    return res\n```\n\n让我们从一个基本的 CNN 作为基线开始。我们将使用与之前相同的一个，但有一个调整：我们将使用更多的激活。由于我们有更多的数字需要区分，我们可能需要学习更多的滤波器。\n\n正如我们讨论过的，通常我们希望每次有一个步幅为 2 的层时将滤波器数量加倍。在整个网络中增加滤波器数量的一种方法是在第一层中将激活数量加倍，然后每个之后的层也将比之前的版本大一倍。\n\n但这会产生一个微妙的问题。考虑应用于每个像素的卷积核。默认情况下，我们使用一个 3×3 像素的卷积核。因此，在每个位置上，卷积核被应用到了总共 3×3=9 个像素。以前，我们的第一层有四个输出滤波器。因此，在每个位置上，从九个像素计算出四个值。想想如果我们将输出加倍到八个滤波器会发生什么。然后当我们应用我们的卷积核时，我们将使用九个像素来计算八个数字。这意味着它实际上并没有学到太多：输出大小几乎与输入大小相同。只有当神经网络被迫这样做时，即从操作的输出数量明显小于输入数量时，它们才会创建有用的特征。\n\n为了解决这个问题，我们可以在第一层使用更大的卷积核。如果我们使用一个 5×5 像素的卷积核，每次卷积核应用时将使用 25 个像素。从中创建八个滤波器将意味着神经网络将不得不找到一些有用的特征：\n\n```py\ndef simple_cnn():\n    return sequential(\n        conv(1 ,8, ks=5),        #14x14\n        conv(8 ,16),             #7x7\n        conv(16,32),             #4x4\n        conv(32,64),             #2x2\n        conv(64,10, act=False),  #1x1\n        Flatten(),\n    )\n```\n\n正如您将在接下来看到的，我们可以在模型训练时查看模型内部，以尝试找到使其训练更好的方法。为此，我们使用`ActivationStats`回调，记录每个可训练层的激活的均值、标准差和直方图（正如我们所见，回调用于向训练循环添加行为；我们将在第十六章中探讨它们的工作原理）：\n\n```py\nfrom fastai.callback.hook import *\n```\n\n我们希望快速训练，这意味着以较高的学习率进行训练。让我们看看在 0.06 时的效果如何：\n\n```py\ndef fit(epochs=1):\n    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\n                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\n    learn.fit(epochs, 0.06)\n    return learn\n```\n\n```py\nlearn = fit()\n```\n\n| 轮数 | 训练损失 | 验证损失 | 准确率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 2.307071 | 2.305865 | 0.113500 | 00:16 |\n\n这次训练效果不佳！让我们找出原因。\n\n传递给`Learner`的回调的一个方便功能是它们会自动提供，名称与回调类相同，除了使用`驼峰命名法`。因此，我们的`ActivationStats`回调可以通过`activation_stats`访问。我相信你还记得`learn.recorder`...你能猜到它是如何实现的吗？没错，它是一个名为`Recorder`的回调！\n\n`ActivationStats`包含一些方便的实用程序，用于绘制训练期间的激活。`plot_layer_stats(*idx*)`绘制第*`idx`*层激活的均值和标准差，以及接近零的激活百分比。这是第一层的图表：\n\n```py\nlearn.activation_stats.plot_layer_stats(0)\n```\n\n![](img/dlcf_13in17.png)\n\n通常情况下，我们的模型在训练期间应该具有一致或至少平滑的层激活均值和标准差。接近零的激活值特别有问题，因为这意味着我们的模型中有一些计算根本没有做任何事情（因为乘以零得到零）。当一个层中有一些零时，它们通常会传递到下一层...然后创建更多的零。这是我们网络的倒数第二层：\n\n```py\nlearn.activation_stats.plot_layer_stats(-2)\n```\n\n![](img/dlcf_13in18.png)\n\n正如预期的那样，问题在网络末端变得更糟，因为不稳定性和零激活在层间累积。让我们看看如何使训练更稳定。\n\n## 增加批量大小\n\n使训练更稳定的一种方法是增加批量大小。较大的批次具有更准确的梯度，因为它们是从更多数据计算出来的。然而，较大的批量大小意味着每个轮数的批次更少，这意味着您的模型更新权重的机会更少。让我们看看批量大小为 512 是否有帮助：\n\n```py\ndls = get_dls(512)\n```\n\n```py\nlearn = fit()\n```\n\n| 轮数 | 训练损失 | 验证损失 | 准确率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 2.309385 | 2.302744 | 0.113500 | 00:08 |\n\n让我们看看倒数第二层是什么样的：\n\n```py\nlearn.activation_stats.plot_layer_stats(-2)\n```\n\n![](img/dlcf_13in19.png)\n\n再次，我们的大多数激活值接近零。让我们看看我们可以做些什么来改善训练稳定性。\n\n## 1cycle 训练\n\n我们的初始权重不适合我们要解决的任务。因此，以高学习率开始训练是危险的：我们很可能会使训练立即发散，正如我们所见。我们可能也不想以高学习率结束训练，这样我们就不会跳过一个最小值。但我们希望在训练期间保持高学习率，因为这样我们可以更快地训练。因此，我们应该在训练过程中改变学习率，从低到高，然后再次降低到低。\n\n莱斯利·史密斯（是的，就是发明学习率查找器的那个人！）在他的文章[“超收敛：使用大学习率非常快速地训练神经网络”](https://oreil.ly/EB8NU)中发展了这个想法。他设计了一个学习率时间表，分为两个阶段：一个阶段学习率从最小值增长到最大值（*预热*），另一个阶段学习率再次降低到最小值（*退火*）。史密斯称这种方法的组合为*1cycle 训练*。\n\n1cycle 训练允许我们使用比其他类型训练更高的最大学习率，这带来了两个好处：\n\n+   通过使用更高的学习率进行训练，我们可以更快地训练——这种现象史密斯称之为*超收敛*。\n\n+   通过使用更高的学习率进行训练，我们过拟合较少，因为我们跳过了尖锐的局部最小值，最终进入了更平滑（因此更具有泛化能力）的损失部分。\n\n第二点是一个有趣而微妙的观察；它基于这样一个观察：一个泛化良好的模型，如果你稍微改变输入，它的损失不会发生很大变化。如果一个模型在较大的学习率下训练了相当长的时间，并且在这样做时能找到一个好的损失，那么它一定找到了一个泛化良好的区域，因为它在批次之间跳动很多（这基本上就是高学习率的定义）。问题在于，正如我们所讨论的，直接跳到高学习率更有可能导致损失发散，而不是看到损失改善。因此，我们不会直接跳到高学习率。相反，我们从低学习率开始，我们的损失不会发散，然后允许优化器逐渐找到参数的更平滑的区域，逐渐提高学习率。\n\n然后，一旦我们找到了参数的一个良好平滑区域，我们希望找到该区域的最佳部分，这意味着我们必须再次降低学习率。这就是为什么 1cycle 训练有一个渐进的学习率预热和渐进的学习率冷却。许多研究人员发现，实践中这种方法导致更准确的模型和更快的训练。这就是为什么在 fastai 中`fine_tune`默认使用这种方法。\n\n在第十六章中，我们将学习有关 SGD 中的*动量*。简而言之，动量是一种技术，优化器不仅朝着梯度的方向迈出一步，而且继续朝着以前的步骤的方向前进。 Leslie Smith 在[“神经网络超参数的纪律方法：第 1 部分”](https://oreil.ly/oL7GT)中介绍了*循环动量*的概念。它建议动量与学习率的方向相反变化：当我们处于高学习率时，我们使用较少的动量，在退火阶段再次使用更多动量。\n\n我们可以通过调用`fit_one_cycle`在 fastai 中使用 1cycle 训练：\n\n```py\ndef fit(epochs=1, lr=0.06):\n    learn = Learner(dls, simple_cnn(), loss_func=F.cross_entropy,\n                    metrics=accuracy, cbs=ActivationStats(with_hist=True))\n    learn.fit_one_cycle(epochs, lr)\n    return learn\n```\n\n```py\nlearn = fit()\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.210838 | 0.084827 | 0.974300 | 00:08 |\n\n我们终于取得了一些进展！现在它给我们一个合理的准确率。\n\n我们可以通过在`learn.recorder`上调用`plot_sched`来查看训练过程中的学习率和动量。`learn.recorder`（顾名思义）记录了训练过程中发生的一切，包括损失、指标和超参数，如学习率和动量：\n\n```py\nlearn.recorder.plot_sched()\n```\n\n![](img/dlcf_13in20.png)\n\nSmith 的原始 1cycle 论文使用了线性热身和线性退火。正如您所看到的，我们通过将其与另一种流行方法——余弦退火相结合，在 fastai 中改进了这种方法。`fit_one_cycle`提供了以下您可以调整的参数：\n\n`lr_max`\n\n将使用的最高学习率（这也可以是每个层组的学习率列表，或包含第一个和最后一个层组学习率的 Python `slice`对象）\n\n`div`\n\n将`lr_max`除以多少以获得起始学习率\n\n`div_final`\n\n将`lr_max`除以多少以获得结束学习率\n\n`pct_start`\n\n用于热身的批次百分比\n\n`moms`\n\n一个元组`(*mom1*,*mom2*,*mom3*)`，其中*`mom1`*是初始动量，*`mom2`*是最小动量，*`mom3`*是最终动量\n\n让我们再次查看我们的层统计数据：\n\n```py\nlearn.activation_stats.plot_layer_stats(-2)\n```\n\n![](img/dlcf_13in21.png)\n\n非零权重的百分比正在得到很大的改善，尽管仍然相当高。通过使用`color_dim`并传递一个层索引，我们可以更多地了解我们的训练情况：\n\n```py\nlearn.activation_stats.color_dim(-2)\n```\n\n![](img/dlcf_13in22.png)\n\n`color_dim`是由 fast.ai 与学生 Stefano Giomo 共同开发的。Giomo 将这个想法称为*丰富多彩维度*，并提供了一个[深入解释](https://oreil.ly/bPXGw)这种方法背后的历史和细节。基本思想是创建一个层的激活直方图，我们希望它会遵循一个平滑的模式，如正态分布（图 13-14）。\n\n![丰富多彩维度的直方图](img/dlcf_1314.png)\n\n###### 图 13-14。丰富多彩维度的直方图（由 Stefano Giomo 提供）\n\n为了创建`color_dim`，我们将左侧显示的直方图转换为底部显示的彩色表示。然后，我们将其翻转，如右侧所示。我们发现，如果我们取直方图值的对数，分布会更清晰。然后，Giomo 描述：\n\n> 每个层的最终图是通过将每批次的激活直方图沿水平轴堆叠而成的。因此，可视化中的每个垂直切片代表单个批次的激活直方图。颜色强度对应直方图的高度；换句话说，每个直方图柱中的激活数量。\n\n图 13-15 展示了这一切是如何结合在一起的。\n\n![丰富多彩维度的总结](img/dlcf_1315.png)\n\n###### 图 13-15。丰富多彩维度的总结（由 Stefano Giomo 提供）\n\n这说明了为什么当*f*遵循正态分布时，log(*f*)比*f*更丰富多彩，因为取对数会将高斯曲线变成二次曲线，这样不会那么狭窄。\n\n因此，让我们再次看看倒数第二层的结果：\n\n```py\nlearn.activation_stats.color_dim(-2)\n```\n\n![](img/dlcf_13in23.png)\n\n这展示了一个经典的“糟糕训练”图片。我们从几乎所有激活都为零开始——这是我们在最左边看到的，所有的深蓝色。底部的明黄色代表接近零的激活。然后，在最初的几批中，我们看到非零激活数量呈指数增长。但它走得太远并崩溃了！我们看到深蓝色回来了，底部再次变成明黄色。它几乎看起来像是训练重新从头开始。然后我们看到激活再次增加并再次崩溃。重复几次后，最终我们看到激活在整个范围内分布。\n\n如果训练一开始就能平稳进行会更好。指数增长然后崩溃的周期往往会导致大量接近零的激活，从而导致训练缓慢且最终结果不佳。解决这个问题的一种方法是使用批量归一化。\n\n## 批量归一化\n\n为了解决前一节中出现的训练缓慢和最终结果不佳的问题，我们需要解决初始大比例接近零的激活，并尝试在整个训练过程中保持良好的激活分布。\n\nSergey Ioffe 和 Christian Szegedy 在 2015 年的论文[“Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”](https://oreil.ly/MTZJL)中提出了这个问题的解决方案。在摘要中，他们描述了我们所见过的问题：\n\n> 训练深度神经网络的复杂性在于每一层输入的分布在训练过程中会发生变化，因为前一层的参数发生变化。这需要降低学习率和谨慎的参数初始化，从而减慢训练速度...我们将这种现象称为内部协变量转移，并通过对层输入进行归一化来解决这个问题。\n\n他们说他们的解决方案如下：\n\n> 将归一化作为模型架构的一部分，并对每个训练小批量进行归一化。批量归一化使我们能够使用更高的学习率，并且对初始化要求不那么严格。\n\n这篇论文一经发布就引起了极大的兴奋，因为它包含了图 13-16 中的图表，清楚地表明批量归一化可以训练出比当前最先进技术（*Inception*架构）更准确且速度快约 5 倍的模型。\n\n![批量归一化的影响](img/dlcf_1316.png)\n\n###### 图 13-16\\. 批量归一化的影响（由 Sergey Ioffe 和 Christian Szegedy 提供）\n\n批量归一化（通常称为*batchnorm*）通过取层激活的均值和标准差的平均值来归一化激活。然而，这可能会导致问题，因为网络可能希望某些激活非常高才能进行准确的预测。因此，他们还添加了两个可学习参数（意味着它们将在 SGD 步骤中更新），通常称为`gamma`和`beta`。在将激活归一化以获得一些新的激活向量`y`之后，批量归一化层返回`gamma*y + beta`。\n\n这就是为什么我们的激活可以具有任何均值或方差，独立于前一层结果的均值和标准差。这些统计数据是分开学习的，使得我们的模型训练更容易。在训练和验证期间的行为是不同的：在训练期间，我们使用批次的均值和标准差来归一化数据，而在验证期间，我们使用训练期间计算的统计数据的运行均值。\n\n让我们在`conv`中添加一个批量归一化层：\n\n```py\ndef conv(ni, nf, ks=3, act=True):\n    layers = [nn.Conv2d(ni, nf, stride=2, kernel_size=ks, padding=ks//2)]\n    layers.append(nn.BatchNorm2d(nf))\n    if act: layers.append(nn.ReLU())\n    return nn.Sequential(*layers)\n```\n\n并适应我们的模型：\n\n```py\nlearn = fit()\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.130036 | 0.055021 | 0.986400 | 00:10 |\n\n这是一个很好的结果！让我们看看`color_dim`：\n\n```py\nlearn.activation_stats.color_dim(-4)\n```\n\n![](img/dlcf_13in24.png)\n\n这正是我们希望看到的：激活的平稳发展，没有“崩溃”。Batchnorm 在这里真的兑现了承诺！事实上，批量归一化非常成功，我们几乎可以在所有现代神经网络中看到它（或类似的东西）。\n\n关于包含批归一化层的模型的一个有趣观察是，它们往往比不包含批归一化层的模型更好地泛化。尽管我们尚未看到对这里发生的事情进行严格分析，但大多数研究人员认为原因是批归一化为训练过程添加了一些额外的随机性。每个小批次的均值和标准差都会与其他小批次有所不同。因此，激活每次都会被不同的值归一化。为了使模型能够做出准确的预测，它必须学会对这些变化变得稳健。通常，向训练过程添加额外的随机性通常有所帮助。\n\n由于事情进展顺利，让我们再训练几个周期，看看情况如何。实际上，让我们*增加*学习率，因为批归一化论文的摘要声称我们应该能够“以更高的学习率训练”：\n\n```py\nlearn = fit(5, lr=0.1)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.191731 | 0.121738 | 0.960900 | 00:11 |\n| 1 | 0.083739 | 0.055808 | 0.981800 | 00:10 |\n| 2 | 0.053161 | 0.044485 | 0.987100 | 00:10 |\n| 3 | 0.034433 | 0.030233 | 0.990200 | 00:10 |\n| 4 | 0.017646 | 0.025407 | 0.991200 | 00:10 |\n\n```py\nlearn = fit(5, lr=0.1)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.183244 | 0.084025 | 0.975800 | 00:13 |\n| 1 | 0.080774 | 0.067060 | 0.978800 | 00:12 |\n| 2 | 0.050215 | 0.062595 | 0.981300 | 00:12 |\n| 3 | 0.030020 | 0.030315 | 0.990700 | 00:12 |\n| 4 | 0.015131 | 0.025148 | 0.992100 | 00:12 |\n\n在这一点上，我认为我们知道如何识别数字了！是时候转向更难的东西了…\n\n# 结论\n\n我们已经看到，卷积只是一种矩阵乘法，对权重矩阵有两个约束：一些元素始终为零，一些元素被绑定（强制始终具有相同的值）。在第一章中，我们看到了 1986 年书籍*并行分布式处理*中的八个要求；其中之一是“单元之间的连接模式”。这正是这些约束所做的：它们强制执行一定的连接模式。\n\n这些约束允许我们在不牺牲表示复杂视觉特征的能力的情况下，在模型中使用更少的参数。这意味着我们可以更快地训练更深的模型，减少过拟合。尽管普遍逼近定理表明在一个隐藏层中应该*可能*用全连接网络表示任何东西，但我们现在看到，通过深思熟虑网络架构，我们可以训练出更好的模型。\n\n卷积是我们在神经网络中看到的最常见的连接模式（连同常规线性层，我们称之为*全连接*），但很可能会发现更多。\n\n我们还看到了如何解释网络中各层的激活，以查看训练是否顺利，以及批归一化如何帮助规范训练并使其更加平滑。在下一章中，我们将使用这两个层来构建计算机视觉中最流行的架构：残差网络。\n\n# 问卷\n\n1.  特征是什么？\n\n1.  为顶部边缘检测器编写卷积核矩阵。\n\n1.  写出 3×3 卷积核对图像中单个像素应用的数学运算。\n\n1.  应用于 3×3 零矩阵的卷积核的值是多少？\n\n1.  填充是什么？\n\n1.  步幅是什么？\n\n1.  创建一个嵌套列表推导来完成您选择的任何任务。\n\n1.  PyTorch 的 2D 卷积的`input`和`weight`参数的形状是什么？\n\n1.  通道是什么？\n\n1.  卷积和矩阵乘法之间的关系是什么？\n\n1.  卷积神经网络是什么？\n\n1.  重构神经网络定义的部分有什么好处？\n\n1.  什么是`Flatten`？MNIST CNN 中需要包含在哪里？为什么？\n\n1.  NCHW 是什么意思？\n\n1.  为什么 MNIST CNN 的第三层有`7*7*(1168-16)`次乘法运算？\n\n1.  什么是感受野？\n\n1.  经过两次步幅为 2 的卷积后，激活的感受野大小是多少？为什么？\n\n1.  自己运行*conv-example.xlsx*并尝试使用*trace precedents*进行实验。\n\n1.  看一下 Jeremy 或 Sylvain 最近的 Twitter“喜欢”列表，看看是否有任何有趣的资源或想法。\n\n1.  彩色图像如何表示为张量？\n\n1.  彩色输入下卷积是如何工作的？\n\n1.  我们可以使用什么方法来查看`DataLoaders`中的数据？\n\n1.  为什么我们在每次步幅为 2 的卷积后将滤波器数量加倍？\n\n1.  为什么在 MNIST 的第一个卷积中使用较大的内核（使用`simple_cnn`）？\n\n1.  `ActivationStats`为每个层保存了什么信息？\n\n1.  在训练后如何访问学习者的回调？\n\n1.  `plot_layer_stats`绘制了哪三个统计数据？x 轴代表什么？\n\n1.  为什么接近零的激活是有问题的？\n\n1.  使用更大的批量大小进行训练的优缺点是什么？\n\n1.  为什么我们应该避免在训练开始时使用高学习率？\n\n1.  什么是 1cycle 训练？\n\n1.  使用高学习率进行训练的好处是什么？\n\n1.  为什么我们希望在训练结束时使用较低的学习率？\n\n1.  什么是循环动量？\n\n1.  哪个回调在训练期间跟踪超参数值（以及其他信息）？\n\n1.  `color_dim`图中的一列像素代表什么？\n\n1.  在`color_dim`中，“坏训练”是什么样子？为什么？\n\n1.  批规范化层包含哪些可训练参数？\n\n1.  在训练期间批规范化使用哪些统计数据进行规范化？验证期间呢？\n\n1.  为什么具有批规范化层的模型泛化能力更好？\n\n## 进一步研究\n\n1.  除了边缘检测器，计算机视觉中还使用了哪些特征（尤其是在深度学习变得流行之前）？\n\n1.  PyTorch 中还有其他规范化层。尝试它们，看看哪种效果最好。了解其他规范化层的开发原因以及它们与批规范化的区别。\n\n1.  尝试将激活函数移动到`conv`中的批规范化层后。这会有所不同吗？看看你能找到关于推荐顺序及原因的信息。\n"
  },
  {
    "path": "translations/cn/14_resnet.md",
    "content": "# 第十四章：ResNets\n\n\n\n在本章中，我们将在上一章介绍的 CNN 基础上构建，并向您解释 ResNet（残差网络）架构。它是由 Kaiming He 等人于 2015 年在文章[“Deep Residual Learning for Image Recognition”](https://oreil.ly/b68K8)中引入的，到目前为止是最常用的模型架构。最近在图像模型中的发展几乎总是使用残差连接的相同技巧，大多数时候，它们只是原始 ResNet 的调整。\n\n我们将首先展示最初设计的基本 ResNet，然后解释使其性能更好的现代调整。但首先，我们需要一个比 MNIST 数据集更难一点的问题，因为我们已经在常规 CNN 上接近 100%的准确率了。\n\n# 回到 Imagenette\n\n当我们已经在上一章的 MNIST 中看到的准确率已经很高时，要评估我们对模型的任何改进将会很困难，因此我们将通过回到 Imagenette 来解决一个更困难的图像分类问题。我们将继续使用小图像以保持事情相对快速。\n\n让我们获取数据——我们将使用已经调整大小为 160 像素的版本以使事情更快，然后将随机裁剪到 128 像素：\n\n```py\ndef get_data(url, presize, resize):\n    path = untar_data(url)\n    return DataBlock(\n        blocks=(ImageBlock, CategoryBlock), get_items=get_image_files,\n        splitter=GrandparentSplitter(valid_name='val'),\n        get_y=parent_label, item_tfms=Resize(presize),\n        batch_tfms=[*aug_transforms(min_scale=0.5, size=resize),\n                    Normalize.from_stats(*imagenet_stats)],\n    ).dataloaders(path, bs=128)\n```\n\n```py\ndls = get_data(URLs.IMAGENETTE_160, 160, 128)\n```\n\n```py\ndls.show_batch(max_n=4)\n```\n\n![](img/dlcf_14in01.png)\n\n当我们查看 MNIST 时，我们处理的是 28×28 像素的图像。对于 Imagenette，我们将使用 128×128 像素的图像进行训练。稍后，我们希望能够使用更大的图像，至少与 224×224 像素的 ImageNet 标准一样大。您还记得我们如何从 MNIST 卷积神经网络中获得每个图像的单个激活向量吗？\n\n我们采用的方法是确保有足够的步幅为 2 的卷积，以使最终层具有 1 的网格大小。然后我们展平我们最终得到的单位轴，为每个图像获得一个向量（因此，对于一个小批量的激活矩阵）。我们可以对 Imagenette 做同样的事情，但这会导致两个问题：\n\n+   我们需要很多步幅为 2 的层，才能使我们的网格在最后变成 1×1 的大小——可能比我们本来会选择的要多。\n\n+   该模型将无法处理除最初训练的大小之外的任何大小的图像。\n\n处理第一个问题的一种方法是以一种处理 1×1 以外的网格大小的方式展平最终的卷积层。我们可以简单地将矩阵展平为向量，就像我们以前做过的那样，通过将每一行放在前一行之后。事实上，这是卷积神经网络直到 2013 年几乎总是采用的方法。最著名的例子是 2013 年 ImageNet 的获奖者 VGG，有时今天仍在使用。但这种架构还有另一个问题：它不仅不能处理与训练集中使用的相同大小的图像之外的图像，而且需要大量内存，因为展平卷积层导致许多激活被馈送到最终层。因此，最终层的权重矩阵是巨大的。\n\n这个问题通过创建*完全卷积网络*来解决。完全卷积网络的技巧是对卷积网格中的激活进行平均。换句话说，我们可以简单地使用这个函数：\n\n```py\ndef avg_pool(x): return x.mean((2,3))\n```\n\n正如您所看到的，它正在计算 x 轴和 y 轴上的平均值。这个函数将始终将一组激活转换为每个图像的单个激活。PyTorch 提供了一个稍微更灵活的模块，称为`nn.AdaptiveAvgPool2d`，它将一组激活平均到您需要的任何大小的目标（尽管我们几乎总是使用大小为 1）。\n\n因此，一个完全卷积网络具有多个卷积层，其中一些将是步幅为 2 的，在最后是一个自适应平均池化层，一个展平层来移除单位轴，最后是一个线性层。这是我们的第一个完全卷积网络：\n\n```py\ndef block(ni, nf): return ConvLayer(ni, nf, stride=2)\ndef get_model():\n    return nn.Sequential(\n        block(3, 16),\n        block(16, 32),\n        block(32, 64),\n        block(64, 128),\n        block(128, 256),\n        nn.AdaptiveAvgPool2d(1),\n        Flatten(),\n        nn.Linear(256, dls.c))\n```\n\n我们将在网络中用其他变体替换`block`的实现，这就是为什么我们不再称其为`conv`。我们还通过利用 fastai 的`ConvLayer`节省了一些时间，它已经提供了前一章中`conv`的功能（还有更多！）。\n\n# 停下来思考\n\n考虑这个问题：这种方法对于像 MNIST 这样的光学字符识别（OCR）问题是否有意义？绝大多数从事 OCR 和类似问题的从业者倾向于使用全卷积网络，因为这是现在几乎每个人都学习的。但这真的毫无意义！例如，你不能通过将数字切成小块、混在一起，然后决定每个块平均看起来像 3 还是 8 来判断一个数字是 3 还是 8。但这正是自适应平均池化有效地做的事情！全卷积网络只对没有单一正确方向或大小的对象（例如大多数自然照片）是一个很好的选择。\n\n一旦我们完成卷积层，我们将得到大小为`bs x ch x h x w`的激活（批量大小、一定数量的通道、高度和宽度）。我们想将其转换为大小为`bs x ch`的张量，因此我们取最后两个维度的平均值，并像在我们之前的模型中那样展平尾随的 1×1 维度。\n\n这与常规池化不同，因为这些层通常会取给定大小窗口的平均值（对于平均池化）或最大值（对于最大池化）。例如，大小为 2 的最大池化层在旧的 CNN 中非常流行，通过在每个维度上取每个 2×2 窗口的最大值（步幅为 2），将图像的尺寸减半。\n\n与以前一样，我们可以使用我们自定义的模型定义一个`Learner`，然后在之前获取的数据上对其进行训练：\n\n```py\ndef get_learner(m):\n    return Learner(dls, m, loss_func=nn.CrossEntropyLoss(), metrics=accuracy\n                  ).to_fp16()\n\nlearn = get_learner(get_model())\n```\n\n```py\nlearn.lr_find()\n```\n\n```py\n(0.47863011360168456, 3.981071710586548)\n```\n\n![](img/dlcf_14in02.png)\n\n对于 CNN 来说，3e-3 通常是一个很好的学习率，这在这里也是如此，所以让我们试一试：\n\n```py\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.901582 | 2.155090 | 0.325350 | 00:07 |\n| 1 | 1.559855 | 1.586795 | 0.507771 | 00:07 |\n| 2 | 1.296350 | 1.295499 | 0.571720 | 00:07 |\n| 3 | 1.144139 | 1.139257 | 0.639236 | 00:07 |\n| 4 | 1.049770 | 1.092619 | 0.659108 | 00:07 |\n\n考虑到我们必须从头开始选择 10 个类别中的正确一个，而且我们只训练了 5 个时期，这是一个相当不错的开始！我们可以通过使用更深的模型做得更好，但只是堆叠新层并不会真正改善我们的结果（你可以尝试自己看看！）。为了解决这个问题，ResNets 引入了*跳跃连接*的概念。我们将在下一节中探讨 ResNets 的这些方面。\n\n# 构建现代 CNN：ResNet\n\n我们现在已经拥有构建我们自从本书开始就一直在计算机视觉任务中使用的模型所需的所有要素：ResNets。我们将介绍它们背后的主要思想，并展示它如何在 Imagenette 上提高了准确性，然后构建一个带有所有最新调整的版本。\n\n## 跳跃连接\n\n2015 年，ResNet 论文的作者们注意到了一件他们觉得奇怪的事情。即使使用了批量归一化，他们发现使用更多层的网络表现不如使用更少层的网络，并且模型之间没有其他差异。最有趣的是，这种差异不仅在验证集中观察到，而且在训练集中也观察到；因此这不仅仅是一个泛化问题，而是一个训练问题。正如论文所解释的：\n\n> 出乎意料的是，这种退化并不是由过拟合引起的，向适当深度的模型添加更多层会导致更高的训练错误，正如我们的实验[先前报告]和彻底验证的那样。\n\n这种现象在图 14-1 中的图表中有所说明，左侧是训练错误，右侧是测试错误。\n\n![不同深度网络的训练](img/dlcf_1401.png)\n\n###### 图 14-1。不同深度网络的训练（由 Kaiming He 等人提供）。\n\n正如作者在这里提到的，他们并不是第一个注意到这个奇怪事实的人。但他们是第一个迈出非常重要的一步：\n\n> 让我们考虑一个更浅的架构及其更深的对应物，后者在其上添加更多层。存在一种通过构建解决更深模型的方法：添加的层是恒等映射，其他层是从学习的更浅模型中复制的。\n\n由于这是一篇学术论文，这个过程以一种不太易懂的方式描述，但概念实际上非常简单：从一个训练良好的 20 层神经网络开始，然后添加另外 36 层什么都不做的层（例如，它们可以是具有单个权重等于 1 和偏置等于 0 的线性层）。结果将是一个 56 层的网络，它与 20 层网络完全相同，证明总是存在深度网络应该*至少和*任何浅层网络一样好。但由于某种原因，随机梯度下降似乎无法找到它们。\n\n# 行话：恒等映射\n\n将输入返回而不做任何改变。这个过程由一个*恒等函数*执行。\n\n实际上，还有另一种更有趣的方法来创建这些额外的 36 层。如果我们用`x + conv(x)`替换每次出现的`conv(x)`，其中`conv`是上一章中添加第二个卷积，然后是 ReLU，然后是批量归一化层的函数。此外，回想一下批量归一化是`gamma*y + beta`。如果我们为这些最终批量归一化层中的每一个初始化`gamma`为零会怎样？那么我们这些额外的 36 层的`conv(x)`将始终等于零，这意味着`x+conv(x)`将始终等于`x`。\n\n这给我们带来了什么好处？关键是，这 36 个额外的层，就目前而言，是一个*恒等映射*，但它们有*参数*，这意味着它们是*可训练的*。因此，我们可以从最好的 20 层模型开始，添加这 36 个最初什么都不做的额外层，然后*微调整个 56 层模型*。这些额外的 36 层可以学习使它们最有用的参数！\n\nResNet 论文提出了这样的一个变体，即“跳过”每第二个卷积，因此我们实际上得到了`x+conv2(conv1(x))`。这在图 14-2（来自论文）中的图表中显示。\n\n![一个简单的 ResNet 块](img/dlcf_1402.png)\n\n###### 图 14-2。一个简单的 ResNet 块（由 Kaiming He 等人提供）。\n\n右侧的箭头只是`x+conv2(conv1(x))`中的`x`部分，被称为*恒等分支*或*跳跃连接*。左侧路径是`conv2(conv1(x))`部分。您可以将恒等路径视为提供从输入到输出的直接路径。\n\n在 ResNet 中，我们不是先训练少量层，然后在末尾添加新层并进行微调。相反，我们在整个 CNN 中使用像图 14-2 中的 ResNet 块这样的块，以通常的方式从头开始初始化并以通常的方式使用 SGD 进行训练。我们依靠跳跃连接使网络更容易使用 SGD 进行训练。\n\n还有另一种（在很大程度上等效的）思考这些 ResNet 块的方式。这就是论文描述的方式：\n\n> 我们不是希望每几个堆叠的层直接适应所需的底层映射，而是明确让这些层适应一个残差映射。形式上，将所需的底层映射表示为*H*(*x*)，我们让堆叠的非线性层适应另一个映射*F*(*x*) := H(*x*)*−x*。原始映射被重新构造为*F*(*x*)+*x*。我们假设优化残差映射比优化原始未引用的映射更容易。在极端情况下，如果恒等映射是最佳的，将残差推向零将比通过一堆非线性层适应恒等映射更容易。\n\n再次，这是相当晦涩的文字，让我们尝试用简单的英语重新表述一下！如果给定层的结果是`x`，我们使用一个返回`y = x + block(x)`的 ResNet 块，我们不是要求该块预测`y`；我们要求它预测`y`和`x`之间的差异。因此，这些块的任务不是预测特定的特征，而是最小化`x`和期望的`y`之间的误差。因此，ResNet 擅长学习不做任何事情和通过两个卷积层块（具有可训练权重）之间的区别。这就是这些模型得名的原因：它们在预测残差（提醒：“残差”是预测减去目标）。\n\n这两种关于 ResNet 的思考方式共享的一个关键概念是学习的便利性。这是一个重要的主题。回想一下普遍逼近定理，它指出一个足够大的网络可以学习任何东西。这仍然是真的，但事实证明，在原始数据和训练方案下，网络在原则上可以学习的东西与它实际上容易学习的东西之间存在非常重要的区别。过去十年中神经网络的许多进步都像 ResNet 块一样：意识到如何使一些一直可能的东西变得可行。\n\n# 真实身份路径\n\n原始论文实际上并没有在每个块的最后一个 batchnorm 层中使用零作为`gamma`的初始值的技巧；这是几年后才出现的。因此，ResNet 的原始版本并没有真正以真实的身份路径开始训练 ResNet 块，但是尽管如此，具有“穿越”跳过连接的能力确实使其训练效果更好。添加 batchnorm `gamma`初始化技巧使模型能够以更高的学习速率训练。\n\n这是一个简单 ResNet 块的定义（fastai 将最后一个 batchnorm 层的`gamma`权重初始化为零，因为`norm_type=NormType.BatchZero`）：\n\n```py\nclass ResBlock(Module):\n    def __init__(self, ni, nf):\n        self.convs = nn.Sequential(\n            ConvLayer(ni,nf),\n            ConvLayer(nf,nf, norm_type=NormType.BatchZero))\n\n    def forward(self, x): return x + self.convs(x)\n```\n\n然而，这有两个问题：它无法处理除 1 以外的步幅，并且要求`ni==nf`。停下来仔细思考为什么会这样。\n\n问题在于，如果在其中一个卷积层上使用步幅为 2，输出激活的网格大小将是输入的每个轴的一半。因此，我们无法将其添加回`forward`中的`x`，因为`x`和输出激活具有不同的维度。如果`ni!=nf`，则会出现相同的基本问题：输入和输出连接的形状不允许我们将它们相加。\n\n为了解决这个问题，我们需要一种方法来改变`x`的形状，使其与`self.convs`的结果匹配。可以通过使用步幅为 2 的平均池化层来减半网格大小：也就是说，该层从输入中获取 2×2 的块，并用它们的平均值替换它们。\n\n可以通过使用卷积来改变通道数。然而，我们希望这个跳过连接尽可能接近一个恒等映射，这意味着使这个卷积尽可能简单。最简单的卷积是一个卷积核大小为 1 的卷积。这意味着卷积核大小为`ni` × `nf` × `1` × `1`，因此它只是对每个输入像素的通道进行点积运算，根本不跨像素进行组合。这种*1x1 卷积*在现代 CNN 中被广泛使用，因此花一点时间思考它是如何工作的。\n\n# 术语：1x1 卷积\n\n卷积核大小为 1 的卷积。\n\n以下是使用这些技巧处理跳过连接中形状变化的 ResBlock：\n\n```py\ndef _conv_block(ni,nf,stride):\n    return nn.Sequential(\n        ConvLayer(ni, nf, stride=stride),\n        ConvLayer(nf, nf, act_cls=None, norm_type=NormType.BatchZero))\n```\n\n```py\nclass ResBlock(Module):\n    def __init__(self, ni, nf, stride=1):\n        self.convs = _conv_block(ni,nf,stride)\n        self.idconv = noop if ni==nf else ConvLayer(ni, nf, 1, act_cls=None)\n        self.pool = noop if stride==1 else nn.AvgPool2d(2, ceil_mode=True)\n\n    def forward(self, x):\n        return F.relu(self.convs(x) + self.idconv(self.pool(x)))\n```\n\n请注意，我们在这里使用`noop`函数，它只是返回其未更改的输入（*noop*是一个计算机科学术语，代表“无操作”）。在这种情况下，如果`nf==nf`，`idconv`什么也不做，如果`stride==1`，`pool`也不做任何操作，这正是我们在跳过连接中想要的。\n\n此外，您会看到我们已经从`convs`的最后一个卷积层和`idconv`中删除了 ReLU（`act_cls=None`），并将其移到*在*我们添加跳跃连接之后。这样做的想法是整个 ResNet 块就像一个层，您希望激活在层之后。\n\n让我们用`ResBlock`替换我们的`block`并尝试一下：\n\n```py\ndef block(ni,nf): return ResBlock(ni, nf, stride=2)\nlearn = get_learner(get_model())\n```\n\n```py\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.973174 | 1.845491 | 0.373248 | 00:08 |\n| 1 | 1.678627 | 1.778713 | 0.439236 | 00:08 |\n| 2 | 1.386163 | 1.596503 | 0.507261 | 00:08 |\n| 3 | 1.177839 | 1.102993 | 0.644841 | 00:09 |\n| 4 | 1.052435 | 1.038013 | 0.667771 | 00:09 |\n\n这并没有好多少。但这一切的目的是让我们能够训练*更深*的模型，而我们实际上还没有充分利用这一点。要创建一个比如说深两倍的模型，我们只需要用两个`ResBlock`替换我们的`block`：\n\n```py\ndef block(ni, nf):\n    return nn.Sequential(ResBlock(ni, nf, stride=2), ResBlock(nf, nf))\n```\n\n```py\nlearn = get_learner(get_model())\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.964076 | 1.864578 | 0.355159 | 00:12 |\n| 1 | 1.636880 | 1.596789 | 0.502675 | 00:12 |\n| 2 | 1.335378 | 1.304472 | 0.588535 | 00:12 |\n| 3 | 1.089160 | 1.065063 | 0.663185 | 00:12 |\n| 4 | 0.942904 | 0.963589 | 0.692739 | 00:12 |\n\n现在我们取得了良好的进展！\n\nResNet 论文的作者后来赢得了 2015 年 ImageNet 挑战赛。当时，这是计算机视觉领域迄今为止最重要的年度事件。我们已经看到另一个 ImageNet 的获奖者：2013 年的获奖者 Zeiler 和 Fergus。值得注意的是，在这两种情况下，突破的起点都是实验观察：Zeiler 和 Fergus 案例中关于层实际学习内容的观察，以及 ResNet 作者案例中关于可以训练哪种网络的观察。设计和分析周到的实验，甚至只是看到一个意想不到的结果，然后，最重要的是，开始弄清楚到底发生了什么，具有极大的坚韧性，这是许多科学发现的核心。深度学习不像纯数学。这是一个非常实验性的领域，因此成为一个强大的实践者，而不仅仅是一个理论家，是非常重要的。\n\n自 ResNet 推出以来，它已经被广泛研究和应用于许多领域。其中最有趣的论文之一，发表于 2018 年，是由 Hao Li 等人撰写的[“可视化神经网络损失景观”](https://oreil.ly/C9cFi)。它表明使用跳跃连接有助于平滑损失函数，这使得训练更容易，因为它避免了陷入非常陡峭的区域。图 14-3 展示了该论文中的一幅惊人图片，说明了 SGD 需要导航以优化普通 CNN（左侧）与 ResNet（右侧）之间的不同之处。\n\n![ResNet 对损失景观的影响](img/dlcf_1403.png)\n\n###### 图 14-3\\. ResNet 对损失景观的影响（由 Hao Li 等人提供）\n\n我们的第一个模型已经很好了，但进一步的研究发现了更多可以应用的技巧，使其变得更好。我们接下来将看看这些技巧。\n\n## 一个最先进的 ResNet\n\n在[“用卷积神经网络进行图像分类的技巧”](https://oreil.ly/n-qhd)中，Tong He 等人研究了 ResNet 架构的变体，这几乎没有额外的参数或计算成本。通过使用调整后的 ResNet-50 架构和 Mixup，他们在 ImageNet 上实现了 94.6%的 Top-5 准确率，而普通的 ResNet-50 没有 Mixup 只有 92.2%。这个结果比普通 ResNet 模型取得的结果更好，后者深度是它的两倍（速度也是两倍，更容易过拟合）。\n\n# 术语：Top-5 准确率\n\n一个度量，测试我们模型的前 5 个预测中我们想要的标签有多少次。在 ImageNet 竞赛中使用它，因为许多图像包含多个对象，或者包含可以轻松混淆甚至可能被错误标记为相似标签的对象。在这些情况下，查看前 1 的准确率可能不合适。然而，最近 CNN 的表现越来越好，以至于前 5 的准确率几乎达到 100%，因此一些研究人员现在也在 ImageNet 中使用前 1 的准确率。\n\n当我们扩展到完整的 ResNet 时，我们将使用这个调整过的版本，因为它要好得多。它与我们之前的实现略有不同，它不是直接从 ResNet 块开始，而是从几个卷积层开始，然后是一个最大池化层。这就是网络的第一层，称为*干*的样子：\n\n```py\ndef _resnet_stem(*sizes):\n    return [\n        ConvLayer(sizes[i], sizes[i+1], 3, stride = 2 if i==0 else 1)\n            for i in range(len(sizes)-1)\n    ] + [nn.MaxPool2d(kernel_size=3, stride=2, padding=1)]\n```\n\n```py\n_resnet_stem(3,32,32,64)\n```\n\n```py\n[ConvLayer(\n   (0): Conv2d(3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1)\n   (2): ReLU()\n ), ConvLayer(\n   (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n   (1): BatchNorm2d(32, eps=1e-05, momentum=0.1)\n   (2): ReLU()\n ), ConvLayer(\n   (0): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n   (1): BatchNorm2d(64, eps=1e-05, momentum=0.1)\n   (2): ReLU()\n ), MaxPool2d(kernel_size=3, stride=2, padding=1, ceil_mode=False)]\n```\n\n# 术语：干\n\nCNN 的前几层。通常，干的结构与 CNN 的主体不同。\n\n我们之所以有一系列普通卷积层的起始，而不是 ResNet 块，是基于对所有深度卷积神经网络的一个重要洞察：绝大部分的计算发生在早期层。因此，我们应该尽可能保持早期层的速度和简单。\n\n要了解为什么绝大部分的计算发生在早期层，考虑一下在 128 像素输入图像上的第一个卷积。如果是步幅为 1 的卷积，它将应用核到 128×128 个像素中的每一个。这是很多工作！然而，在后续层中，网格大小可能只有 4×4 甚至 2×2，因此要做的核应用要少得多。\n\n另一方面，第一层卷积只有 3 个输入特征和 32 个输出特征。由于它是一个 3×3 的核，这是权重中的 864 个参数。但最后一个卷积将有 256 个输入特征和 512 个输出特征，导致 1,179,648 个权重！因此，第一层包含了绝大部分的计算量，而最后几层包含了绝大部分的参数。\n\n一个 ResNet 块比一个普通卷积块需要更多的计算，因为（在步幅为 2 的情况下）一个 ResNet 块有三个卷积和一个池化层。这就是为什么我们希望从普通卷积开始我们的 ResNet。\n\n现在我们准备展示一个现代 ResNet 的实现，带有“技巧袋”。它使用了四组 ResNet 块，分别为 64、128、256 和 512 个滤波器。每组都以步幅为 2 的块开始，除了第一组，因为它紧接着一个`MaxPooling`层：\n\n```py\nclass ResNet(nn.Sequential):\n    def __init__(self, n_out, layers, expansion=1):\n        stem = _resnet_stem(3,32,32,64)\n        self.block_szs = [64, 64, 128, 256, 512]\n        for i in range(1,5): self.block_szs[i] *= expansion\n        blocks = [self._make_layer(*o) for o in enumerate(layers)]\n        super().__init__(*stem, *blocks,\n                         nn.AdaptiveAvgPool2d(1), Flatten(),\n                         nn.Linear(self.block_szs[-1], n_out))\n\n    def _make_layer(self, idx, n_layers):\n        stride = 1 if idx==0 else 2\n        ch_in,ch_out = self.block_szs[idx:idx+2]\n        return nn.Sequential(*[\n            ResBlock(ch_in if i==0 else ch_out, ch_out, stride if i==0 else 1)\n            for i in range(n_layers)\n        ])\n```\n\n`_make_layer`函数只是用来创建一系列`n_layers`块。第一个是从`ch_in`到`ch_out`，步幅为指定的`stride`，其余所有块都是步幅为 1 的块，从`ch_out`到`ch_out`张量。一旦块被定义，我们的模型就是纯顺序的，这就是为什么我们将其定义为`nn.Sequential`的子类。（暂时忽略`expansion`参数；我们将在下一节讨论它。暂时设为`1`，所以它不起作用。）\n\n模型的各个版本（ResNet-18、-34、-50 等）只是改变了每个组中块的数量。这是 ResNet-18 的定义：\n\n```py\nrn = ResNet(dls.c, [2,2,2,2])\n```\n\n让我们训练一下，看看它与之前的模型相比如何：\n\n```py\nlearn = get_learner(rn)\nlearn.fit_one_cycle(5, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.673882 | 1.828394 | 0.413758 | 00:13 |\n| 1 | 1.331675 | 1.572685 | 0.518217 | 00:13 |\n| 2 | 1.087224 | 1.086102 | 0.650701 | 00:13 |\n| 3 | 0.900428 | 0.968219 | 0.684331 | 00:12 |\n| 4 | 0.760280 | 0.782558 | 0.757197 | 00:12 |\n\n尽管我们有更多的通道（因此我们的模型更准确），但由于我们优化了干，我们的训练速度与以前一样快。\n\n为了使我们的模型更深，而不占用太多计算或内存，我们可以使用 ResNet 论文引入的另一种层：瓶颈层。\n\n## 瓶颈层\n\n瓶颈层不是使用 3 个内核大小为 3 的卷积堆叠，而是使用三个卷积：两个 1×1（在开头和结尾）和一个 3×3，如右侧在图 14-4 中所示。\n\n![常规和瓶颈 ResNet 块的比较](img/dlcf_1404.png)\n\n###### 图 14-4\\. 常规和瓶颈 ResNet 块的比较（由 Kaiming He 等人提供）\n\n为什么这很有用？1×1 卷积速度更快，因此即使这似乎是一个更复杂的设计，这个块的执行速度比我们看到的第一个 ResNet 块更快。这样一来，我们可以使用更多的滤波器：正如我们在插图中看到的，输入和输出的滤波器数量是四倍更高的（256 而不是 64）。1×1 卷积减少然后恢复通道数（因此称为*瓶颈*）。总体影响是我们可以在相同的时间内使用更多的滤波器。\n\n让我们尝试用这种瓶颈设计替换我们的`ResBlock`：\n\n```py\ndef _conv_block(ni,nf,stride):\n    return nn.Sequential(\n        ConvLayer(ni, nf//4, 1),\n        ConvLayer(nf//4, nf//4, stride=stride),\n        ConvLayer(nf//4, nf, 1, act_cls=None, norm_type=NormType.BatchZero))\n```\n\n我们将使用这个来创建一个具有组大小`(3,4,6,3)`的 ResNet-50。现在我们需要将`4`传递给`ResNet`的`expansion`参数，因为我们需要从四倍少的通道开始，最终将以四倍多的通道结束。\n\n像这样更深的网络通常在仅训练 5 个时期时不会显示出改进，所以这次我们将将其增加到 20 个时期，以充分利用我们更大的模型。为了获得更好的结果，让我们也使用更大的图像：\n\n```py\ndls = get_data(URLs.IMAGENETTE_320, presize=320, resize=224)\n```\n\n我们不必为更大的 224 像素图像做任何调整；由于我们的全卷积网络，它可以正常工作。这也是为什么我们能够在本书的早期进行*渐进调整*的原因——我们使用的模型是全卷积的，所以我们甚至能够微调使用不同尺寸训练的模型。现在我们可以训练我们的模型并查看效果：\n\n```py\nrn = ResNet(dls.c, [3,4,6,3], 4)\n```\n\n```py\nlearn = get_learner(rn)\nlearn.fit_one_cycle(20, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 1.613448 | 1.473355 | 0.514140 | 00:31 |\n| 1 | 1.359604 | 2.050794 | 0.397452 | 00:31 |\n| 2 | 1.253112 | 4.511735 | 0.387006 | 00:31 |\n| 3 | 1.133450 | 2.575221 | 0.396178 | 00:31 |\n| 4 | 1.054752 | 1.264525 | 0.613758 | 00:32 |\n| 5 | 0.927930 | 2.670484 | 0.422675 | 00:32 |\n| 6 | 0.838268 | 1.724588 | 0.528662 | 00:32 |\n| 7 | 0.748289 | 1.180668 | 0.666497 | 00:31 |\n| 8 | 0.688637 | 1.245039 | 0.650446 | 00:32 |\n| 9 | 0.645530 | 1.053691 | 0.674904 | 00:31 |\n| 10 | 0.593401 | 1.180786 | 0.676433 | 00:32 |\n| 11 | 0.536634 | 0.879937 | 0.713885 | 00:32 |\n| 12 | 0.479208 | 0.798356 | 0.741656 | 00:32 |\n| 13 | 0.440071 | 0.600644 | 0.806879 | 00:32 |\n| 14 | 0.402952 | 0.450296 | 0.858599 | 00:32 |\n| 15 | 0.359117 | 0.486126 | 0.846369 | 00:32 |\n| 16 | 0.313642 | 0.442215 | 0.861911 | 00:32 |\n| 17 | 0.294050 | 0.485967 | 0.853503 | 00:32 |\n| 18 | 0.270583 | 0.408566 | 0.875924 | 00:32 |\n| 19 | 0.266003 | 0.411752 | 0.872611 | 00:33 |\n\n现在我们得到了一个很好的结果！尝试添加 Mixup，然后在吃午餐时将其训练一百个时期。你将拥有一个从头开始训练的非常准确的图像分类器。\n\n这里展示的瓶颈设计通常仅用于 ResNet-50、-101 和-152 模型。ResNet-18 和-34 模型通常使用前一节中看到的非瓶颈设计。然而，我们注意到瓶颈层通常即使对于较浅的网络也效果更好。这只是表明，论文中的细节往往会持续多年，即使它们并不是最佳设计！质疑假设和“每个人都知道的东西”总是一个好主意，因为这仍然是一个新领域，很多细节并不总是做得很好。\n\n# 结论\n\n自第一章以来，我们一直在使用的计算机视觉模型是如何构建的，使用跳跃连接来训练更深的模型。尽管已经进行了大量研究以寻找更好的架构，但它们都使用这个技巧的某个版本来建立从输入到网络末端的直接路径。在使用迁移学习时，ResNet 是预训练模型。在下一章中，我们将看一下我们使用的模型是如何从中构建的最终细节。\n\n# 问卷调查\n\n1.  在以前的章节中，我们如何将用于 MNIST 的 CNN 转换为单个激活向量？为什么这对 Imagenette 不适用？\n\n1.  我们在 Imagenette 上做了什么？\n\n1.  什么是自适应池化？\n\n1.  什么是平均池化？\n\n1.  为什么在自适应平均池化层之后需要`Flatten`？\n\n1.  什么是跳跃连接？\n\n1.  为什么跳跃连接使我们能够训练更深的模型？\n\n1.  图 14-1 展示了什么？这是如何导致跳跃连接的想法的？\n\n1.  什么是恒等映射？\n\n1.  ResNet 块的基本方程是什么（忽略批量归一化和 ReLU 层）？\n\n1.  ResNet 与残差有什么关系？\n\n1.  当存在步幅为 2 的卷积时，我们如何处理跳跃连接？当滤波器数量发生变化时呢？\n\n1.  我们如何用向量点积表示 1×1 卷积？\n\n1.  使用`F.conv2d`或`nn.Conv2d`创建一个 1×1 卷积并将其应用于图像。图像的形状会发生什么变化？\n\n1.  `noop`函数返回什么？\n\n1.  解释图 14-3 中显示的内容。\n\n1.  何时使用前 5 准确度比前 1 准确度更好？\n\n1.  CNN 的“起始”是什么？\n\n1.  为什么在 CNN 的起始部分使用普通卷积而不是 ResNet 块？\n\n1.  瓶颈块与普通 ResNet 块有何不同？\n\n1.  为什么瓶颈块更快？\n\n1.  完全卷积网络（以及具有自适应池化的网络）如何实现渐进式调整大小？\n\n## 进一步研究\n\n1.  尝试为 MNIST 创建一个带有自适应平均池化的完全卷积网络（请注意，您将需要更少的步幅为 2 的层）。与没有这种池化层的网络相比如何？\n\n1.  在第十七章中，我们介绍了*爱因斯坦求和符号*。快进去看看它是如何工作的，然后使用`torch.einsum`编写一个 1×1 卷积操作的实现。将其与使用`torch.conv2d`进行相同操作进行比较。\n\n1.  使用纯 PyTorch 或纯 Python 编写一个前 5 准确度函数。\n\n1.  在 Imagenette 上训练一个模型更多的 epochs，使用和不使用标签平滑。查看 Imagenette 排行榜，看看你能达到最佳结果有多接近。阅读描述领先方法的链接页面。\n"
  },
  {
    "path": "translations/cn/15_arch_details.md",
    "content": "# 第十五章：应用架构深入探讨\n\n\n\n我们现在处于一个令人兴奋的位置，我们可以完全理解我们为计算机视觉、自然语言处理和表格分析使用的最先进模型的架构。在本章中，我们将填补有关 fastai 应用模型如何工作的所有缺失细节，并向您展示如何构建它们。\n\n我们还将回到我们在第十一章中看到的用于 Siamese 网络的自定义数据预处理流程，并向您展示如何使用 fastai 库中的组件为新任务构建自定义预训练模型。\n\n我们将从计算机视觉开始。\n\n# 计算机视觉\n\n对于计算机视觉应用，我们使用`cnn_learner`和`unet_learner`函数来构建我们的模型，具体取决于任务。在本节中，我们将探讨如何构建我们在本书的第 I 部分和 II 部分中使用的`Learner`对象。\n\n## cnn_learner\n\n让我们看看当我们使用`cnn_learner`函数时会发生什么。我们首先向这个函数传递一个用于网络*主体*的架构。大多数情况下，我们使用 ResNet，您已经知道如何创建，所以我们不需要深入研究。预训练权重将根据需要下载并加载到 ResNet 中。\n\n然后，对于迁移学习，网络需要被*切割*。这指的是切掉最后一层，该层仅负责 ImageNet 特定的分类。实际上，我们不仅切掉这一层，还切掉自自适应平均池化层以及之后的所有内容。这样做的原因很快就会变得清楚。由于不同的架构可能使用不同类型的池化层，甚至完全不同类型的*头部*，我们不仅仅搜索自适应池化层来决定在哪里切割预训练模型。相反，我们有一个信息字典，用于确定每个模型的主体在哪里结束，头部从哪里开始。我们称之为`model_meta`—这是`resnet50`的信息：\n\n```py\nmodel_meta[resnet50]\n```\n\n```py\n{'cut': -2,\n 'split': <function fastai.vision.learner._resnet_split(m)>,\n 'stats': ([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])}\n```\n\n# 行话：主体和头部\n\n神经网络的头部是专门针对特定任务的部分。对于 CNN，通常是自适应平均池化层之后的部分。主体是其他所有部分，包括干部（我们在第十四章中学到的）。\n\n如果我们取出在`-2`之前的所有层，我们就得到了 fastai 将保留用于迁移学习的模型部分。现在，我们放上我们的新头部。这是使用`create_head`函数创建的：\n\n```py\ncreate_head(20,2)\n```\n\n```py\nSequential(\n  (0): AdaptiveConcatPool2d(\n    (ap): AdaptiveAvgPool2d(output_size=1)\n    (mp): AdaptiveMaxPool2d(output_size=1)\n  )\n  (1): Flatten()\n  (2): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True)\n  (3): Dropout(p=0.25, inplace=False)\n  (4): Linear(in_features=20, out_features=512, bias=False)\n  (5): ReLU(inplace=True)\n  (6): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True)\n  (7): Dropout(p=0.5, inplace=False)\n  (8): Linear(in_features=512, out_features=2, bias=False)\n)\n```\n\n使用这个函数，您可以选择在末尾添加多少个额外的线性层，每个线性层之后使用多少 dropout，以及使用什么类型的池化。默认情况下，fastai 将同时应用平均池化和最大池化，并将两者连接在一起（这是`AdaptiveConcatPool2d`层）。这不是一个特别常见的方法，但它在 fastai 和其他研究实验室近年来独立开发，并倾向于比仅使用平均池化提供小幅改进。\n\nfastai 与大多数库有所不同，因为默认情况下它在 CNN 头部中添加两个线性层，而不是一个。原因是，正如我们所看到的，即使将预训练模型转移到非常不同的领域，迁移学习仍然可能是有用的。然而，在这些情况下，仅使用单个线性层可能不足够；我们发现使用两个线性层可以使迁移学习更快速、更容易地应用在更多情况下。\n\n# 最后一个 Batchnorm\n\n`create_head`的一个值得关注的参数是`bn_final`。将其设置为`True`将导致一个 batchnorm 层被添加为您的最终层。这有助于帮助您的模型适当地缩放输出激活。迄今为止，我们还没有看到这种方法在任何地方发表，但我们发现在实践中无论我们在哪里使用它，它都效果很好。\n\n现在让我们看看`unet_learner`在我们在第一章展示的分割问题中做了什么。\n\n## unet_learner\n\n深度学习中最有趣的架构之一是我们在第一章中用于分割的架构。分割是一项具有挑战性的任务，因为所需的输出实际上是一幅图像，或者一个像素网格，包含了每个像素的预测标签。其他任务也有类似的基本设计，比如增加图像的分辨率（*超分辨率*）、给黑白图像添加颜色（*着色*）、或将照片转换为合成画作（*风格转移*）——这些任务在本书的[在线章节](https://book.fast.ai)中有介绍，所以在阅读完本章后一定要查看。在每种情况下，我们都是从一幅图像开始，将其转换为另一幅具有相同尺寸或纵横比的图像，但像素以某种方式被改变。我们将这些称为*生成式视觉模型*。\n\n我们的做法是从与前一节中看到的开发 CNN 头部的确切方法开始。例如，我们从一个 ResNet 开始，然后截断自适应池化层和之后的所有层。然后我们用我们的自定义头部替换这些层，执行生成任务。\n\n在上一句中有很多含糊之处！我们到底如何创建一个生成图像的 CNN 头部？如果我们从一个 224 像素的输入图像开始，那么在 ResNet 主体的末尾，我们将得到一个 7×7 的卷积激活网格。我们如何将其转换为一个 224 像素的分割掩模？\n\n当然，我们使用神经网络来做这个！所以我们需要一种能够在 CNN 中增加网格大小的层。一个简单的方法是用一个 2×2 的方块替换 7×7 网格中的每个像素。这四个像素中的每一个将具有相同的值——这被称为*最近邻插值*。PyTorch 为我们提供了一个可以做到这一点的层，因此一个选项是创建一个包含步长为 1 的卷积层（以及通常的批归一化和 ReLU 层）和 2×2 最近邻插值层的头部。实际上，你现在可以尝试一下！看看你是否可以创建一个设计如此的自定义头部，并在 CamVid 分割任务上尝试一下。你应该会发现你得到了一些合理的结果，尽管它们不会像我们在第一章中的结果那样好。\n\n另一种方法是用*转置卷积*替换最近邻和卷积的组合，也被称为*步长一半卷积*。这与常规卷积相同，但首先在输入的所有像素之间插入零填充。这在图片上最容易看到——图 15-1 显示了一张来自我们在第十三章讨论过的优秀的[卷积算术论文](https://oreil.ly/hu06c)中的图表，展示了一个应用于 3×3 图像的 3×3 转置卷积。\n\n![一个转置卷积](img/dlcf_1501.png)\n\n###### 图 15-1\\. 一个转置卷积（由 Vincent Dumoulin 和 Francesco Visin 提供）\n\n正如你所看到的，结果是增加输入的大小。你现在可以通过使用 fastai 的`ConvLayer`类来尝试一下；在你的自定义头部中传递参数`transpose=True`来创建一个转置卷积，而不是一个常规卷积。\n\n然而，这两种方法都不是很好。问题在于我们的 7×7 网格根本没有足够的信息来创建一个 224×224 像素的输出。要求每个网格单元的激活具有足够的信息来完全重建输出中的每个像素是非常困难的。\n\n解决方案是使用*跳跃连接*，就像 ResNet 中那样，但是从 ResNet 主体中的激活一直跳到架构对面的转置卷积的激活。这种方法在 2015 年 Olaf Ronneberger 等人的论文[“U-Net:用于生物医学图像分割的卷积网络”](https://oreil.ly/6ely4)中有所阐述。尽管该论文侧重于医学应用，但 U-Net 已经彻底改变了各种生成视觉模型。\n\n![U-Net 架构](img/dlcf_1502.png)\n\n###### 图 15-2。U-Net 架构（由 Olaf Ronneberger、Philipp Fischer 和 Thomas Brox 提供）\n\n这幅图片展示了左侧的 CNN 主体（在这种情况下，它是一个常规的 CNN，而不是 ResNet，它们使用 2×2 最大池化而不是步幅为 2 的卷积，因为这篇论文是在 ResNets 出现之前写的），右侧是转置卷积（“上采样”）层。额外的跳跃连接显示为从左到右的灰色箭头（有时被称为*交叉连接*）。你可以看到为什么它被称为*U-Net*！\n\n有了这种架构，传递给转置卷积的输入不仅是前一层中较低分辨率的网格，还有 ResNet 头部中较高分辨率的网格。这使得 U-Net 可以根据需要使用原始图像的所有信息。U-Net 的一个挑战是确切的架构取决于图像大小。fastai 有一个独特的`DynamicUnet`类，根据提供的数据自动生成合适大小的架构。\n\n现在让我们专注于一个示例，其中我们利用 fastai 库编写一个自定义模型。\n\n## 孪生网络\n\n让我们回到我们在第十一章中为孪生网络设置的输入管道。你可能还记得，它由一对图像组成，标签为`True`或`False`，取决于它们是否属于同一类。\n\n利用我们刚刚看到的内容，让我们为这个任务构建一个自定义模型并对其进行训练。如何做？我们将使用一个预训练的架构并将我们的两个图像传递给它。然后我们可以连接结果并将它们发送到一个自定义头部，该头部将返回两个预测。在模块方面，看起来像这样：\n\n```py\nclass SiameseModel(Module):\n    def __init__(self, encoder, head):\n        self.encoder,self.head = encoder,head\n\n    def forward(self, x1, x2):\n        ftrs = torch.cat([self.encoder(x1), self.encoder(x2)], dim=1)\n        return self.head(ftrs)\n```\n\n要创建我们的编码器，我们只需要取一个预训练模型并切割它，就像我们之前解释的那样。函数`create_body`为我们执行此操作；我们只需传递我们想要切割的位置。正如我们之前看到的，根据预训练模型的元数据字典，ResNet 的切割值为`-2`：\n\n```py\nencoder = create_body(resnet34, cut=-2)\n```\n\n然后我们可以创建我们的头部。查看编码器告诉我们最后一层有 512 个特征，所以这个头部将需要接收`512*4`。为什么是 4？首先我们必须乘以 2，因为我们有两个图像。然后我们需要第二次乘以 2，因为我们的连接池技巧。因此我们创建头部如下：\n\n```py\nhead = create_head(512*4, 2, ps=0.5)\n```\n\n有了我们的编码器和头部，我们现在可以构建我们的模型：\n\n```py\nmodel = SiameseModel(encoder, head)\n```\n\n在使用`Learner`之前，我们还需要定义两件事。首先，我们必须定义要使用的损失函数。它是常规的交叉熵，但由于我们的目标是布尔值，我们需要将它们转换为整数，否则 PyTorch 会抛出错误：\n\n```py\ndef loss_func(out, targ):\n    return nn.CrossEntropyLoss()(out, targ.long())\n```\n\n更重要的是，为了充分利用迁移学习，我们必须定义一个自定义的*splitter*。*splitter*是一个告诉 fastai 库如何将模型分成参数组的函数。这些在幕后用于在进行迁移学习时仅训练模型的头部。\n\n这里我们想要两个参数组：一个用于编码器，一个用于头部。因此我们可以定义以下*splitter*（`params`只是一个返回给定模块的所有参数的函数）：\n\n```py\ndef siamese_splitter(model):\n    return [params(model.encoder), params(model.head)]\n```\n\n然后，我们可以通过传递数据、模型、损失函数、分割器和任何我们想要的指标来定义我们的`Learner`。由于我们没有使用 fastai 的传输学习便利函数（如`cnn_learner`），我们必须手动调用`learn.freeze`。这将确保只有最后一个参数组（在本例中是头部）被训练：\n\n```py\nlearn = Learner(dls, model, loss_func=loss_func,\n                splitter=siamese_splitter, metrics=accuracy)\nlearn.freeze()\n```\n\n然后我们可以直接使用通常的方法训练我们的模型：\n\n```py\nlearn.fit_one_cycle(4, 3e-3)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.367015 | 0.281242 | 0.885656 | 00:26 |\n| 1 | 0.307688 | 0.214721 | 0.915426 | 00:26 |\n| 2 | 0.275221 | 0.170615 | 0.936401 | 00:26 |\n| 3 | 0.223771 | 0.159633 | 0.943843 | 00:26 |\n\n现在我们解冻并使用有区别的学习率微调整个模型一点（即，对于主体使用较低的学习率，对于头部使用较高的学习率）：\n\n```py\nlearn.unfreeze()\nlearn.fit_one_cycle(4, slice(1e-6,1e-4))\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 0.212744 | 0.159033 | 0.944520 | 00:35 |\n| 1 | 0.201893 | 0.159615 | 0.942490 | 00:35 |\n| 2 | 0.204606 | 0.152338 | 0.945196 | 00:36 |\n| 3 | 0.213203 | 0.148346 | 0.947903 | 00:36 |\n\n94.8％是非常好的，当我们记得以相同方式训练的分类器（没有数据增强）的错误率为 7％时。\n\n现在我们已经看到如何创建完整的最先进的计算机视觉模型，让我们继续进行自然语言处理。\n\n# 自然语言处理\n\n将 AWD-LSTM 语言模型转换为迁移学习分类器，就像我们在第十章中所做的那样，遵循与本章第一节中的`cnn_learner`相似的过程。在这种情况下，我们不需要一个“元”字典，因为我们没有这么多种类的体系结构需要在主体中支持。我们只需要选择语言模型中的堆叠 RNN 作为编码器，这是一个单独的 PyTorch 模块。这个编码器将为输入的每个单词提供一个激活，因为语言模型需要为每个下一个单词输出一个预测。\n\n要从中创建一个分类器，我们使用了[ULMFiT 论文](https://oreil.ly/3hdSj)中描述的一种方法，称为“用于文本分类的 BPTT（BPT3C）”：\n\n> 我们将文档分成固定长度为*b*的批次。在每个批次的开始，模型使用前一个批次的最终状态进行初始化；我们跟踪用于平均值和最大池化的隐藏状态；梯度被反向传播到隐藏状态对最终预测有贡献的批次。在实践中，我们使用可变长度的反向传播序列。\n\n换句话说，分类器包含一个`for`循环，循环遍历每个序列的批次。状态在批次之间保持不变，并且存储每个批次的激活。最后，我们使用相同的平均值和最大连接池技巧，这与我们用于计算机视觉模型的方法相同，但这一次，我们不是在 CNN 网格单元上进行池化，而是在 RNN 序列上进行池化。\n\n对于这个`for`循环，我们需要将我们的数据分批处理，但每个文本需要单独处理，因为它们各自有自己的标签。然而，这些文本很可能不会都是相同的长度，这意味着我们无法将它们都放在同一个数组中，就像我们在语言模型中所做的那样。\n\n这就是填充将会有所帮助的地方：当获取一堆文本时，我们确定最长的文本，然后用一个特殊的标记`xxpad`填充较短的文本。为了避免在同一批次中有一个包含 2,000 个标记的文本和一个包含 10 个标记的文本的极端情况（因此有很多填充和浪费的计算），我们通过确保相似大小的文本被放在一起来改变随机性。文本在训练集中仍然会以某种随机顺序排列（对于验证集，我们可以简单地按长度顺序排序），但不完全是这样。\n\n这是由 fastai 库在创建我们的`DataLoaders`时在幕后自动完成的。\n\n# 表格\n\n最后，让我们看看`fastai.tabular`模型。（我们不需要单独查看协同过滤，因为我们已经看到这些模型只是表格模型或使用点积方法，我们之前从头开始实现。）\n\n这是`TabularModel`的`forward`方法：\n\n```py\nif self.n_emb != 0:\n    x = [e(x_cat[:,i]) for i,e in enumerate(self.embeds)]\n    x = torch.cat(x, 1)\n    x = self.emb_drop(x)\nif self.n_cont != 0:\n    x_cont = self.bn_cont(x_cont)\n    x = torch.cat([x, x_cont], 1) if self.n_emb != 0 else x_cont\nreturn self.layers(x)\n```\n\n我们不会在这里显示`__init__`，因为这并不那么有趣，但会依次查看`forward`中的每行代码。第一行只是测试是否有任何嵌入需要处理-如果只有连续变量，我们可以跳过这一部分：\n\n```py\nif self.n_emb != 0:\n```\n\n`self.embeds`包含嵌入矩阵，因此这会获取每个激活\n\n```py\n    x = [e(x_cat[:,i]) for i,e in enumerate(self.embeds)]\n```\n\n并将它们连接成一个单一张量：\n\n```py\n    x = torch.cat(x, 1)\n```\n\n然后应用了辍学。您可以将`emb_drop`传递给`__init__`以更改此值：\n\n```py\n    x = self.emb_drop(x)\n```\n\n现在我们测试是否有任何连续变量需要处理：\n\n```py\nif self.n_cont != 0:\n```\n\n它们通过一个批量归一化层\n\n```py\n    x_cont = self.bn_cont(x_cont)\n```\n\n并与嵌入激活连接在一起，如果有的话：\n\n```py\n    x = torch.cat([x, x_cont], 1) if self.n_emb != 0 else x_cont\n```\n\n最后，这些通过线性层传递（每个线性层包括批量归一化，如果`use_bn`为`True`，并且辍学，如果`ps`设置为某个值或值列表）：\n\n```py\nreturn self.layers(x)\n```\n\n恭喜！现在您已经了解了 fastai 库中使用的每个架构的所有细节！\n\n# 结论\n\n正如您所看到的，深度学习架构的细节现在不应该让您感到恐惧。您可以查看 fastai 和 PyTorch 的代码，看看发生了什么。更重要的是，尝试理解*为什么*会发生这种情况。查看代码中引用的论文，并尝试看看代码如何与描述的算法相匹配。\n\n现在我们已经调查了模型的所有部分以及传递给它的数据，我们可以考虑这对于实际深度学习意味着什么。如果您拥有无限的数据，无限的内存和无限的时间，那么建议很简单：在所有数据上训练一个巨大的模型很长时间。但深度学习不简单的原因是您的数据、内存和时间通常是有限的。如果内存或时间不足，解决方案是训练一个较小的模型。如果您无法训练足够长时间以过拟合，那么您没有充分利用模型的容量。\n\n因此，第一步是达到过拟合的点。然后问题是如何减少过拟合。图 15-3 显示了我们建议从那里优先考虑的步骤。\n\n![减少过拟合的步骤](img/dlcf_1503.png)\n\n###### 图 15-3。减少过拟合的步骤\n\n许多从业者在面对过拟合模型时，从这个图表的完全错误的一端开始。他们的起点是使用更小的模型或更多的正则化。除非训练模型占用太多时间或内存，否则使用更小的模型应该是您采取的最后一步。减小模型的大小会降低模型学习数据中微妙关系的能力。\n\n相反，您的第一步应该是寻求*创建更多数据*。这可能涉及向您已经拥有的数据添加更多标签，找到模型可以被要求解决的其他任务（或者，换个角度思考，识别您可以建模的不同类型的标签），或者通过使用更多或不同的数据增强技术创建额外的合成数据。由于 Mixup 和类似方法的发展，现在几乎所有类型的数据都可以获得有效的数据增强。\n\n一旦您获得了您认为可以合理获得的尽可能多的数据，并且通过利用您可以找到的所有标签并进行所有有意义的增强来尽可能有效地使用它，如果您仍然过拟合，您应该考虑使用更具一般化能力的架构。例如，添加批量归一化可能会提高泛化能力。\n\n如果在尽力使用数据和调整架构后仍然过拟合，您可以考虑正则化。一般来说，在最后一层或两层添加 dropout 可以很好地正则化您的模型。然而，正如我们从 AWD-LSTM 开发故事中学到的那样，在整个模型中添加不同类型的 dropout 通常会更有帮助。一般来说，具有更多正则化的较大模型更灵活，因此比具有较少正则化的较小模型更准确。\n\n只有在考虑了所有这些选项之后，我们才建议您尝试使用较小版本的架构。\n\n# 问卷\n\n1.  神经网络的头是什么？\n\n1.  神经网络的主体是什么？\n\n1.  什么是“剪切”神经网络？为什么我们需要在迁移学习中这样做？\n\n1.  `model_meta`是什么？尝试打印它以查看里面的内容。\n\n1.  阅读`create_head`的源代码，并确保你理解每一行的作用。\n\n1.  查看`create_head`的输出，并确保你理解每一层的存在原因，以及`create_head`源代码是如何创建它的。\n\n1.  找出如何改变`create_cnn`创建的 dropout、层大小和层数，并查看是否可以找到能够提高宠物识别准确性的值。\n\n1.  `AdaptiveConcatPool2d`是什么作用？\n\n1.  什么是最近邻插值？如何用它来上采样卷积激活？\n\n1.  什么是转置卷积？还有另一个名称是什么？\n\n1.  创建一个带有`transpose=True`的卷积层，并将其应用于图像。检查输出形状。\n\n1.  绘制 U-Net 架构。\n\n1.  什么是用于文本分类的 BPTT（BPT3C）？\n\n1.  在 BPT3C 中如何处理不同长度的序列？\n\n1.  尝试在笔记本中逐行运行`TabularModel.forward`的每一行，每个单元格一行，并查看每个步骤的输入和输出形状。\n\n1.  `TabularModel`中的`self.layers`是如何定义的？\n\n1.  预防过拟合的五个步骤是什么？\n\n1.  为什么在尝试其他方法预防过拟合之前不减少架构复杂性？\n\n## 进一步研究\n\n1.  编写自己的自定义头，并尝试使用它训练宠物识别器。看看是否可以获得比 fastai 默认更好的结果。\n\n1.  尝试在 CNN 头部之间切换`AdaptiveConcatPool2d`和`AdaptiveAvgPool2d`，看看会有什么不同。\n\n1.  编写自己的自定义分割器，为每个 ResNet 块创建一个单独的参数组，以及一个单独的参数组用于干扰。尝试使用它进行训练，看看是否可以改善宠物识别器。\n\n1.  阅读关于生成图像模型的在线章节，并创建自己的着色器、超分辨率模型或风格转移模型。\n\n1.  使用最近邻插值创建一个自定义头，并用它在 CamVid 上进行分割。\n"
  },
  {
    "path": "translations/cn/16_accel_sgd.md",
    "content": "# 第十六章：训练过程\n\n\n\n现在你知道如何为计算机视觉、自然图像处理、表格分析和协同过滤创建最先进的架构，也知道如何快速训练它们。所以我们完成了，对吧？还没有。我们仍然需要探索一下训练过程的更多内容。\n\n我们在第四章中解释了随机梯度下降的基础：将一个小批量数据传递给模型，用损失函数将其与目标进行比较，然后计算这个损失函数对每个权重的梯度，然后使用公式更新权重：\n\n```py\nnew_weight = weight - lr * weight.grad\n```\n\n我们在训练循环中从头开始实现了这个，看到 PyTorch 提供了一个简单的`nn.SGD`类，可以为我们的每个参数进行这个计算。在本章中，我们将构建一些更快的优化器，使用一个灵活的基础。但在训练过程中，我们可能还想要改变一些东西。对于训练循环的任何调整，我们都需要一种方法来向 SGD 的基础添加一些代码。fastai 库有一个回调系统来做到这一点，我们将教你所有相关知识。\n\n让我们从标准的 SGD 开始建立一个基线；然后我们将介绍最常用的优化器。\n\n# 建立基线\n\n首先，我们将使用普通的 SGD 创建一个基线，并将其与 fastai 的默认优化器进行比较。我们将通过使用与第十四章中相同的`get_data`来获取 Imagenette：\n\n```py\ndls = get_data(URLs.IMAGENETTE_160, 160, 128)\n```\n\n我们将创建一个没有预训练的 ResNet-34，并传递任何接收到的参数：\n\n```py\ndef get_learner(**kwargs):\n    return cnn_learner(dls, resnet34, pretrained=False,\n                    metrics=accuracy, **kwargs).to_fp16()\n```\n\n这是默认的 fastai 优化器，具有通常的 3e-3 学习率：\n\n```py\nlearn = get_learner()\nlearn.fit_one_cycle(3, 0.003)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.571932 | 2.685040 | 0.322548 | 00:11 |\n| 1 | 1.904674 | 1.852589 | 0.437452 | 00:11 |\n| 2 | 1.586909 | 1.374908 | 0.594904 | 00:11 |\n\n现在让我们尝试普通的 SGD。我们可以将`opt_func`（优化函数）传递给`cnn_learner`，以便让 fastai 使用任何优化器：\n\n```py\nlearn = get_learner(opt_func=SGD)\n```\n\n首先要看的是`lr_find`：\n\n```py\nlearn.lr_find()\n```\n\n```py\n(0.017378008365631102, 3.019951861915615e-07)\n```\n\n![](img/dlcf_16in01.png)\n\n看起来我们需要使用比我们通常使用的更高的学习率：\n\n```py\nlearn.fit_one_cycle(3, 0.03, moms=(0,0,0))\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.969412 | 2.214596 | 0.242038 | 00:09 |\n| 1 | 2.442730 | 1.845950 | 0.362548 | 00:09 |\n| 2 | 2.157159 | 1.741143 | 0.408917 | 00:09 |\n\n因为用动量加速 SGD 是一个很好的主意，fastai 在`fit_one_cycle`中默认执行这个操作，所以我们用`moms=(0,0,0)`关闭它。我们很快会讨论动量。\n\n显然，普通的 SGD 训练速度不如我们所希望的快。所以让我们学习一些技巧来加速训练！\n\n# 通用优化器\n\n为了构建我们加速的 SGD 技巧，我们需要从一个灵活的优化器基础开始。在 fastai 之前没有任何库提供这样的基础，但在 fastai 的开发过程中，我们意识到学术文献中看到的所有优化器改进都可以使用*优化器回调*来处理。这些是我们可以组合、混合和匹配在优化器中构建优化器步骤的小代码片段。它们由 fastai 的轻量级`Optimizer`类调用。这些是我们在本书中使用的两个关键方法在`Optimizer`中的定义：\n\n```py\ndef zero_grad(self):\n    for p,*_ in self.all_params():\n        p.grad.detach_()\n        p.grad.zero_()\n\ndef step(self):\n    for p,pg,state,hyper in self.all_params():\n        for cb in self.cbs:\n            state = _update(state, cb(p, **{**state, **hyper}))\n        self.state[p] = state\n```\n\n正如我们在从头开始训练 MNIST 模型时看到的，`zero_grad`只是循环遍历模型的参数并将梯度设置为零。它还调用`detach_`，这会删除任何梯度计算的历史，因为在`zero_grad`之后不再需要它。\n\n更有趣的方法是`step`，它循环遍历回调（`cbs`）并调用它们来更新参数（如果`cb`返回任何内容，`_update`函数只是调用`state.update`）。正如你所看到的，`Optimizer`本身不执行任何 SGD 步骤。让我们看看如何将 SGD 添加到`Optimizer`中。\n\n这是一个优化器回调，通过将`-lr`乘以梯度并将其添加到参数（当在 PyTorch 中传递`Tensor.add_`两个参数时，它们在相加之前相乘）来执行单个 SGD 步骤：\n\n```py\ndef sgd_cb(p, lr, **kwargs): p.data.add_(-lr, p.grad.data)\n```\n\n我们可以使用`cbs`参数将这个传递给`Optimizer`；我们需要使用`partial`，因为`Learner`将调用这个函数来创建我们的优化器：\n\n```py\nopt_func = partial(Optimizer, cbs=[sgd_cb])\n```\n\n让我们看看这是否有效：\n\n```py\nlearn = get_learner(opt_func=opt_func)\nlearn.fit(3, 0.03)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.730918 | 2.009971 | 0.332739 | 00:09 |\n| 1 | 2.204893 | 1.747202 | 0.441529 | 00:09 |\n| 2 | 1.875621 | 1.684515 | 0.445350 | 00:09 |\n\n它正在工作！这就是我们如何在 fastai 中从头开始创建 SGD。现在让我们看看这个“动量”是什么。\n\n# 动量\n\n正如在第四章中所描述的，SGD 可以被看作站在山顶上，通过在每个时间点沿着最陡峭的斜坡方向迈出一步来往下走。但如果我们有一个球在山上滚动呢？在每个给定点，它不会完全按照梯度的方向前进，因为它会有*动量*。具有更多动量的球（例如，一个更重的球）会跳过小凸起和洞，更有可能到达崎岖山脉的底部。另一方面，乒乓球会卡在每一个小缝隙中。\n\n那么我们如何将这个想法带到 SGD 中呢？我们可以使用移动平均值，而不仅仅是当前梯度，来进行我们的步骤：\n\n```py\nweight.avg = beta * weight.avg + (1-beta) * weight.grad\nnew_weight = weight - lr * weight.avg\n```\n\n这里`beta`是我们选择的一个数字，定义了要使用多少动量。如果`beta`为 0，第一个方程变为`weight.avg = weight.grad`，因此我们最终得到普通的 SGD。但如果它接近 1，所选择的主要方向是以前步骤的平均值。（如果你对统计学有一点了解，你可能会在第一个方程中认出*指数加权移动平均*，它经常用于去噪数据并获得潜在趋势。）\n\n请注意，我们写`weight.avg`以突出显示我们需要为模型的每个参数存储移动平均值（它们都有自己独立的移动平均值）。\n\n图 16-1 显示了一个单参数的噪声数据示例，其中动量曲线以红色绘制，参数的梯度以蓝色绘制。梯度增加，然后减少，动量很好地跟随总体趋势，而不会受到噪声的太大影响。\n\n![显示动量示例的图表](img/dlcf_1601.png)\n\n###### 图 16-1。动量的一个例子\n\n如果损失函数有窄谷，我们需要导航：普通的 SGD 会使我们从一边反弹到另一边，而带有动量的 SGD 会将这些平均值平滑地滚动到一侧。参数`beta`确定我们使用的动量的强度：使用较小的`beta`，我们会保持接近实际梯度值，而使用较高的`beta`，我们将主要朝着梯度的平均值前进，直到梯度的任何变化使得该趋势移动。\n\n使用较大的`beta`，我们可能会错过梯度改变方向并滚动到一个小的局部最小值。这是一个期望的副作用：直观地，当我们向模型展示一个新的输入时，它会看起来像训练集中的某个东西，但不会*完全*像它。它将对应于损失函数中接近我们在训练结束时得到的最小值的点，但不会*在*那个最小值。因此，我们宁愿在一个宽阔的最小值中进行训练，附近的点具有近似相同的损失（或者如果你喜欢的话，损失尽可能平坦的点）。图 16-2 显示了当我们改变`beta`时，图 16-1 中的图表如何变化。\n\n![显示 beta 值如何影响动量的图表](img/dlcf_1602.png)\n\n###### 图 16-2。不同 beta 值的动量\n\n我们可以看到在这些示例中，`beta`太高会导致梯度的整体变化被忽略。在带动量的 SGD 中，通常使用的`beta`值为 0.9。\n\n`fit_one_cycle`默认从 0.95 开始，逐渐调整到 0.85，然后在训练结束时逐渐移回到 0.95。让我们看看在普通 SGD 中添加动量后我们的训练情况如何。\n\n要向我们的优化器添加动量，我们首先需要跟踪移动平均梯度，我们可以使用另一个回调来实现。当优化器回调返回一个`dict`时，它用于更新优化器的状态，并在下一步传回优化器。因此，这个回调将跟踪梯度平均值，存储在名为`grad_avg`的参数中：\n\n```py\ndef average_grad(p, mom, grad_avg=None, **kwargs):\n    if grad_avg is None: grad_avg = torch.zeros_like(p.grad.data)\n    return {'grad_avg': grad_avg*mom + p.grad.data}\n```\n\n要使用它，我们只需在我们的步骤函数中用`grad_avg`替换`p.grad.data`：\n\n```py\ndef momentum_step(p, lr, grad_avg, **kwargs): p.data.add_(-lr, grad_avg)\n```\n\n```py\nopt_func = partial(Optimizer, cbs=[average_grad,momentum_step], mom=0.9)\n```\n\n`Learner`将自动调度`mom`和`lr`，因此`fit_one_cycle`甚至可以与我们自定义的`Optimizer`一起使用：\n\n```py\nlearn = get_learner(opt_func=opt_func)\nlearn.fit_one_cycle(3, 0.03)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.856000 | 2.493429 | 0.246115 | 00:10 |\n| 1 | 2.504205 | 2.463813 | 0.348280 | 00:10 |\n| 2 | 2.187387 | 1.755670 | 0.418853 | 00:10 |\n\n```py\nlearn.recorder.plot_sched()\n```\n\n![](img/dlcf_16in02.png)\n\n我们仍然没有得到很好的结果，所以让我们看看我们还能做什么。\n\n# RMSProp\n\nRMSProp 是由 Geoffrey Hinton 在[他的 Coursera 课程“神经网络机器学习”第 6 讲 e](https://oreil.ly/FVcIE)中介绍的 SGD 的另一种变体。与 SGD 的主要区别在于它使用自适应学习率：每个参数都有自己特定的学习率，由全局学习率控制。这样，我们可以通过为需要大幅度改变的权重提供更高的学习率来加速训练，而对于已经足够好的权重，则提供较低的学习率。\n\n我们如何决定哪些参数应该具有较高的学习率，哪些不应该？我们可以查看梯度来获取一个想法。如果一个参数的梯度一直接近于零，那么该参数将需要更高的学习率，因为损失是平的。另一方面，如果梯度到处都是，我们可能应该小心并选择一个较低的学习率以避免发散。我们不能简单地平均梯度来查看它们是否变化很多，因为大正数和大负数的平均值接近于零。相反，我们可以使用通常的技巧，即取绝对值或平方值（然后在平均后取平方根）。\n\n再次，为了确定噪声背后的一般趋势，我们将使用移动平均值，具体来说是梯度的平方的移动平均值。然后，我们将通过使用当前梯度（用于方向）除以这个移动平均值的平方根来更新相应的权重（这样，如果它很低，有效的学习率将更高，如果它很高，有效的学习率将更低）：\n\n```py\nw.square_avg = alpha * w.square_avg + (1-alpha) * (w.grad ** 2)\nnew_w = w - lr * w.grad / math.sqrt(w.square_avg + eps)\n```\n\n`eps`（*epsilon*）是为了数值稳定性而添加的（通常设置为 1e-8），`alpha`的默认值通常为 0.99。\n\n我们可以通过做与`avg_grad`类似的事情将其添加到`Optimizer`中，但是多了一个`**2`：\n\n```py\ndef average_sqr_grad(p, sqr_mom, sqr_avg=None, **kwargs):\n    if sqr_avg is None: sqr_avg = torch.zeros_like(p.grad.data)\n    return {'sqr_avg': sqr_avg*sqr_mom + p.grad.data**2}\n```\n\n我们可以像以前一样定义我们的步骤函数和优化器：\n\n```py\ndef rms_prop_step(p, lr, sqr_avg, eps, grad_avg=None, **kwargs):\n    denom = sqr_avg.sqrt().add_(eps)\n    p.data.addcdiv_(-lr, p.grad, denom)\n\nopt_func = partial(Optimizer, cbs=[average_sqr_grad,rms_prop_step],\n                   sqr_mom=0.99, eps=1e-7)\n```\n\n让我们试一试：\n\n```py\nlearn = get_learner(opt_func=opt_func)\nlearn.fit_one_cycle(3, 0.003)\n```\n\n| epoch | train_loss | valid_loss | accuracy | time |\n| --- | --- | --- | --- | --- |\n| 0 | 2.766912 | 1.845900 | 0.402548 | 00:11 |\n| 1 | 2.194586 | 1.510269 | 0.504459 | 00:11 |\n| 2 | 1.869099 | 1.447939 | 0.544968 | 00:11 |\n\n好多了！现在我们只需将这些想法结合起来，我们就有了 Adam，fastai 的默认优化器。\n\n# Adam\n\nAdam 将 SGD 与动量和 RMSProp 的思想结合在一起：它使用梯度的移动平均作为方向，并除以梯度平方的移动平均的平方根，为每个参数提供自适应学习率。 \n\nAdam 计算移动平均值的方式还有一个不同之处。它采用*无偏*移动平均值，即\n\n```py\nw.avg = beta * w.avg + (1-beta) * w.grad\nunbias_avg = w.avg / (1 - (beta**(i+1)))\n```\n\n如果我们是第`i`次迭代（从 0 开始，就像 Python 一样）。这个除数`1 - (beta**(i+1))`确保无偏平均值看起来更像开始时的梯度（因为`beta < 1`，分母很快接近 1）。\n\n将所有内容放在一起，我们的更新步骤看起来像这样：\n\n```py\nw.avg = beta1 * w.avg + (1-beta1) * w.grad\nunbias_avg = w.avg / (1 - (beta1**(i+1)))\nw.sqr_avg = beta2 * w.sqr_avg + (1-beta2) * (w.grad ** 2)\nnew_w = w - lr * unbias_avg / sqrt(w.sqr_avg + eps)\n```\n\n至于 RMSProp，`eps`通常设置为 1e-8，文献建议的`(beta1，beta2)`的默认值为`(0.9，0.999)`。\n\n在 fastai 中，Adam 是我们使用的默认优化器，因为它可以加快训练速度，但我们发现`beta2=0.99`更适合我们使用的调度类型。`beta1`是动量参数，我们在调用`fit_one_cycle`时用参数`moms`指定。至于`eps`，fastai 使用默认值 1e-5。`eps`不仅仅对数值稳定性有用。更高的`eps`限制了调整学习率的最大值。举个极端的例子，如果`eps`为 1，那么调整后的学习率永远不会高于基本学习率。\n\n与其在书中展示所有这些代码，我们让你去看看 fastai 的优化器笔记本[*https://oreil.ly/*](https://oreil.ly/)*24_O[GitHub 存储库]（浏览 _nbs*文件夹并搜索名为*optimizer*的笔记本）。你会看到到目前为止我们展示的所有代码，以及 Adam 和其他优化器，以及许多示例和测试。\n\n当我们从 SGD 转换为 Adam 时，有一件事情会改变，那就是我们如何应用权重衰减，这可能会产生重要的后果。\n\n# 解耦权重衰减\n\n权重衰减，我们在第八章中讨论过，相当于（在普通 SGD 的情况下）用以下方式更新参数：\n\n```py\nnew_weight = weight - lr*weight.grad - lr*wd*weight\n```\n\n这个公式的最后一部分解释了这种技术的名称：每个权重都会被`lr * wd`的因子衰减。\n\n权重衰减的另一个名称是*L2 正则化*，它包括将所有平方权重的总和添加到损失中（乘以权重衰减）。正如我们在第八章中看到的，这可以直接表达在梯度上：\n\n```py\nweight.grad += wd*weight\n```\n\n对于 SGD，这两个公式是等价的。然而，这种等价性仅适用于标准 SGD，因为正如我们在动量、RMSProp 或 Adam 中看到的，更新周围有一些额外的梯度公式。\n\n大多数库使用第二种公式，但 Ilya Loshchilov 和 Frank Hutter 在[“解耦权重衰减正则化”](https://oreil.ly/w37Ac)中指出，第一种方法是 Adam 优化器或动量的唯一正确方法，这就是为什么 fastai 将其设为默认值。\n\n现在你知道了`learn.fit_one_cycle`这行代码背后隐藏的一切！\n\n然而，优化器只是训练过程的一部分。当你需要改变 fastai 的训练循环时，你不能直接改变库内的代码。相反，我们设计了一套回调系统，让你可以在独立的块中编写任何你喜欢的调整，然后进行混合和匹配。\n\n# 回调\n\n有时候你需要稍微改变事物的工作方式。事实上，我们已经看到了这种情况的例子：Mixup，fp16 训练，每个时期重置模型以训练 RNN 等。我们如何进行这种类型的调整训练过程？\n\n我们已经看到了基本训练循环，借助`Optimizer`类的帮助，对于单个时期，它看起来像这样：\n\n```py\nfor xb,yb in dl:\n    loss = loss_func(model(xb), yb)\n    loss.backward()\n    opt.step()\n    opt.zero_grad()\n```\n\n图 16-3 展示了如何形象地描绘这一点。\n\n![基本训练循环](img/dlcf_1603.png)\n\n###### 图 16-3. 基本训练循环\n\n深度学习从业者通常自定义训练循环的常规方式是复制现有训练循环，然后将特定更改所需的代码插入其中。这几乎是你在网上找到的所有代码的样子。但是它存在严重问题。\n\n某个特定调整过的训练循环不太可能满足您的特定需求。可以对训练循环进行数百次更改，这意味着可能有数十亿种可能的排列组合。您不能只是从这里的一个训练循环中复制一个调整，从那里的另一个训练循环中复制另一个调整，然后期望它们都能一起工作。每个都将基于对其所在环境的不同假设，使用不同的命名约定，并期望数据以不同的格式存在。\n\n我们需要一种方法，允许用户在训练循环的任何部分插入自己的代码，但以一种一致和明确定义的方式。计算机科学家已经提出了一个优雅的解决方案：回调。*回调*是您编写并注入到另一段代码中的代码片段，在预定义的点执行。事实上，回调已经多年用于深度学习训练循环。问题在于，在以前的库中，只能在可能需要的一小部分地方注入代码——更重要的是，回调无法执行它们需要执行的所有操作。\n\n为了能够像手动复制和粘贴训练循环并直接插入代码一样灵活，回调必须能够读取训练循环中的所有可能信息，根据需要修改所有信息，并完全控制批次、周期甚至整个训练循环何时应该终止。fastai 是第一个提供所有这些功能的库。它修改了训练循环，使其看起来像图 16-4。\n\n![带有回调的训练循环](img/dlcf_1604.png)\n\n###### 图 16-4. 带有回调的训练循环\n\n这种方法的有效性在过去几年中得到了验证——通过使用 fastai 回调系统，我们能够实现我们尝试的每一篇新论文，并满足每一个修改训练循环的用户请求。训练循环本身并不需要修改。图 16-5 展示了添加的一些回调。\n\n![一些 fastai 回调](img/dlcf_1605.png)\n\n###### 图 16-5. 一些 fastai 回调\n\n这很重要，因为这意味着我们头脑中的任何想法，我们都可以实现。我们永远不需要深入 PyTorch 或 fastai 的源代码，并临时拼凑一个系统来尝试我们的想法。当我们实现自己的回调来开发自己的想法时，我们知道它们将与 fastai 提供的所有其他功能一起工作——因此我们将获得进度条、混合精度训练、超参数退火等等。\n\n另一个优点是，它使逐渐删除或添加功能以及执行消融研究变得容易。您只需要调整传递给 fit 函数的回调列表。\n\n例如，这是每个训练循环批次运行的 fastai 源代码：\n\n```py\ntry:\n    self._split(b);                                  self('begin_batch')\n    self.pred = self.model(*self.xb);                self('after_pred')\n    self.loss = self.loss_func(self.pred, *self.yb); self('after_loss')\n    if not self.training: return\n    self.loss.backward();                            self('after_backward')\n    self.opt.step();                                 self('after_step')\n    self.opt.zero_grad()\nexcept CancelBatchException:                         self('after_cancel_batch')\nfinally:                                             self('after_batch')\n```\n\n形式为`self('...')`的调用是回调被调用的地方。正如您所看到的，这发生在每一步之后。回调将接收整个训练状态，并且还可以修改它。例如，输入数据和目标标签分别在`self.xb`和`self.yb`中；回调可以修改这些以修改训练循环看到的数据。它还可以修改`self.loss`甚至梯度。\n\n让我们通过编写一个回调来看看这在实践中是如何工作的。\n\n## 创建回调\n\n当您想要编写自己的回调时，可用事件的完整列表如下：\n\n`begin_fit`\n\n在做任何事情之前调用；适用于初始设置。\n\n`begin_epoch`\n\n在每个周期开始时调用；对于需要在每个周期重置的任何行为都很有用。\n\n`begin_train`\n\n在周期的训练部分开始时调用。\n\n`begin_batch`\n\n在每个批次开始时调用，就在绘制该批次之后。可以用于对批次进行任何必要的设置（如超参数调度）或在输入/目标进入模型之前对其进行更改（例如，通过应用 Mixup）。\n\n`after_pred`\n\n在计算模型对批次的输出后调用。可以用于在将其馈送到损失函数之前更改该输出。\n\n`after_loss`\n\n在计算损失之后但在反向传播之前调用。可以用于向损失添加惩罚（例如在 RNN 训练中的 AR 或 TAR）。\n\n`after_backward`\n\n在反向传播之后调用，但在参数更新之前调用。可以在更新之前对梯度进行更改（例如通过梯度裁剪）。\n\n`after_step`\n\n在步骤之后和梯度归零之前调用。\n\n`after_batch`\n\n在批次结束时调用，以在下一个批次之前执行任何必要的清理。\n\n`after_train`\n\n在时代的训练阶段结束时调用。\n\n`begin_validate`\n\n在时代的验证阶段开始时调用；用于特定于验证所需的任何设置。\n\n`after_validate`\n\n在时代的验证部分结束时调用。\n\n`after_epoch`\n\n在时代结束时调用，进行下一个时代之前的任何清理。\n\n`after_fit`\n\n在训练结束时调用，进行最终清理。\n\n此列表的元素可作为特殊变量`event`的属性使用，因此您只需在笔记本中键入`event.`并按 Tab 键即可查看所有选项的列表\n\n让我们看一个例子。您是否还记得在第十二章中我们需要确保在每个时代的训练和验证开始时调用我们的特殊`reset`方法？我们使用 fastai 提供的`ModelResetter`回调来为我们执行此操作。但它究竟是如何工作的呢？这是该类的完整源代码：\n\n```py\nclass ModelResetter(Callback):\n    def begin_train(self):    self.model.reset()\n    def begin_validate(self): self.model.reset()\n```\n\n是的，实际上就是这样！它只是在完成时代的训练或验证后，调用一个名为`reset`的方法。\n\n回调通常像这样“简短而甜美”。实际上，让我们再看一个。这是添加 RNN 正则化（AR 和 TAR）的 fastai 回调的源代码：\n\n```py\nclass RNNRegularizer(Callback):\n    def __init__(self, alpha=0., beta=0.): self.alpha,self.beta = alpha,beta\n\n    def after_pred(self):\n        self.raw_out,self.out = self.pred[1],self.pred[2]\n        self.learn.pred = self.pred[0]\n\n    def after_loss(self):\n        if not self.training: return\n        if self.alpha != 0.:\n            self.learn.loss += self.alpha * self.out[-1].float().pow(2).mean()\n        if self.beta != 0.:\n            h = self.raw_out[-1]\n            if len(h)>1:\n                self.learn.loss += self.beta * (h[:,1:] - h[:,:-1]\n                                               ).float().pow(2).mean()\n```\n\n# 自己编写代码。\n\n回去重新阅读“激活正则化和时间激活正则化”，然后再看看这里的代码。确保您理解它在做什么以及为什么。\n\n在这两个示例中，请注意我们如何可以通过直接检查`self.model`或`self.pred`来访问训练循环的属性。这是因为`Callback`将始终尝试获取其内部`Learner`中没有的属性。这些是`self.learn.model`或`self.learn.pred`的快捷方式。请注意，它们适用于读取属性，但不适用于编写属性，这就是为什么当`RNNRegularizer`更改损失或预测时，您会看到`self.learn.loss =`或`self.learn.pred =`。\n\n在编写回调时，可以直接检查`Learner`的以下属性：\n\n`model`\n\n用于训练/验证的模型。\n\n`data`\n\n底层的`DataLoaders`。\n\n`loss_func`\n\n使用的损失函数。\n\n`opt`\n\n用于更新模型参数的优化器。\n\n`opt_func`\n\n用于创建优化器的函数。\n\n`cbs`\n\n包含所有`Callback`的列表。\n\n`dl`\n\n用于迭代的当前`DataLoader`。\n\n`x`/`xb`\n\n从`self.dl`中绘制的最后一个输入（可能由回调修改）。`xb`始终是一个元组（可能有一个元素），`x`是去元组化的。您只能分配给`xb`。\n\n`y`/`yb`\n\n从`self.dl`中绘制的最后一个目标（可能由回调修改）。`yb`始终是一个元组（可能有一个元素），`y`是去元组化的。您只能分配给`yb`。\n\n`pred`\n\n从`self.model`中绘制的最后预测（可能由回调修改）。\n\n`loss`\n\n最后计算的损失（可能由回调修改）。\n\n`n_epoch`\n\n此次训练的时代数。\n\n`n_iter`\n\n当前`self.dl`中的迭代次数。\n\n`纪元`\n\n当前纪元索引（从 0 到`n_epoch-1`）。\n\n`iter`\n\n`self.dl`中的当前迭代索引（从 0 到`n_iter-1`）。\n\n以下属性由`TrainEvalCallback`添加，除非您刻意删除该回调，否则应该可用：\n\n`train_iter`\n\n自此次训练开始以来已完成的训练迭代次数\n\n`pct_train`\n\n已完成的训练迭代的百分比（从 0 到 1）\n\n`training`\n\n一个指示我们是否处于训练模式的标志\n\n以下属性由`Recorder`添加，除非您刻意删除该回调，否则应该可用：\n\n`smooth_loss`\n\n训练损失的指数平均版本\n\n回调也可以通过使用异常系统中断训练循环的任何部分。\n\n## 回调排序和异常\n\n有时回调需要能够告诉 fastai 跳过一个批次或一个纪元，或者完全停止训练。例如，考虑`TerminateOnNaNCallback`。这个方便的回调将在损失变为无穷大或`NaN`（*不是一个数字*）时自动停止训练。以下是此回调的 fastai 源代码：\n\n```py\nclass TerminateOnNaNCallback(Callback):\n    run_before=Recorder\n    def after_batch(self):\n        if torch.isinf(self.loss) or torch.isnan(self.loss):\n            raise CancelFitException\n```\n\n`raise CancelFitException`这一行告诉训练循环在这一点中断训练。训练循环捕获此异常并不再运行任何进一步的训练或验证。可用的回调控制流异常如下：\n\n`CancelFitException`\n\n跳过本批次的其余部分并转到`after_batch`。\n\n`CancelEpochException`\n\n跳过本纪元的训练部分的其余部分并转到`after_train`。\n\n`CancelTrainException`\n\n跳过本纪元的验证部分的其余部分并转到`after_validate`。\n\n`CancelValidException`\n\n跳过本纪元的其余部分并转到`after_epoch`。\n\n`CancelBatchException`\n\n训练中断并转到`after_fit`。\n\n您可以检测是否发生了其中一个异常，并添加代码，以在以下事件之后立即执行：\n\n`after_cancel_batch`\n\n在继续到`after_batch`之前立即到达`CancelBatchException`后\n\n`after_cancel_train`\n\n在继续到`after_epoch`之前立即到达`CancelTrainException`后\n\n`after_cancel_valid`\n\n在继续到`after_epoch`之前立即到达`CancelValidException`后\n\n`after_cancel_epoch`\n\n在继续到`after_epoch`之前立即到达`CancelEpochException`后\n\n`after_cancel_fit`\n\n在继续到`after_fit`之前立即到达`CancelFitException`后\n\n有时需要按特定顺序调用回调。例如，在`TerminateOnNaNCallback`的情况下，很重要的是`Recorder`在此回调之后运行其`after_batch`，以避免注册`NaN`损失。您可以在回调中指定`run_before`（此回调必须在之前运行...）或`run_after`（此回调必须在之后运行...）以确保您需要的顺序。\n\n# 结论\n\n在本章中，我们仔细研究了训练循环，探讨了 SGD 的变体以及为什么它们可能更强大。在撰写本文时，开发新的优化器是一个活跃的研究领域，因此在阅读本章时，可能会在[书籍网站](https://book.fast.ai)上发布新变体的附录。请务必查看我们的通用优化器框架如何帮助您快速实现新的优化器。\n\n我们还研究了强大的回调系统，该系统允许您通过允许您在每个步骤之间检查和修改任何参数来自定义训练循环的每一部分。\n\n# 问卷调查\n\n1.  SGD 一步的方程是什么，以数学或代码形式（您喜欢的方式）？\n\n1.  我们传递什么给`cnn_learner`以使用非默认优化器？\n\n1.  什么是优化器回调？\n\n1.  优化器中的`zero_grad`是做什么的？\n\n1.  优化器中的`step`是做什么的？通常优化器中如何实现它？\n\n1.  重写`sgd_cb`以使用`+=`运算符，而不是`add_`。\n\n1.  什么是动量？写出方程式。\n\n1.  动量的物理类比是什么？它如何应用在我们的模型训练设置中？\n\n1.  动量值越大对梯度有什么影响？\n\n1.  1cycle 训练的动量的默认值是多少？\n\n1.  RMSProp 是什么？写出方程。\n\n1.  梯度的平方值表示什么？\n\n1.  Adam 与动量和 RMSProp 有何不同？\n\n1.  写出 Adam 的方程。\n\n1.  计算几批虚拟值的`unbias_avg`和`w.avg`的值。\n\n1.  在 Adam 中，`eps`值较高会产生什么影响？\n\n1.  阅读 fastai 存储库中的优化器笔记本并执行它。\n\n1.  在哪些情况下，像 Adam 这样的动态学习率方法会改变权重衰减的行为？\n\n1.  训练循环的四个步骤是什么？\n\n1.  为什么使用回调比为每个想要添加的调整编写新的训练循环更好？\n\n1.  fastai 回调系统设计的哪些方面使其像复制和粘贴代码片段一样灵活？\n\n1.  在编写回调时，如何获取可用事件的列表？\n\n1.  编写`ModelResetter`回调（请不要偷看）。\n\n1.  如何在回调内部访问训练循环的必要属性？何时可以使用或不使用与它们配套的快捷方式？\n\n1.  回调如何影响训练循环的控制流？\n\n1.  编写`TerminateOnNaN`回调（如果可能的话，请不要偷看）。\n\n1.  如何确保你的回调在另一个回调之后或之前运行？\n\n## 进一步研究\n\n1.  查阅“修正的 Adam”论文，使用通用优化器框架实现它，并尝试一下。搜索其他最近在实践中表现良好的优化器，并选择一个实现。\n\n1.  查看[文档](https://docs.fast.ai)中的混合精度回调。尝试理解每个事件和代码行的作用。\n\n1.  从头开始实现自己版本的学习率查找器。与 fastai 的版本进行比较。\n\n1.  查看 fastai 附带的回调的源代码。看看能否找到一个与你要做的类似的回调，以获得一些灵感。\n\n# 深度学习基础：总结\n\n恭喜你——你已经完成了书中“深度学习基础”部分！现在你理解了 fastai 的所有应用程序和最重要的架构是如何构建的，以及训练它们的推荐方法——你拥有构建这些内容所需的所有信息。虽然你可能不需要创建自己的训练循环或批归一化层，但了解幕后发生的事情对于调试、性能分析和部署解决方案非常有帮助。\n\n既然你现在理解了 fastai 应用的基础，一定要花时间深入研究源代码笔记本，并运行和实验它们的部分。这将让你更清楚地了解 fastai 中的所有内容是如何开发的。\n\n在下一节中，我们将更深入地探讨：我们将探索神经网络的实际前向和后向传递是如何进行的，以及我们可以利用哪些工具来获得更好的性能。然后，我们将继续进行一个项目，将书中的所有材料汇集在一起，用它来构建一个用于解释卷积神经网络的工具。最后但并非最不重要的是，我们将从头开始构建 fastai 的`Learner`类。\n"
  },
  {
    "path": "translations/cn/17_foundations.md",
    "content": "# 第十七章：基础神经网络\n\n\n\n本章开始了一段旅程，我们将深入研究我们在前几章中使用的模型的内部。我们将涵盖许多我们以前见过的相同内容，但这一次我们将更加密切地关注实现细节，而不那么密切地关注事物为什么是这样的实际问题。\n\n我们将从头开始构建一切，仅使用对张量的基本索引。我们将从头开始编写一个神经网络，然后手动实现反向传播，以便我们在调用`loss.backward`时确切地知道 PyTorch 中发生了什么。我们还将看到如何使用自定义*autograd*函数扩展 PyTorch，允许我们指定自己的前向和后向计算。\n\n# 从头开始构建神经网络层\n\n让我们首先刷新一下我们对基本神经网络中如何使用矩阵乘法的理解。由于我们正在从头开始构建一切，所以最初我们将仅使用纯 Python（除了对 PyTorch 张量的索引），然后在看到如何创建后，将纯 Python 替换为 PyTorch 功能。\n\n## 建模神经元\n\n神经元接收一定数量的输入，并为每个输入设置内部权重。它对这些加权输入求和以产生输出，并添加内部偏置。在数学上，这可以写成\n\n<math alttext=\"o u t equals sigma-summation Underscript i equals 1 Overscript n Endscripts x Subscript i Baseline w Subscript i Baseline plus b\" display=\"block\"><mrow><mi>o</mi> <mi>u</mi> <mi>t</mi> <mo>=</mo> <munderover><mo>∑</mo> <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow> <mi>n</mi></munderover> <msub><mi>x</mi> <mi>i</mi></msub> <msub><mi>w</mi> <mi>i</mi></msub> <mo>+</mo> <mi>b</mi></mrow></math>\n\n如果我们将输入命名为<math alttext=\"left-parenthesis x 1 comma ellipsis comma x Subscript n Baseline right-parenthesis\"><mrow><mo>(</mo> <msub><mi>x</mi> <mn>1</mn></msub> <mo>,</mo> <mo>⋯</mo> <mo>,</mo> <msub><mi>x</mi> <mi>n</mi></msub> <mo>)</mo></mrow></math>，我们的权重为<math alttext=\"left-parenthesis w 1 comma ellipsis comma w Subscript n Baseline right-parenthesis\"><mrow><mo>(</mo> <msub><mi>w</mi> <mn>1</mn></msub> <mo>,</mo> <mo>⋯</mo> <mo>,</mo> <msub><mi>w</mi> <mi>n</mi></msub> <mo>)</mo></mrow></math>，以及我们的偏置<math alttext=\"b\"><mi>b</mi></math>。在代码中，这被翻译为以下内容：\n\n```py\noutput = sum([x*w for x,w in zip(inputs,weights)]) + bias\n```\n\n然后将此输出馈送到非线性函数中，称为*激活函数*，然后发送到另一个神经元。在深度学习中，最常见的是*修正线性单元*，或*ReLU*，正如我们所见，这是一种花哨的说法：\n\n```py\ndef relu(x): return x if x >= 0 else 0\n```\n\n然后通过在连续的层中堆叠许多这些神经元来构建深度学习模型。我们创建一个具有一定数量的神经元（称为*隐藏大小*）的第一层，并将所有输入链接到每个神经元。这样的一层通常称为*全连接层*或*密集层*（用于密集连接），或*线性层*。\n\n它要求您计算每个`input`和具有给定`weight`的每个神经元的点积：\n\n```py\nsum([x*w for x,w in zip(input,weight)])\n```\n\n如果您对线性代数有一点了解，您可能会记得当您进行*矩阵乘法*时会发生许多这些点积。更准确地说，如果我们的输入在大小为`batch_size`乘以`n_inputs`的矩阵`x`中，并且如果我们已将神经元的权重分组在大小为`n_neurons`乘以`n_inputs`的矩阵`w`中（每个神经元必须具有与其输入相同数量的权重），以及将所有偏置分组在大小为`n_neurons`的向量`b`中，则此全连接层的输出为\n\n```py\ny = x @ w.t() + b\n```\n\n其中`@`表示矩阵乘积，`w.t()`是`w`的转置矩阵。然后输出`y`的大小为`batch_size`乘以`n_neurons`，在位置`(i,j)`上我们有这个（对于数学爱好者）：\n\n<math alttext=\"y Subscript i comma j Baseline equals sigma-summation Underscript k equals 1 Overscript n Endscripts x Subscript i comma k Baseline w Subscript k comma j Baseline plus b Subscript j\" display=\"block\"><mrow><msub><mi>y</mi> <mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub> <mo>=</mo> <munderover><mo>∑</mo> <mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow> <mi>n</mi></munderover> <msub><mi>x</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub> <msub><mi>w</mi> <mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow></msub> <mo>+</mo> <msub><mi>b</mi> <mi>j</mi></msub></mrow></math>\n\n或者在代码中：\n\n```py\ny[i,j] = sum([a * b for a,b in zip(x[i,:],w[j,:])]) + b[j]\n```\n\n转置是必要的，因为在矩阵乘积`m @ n`的数学定义中，系数`(i,j)`如下：\n\n```py\nsum([a * b for a,b in zip(m[i,:],n[:,j])])\n```\n\n所以我们需要的非常基本的操作是矩阵乘法，因为这是神经网络核心中隐藏的内容。\n\n## 从头开始的矩阵乘法\n\n让我们编写一个函数，计算两个张量的矩阵乘积，然后再允许我们使用 PyTorch 版本。我们只会在 PyTorch 张量中使用索引：\n\n```py\nimport torch\nfrom torch import tensor\n```\n\n我们需要三个嵌套的`for`循环：一个用于行索引，一个用于列索引，一个用于内部求和。`ac`和`ar`分别表示`a`的列数和行数（对于`b`也是相同的约定），我们通过检查`a`的列数是否与`b`的行数相同来确保计算矩阵乘积是可能的：\n\n```py\ndef matmul(a,b):\n    ar,ac = a.shape # n_rows * n_cols\n    br,bc = b.shape\n    assert ac==br\n    c = torch.zeros(ar, bc)\n    for i in range(ar):\n        for j in range(bc):\n            for k in range(ac): c[i,j] += a[i,k] * b[k,j]\n    return c\n```\n\n为了测试这一点，我们假装（使用随机矩阵）我们正在处理一个包含 5 个 MNIST 图像的小批量，将它们展平为`28*28`向量，然后使用线性模型将它们转换为 10 个激活值：\n\n```py\nm1 = torch.randn(5,28*28)\nm2 = torch.randn(784,10)\n```\n\n让我们计时我们的函数，使用 Jupyter 的“魔术”命令`%time`：\n\n```py\n%time t1=matmul(m1, m2)\n```\n\n```py\nCPU times: user 1.15 s, sys: 4.09 ms, total: 1.15 s\nWall time: 1.15 s\n```\n\n看看这与 PyTorch 内置的`@`有什么区别？\n\n```py\n%timeit -n 20 t2=m1@m2\n```\n\n```py\n14 µs ± 8.95 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\n```\n\n正如我们所看到的，在 Python 中三个嵌套循环是一个坏主意！Python 是一种慢速语言，这不会高效。我们在这里看到 PyTorch 比 Python 快大约 100,000 倍——而且这还是在我们开始使用 GPU 之前！\n\n这种差异是从哪里来的？PyTorch 没有在 Python 中编写矩阵乘法，而是使用 C++来加快速度。通常，当我们在张量上进行计算时，我们需要*向量化*它们，以便利用 PyTorch 的速度，通常使用两种技术：逐元素算术和广播。\n\n## 逐元素算术\n\n所有基本运算符（`+`、`-`、`*`、`/`、`>`、`<`、`==`）都可以逐元素应用。这意味着如果我们为两个具有相同形状的张量`a`和`b`写`a+b`，我们将得到一个由`a`和`b`元素之和组成的张量：\n\n```py\na = tensor([10., 6, -4])\nb = tensor([2., 8, 7])\na + b\n```\n\n```py\ntensor([12., 14.,  3.])\n```\n\n布尔运算符将返回一个布尔数组：\n\n```py\na < b\n```\n\n```py\ntensor([False,  True,  True])\n```\n\n如果我们想知道`a`的每个元素是否小于`b`中对应的元素，或者两个张量是否相等，我们需要将这些逐元素操作与`torch.all`结合起来：\n\n```py\n(a < b).all(), (a==b).all()\n```\n\n```py\n(tensor(False), tensor(False))\n```\n\n像`all`、`sum`和`mean`这样的缩减操作返回只有一个元素的张量，称为*秩-0 张量*。如果要将其转换为普通的 Python 布尔值或数字，需要调用`.item`：\n\n```py\n(a + b).mean().item()\n```\n\n```py\n9.666666984558105\n```\n\n逐元素操作适用于任何秩的张量，只要它们具有相同的形状：\n\n```py\nm = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\nm*m\n```\n\n```py\ntensor([[ 1.,  4.,  9.],\n        [16., 25., 36.],\n        [49., 64., 81.]])\n```\n\n但是，不能对形状不同的张量执行逐元素操作（除非它们是可广播的，如下一节所讨论的）：\n\n```py\nn = tensor([[1., 2, 3], [4,5,6]])\nm*n\n```\n\n```py\n RuntimeError: The size of tensor a (3) must match the size of tensor b (2) at\n dimension 0\n```\n\n通过逐元素算术，我们可以去掉我们的三个嵌套循环中的一个：我们可以在将`a`的第`i`行和`b`的第`j`列对应的张量相乘之前对它们进行求和，这将加快速度，因为内部循环现在将由 PyTorch 以 C 速度执行。\n\n要访问一列或一行，我们可以简单地写`a[i,：]`或`b[:,j]`。`:`表示在该维度上取所有内容。我们可以限制这个并只取该维度的一个切片，通过传递一个范围，比如`1:5`，而不仅仅是`:`。在这种情况下，我们将取第 1 到第 4 列的元素（第二个数字是不包括在内的）。\n\n一个简化是我们总是可以省略尾随冒号，因此`a[i,:]`可以缩写为`a[i]`。考虑到所有这些，我们可以编写我们矩阵乘法的新版本：\n\n```py\ndef matmul(a,b):\n    ar,ac = a.shape\n    br,bc = b.shape\n    assert ac==br\n    c = torch.zeros(ar, bc)\n    for i in range(ar):\n        for j in range(bc): c[i,j] = (a[i] * b[:,j]).sum()\n    return c\n```\n\n```py\n%timeit -n 20 t3 = matmul(m1,m2)\n```\n\n```py\n1.7 ms ± 88.1 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\n```\n\n我们已经快了约 700 倍，只是通过删除那个内部的`for`循环！这只是开始——通过广播，我们可以删除另一个循环并获得更重要的加速。\n\n## 广播\n\n正如我们在第四章中讨论的那样，*广播*是由[Numpy 库](https://oreil.ly/nlV7Q)引入的一个术语，用于描述在算术操作期间如何处理不同秩的张量。例如，显然无法将 3×3 矩阵与 4×5 矩阵相加，但如果我们想将一个标量（可以表示为 1×1 张量）与矩阵相加呢？或者大小为 3 的向量与 3×4 矩阵？在这两种情况下，我们可以找到一种方法来理解这个操作。\n\n广播为编码规则提供了特定的规则，用于在尝试进行逐元素操作时确定形状是否兼容，以及如何扩展较小形状的张量以匹配较大形状的张量。如果您想要能够编写快速执行的代码，掌握这些规则是至关重要的。在本节中，我们将扩展我们之前对广播的处理，以了解这些规则。\n\n### 使用标量进行广播\n\n使用标量进行广播是最简单的广播类型。当我们有一个张量`a`和一个标量时，我们只需想象一个与`a`形状相同且填充有该标量的张量，并执行操作：\n\n```py\na = tensor([10., 6, -4])\na > 0\n```\n\n```py\ntensor([ True,  True, False])\n```\n\n我们如何能够进行这种比较？`0`被*广播*以具有与`a`相同的维度。请注意，这是在不在内存中创建一个充满零的张量的情况下完成的（这将是低效的）。\n\n如果要通过减去均值（标量）来标准化数据集（矩阵）并除以标准差（另一个标量），这是很有用的：\n\n```py\nm = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\n(m - 5) / 2.73\n```\n\n```py\ntensor([[-1.4652, -1.0989, -0.7326],\n        [-0.3663,  0.0000,  0.3663],\n        [ 0.7326,  1.0989,  1.4652]])\n```\n\n如果矩阵的每行有不同的均值怎么办？在这种情况下，您需要将一个向量广播到一个矩阵。\n\n### 将向量广播到矩阵\n\n我们可以将一个向量广播到一个矩阵中：\n\n```py\nc = tensor([10.,20,30])\nm = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\nm.shape,c.shape\n```\n\n```py\n(torch.Size([3, 3]), torch.Size([3]))\n```\n\n```py\nm + c\n```\n\n```py\ntensor([[11., 22., 33.],\n        [14., 25., 36.],\n        [17., 28., 39.]])\n```\n\n这里，`c`的元素被扩展为使三行匹配，从而使操作成为可能。同样，PyTorch 实际上并没有在内存中创建三个`c`的副本。这是由幕后的`expand_as`方法完成的：\n\n```py\nc.expand_as(m)\n```\n\n```py\ntensor([[10., 20., 30.],\n        [10., 20., 30.],\n        [10., 20., 30.]])\n```\n\n如果我们查看相应的张量，我们可以请求其`storage`属性（显示用于张量的内存实际内容）来检查是否存储了无用的数据：\n\n```py\nt = c.expand_as(m)\nt.storage()\n```\n\n```py\n 10.0\n 20.0\n 30.0\n[torch.FloatStorage of size 3]\n```\n\n尽管张量在官方上有九个元素，但内存中只存储了三个标量。这是可能的，这要归功于给该维度一个 0 步幅的巧妙技巧。在该维度上（这意味着当 PyTorch 通过添加步幅查找下一行时，它不会移动）：\n\n```py\nt.stride(), t.shape\n```\n\n```py\n((0, 1), torch.Size([3, 3]))\n```\n\n由于`m`的大小为 3×3，有两种广播的方式。在最后一个维度上进行广播的事实是一种约定，这是来自广播规则的规定，与我们对张量排序的方式无关。如果我们这样做，我们会得到相同的结果：\n\n```py\nc + m\n```\n\n```py\ntensor([[11., 22., 33.],\n        [14., 25., 36.],\n        [17., 28., 39.]])\n```\n\n实际上，只有通过`n`，我们才能将大小为`n`的向量广播到大小为`m`的矩阵中：\n\n```py\nc = tensor([10.,20,30])\nm = tensor([[1., 2, 3], [4,5,6]])\nc+m\n```\n\n```py\ntensor([[11., 22., 33.],\n        [14., 25., 36.]])\n```\n\n这不起作用：\n\n```py\nc = tensor([10.,20])\nm = tensor([[1., 2, 3], [4,5,6]])\nc+m\n```\n\n```py\n RuntimeError: The size of tensor a (2) must match the size of tensor b (3) at\n dimension 1\n```\n\n如果我们想在另一个维度上进行广播，我们必须改变向量的形状，使其成为一个 3×1 矩阵。这可以通过 PyTorch 中的`unsqueeze`方法来实现：\n\n```py\nc = tensor([10.,20,30])\nm = tensor([[1., 2, 3], [4,5,6], [7,8,9]])\nc = c.unsqueeze(1)\nm.shape,c.shape\n```\n\n```py\n(torch.Size([3, 3]), torch.Size([3, 1]))\n```\n\n这次，`c`在列侧进行了扩展：\n\n```py\nc+m\n```\n\n```py\ntensor([[11., 12., 13.],\n        [24., 25., 26.],\n        [37., 38., 39.]])\n```\n\n与以前一样，只有三个标量存储在内存中：\n\n```py\nt = c.expand_as(m)\nt.storage()\n```\n\n```py\n 10.0\n 20.0\n 30.0\n[torch.FloatStorage of size 3]\n```\n\n扩展后的张量具有正确的形状，因为列维度的步幅为 0：\n\n```py\nt.stride(), t.shape\n```\n\n```py\n((1, 0), torch.Size([3, 3]))\n```\n\n使用广播，如果需要添加维度，则默认情况下会在开头添加。在之前进行广播时，PyTorch 在幕后执行了`c.unsqueeze(0)`：\n\n```py\nc = tensor([10.,20,30])\nc.shape, c.unsqueeze(0).shape,c.unsqueeze(1).shape\n```\n\n```py\n(torch.Size([3]), torch.Size([1, 3]), torch.Size([3, 1]))\n```\n\n`unsqueeze`命令可以被`None`索引替换：\n\n```py\nc.shape, c[None,:].shape,c[:,None].shape\n```\n\n```py\n(torch.Size([3]), torch.Size([1, 3]), torch.Size([3, 1]))\n```\n\n您可以始终省略尾随冒号，`...`表示所有前面的维度：\n\n```py\nc[None].shape,c[...,None].shape\n```\n\n```py\n(torch.Size([1, 3]), torch.Size([3, 1]))\n```\n\n有了这个，我们可以在我们的矩阵乘法函数中删除另一个`for`循环。现在，我们不再将`a[i]`乘以`b[:,j]`，而是使用广播将`a[i]`乘以整个矩阵`b`，然后对结果求和：\n\n```py\ndef matmul(a,b):\n    ar,ac = a.shape\n    br,bc = b.shape\n    assert ac==br\n    c = torch.zeros(ar, bc)\n    for i in range(ar):\n#       c[i,j] = (a[i,:]          * b[:,j]).sum() # previous\n        c[i]   = (a[i  ].unsqueeze(-1) * b).sum(dim=0)\n    return c\n```\n\n```py\n%timeit -n 20 t4 = matmul(m1,m2)\n```\n\n```py\n357 µs ± 7.2 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\n```\n\n现在我们比第一次实现快了 3700 倍！在继续之前，让我们更详细地讨论一下广播规则。\n\n### 广播规则\n\n在操作两个张量时，PyTorch 会逐个元素地比较它们的形状。它从*尾部维度*开始，逆向工作，在遇到空维度时添加 1。当以下情况之一为真时，两个维度是*兼容*的：\n\n+   它们是相等的。\n\n+   其中之一是 1，此时该维度会被广播以使其与其他维度相同。\n\n数组不需要具有相同数量的维度。例如，如果您有一个 256×256×3 的 RGB 值数组，并且想要按不同值缩放图像中的每种颜色，您可以将图像乘以一个具有三个值的一维数组。根据广播规则排列这些数组的尾部轴的大小表明它们是兼容的：\n\n```py\nImage  (3d tensor): 256 x 256 x 3\nScale  (1d tensor):  (1)   (1)  3\nResult (3d tensor): 256 x 256 x 3\n```\n\n然而，一个大小为 256×256 的 2D 张量与我们的图像不兼容：\n\n```py\nImage  (3d tensor): 256 x 256 x   3\nScale  (1d tensor):  (1)  256 x 256\nError\n```\n\n在我们早期的例子中，使用了一个 3×3 矩阵和一个大小为 3 的向量，广播是在行上完成的：\n\n```py\nMatrix (2d tensor):   3 x 3\nVector (1d tensor): (1)   3\nResult (2d tensor):   3 x 3\n```\n\n作为练习，尝试确定何时需要添加维度（以及在何处），以便将大小为`64 x 3 x 256 x 256`的图像批次与三个元素的向量（一个用于均值，一个用于标准差）进行归一化。\n\n另一种简化张量操作的有用方法是使用爱因斯坦求和约定。\n\n## 爱因斯坦求和\n\n在使用 PyTorch 操作`@`或`torch.matmul`之前，我们可以实现矩阵乘法的最后一种方法：*爱因斯坦求和*（`einsum`）。这是一种将乘积和求和以一般方式组合的紧凑表示。我们可以写出这样的方程：\n\n```py\nik,kj -> ij\n```\n\n左侧表示操作数的维度，用逗号分隔。这里我们有两个分别具有两个维度（`i,k`和`k,j`）的张量。右侧表示结果维度，所以这里我们有一个具有两个维度`i,j`的张量。\n\n爱因斯坦求和符号的规则如下：\n\n1.  重复的索引会被隐式求和。\n\n1.  每个索引在任何项中最多只能出现两次。\n\n1.  每个项必须包含相同的非重复索引。\n\n因此，在我们的例子中，由于`k`是重复的，我们对该索引求和。最终，该公式表示当我们在（`i,j`）中放入所有第一个张量中的系数（`i,k`）与第二个张量中的系数（`k,j`）相乘的总和时得到的矩阵……这就是矩阵乘积！\n\n以下是我们如何在 PyTorch 中编写这段代码：\n\n```py\ndef matmul(a,b): return torch.einsum('ik,kj->ij', a, b)\n```\n\n爱因斯坦求和是一种非常实用的表达涉及索引和乘积和的操作的方式。请注意，您可以在左侧只有一个成员。例如，\n\n```py\ntorch.einsum('ij->ji', a)\n```\n\n返回矩阵`a`的转置。您也可以有三个或更多成员：\n\n```py\ntorch.einsum('bi,ij,bj->b', a, b, c)\n```\n\n这将返回一个大小为`b`的向量，其中第`k`个坐标是`a[k,i] b[i,j] c[k,j]`的总和。当您有更多维度时，这种表示特别方便，因为有批次。例如，如果您有两批次的矩阵并且想要计算每批次的矩阵乘积，您可以这样做：\n\n```py\ntorch.einsum('bik,bkj->bij', a, b)\n```\n\n让我们回到使用`einsum`实现的新`matmul`，看看它的速度：\n\n```py\n%timeit -n 20 t5 = matmul(m1,m2)\n```\n\n```py\n68.7 µs ± 4.06 µs per loop (mean ± std. dev. of 7 runs, 20 loops each)\n```\n\n正如您所看到的，它不仅实用，而且*非常*快。`einsum`通常是在 PyTorch 中执行自定义操作的最快方式，而无需深入研究 C++和 CUDA。（但通常不如精心优化的 CUDA 代码快，正如您从“从头开始的矩阵乘法”的结果中看到的。）\n\n现在我们知道如何从头开始实现矩阵乘法，我们准备构建我们的神经网络——具体来说，是它的前向和后向传递——只使用矩阵乘法。\n\n# 前向和后向传递\n\n正如我们在第四章中看到的，为了训练一个模型，我们需要计算给定损失对其参数的所有梯度，这被称为*反向传播*。在*前向传播*中，我们根据矩阵乘积计算给定输入上模型的输出。当我们定义我们的第一个神经网络时，我们还将深入研究适当初始化权重的问题，这对于使训练正确开始至关重要。\n\n## 定义和初始化一个层\n\n首先我们将以两层神经网络为例。正如我们所看到的，一层可以表示为`y = x @ w + b`，其中`x`是我们的输入，`y`是我们的输出，`w`是该层的权重（如果我们不像之前那样转置，则大小为输入数量乘以神经元数量），`b`是偏置向量：\n\n```py\ndef lin(x, w, b): return x @ w + b\n```\n\n我们可以将第二层叠加在第一层上，但由于数学上两个线性操作的组合是另一个线性操作，只有在中间放入一些非线性的东西才有意义，称为激活函数。正如本章开头提到的，在深度学习应用中，最常用的激活函数是 ReLU，它返回`x`和`0`的最大值。\n\n在本章中，我们实际上不会训练我们的模型，因此我们将为我们的输入和目标使用随机张量。假设我们的输入是大小为 100 的 200 个向量，我们将它们分组成一个批次，我们的目标是 200 个随机浮点数：\n\n```py\nx = torch.randn(200, 100)\ny = torch.randn(200)\n```\n\n对于我们的两层模型，我们将需要两个权重矩阵和两个偏置向量。假设我们的隐藏大小为 50，输出大小为 1（对于我们的输入之一，相应的输出在这个玩具示例中是一个浮点数）。我们随机初始化权重，偏置为零：\n\n```py\nw1 = torch.randn(100,50)\nb1 = torch.zeros(50)\nw2 = torch.randn(50,1)\nb2 = torch.zeros(1)\n```\n\n然后我们的第一层的结果就是这样的：\n\n```py\nl1 = lin(x, w1, b1)\nl1.shape\n```\n\n```py\ntorch.Size([200, 50])\n```\n\n请注意，这个公式适用于我们的输入批次，并返回一个隐藏状态批次：`l1`是一个大小为 200（我们的批次大小）乘以 50（我们的隐藏大小）的矩阵。\n\n然而，我们的模型初始化方式存在问题。要理解这一点，我们需要查看`l1`的均值和标准差（std）：\n\n```py\nl1.mean(), l1.std()\n```\n\n```py\n(tensor(0.0019), tensor(10.1058))\n```\n\n均值接近零，这是可以理解的，因为我们的输入和权重矩阵的均值都接近零。但标准差，表示我们的激活离均值有多远，从 1 变为 10。这是一个真正的大问题，因为这只是一个层。现代神经网络可以有数百层，因此如果每一层将我们的激活的规模乘以 10，到了最后一层，我们将无法用计算机表示数字。\n\n实际上，如果我们在`x`和大小为 100×100 的随机矩阵之间进行 50 次乘法运算，我们将得到这个结果：\n\n```py\nx = torch.randn(200, 100)\nfor i in range(50): x = x @ torch.randn(100,100)\nx[0:5,0:5]\n```\n\n```py\ntensor([[nan, nan, nan, nan, nan],\n        [nan, nan, nan, nan, nan],\n        [nan, nan, nan, nan, nan],\n        [nan, nan, nan, nan, nan],\n        [nan, nan, nan, nan, nan]])\n```\n\n结果是到处都是`nan`。也许我们的矩阵的规模太大了，我们需要更小的权重？但如果我们使用太小的权重，我们将遇到相反的问题-我们的激活的规模将从 1 变为 0.1，在 100 层之后，我们将到处都是零：\n\n```py\nx = torch.randn(200, 100)\nfor i in range(50): x = x @ (torch.randn(100,100) * 0.01)\nx[0:5,0:5]\n```\n\n```py\ntensor([[0., 0., 0., 0., 0.],\n        [0., 0., 0., 0., 0.],\n        [0., 0., 0., 0., 0.],\n        [0., 0., 0., 0., 0.],\n        [0., 0., 0., 0., 0.]])\n```\n\n因此，我们必须精确地缩放我们的权重矩阵，以使我们的激活的标准差保持在 1。我们可以通过数学计算出要使用的确切值，正如 Xavier Glorot 和 Yoshua Bengio 在[“理解训练深度前馈神经网络的困难”](https://oreil.ly/9tiTC)中所示。给定层的正确比例是<math alttext=\"1 slash StartRoot n Subscript i n Baseline EndRoot\"><mrow><mn>1</mn> <mo>/</mo> <msqrt><msub><mi>n</mi> <mrow><mi>i</mi><mi>n</mi></mrow></msub></msqrt></mrow></math>，其中<math alttext=\"n Subscript i n\"><msub><mi>n</mi> <mrow><mi>i</mi><mi>n</mi></mrow></msub></math>代表输入的数量。\n\n在我们的情况下，如果有 100 个输入，我们应该将我们的权重矩阵缩放为 0.1：\n\n```py\nx = torch.randn(200, 100)\nfor i in range(50): x = x @ (torch.randn(100,100) * 0.1)\nx[0:5,0:5]\n```\n\n```py\ntensor([[ 0.7554,  0.6167, -0.1757, -1.5662,  0.5644],\n        [-0.1987,  0.6292,  0.3283, -1.1538,  0.5416],\n        [ 0.6106,  0.2556, -0.0618, -0.9463,  0.4445],\n        [ 0.4484,  0.7144,  0.1164, -0.8626,  0.4413],\n        [ 0.3463,  0.5930,  0.3375, -0.9486,  0.5643]])\n```\n\n终于，一些既不是零也不是`nan`的数字！请注意，即使经过了那 50 个虚假层，我们的激活的规模仍然是稳定的：\n\n```py\nx.std()\n```\n\n```py\ntensor(0.7042)\n```\n\n如果你稍微调整一下 scale 的值，你会注意到即使从 0.1 稍微偏离，你会得到非常小或非常大的数字，因此正确初始化权重非常重要。\n\n让我们回到我们的神经网络。由于我们稍微改变了我们的输入，我们需要重新定义它们：\n\n```py\nx = torch.randn(200, 100)\ny = torch.randn(200)\n```\n\n对于我们的权重，我们将使用正确的 scale，这被称为*Xavier 初始化*（或*Glorot 初始化*）：\n\n```py\nfrom math import sqrt\nw1 = torch.randn(100,50) / sqrt(100)\nb1 = torch.zeros(50)\nw2 = torch.randn(50,1) / sqrt(50)\nb2 = torch.zeros(1)\n```\n\n现在如果我们计算第一层的结果，我们可以检查均值和标准差是否受控制：\n\n```py\nl1 = lin(x, w1, b1)\nl1.mean(),l1.std()\n```\n\n```py\n(tensor(-0.0050), tensor(1.0000))\n```\n\n非常好。现在我们需要经过一个 ReLU，所以让我们定义一个。ReLU 去除负数并用零替换它们，这另一种说法是它将我们的张量夹在零处：\n\n```py\ndef relu(x): return x.clamp_min(0.)\n```\n\n我们通过这个激活：\n\n```py\nl2 = relu(l1)\nl2.mean(),l2.std()\n```\n\n```py\n(tensor(0.3961), tensor(0.5783))\n```\n\n现在我们回到原点：我们的激活均值变为 0.4（这是可以理解的，因为我们去除了负数），标准差下降到 0.58。所以像以前一样，经过几层后我们可能最终会得到零：\n\n```py\nx = torch.randn(200, 100)\nfor i in range(50): x = relu(x @ (torch.randn(100,100) * 0.1))\nx[0:5,0:5]\n```\n\n```py\ntensor([[0.0000e+00, 1.9689e-08, 4.2820e-08, 0.0000e+00, 0.0000e+00],\n        [0.0000e+00, 1.6701e-08, 4.3501e-08, 0.0000e+00, 0.0000e+00],\n        [0.0000e+00, 1.0976e-08, 3.0411e-08, 0.0000e+00, 0.0000e+00],\n        [0.0000e+00, 1.8457e-08, 4.9469e-08, 0.0000e+00, 0.0000e+00],\n        [0.0000e+00, 1.9949e-08, 4.1643e-08, 0.0000e+00, 0.0000e+00]])\n```\n\n这意味着我们的初始化不正确。为什么？在 Glorot 和 Bengio 撰写他们的文章时，神经网络中最流行的激活函数是双曲正切（tanh，他们使用的那个），而该初始化并没有考虑到我们的 ReLU。幸运的是，有人已经为我们计算出了正确的 scale 供我们使用。在[“深入研究整流器：超越人类水平的性能”](https://oreil.ly/-_quA)（我们之前见过的文章，介绍了 ResNet），Kaiming He 等人表明我们应该使用以下 scale 代替：<math alttext=\"StartRoot 2 slash n Subscript i n Baseline EndRoot\"><msqrt><mrow><mn>2</mn> <mo>/</mo> <msub><mi>n</mi> <mrow><mi>i</mi><mi>n</mi></mrow></msub></mrow></msqrt></math>，其中<math alttext=\"n Subscript i n\"><msub><mi>n</mi> <mrow><mi>i</mi><mi>n</mi></mrow></msub></math>是我们模型的输入数量。让我们看看这给我们带来了什么：\n\n```py\nx = torch.randn(200, 100)\nfor i in range(50): x = relu(x @ (torch.randn(100,100) * sqrt(2/100)))\nx[0:5,0:5]\n```\n\n```py\ntensor([[0.2871, 0.0000, 0.0000, 0.0000, 0.0026],\n        [0.4546, 0.0000, 0.0000, 0.0000, 0.0015],\n        [0.6178, 0.0000, 0.0000, 0.0180, 0.0079],\n        [0.3333, 0.0000, 0.0000, 0.0545, 0.0000],\n        [0.1940, 0.0000, 0.0000, 0.0000, 0.0096]])\n```\n\n好了：这次我们的数字不全为零。所以让我们回到我们神经网络的定义，并使用这个初始化（被称为*Kaiming 初始化*或*He 初始化*）：\n\n```py\nx = torch.randn(200, 100)\ny = torch.randn(200)\n```\n\n```py\nw1 = torch.randn(100,50) * sqrt(2 / 100)\nb1 = torch.zeros(50)\nw2 = torch.randn(50,1) * sqrt(2 / 50)\nb2 = torch.zeros(1)\n```\n\n让我们看看通过第一个线性层和 ReLU 后激活的规模：\n\n```py\nl1 = lin(x, w1, b1)\nl2 = relu(l1)\nl2.mean(), l2.std()\n```\n\n```py\n(tensor(0.5661), tensor(0.8339))\n```\n\n好多了！现在我们的权重已经正确初始化，我们可以定义我们的整个模型：\n\n```py\ndef model(x):\n    l1 = lin(x, w1, b1)\n    l2 = relu(l1)\n    l3 = lin(l2, w2, b2)\n    return l3\n```\n\n这是前向传播。现在剩下的就是将我们的输出与我们拥有的标签（在这个例子中是随机数）进行比较，使用损失函数。在这种情况下，我们将使用均方误差。（这是一个玩具问题，这是下一步计算梯度所使用的最简单的损失函数。）\n\n唯一的微妙之处在于我们的输出和目标形状并不完全相同——经过模型后，我们得到这样的输出：\n\n```py\nout = model(x)\nout.shape\n```\n\n```py\ntorch.Size([200, 1])\n```\n\n为了去掉这个多余的 1 维，我们使用`squeeze`函数：\n\n```py\ndef mse(output, targ): return (output.squeeze(-1) - targ).pow(2).mean()\n```\n\n现在我们准备计算我们的损失：\n\n```py\nloss = mse(out, y)\n```\n\n前向传播到此结束，现在让我们看一下梯度。\n\n## 梯度和反向传播\n\n我们已经看到 PyTorch 通过一个神奇的调用`loss.backward`计算出我们需要的所有梯度，但让我们探究一下背后发生了什么。\n\n现在我们需要计算损失相对于模型中所有权重的梯度，即`w1`、`b1`、`w2`和`b2`中的所有浮点数。为此，我们需要一点数学，具体来说是*链式法则*。这是指导我们如何计算复合函数导数的微积分规则：\n\n<math alttext=\"left-parenthesis g ring f right-parenthesis prime left-parenthesis x right-parenthesis equals g prime left-parenthesis f left-parenthesis x right-parenthesis right-parenthesis f prime left-parenthesis x right-parenthesis\" display=\"block\"><mrow><msup><mrow><mo>(</mo><mi>g</mi><mo>∘</mo><mi>f</mi><mo>)</mo></mrow> <mo>'</mo></msup> <mrow><mo>(</mo> <mi>x</mi> <mo>)</mo></mrow> <mo>=</mo> <msup><mi>g</mi> <mo>'</mo></msup> <mrow><mo>(</mo> <mi>f</mi> <mrow><mo>(</mo> <mi>x</mi> <mo>)</mo></mrow> <mo>)</mo></mrow> <msup><mi>f</mi> <mo>'</mo></msup> <mrow><mo>(</mo> <mi>x</mi> <mo>)</mo></mrow></mrow></math>\n\n# Jeremy 说\n\n我发现这种符号很难理解，所以我喜欢这样想：如果 `y = g(u)` 和 `u=f(x)`，那么 `dy/dx = dy/du * du/dx`。这两种符号意思相同，所以使用任何一种都可以。\n\n我们的损失是不同函数的大组合：均方误差（实际上是均值和平方的组合），第二个线性层，一个 ReLU，和第一个线性层。例如，如果我们想要损失相对于 `b2` 的梯度，而我们的损失由以下定义：\n\n```py\nloss = mse(out,y) = mse(lin(l2, w2, b2), y)\n```\n\n链式法则告诉我们我们有这个：\n\n<math alttext=\"StartFraction d l o s s Over d b 2 EndFraction equals StartFraction d l o s s Over d o u t EndFraction times StartFraction d o u t Over d b 2 EndFraction equals StartFraction d Over d o u t EndFraction m s e left-parenthesis o u t comma y right-parenthesis times StartFraction d Over d b 2 EndFraction l i n left-parenthesis l 2 comma w 2 comma b 2 right-parenthesis\" display=\"block\"><mrow><mfrac><mrow><mtext>d</mtext><mi>l</mi><mi>o</mi><mi>s</mi><mi>s</mi></mrow> <mrow><mtext>d</mtext><msub><mi>b</mi> <mn>2</mn></msub></mrow></mfrac> <mo>=</mo> <mfrac><mrow><mtext>d</mtext><mi>l</mi><mi>o</mi><mi>s</mi><mi>s</mi></mrow> <mrow><mtext>d</mtext><mi>o</mi><mi>u</mi><mi>t</mi></mrow></mfrac> <mo>×</mo> <mfrac><mrow><mtext>d</mtext><mi>o</mi><mi>u</mi><mi>t</mi></mrow> <mrow><mtext>d</mtext><msub><mi>b</mi> <mn>2</mn></msub></mrow></mfrac> <mo>=</mo> <mfrac><mtext>d</mtext> <mrow><mtext>d</mtext><mi>o</mi><mi>u</mi><mi>t</mi></mrow></mfrac> <mi>m</mi> <mi>s</mi> <mi>e</mi> <mrow><mo>(</mo> <mi>o</mi> <mi>u</mi> <mi>t</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo></mrow> <mo>×</mo> <mfrac><mtext>d</mtext> <mrow><mtext>d</mtext><msub><mi>b</mi> <mn>2</mn></msub></mrow></mfrac> <mi>l</mi> <mi>i</mi> <mi>n</mi> <mrow><mo>(</mo> <msub><mi>l</mi> <mn>2</mn></msub> <mo>,</mo> <msub><mi>w</mi> <mn>2</mn></msub> <mo>,</mo> <msub><mi>b</mi> <mn>2</mn></msub> <mo>)</mo></mrow></mrow></math>\n\n要计算损失相对于 <math alttext=\"b 2\"><msub><mi>b</mi> <mn>2</mn></msub></math> 的梯度，我们首先需要损失相对于我们的输出 <math alttext=\"o u t\"><mrow><mi>o</mi> <mi>u</mi> <mi>t</mi></mrow></math> 的梯度。如果我们想要损失相对于 <math alttext=\"w 2\"><msub><mi>w</mi> <mn>2</mn></msub></math> 的梯度也是一样的。然后，要得到损失相对于 <math alttext=\"b 1\"><msub><mi>b</mi> <mn>1</mn></msub></math> 或 <math alttext=\"w 1\"><msub><mi>w</mi> <mn>1</mn></msub></math> 的梯度，我们将需要损失相对于 <math alttext=\"l 1\"><msub><mi>l</mi> <mn>1</mn></msub></math> 的梯度，这又需要损失相对于 <math alttext=\"l 2\"><msub><mi>l</mi> <mn>2</mn></msub></math> 的梯度，这将需要损失相对于 <math alttext=\"o u t\"><mrow><mi>o</mi> <mi>u</mi> <mi>t</mi></mrow></math> 的梯度。\n\n因此，为了计算更新所需的所有梯度，我们需要从模型的输出开始，逐层向后工作，一层接一层地——这就是为什么这一步被称为*反向传播*。我们可以通过让我们实现的每个函数（`relu`、`mse`、`lin`）提供其反向步骤来自动化它：也就是说，如何从损失相对于输出的梯度推导出损失相对于输入的梯度。\n\n在这里，我们将这些梯度填充到每个张量的属性中，有点像 PyTorch 在`.grad`中所做的那样。\n\n首先是我们模型输出（损失函数的输入）相对于损失的梯度。我们撤消了`mse`中的`squeeze`，然后我们使用给出<math alttext=\"x squared\"><msup><mi>x</mi> <mn>2</mn></msup></math>的导数的公式：<math alttext=\"2 x\"><mrow><mn>2</mn> <mi>x</mi></mrow></math>。均值的导数只是 1/*n*，其中*n*是我们输入中的元素数：\n\n```py\ndef mse_grad(inp, targ):\n    # grad of loss with respect to output of previous layer\n    inp.g = 2. * (inp.squeeze() - targ).unsqueeze(-1) / inp.shape[0]\n```\n\n对于 ReLU 和我们的线性层的梯度，我们使用相对于输出的损失的梯度（在`out.g`中）并应用链式法则来计算相对于输出的损失的梯度（在`inp.g`中）。链式法则告诉我们`inp.g = relu'(inp) * out.g`。`relu`的导数要么是 0（当输入为负数时），要么是 1（当输入为正数时），因此这给出了以下结果：\n\n```py\ndef relu_grad(inp, out):\n    # grad of relu with respect to input activations\n    inp.g = (inp>0).float() * out.g\n```\n\n计算损失相对于线性层中的输入、权重和偏差的梯度的方案是相同的：\n\n```py\ndef lin_grad(inp, out, w, b):\n    # grad of matmul with respect to input\n    inp.g = out.g @ w.t()\n    w.g = inp.t() @ out.g\n    b.g = out.g.sum(0)\n```\n\n我们不会深入讨论定义它们的数学公式，因为对我们的目的来说它们不重要，但如果你对这个主题感兴趣，可以查看可汗学院出色的微积分课程。\n\n一旦我们定义了这些函数，我们就可以使用它们来编写后向传递。由于每个梯度都会自动填充到正确的张量中，我们不需要将这些`_grad`函数的结果存储在任何地方——我们只需要按照前向传递的相反顺序执行它们，以确保在每个函数中`out.g`存在：\n\n```py\ndef forward_and_backward(inp, targ):\n    # forward pass:\n    l1 = inp @ w1 + b1\n    l2 = relu(l1)\n    out = l2 @ w2 + b2\n    # we don't actually need the loss in backward!\n    loss = mse(out, targ)\n\n    # backward pass:\n    mse_grad(out, targ)\n    lin_grad(l2, out, w2, b2)\n    relu_grad(l1, l2)\n    lin_grad(inp, l1, w1, b1)\n```\n\n现在我们可以在`w1.g`、`b1.g`、`w2.g`和`b2.g`中访问我们模型参数的梯度。我们已经成功定义了我们的模型——现在让我们让它更像一个 PyTorch 模块。\n\n## 重构模型\n\n我们使用的三个函数有两个相关的函数：一个前向传递和一个后向传递。我们可以创建一个类将它们包装在一起，而不是分开编写它们。该类还可以存储后向传递的输入和输出。这样，我们只需要调用`backward`：\n\n```py\nclass Relu():\n    def __call__(self, inp):\n        self.inp = inp\n        self.out = inp.clamp_min(0.)\n        return self.out\n\n    def backward(self): self.inp.g = (self.inp>0).float() * self.out.g\n```\n\n`__call__`是 Python 中的一个魔术名称，它将使我们的类可调用。当我们键入`y = Relu()(x)`时，将执行这个操作。我们也可以对我们的线性层和 MSE 损失做同样的操作：\n\n```py\nclass Lin():\n    def __init__(self, w, b): self.w,self.b = w,b\n\n    def __call__(self, inp):\n        self.inp = inp\n        self.out = inp@self.w + self.b\n        return self.out\n\n    def backward(self):\n        self.inp.g = self.out.g @ self.w.t()\n        self.w.g = self.inp.t() @ self.out.g\n        self.b.g = self.out.g.sum(0)\n```\n\n```py\nclass Mse():\n    def __call__(self, inp, targ):\n        self.inp = inp\n        self.targ = targ\n        self.out = (inp.squeeze() - targ).pow(2).mean()\n        return self.out\n\n    def backward(self):\n        x = (self.inp.squeeze()-self.targ).unsqueeze(-1)\n        self.inp.g = 2.*x/self.targ.shape[0]\n```\n\n然后我们可以把一切都放在一个模型中，我们用我们的张量`w1`、`b1`、`w2`和`b2`来初始化：\n\n```py\nclass Model():\n    def __init__(self, w1, b1, w2, b2):\n        self.layers = [Lin(w1,b1), Relu(), Lin(w2,b2)]\n        self.loss = Mse()\n\n    def __call__(self, x, targ):\n        for l in self.layers: x = l(x)\n        return self.loss(x, targ)\n\n    def backward(self):\n        self.loss.backward()\n        for l in reversed(self.layers): l.backward()\n```\n\n这种重构和将事物注册为模型的层的好处是，前向和后向传递现在非常容易编写。如果我们想要实例化我们的模型，我们只需要写这个：\n\n```py\nmodel = Model(w1, b1, w2, b2)\n```\n\n然后前向传递可以这样执行：\n\n```py\nloss = model(x, y)\n```\n\n然后使用这个进行后向传递：\n\n```py\nmodel.backward()\n```\n\n## 转向 PyTorch\n\n我们编写的`Lin`、`Mse`和`Relu`类有很多共同之处，所以我们可以让它们都继承自同一个基类：\n\n```py\nclass LayerFunction():\n    def __call__(self, *args):\n        self.args = args\n        self.out = self.forward(*args)\n        return self.out\n\n    def forward(self):  raise Exception('not implemented')\n    def bwd(self):      raise Exception('not implemented')\n    def backward(self): self.bwd(self.out, *self.args)\n```\n\n然后我们只需要在每个子类中实现`forward`和`bwd`：\n\n```py\nclass Relu(LayerFunction):\n    def forward(self, inp): return inp.clamp_min(0.)\n    def bwd(self, out, inp): inp.g = (inp>0).float() * out.g\n```\n\n```py\nclass Lin(LayerFunction):\n    def __init__(self, w, b): self.w,self.b = w,b\n\n    def forward(self, inp): return inp@self.w + self.b\n\n    def bwd(self, out, inp):\n        inp.g = out.g @ self.w.t()\n        self.w.g = self.inp.t() @ self.out.g\n        self.b.g = out.g.sum(0)\n```\n\n```py\nclass Mse(LayerFunction):\n    def forward (self, inp, targ): return (inp.squeeze() - targ).pow(2).mean()\n    def bwd(self, out, inp, targ):\n        inp.g = 2*(inp.squeeze()-targ).unsqueeze(-1) / targ.shape[0]\n```\n\n我们模型的其余部分可以与以前相同。这越来越接近 PyTorch 的做法。我们需要区分的每个基本函数都被写成一个`torch.autograd.Function`对象，它有一个`forward`和一个`backward`方法。PyTorch 将跟踪我们进行的任何计算，以便能够正确运行反向传播，除非我们将张量的`requires_grad`属性设置为`False`。\n\n编写其中一个（几乎）和编写我们原始类一样容易。不同之处在于我们选择保存什么并将其放入上下文变量中（以确保我们不保存不需要的任何内容），并在`backward`传递中返回梯度。很少需要编写自己的`Function`，但如果您需要某些奇特的东西或想要干扰常规函数的梯度，这里是如何编写的：\n\n```py\nfrom torch.autograd import Function\n\nclass MyRelu(Function):\n    @staticmethod\n    def forward(ctx, i):\n        result = i.clamp_min(0.)\n        ctx.save_for_backward(i)\n        return result\n\n    @staticmethod\n    def backward(ctx, grad_output):\n        i, = ctx.saved_tensors\n        return grad_output * (i>0).float()\n```\n\n用于构建利用这些`Function`的更复杂模型的结构是`torch.nn.Module`。这是所有模型的基本结构，到目前为止您看到的所有神经网络都是从该类中继承的。它主要有助于注册所有可训练的参数，正如我们已经看到的可以在训练循环中使用的那样。\n\n要实现一个`nn.Module`，你只需要做以下几步：\n\n1.  确保在初始化时首先调用超类`__init__`。\n\n1.  将模型的任何参数定义为具有`nn.Parameter`属性。\n\n1.  定义一个`forward`函数，返回模型的输出。\n\n这里是一个从头开始的线性层的例子：\n\n```py\nimport torch.nn as nn\n\nclass LinearLayer(nn.Module):\n    def __init__(self, n_in, n_out):\n        super().__init__()\n        self.weight = nn.Parameter(torch.randn(n_out, n_in) * sqrt(2/n_in))\n        self.bias = nn.Parameter(torch.zeros(n_out))\n\n    def forward(self, x): return x @ self.weight.t() + self.bias\n```\n\n正如您所看到的，这个类会自动跟踪已定义的参数：\n\n```py\nlin = LinearLayer(10,2)\np1,p2 = lin.parameters()\np1.shape,p2.shape\n```\n\n```py\n(torch.Size([2, 10]), torch.Size([2]))\n```\n\n正是由于`nn.Module`的这个特性，我们可以只说`opt.step`，并让优化器循环遍历参数并更新每个参数。\n\n请注意，在 PyTorch 中，权重存储为一个`n_out x n_in`矩阵，这就是为什么在前向传递中我们有转置的原因。\n\n通过使用 PyTorch 中的线性层（也使用 Kaiming 初始化），我们在本章中一直在构建的模型可以这样编写：\n\n```py\nclass Model(nn.Module):\n    def __init__(self, n_in, nh, n_out):\n        super().__init__()\n        self.layers = nn.Sequential(\n            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\n        self.loss = mse\n\n    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\n```\n\nfastai 提供了自己的`Module`变体，与`nn.Module`相同，但不需要您调用`super().__init__()`（它会自动为您执行）：\n\n```py\nclass Model(Module):\n    def __init__(self, n_in, nh, n_out):\n        self.layers = nn.Sequential(\n            nn.Linear(n_in,nh), nn.ReLU(), nn.Linear(nh,n_out))\n        self.loss = mse\n\n    def forward(self, x, targ): return self.loss(self.layers(x).squeeze(), targ)\n```\n\n在第十九章中，我们将从这样一个模型开始，看看如何从头开始构建一个训练循环，并将其重构为我们在之前章节中使用的内容。\n\n# 结论\n\n在本章中，我们探讨了深度学习的基础，从矩阵乘法开始，然后实现了神经网络的前向和反向传递。然后我们重构了我们的代码，展示了 PyTorch 在底层的工作原理。\n\n以下是一些需要记住的事项：\n\n+   神经网络基本上是一堆矩阵乘法，中间夹杂着非线性。\n\n+   Python 很慢，所以为了编写快速代码，我们必须对其进行向量化，并利用诸如逐元素算术和广播等技术。\n\n+   如果从末尾开始向后匹配的维度相同（如果它们相同，或者其中一个是 1），则两个张量是可广播的。为了使张量可广播，我们可能需要使用`unsqueeze`或`None`索引添加大小为 1 的维度。\n\n+   正确初始化神经网络对于开始训练至关重要。当我们有 ReLU 非线性时，应使用 Kaiming 初始化。\n\n+   反向传递是应用链式法则多次计算，从我们模型的输出开始，逐层向后计算梯度。\n\n+   在子类化`nn.Module`时（如果不使用 fastai 的`Module`），我们必须在我们的`__init__`方法中调用超类`__init__`方法，并且我们必须定义一个接受输入并返回所需结果的`forward`函数。\n\n# 问卷\n\n1.  编写 Python 代码来实现一个单个神经元。\n\n1.  编写实现 ReLU 的 Python 代码。\n\n1.  用矩阵乘法的术语编写一个密集层的 Python 代码。\n\n1.  用纯 Python 编写一个密集层的 Python 代码（即使用列表推导和内置到 Python 中的功能）。\n\n1.  一个层的“隐藏大小”是什么？\n\n1.  在 PyTorch 中，`t`方法是做什么的？\n\n1.  为什么在纯 Python 中编写矩阵乘法非常慢？\n\n1.  在`matmul`中，为什么`ac==br`？\n\n1.  在 Jupyter Notebook 中，如何测量执行单个单元格所需的时间？\n\n1.  什么是逐元素算术？\n\n1.  编写 PyTorch 代码来测试 `a` 的每个元素是否大于 `b` 的对应元素。\n\n1.  什么是秩为 0 的张量？如何将其转换为普通的 Python 数据类型？\n\n1.  这返回什么，为什么？\n\n    ```py\n    tensor([1,2]) + tensor([1])\n    ```\n\n1.  这返回什么，为什么？\n\n    ```py\n    tensor([1,2]) + tensor([1,2,3])\n    ```\n\n1.  逐元素算术如何帮助我们加速 `matmul`？\n\n1.  广播规则是什么？\n\n1.  `expand_as` 是什么？展示一个如何使用它来匹配广播结果的示例。\n\n1.  `unsqueeze` 如何帮助我们解决某些广播问题？\n\n1.  我们如何使用索引来执行与 `unsqueeze` 相同的操作？\n\n1.  我们如何显示张量使用的内存的实际内容？\n\n1.  将大小为 3 的向量添加到大小为 3×3 的矩阵时，向量的元素是添加到矩阵的每一行还是每一列？（确保通过在笔记本中运行此代码来检查您的答案。）\n\n1.  广播和 `expand_as` 会导致内存使用增加吗？为什么或为什么不？\n\n1.  使用爱因斯坦求和实现 `matmul`。\n\n1.  在 `einsum` 的左侧重复索引字母代表什么？\n\n1.  爱因斯坦求和符号的三条规则是什么？为什么？\n\n1.  神经网络的前向传播和反向传播是什么？\n\n1.  为什么我们需要在前向传播中存储一些计算出的中间层的激活？\n\n1.  具有标准差远离 1 的激活的缺点是什么？\n\n1.  权重初始化如何帮助避免这个问题？\n\n1.  初始化权重的公式是什么，以便在普通线性层和 ReLU 后跟线性层中获得标准差为 1？\n\n1.  为什么有时我们必须在损失函数中使用 `squeeze` 方法？\n\n1.  `squeeze` 方法的参数是做什么的？为什么可能很重要包含这个参数，尽管 PyTorch 不需要它？\n\n1.  链式法则是什么？展示本章中提出的两种形式中的任意一种方程。\n\n1.  展示如何使用链式法则计算 `mse(lin(l2, w2, b2), y)` 的梯度。\n\n1.  ReLU 的梯度是什么？用数学或代码展示它。（您不应该需要记住这个—尝试使用您对函数形状的知识来弄清楚它。）\n\n1.  在反向传播中，我们需要以什么顺序调用 `*_grad` 函数？为什么？\n\n1.  `__call__` 是什么？\n\n1.  编写 `torch.autograd.Function` 时我们必须实现哪些方法？\n\n1.  从头开始编写 `nn.Linear` 并测试其是否有效。\n\n1.  `nn.Module` 和 fastai 的 `Module` 之间有什么区别？\n\n## 进一步研究\n\n1.  将 ReLU 实现为 `torch.autograd.Function` 并用它训练模型。\n\n1.  如果您对数学感兴趣，请确定数学符号中线性层的梯度。将其映射到本章中的实现。\n\n1.  了解 PyTorch 中的 `unfold` 方法，并结合矩阵乘法实现自己的二维卷积函数。然后训练一个使用它的 CNN。\n\n1.  使用 NumPy 而不是 PyTorch 在本章中实现所有内容。\n"
  },
  {
    "path": "translations/cn/18_CAM.md",
    "content": "# 第十八章：使用 CAM 解释 CNN\n\n\n\n现在我们知道如何从头开始构建几乎任何东西，让我们利用这些知识来创建全新（并非常有用！）的功能：*类激活图*。它让我们对 CNN 为何做出预测有一些见解。\n\n在这个过程中，我们将学习到 PyTorch 中一个我们之前没有见过的方便功能，*hook*，并且我们将应用本书中介绍的许多概念。如果你想真正测试你对本书材料的理解，完成本章后，尝试将其放在一边，从头开始重新创建这里的想法（不要偷看！）。\n\n# CAM 和 Hooks\n\n*类激活图*（CAM）是由周博磊等人在[“学习用于区分定位的深度特征”](https://oreil.ly/5hik3)中引入的。它使用最后一个卷积层的输出（就在平均池化层之前）以及预测结果，为我们提供一个热图可视化，解释模型为何做出决定。这是一个有用的解释工具。\n\n更准确地说，在我们最终卷积层的每个位置，我们有与最后一个线性层中一样多的滤波器。因此，我们可以计算这些激活与最终权重的点积，以便为我们特征图上的每个位置得到用于做出决定的特征的分数。\n\n在训练模型时，我们需要一种方法来访问模型内部的激活。在 PyTorch 中，可以通过 *hook* 来实现。Hook 是 PyTorch 的等价于 fastai 的回调。然而，与允许您像 fastai 的 `Learner` 回调一样将代码注入训练循环不同，hook 允许您将代码注入前向和反向计算本身。我们可以将 hook 附加到模型的任何层，并且在计算输出（前向 hook）或反向传播（后向 hook）时执行。前向 hook 是一个接受三个参数的函数——一个模块，它的输入和输出——它可以执行任何您想要的行为。（fastai 还提供了一个方便的 `HookCallback`，我们这里不涉及，但看看 fastai 文档；它使使用 hook 更容易一些。）\n\n为了说明，我们将使用我们在第一章中训练的相同的猫狗模型：\n\n```py\npath = untar_data(URLs.PETS)/'images'\ndef is_cat(x): return x[0].isupper()\ndls = ImageDataLoaders.from_name_func(\n    path, get_image_files(path), valid_pct=0.2, seed=21,\n    label_func=is_cat, item_tfms=Resize(224))\nlearn = cnn_learner(dls, resnet34, metrics=error_rate)\nlearn.fine_tune(1)\n```\n\n| 轮次 | 训练损失 | 验证损失 | 错误率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 0.141987 | 0.018823 | 0.007442 | 00:16 |\n| 轮次 | 训练损失 | 验证损失 | 错误率 | 时间 |\n| --- | --- | --- | --- | --- |\n| 0 | 0.050934 | 0.015366 | 0.006766 | 00:21 |\n\n首先，我们将获取一张猫的图片和一批数据：\n\n```py\nimg = PILImage.create('images/chapter1_cat_example.jpg')\nx, = first(dls.test_dl([img]))\n```\n\n对于 CAM，我们想要存储最后一个卷积层的激活。我们将我们的 hook 函数放在一个类中，这样它就有一个我们稍后可以访问的状态，并且只存储输出的副本：\n\n```py\nclass Hook():\n    def hook_func(self, m, i, o): self.stored = o.detach().clone()\n```\n\n然后我们可以实例化一个 `Hook` 并将其附加到我们想要的层，即 CNN 主体的最后一层：\n\n```py\nhook_output = Hook()\nhook = learn.model[0].register_forward_hook(hook_output.hook_func)\n```\n\n现在我们可以获取一个批次并将其通过我们的模型：\n\n```py\nwith torch.no_grad(): output = learn.model.eval()(x)\n```\n\n我们可以访问我们存储的激活：\n\n```py\nact = hook_output.stored[0]\n```\n\n让我们再次双重检查我们的预测：\n\n```py\nF.softmax(output, dim=-1)\n```\n\n```py\ntensor([[7.3566e-07, 1.0000e+00]], device='cuda:0')\n```\n\n我们知道 `0`（对于 `False`）是“狗”，因为在 fastai 中类别会自动排序，但我们仍然可以通过查看 `dls.vocab` 来进行双重检查：\n\n```py\ndls.vocab\n```\n\n```py\n(#2) [False,True]\n```\n\n所以，我们的模型非常确信这是一张猫的图片。\n\n为了对我们的权重矩阵（2 乘以激活数量）与激活（批次大小乘以激活乘以行乘以列）进行点积，我们使用自定义的 `einsum`：\n\n```py\nx.shape\n```\n\n```py\ntorch.Size([1, 3, 224, 224])\n```\n\n```py\ncam_map = torch.einsum('ck,kij->cij', learn.model[1][-1].weight, act)\ncam_map.shape\n```\n\n```py\ntorch.Size([2, 7, 7])\n```\n\n对于我们批次中的每个图像，对于每个类别，我们得到一个 7×7 的特征图，告诉我们激活较高和较低的位置。这将让我们看到哪些图片区域影响了模型的决策。\n\n例如，我们可以找出哪些区域使模型决定这个动物是一只猫（请注意，由于`DataLoader`对输入`x`进行了归一化，我们需要`decode`，并且由于在撰写本书时，PyTorch 在索引时不保留类型，我们需要转换为`TensorImage`——这可能在您阅读本文时已经修复）：\n\n```py\nx_dec = TensorImage(dls.train.decode((x,))[0][0])\n_,ax = plt.subplots()\nx_dec.show(ctx=ax)\nax.imshow(cam_map[1].detach().cpu(), alpha=0.6, extent=(0,224,224,0),\n              interpolation='bilinear', cmap='magma');\n```\n\n![](img/dlcf_18in01.png)\n\n在这种情况下，明亮黄色的区域对应于高激活，紫色区域对应于低激活。在这种情况下，我们可以看到头部和前爪是使模型决定这是一张猫的图片的两个主要区域。\n\n完成钩子后，应该将其删除，否则可能会泄漏一些内存：\n\n```py\nhook.remove()\n```\n\n这就是为什么将`Hook`类作为*上下文管理器*通常是一个好主意，当您进入时注册钩子，当您退出时删除它。上下文管理器是一个 Python 构造，在`with`子句中创建对象时调用`__enter__`，在`with`子句结束时调用`__exit__`。例如，这就是 Python 处理`with open(...) as f:`构造的方式，您经常会看到用于打开文件而不需要在最后显式调用`close(f)`。\n\n如果我们将`Hook`定义如下\n\n```py\nclass Hook():\n    def __init__(self, m):\n        self.hook = m.register_forward_hook(self.hook_func)\n    def hook_func(self, m, i, o): self.stored = o.detach().clone()\n    def __enter__(self, *args): return self\n    def __exit__(self, *args): self.hook.remove()\n```\n\n我们可以安全地这样使用它：\n\n```py\nwith Hook(learn.model[0]) as hook:\n    with torch.no_grad(): output = learn.model.eval()(x.cuda())\n    act = hook.stored\n```\n\nfastai 为您提供了这个`Hook`类，以及一些其他方便的类，使使用钩子更容易。\n\n这种方法很有用，但仅适用于最后一层。*梯度 CAM*是一个解决这个问题的变体。\n\n# 梯度 CAM\n\n我们刚刚看到的方法让我们只能计算最后激活的热图，因为一旦我们有了我们的特征，我们必须将它们乘以最后的权重矩阵。这对网络中的内部层不起作用。2016 年的一篇论文[“Grad-CAM: Why Did You Say That?”](https://oreil.ly/4krXE)由 Ramprasaath R. Selvaraju 等人介绍了一种变体，使用所需类的最终激活的梯度。如果您还记得一点关于反向传播的知识，最后一层输出的梯度与该层输入的梯度相对应，因为它是一个线性层。\n\n对于更深的层，我们仍然希望梯度，但它们不再等于权重。我们必须计算它们。PyTorch 在反向传播期间为我们计算每一层的梯度，但它们不会被存储（除了`requires_grad`为`True`的张量）。然而，我们可以在反向传播上注册一个钩子，PyTorch 将把梯度作为参数传递给它，因此我们可以在那里存储它们。为此，我们将使用一个`HookBwd`类，它的工作方式类似于`Hook`，但是拦截并存储梯度而不是激活：\n\n```py\nclass HookBwd():\n    def __init__(self, m):\n        self.hook = m.register_backward_hook(self.hook_func)\n    def hook_func(self, m, gi, go): self.stored = go[0].detach().clone()\n    def __enter__(self, *args): return self\n    def __exit__(self, *args): self.hook.remove()\n```\n\n然后对于类索引`1`（对于`True`，即“猫”），我们拦截最后一个卷积层的特征，如前所述，计算我们类的输出激活的梯度。我们不能简单地调用`output.backward`，因为梯度只对标量有意义（通常是我们的损失），而`output`是一个秩为 2 的张量。但是，如果我们选择单个图像（我们将使用`0`）和单个类（我们将使用`1`），我们*可以*计算我们喜欢的任何权重或激活的梯度，与该单个值相关，使用`output[0,cls].backward`。我们的钩子拦截了我们将用作权重的梯度：\n\n```py\ncls = 1\nwith HookBwd(learn.model[0]) as hookg:\n    with Hook(learn.model[0]) as hook:\n        output = learn.model.eval()(x.cuda())\n        act = hook.stored\n    output[0,cls].backward()\n    grad = hookg.stored\n```\n\nGrad-CAM 的权重由特征图上的梯度平均值给出。然后就像以前一样：\n\n```py\nw = grad[0].mean(dim=[1,2], keepdim=True)\ncam_map = (w * act[0]).sum(0)\n```\n\n```py\n_,ax = plt.subplots()\nx_dec.show(ctx=ax)\nax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\n              interpolation='bilinear', cmap='magma');\n```\n\n![](img/dlcf_18in02.png)\n\nGrad-CAM 的新颖之处在于我们可以在任何层上使用它。例如，在这里我们将其用于倒数第二个 ResNet 组的输出：\n\n```py\nwith HookBwd(learn.model[0][-2]) as hookg:\n    with Hook(learn.model[0][-2]) as hook:\n        output = learn.model.eval()(x.cuda())\n        act = hook.stored\n    output[0,cls].backward()\n    grad = hookg.stored\n```\n\n```py\nw = grad[0].mean(dim=[1,2], keepdim=True)\ncam_map = (w * act[0]).sum(0)\n```\n\n现在我们可以查看此层的激活图：\n\n```py\n_,ax = plt.subplots()\nx_dec.show(ctx=ax)\nax.imshow(cam_map.detach().cpu(), alpha=0.6, extent=(0,224,224,0),\n              interpolation='bilinear', cmap='magma');\n```\n\n![](img/dlcf_18in03.png)\n\n# 结论\n\n模型解释是一个活跃研究领域，我们只是在这一简短章节中探讨了可能性的一部分。类激活图让我们了解模型为什么预测了某个结果，它展示了图像中对于给定预测最负责的区域。这可以帮助我们分析假阳性，并找出在我们的训练中缺少了哪种数据以避免它们。\n\n# 问卷调查\n\n1.  PyTorch 中的 hook 是什么？\n\n1.  CAM 使用哪个层的输出？\n\n1.  为什么 CAM 需要一个 hook？\n\n1.  查看`ActivationStats`类的源代码，看看它如何使用 hooks。\n\n1.  编写一个 hook，用于存储模型中给定层的激活（如果可能的话，不要偷看）。\n\n1.  为什么我们在获取激活之前要调用`eval`？为什么我们要使用`no_grad`？\n\n1.  使用`torch.einsum`来计算模型主体最后激活的每个位置的“狗”或“猫”得分。\n\n1.  如何检查类别的顺序（即索引→类别的对应关系）？\n\n1.  为什么我们在显示输入图像时使用`decode`？\n\n1.  什么是上下文管理器？需要定义哪些特殊方法来创建一个？\n\n1.  为什么我们不能对网络的内部层使用普通的 CAM？\n\n1.  为了执行 Grad-CAM，为什么我们需要在反向传播中注册一个 hook？\n\n1.  当`output`是每个图像每个类别的输出激活的秩为 2 的张量时，为什么我们不能调用`output.backward`？\n\n## 进一步研究\n\n1.  尝试移除`keepdim`，看看会发生什么。查阅 PyTorch 文档中的这个参数。为什么我们在这个笔记本中需要它？\n\n1.  创建一个类似这个的笔记本，但用于 NLP，并用它来找出电影评论中哪些词对于评估特定电影评论的情感最重要。\n"
  },
  {
    "path": "translations/cn/19_learner.md",
    "content": "# 第十九章：从头开始创建一个 fastai 学习器\n\n\n\n这最后一章（除了结论和在线章节）将会有所不同。它包含的代码比以前的章节要多得多，而叙述要少得多。我们将介绍新的 Python 关键字和库，而不进行讨论。这一章的目的是为您开展一项重要的研究项目。您将看到，我们将从头开始实现 fastai 和 PyTorch API 的许多关键部分，仅建立在我们在第十七章中开发的组件上！这里的关键目标是最终拥有自己的`Learner`类和一些回调函数，足以训练一个模型在 Imagenette 上，包括我们学习的每个关键技术的示例。在构建`Learner`的过程中，我们将创建我们自己的`Module`、`Parameter`和并行`DataLoader`的版本，这样您就会对 PyTorch 类的功能有一个很好的了解。\n\n本章末尾的问卷调查对于本章非常重要。这是我们将指导您探索许多有趣方向的地方，使用本章作为起点。我们建议您在计算机上跟着本章进行学习，并进行大量的实验、网络搜索和其他必要的工作，以了解发生了什么。在本书的其余部分，您已经积累了足够的技能和专业知识来做到这一点，所以我们相信您会做得很好！\n\n让我们开始手动收集一些数据。\n\n# 数据\n\n查看`untar_data`的源代码，看看它是如何工作的。我们将在这里使用它来访问 Imagene 的 160 像素版本，以在本章中使用：\n\n```py\npath = untar_data(URLs.IMAGENETTE_160)\n```\n\n要访问图像文件，我们可以使用`get_image_files`：\n\n```py\nt = get_image_files(path)\nt[0]\n```\n\n```py\nPath('/home/jhoward/.fastai/data/imagenette2-160/val/n03417042/n03417042_3752.JP\n > EG')\n```\n\n或者我们可以使用 Python 的标准库`glob`来做同样的事情：\n\n```py\nfrom glob import glob\nfiles = L(glob(f'{path}/**/*.JPEG', recursive=True)).map(Path)\nfiles[0]\n```\n\n```py\nPath('/home/jhoward/.fastai/data/imagenette2-160/val/n03417042/n03417042_3752.JP\n > EG')\n```\n\n如果您查看`get_image_files`的源代码，您会发现它使用了 Python 的`os.walk`；这是一个比`glob`更快、更灵活的函数，所以一定要尝试一下。\n\n我们可以使用 Python Imaging Library 的`Image`类打开一张图片：\n\n```py\nim = Image.open(files[0])\nim\n```\n\n![](img/dlcf_19in01.png)\n\n```py\nim_t = tensor(im)\nim_t.shape\n```\n\n```py\ntorch.Size([160, 213, 3])\n```\n\n这将成为我们独立变量的基础。对于我们的因变量，我们可以使用`pathlib`中的`Path.parent`。首先，我们需要我们的词汇表\n\n```py\nlbls = files.map(Self.parent.name()).unique(); lbls\n```\n\n```py\n(#10) ['n03417042','n03445777','n03888257','n03394916','n02979186','n03000684','\n > n03425413','n01440764','n03028079','n02102040']\n```\n\n以及反向映射，感谢`L.val2idx`：\n\n```py\nv2i = lbls.val2idx(); v2i\n```\n\n```py\n{'n03417042': 0,\n 'n03445777': 1,\n 'n03888257': 2,\n 'n03394916': 3,\n 'n02979186': 4,\n 'n03000684': 5,\n 'n03425413': 6,\n 'n01440764': 7,\n 'n03028079': 8,\n 'n02102040': 9}\n```\n\n这就是我们需要组合成`Dataset`的所有部分。\n\n## 数据集\n\n在 PyTorch 中，`Dataset`可以是任何支持索引（`__getitem__`）和`len`的东西：\n\n```py\nclass Dataset:\n    def __init__(self, fns): self.fns=fns\n    def __len__(self): return len(self.fns)\n    def __getitem__(self, i):\n        im = Image.open(self.fns[i]).resize((64,64)).convert('RGB')\n        y = v2i[self.fns[i].parent.name]\n        return tensor(im).float()/255, tensor(y)\n```\n\n我们需要一个训练和验证文件名列表传递给`Dataset.__init__`：\n\n```py\ntrain_filt = L(o.parent.parent.name=='train' for o in files)\ntrain,valid = files[train_filt],files[~train_filt]\nlen(train),len(valid)\n```\n\n```py\n(9469, 3925)\n```\n\n现在我们可以尝试一下：\n\n```py\ntrain_ds,valid_ds = Dataset(train),Dataset(valid)\nx,y = train_ds[0]\nx.shape,y\n```\n\n```py\n(torch.Size([64, 64, 3]), tensor(0))\n```\n\n```py\nshow_image(x, title=lbls[y]);\n```\n\n![](img/dlcf_19in02.png)\n\n正如您所看到的，我们的数据集返回独立变量和因变量作为元组，这正是我们需要的。我们需要将这些整合成一个小批量。通常，可以使用`torch.stack`来完成这个任务，这就是我们将在这里使用的方法：\n\n```py\ndef collate(idxs, ds):\n    xb,yb = zip(*[ds[i] for i in idxs])\n    return torch.stack(xb),torch.stack(yb)\n```\n\n这是一个包含两个项目的小批量，用于测试我们的`collate`：\n\n```py\nx,y = collate([1,2], train_ds)\nx.shape,y\n```\n\n```py\n(torch.Size([2, 64, 64, 3]), tensor([0, 0]))\n```\n\n现在我们有了数据集和一个整合函数，我们准备创建`DataLoader`。我们将在这里添加两个东西：一个可选的`shuffle`用于训练集，以及一个`ProcessPoolExecutor`来并行进行预处理。并行数据加载器非常重要，因为打开和解码 JPEG 图像是一个缓慢的过程。一个 CPU 核心不足以快速解码图像以使现代 GPU 保持繁忙。这是我们的`DataLoader`类：\n\n```py\nclass DataLoader:\n    def __init__(self, ds, bs=128, shuffle=False, n_workers=1):\n        self.ds,self.bs,self.shuffle,self.n_workers = ds,bs,shuffle,n_workers\n\n    def __len__(self): return (len(self.ds)-1)//self.bs+1\n\n    def __iter__(self):\n        idxs = L.range(self.ds)\n        if self.shuffle: idxs = idxs.shuffle()\n        chunks = [idxs[n:n+self.bs] for n in range(0, len(self.ds), self.bs)]\n        with ProcessPoolExecutor(self.n_workers) as ex:\n            yield from ex.map(collate, chunks, ds=self.ds)\n```\n\n让我们尝试一下我们的训练和验证数据集：\n\n```py\nn_workers = min(16, defaults.cpus)\ntrain_dl = DataLoader(train_ds, bs=128, shuffle=True, n_workers=n_workers)\nvalid_dl = DataLoader(valid_ds, bs=256, shuffle=False, n_workers=n_workers)\nxb,yb = first(train_dl)\nxb.shape,yb.shape,len(train_dl)\n```\n\n```py\n(torch.Size([128, 64, 64, 3]), torch.Size([128]), 74)\n```\n\n这个数据加载器的速度不比 PyTorch 的慢，但它要简单得多。因此，如果您正在调试一个复杂的数据加载过程，不要害怕尝试手动操作，以帮助您准确地了解发生了什么。\n\n对于归一化，我们需要图像统计数据。通常，可以在一个训练小批量上计算这些数据，因为这里不需要精度：\n\n```py\nstats = [xb.mean((0,1,2)),xb.std((0,1,2))]\nstats\n```\n\n```py\n[tensor([0.4544, 0.4453, 0.4141]), tensor([0.2812, 0.2766, 0.2981])]\n```\n\n我们的`Normalize`类只需要存储这些统计数据并应用它们（要查看为什么需要`to_device`，请尝试将其注释掉，然后查看后面的笔记本中会发生什么）：\n\n```py\nclass Normalize:\n    def __init__(self, stats): self.stats=stats\n    def __call__(self, x):\n        if x.device != self.stats[0].device:\n            self.stats = to_device(self.stats, x.device)\n        return (x-self.stats[0])/self.stats[1]\n```\n\n我们总是喜欢在笔记本中测试我们构建的一切，一旦我们构建它：\n\n```py\nnorm = Normalize(stats)\ndef tfm_x(x): return norm(x).permute((0,3,1,2))\n```\n\n```py\nt = tfm_x(x)\nt.mean((0,2,3)),t.std((0,2,3))\n```\n\n```py\n(tensor([0.3732, 0.4907, 0.5633]), tensor([1.0212, 1.0311, 1.0131]))\n```\n\n这里`tfm_x`不仅仅应用`Normalize`，还将轴顺序从`NHWC`排列为`NCHW`（如果你需要提醒这些首字母缩写指的是什么，请参阅第十三章）。PIL 使用`HWC`轴顺序，我们不能在 PyTorch 中使用，因此需要这个`permute`。\n\n这就是我们模型的数据所需的全部内容。现在我们需要模型本身！\n\n# Module 和 Parameter\n\n要创建一个模型，我们需要`Module`。要创建`Module`，我们需要`Parameter`，所以让我们从那里开始。回想一下，在第八章中我们说`Parameter`类“没有添加任何功能（除了自动调用`requires_grad_`）。它只用作一个‘标记’，以显示要包含在`parameters`中的内容。”这里有一个确切的定义：\n\n```py\nclass Parameter(Tensor):\n    def __new__(self, x): return Tensor._make_subclass(Parameter, x, True)\n    def __init__(self, *args, **kwargs): self.requires_grad_()\n```\n\n这里的实现有点尴尬：我们必须定义特殊的`__new__` Python 方法，并使用内部的 PyTorch 方法`_make_subclass`，因为在撰写本文时，PyTorch 否则无法正确处理这种子类化或提供官方支持的 API 来执行此操作。也许在你阅读本文时，这个问题已经得到解决，所以请查看本书网站以获取更新的详细信息。\n\n我们的`Parameter`现在表现得就像一个张量，正如我们所希望的：\n\n```py\nParameter(tensor(3.))\n```\n\n```py\ntensor(3., requires_grad=True)\n```\n\n现在我们有了这个，我们可以定义`Module`：\n\n```py\nclass Module:\n    def __init__(self):\n        self.hook,self.params,self.children,self._training = None,[],[],False\n\n    def register_parameters(self, *ps): self.params += ps\n    def register_modules   (self, *ms): self.children += ms\n\n    @property\n    def training(self): return self._training\n    @training.setter\n    def training(self,v):\n        self._training = v\n        for m in self.children: m.training=v\n\n    def parameters(self):\n        return self.params + sum([m.parameters() for m in self.children], [])\n\n    def __setattr__(self,k,v):\n        super().__setattr__(k,v)\n        if isinstance(v,Parameter): self.register_parameters(v)\n        if isinstance(v,Module):    self.register_modules(v)\n\n    def __call__(self, *args, **kwargs):\n        res = self.forward(*args, **kwargs)\n        if self.hook is not None: self.hook(res, args)\n        return res\n\n    def cuda(self):\n        for p in self.parameters(): p.data = p.data.cuda()\n```\n\n关键功能在`parameters`的定义中：\n\n```py\nself.params + sum([m.parameters() for m in self.children], [])\n```\n\n这意味着我们可以询问任何`Module`的参数，并且它将返回它们，包括所有子模块（递归地）。但是它是如何知道它的参数是什么的呢？这要归功于实现 Python 的特殊`__setattr__`方法，每当 Python 在类上设置属性时，它就会为我们调用。我们的实现包括这一行：\n\n```py\nif isinstance(v,Parameter): self.register_parameters(v)\n```\n\n正如你所看到的，这是我们将新的`Parameter`类用作“标记”的地方——任何属于这个类的东西都会被添加到我们的`params`中。\n\nPython 的`__call__`允许我们定义当我们的对象被视为函数时会发生什么；我们只需调用`forward`（这里不存在，所以子类需要添加）。在我们这样做之前，如果定义了钩子，我们将调用一个钩子。现在你可以看到 PyTorch 的钩子并没有做任何花哨的事情——它们只是调用任何已注册的钩子。\n\n除了这些功能之外，我们的`Module`还提供了`cuda`和`training`属性，我们很快会用到。\n\n现在我们可以创建我们的第一个`Module`，即`ConvLayer`：\n\n```py\nclass ConvLayer(Module):\n    def __init__(self, ni, nf, stride=1, bias=True, act=True):\n        super().__init__()\n        self.w = Parameter(torch.zeros(nf,ni,3,3))\n        self.b = Parameter(torch.zeros(nf)) if bias else None\n        self.act,self.stride = act,stride\n        init = nn.init.kaiming_normal_ if act else nn.init.xavier_normal_\n        init(self.w)\n\n    def forward(self, x):\n        x = F.conv2d(x, self.w, self.b, stride=self.stride, padding=1)\n        if self.act: x = F.relu(x)\n        return x\n```\n\n我们不是从头开始实现`F.conv2d`，因为你应该已经在第十七章的问卷中使用`unfold`完成了这个任务。相反，我们只是创建了一个小类，将它与偏置和权重初始化一起包装起来。让我们检查它是否与`Module.parameters`正确工作：\n\n```py\nl = ConvLayer(3, 4)\nlen(l.parameters())\n```\n\n```py\n2\n```\n\n并且我们可以调用它（这将导致`forward`被调用）：\n\n```py\nxbt = tfm_x(xb)\nr = l(xbt)\nr.shape\n```\n\n```py\ntorch.Size([128, 4, 64, 64])\n```\n\n同样，我们可以实现`Linear`：\n\n```py\nclass Linear(Module):\n    def __init__(self, ni, nf):\n        super().__init__()\n        self.w = Parameter(torch.zeros(nf,ni))\n        self.b = Parameter(torch.zeros(nf))\n        nn.init.xavier_normal_(self.w)\n\n    def forward(self, x): return x@self.w.t() + self.b\n```\n\n测试一下是否有效：\n\n```py\nl = Linear(4,2)\nr = l(torch.ones(3,4))\nr.shape\n```\n\n```py\ntorch.Size([3, 2])\n```\n\n让我们也创建一个测试模块来检查，如果我们将多个参数作为属性包含，它们是否都被正确注册：\n\n```py\nclass T(Module):\n    def __init__(self):\n        super().__init__()\n        self.c,self.l = ConvLayer(3,4),Linear(4,2)\n```\n\n由于我们有一个卷积层和一个线性层，每个层都有权重和偏置，我们期望总共有四个参数：\n\n```py\nt = T()\nlen(t.parameters())\n```\n\n```py\n4\n```\n\n我们还应该发现，在这个类上调用`cuda`会将所有这些参数放在 GPU 上：\n\n```py\nt.cuda()\nt.l.w.device\n```\n\n```py\ndevice(type='cuda', index=5)\n```\n\n现在我们可以使用这些部分来创建一个 CNN。\n\n## 简单的 CNN\n\n正如我们所见，`Sequential`类使许多架构更容易实现，所以让我们创建一个：\n\n```py\nclass Sequential(Module):\n    def __init__(self, *layers):\n        super().__init__()\n        self.layers = layers\n        self.register_modules(*layers)\n\n    def forward(self, x):\n        for l in self.layers: x = l(x)\n        return x\n```\n\n这里的`forward`方法只是依次调用每个层。请注意，我们必须使用我们在`Module`中定义的`register_modules`方法，否则`layers`的内容不会出现在`parameters`中。\n\n# 所有的代码都在这里\n\n请记住，我们在这里没有使用任何 PyTorch 模块的功能；我们正在自己定义一切。所以如果你不确定`register_modules`做什么，或者为什么需要它，再看看我们为`Module`编写的代码！\n\n我们可以创建一个简化的`AdaptivePool`，它只处理到 1×1 输出的池化，并且也将其展平，只需使用`mean`：\n\n```py\nclass AdaptivePool(Module):\n    def forward(self, x): return x.mean((2,3))\n```\n\n这就足够我们创建一个 CNN 了！\n\n```py\ndef simple_cnn():\n    return Sequential(\n        ConvLayer(3 ,16 ,stride=2), #32\n        ConvLayer(16,32 ,stride=2), #16\n        ConvLayer(32,64 ,stride=2), # 8\n        ConvLayer(64,128,stride=2), # 4\n        AdaptivePool(),\n        Linear(128, 10)\n    )\n```\n\n让我们看看我们的参数是否都被正确注册了：\n\n```py\nm = simple_cnn()\nlen(m.parameters())\n```\n\n```py\n10\n```\n\n现在我们可以尝试添加一个钩子。请注意，我们在`Module`中只留了一个钩子的空间；您可以将其变成列表，或者使用类似`Pipeline`的东西将几个钩子作为单个函数运行：\n\n```py\ndef print_stats(outp, inp): print (outp.mean().item(),outp.std().item())\nfor i in range(4): m.layers[i].hook = print_stats\n\nr = m(xbt)\nr.shape\n```\n\n```py\n0.5239089727401733 0.8776043057441711\n0.43470510840415955 0.8347987532615662\n0.4357188045978546 0.7621666193008423\n0.46562111377716064 0.7416611313819885\ntorch.Size([128, 10])\n```\n\n我们有数据和模型。现在我们需要一个损失函数。\n\n# 损失\n\n我们已经看到如何定义“负对数似然”：\n\n```py\ndef nll(input, target): return -input[range(target.shape[0]), target].mean()\n```\n\n实际上，这里没有对数，因为我们使用与 PyTorch 相同的定义。这意味着我们需要将对数与 softmax 放在一起：\n\n```py\ndef log_softmax(x): return (x.exp()/(x.exp().sum(-1,keepdim=True))).log()\n\nsm = log_softmax(r); sm[0][0]\n```\n\n```py\ntensor(-1.2790, grad_fn=<SelectBackward>)\n```\n\n将这些结合起来就得到了我们的交叉熵损失：\n\n```py\nloss = nll(sm, yb)\nloss\n```\n\n```py\ntensor(2.5666, grad_fn=<NegBackward>)\n```\n\n请注意公式\n\n<math alttext=\"log 左括号分数 a 除以 b 右括号等于 log 左括号 a 右括号减去 log 左括号 b 右括号\" display=\"block\"><mrow><mo form=\"prefix\">log</mo> <mfenced separators=\"\" open=\"(\" close=\")\"><mfrac><mi>a</mi> <mi>b</mi></mfrac></mfenced> <mo>=</mo> <mo form=\"prefix\">log</mo> <mrow><mo>(</mo> <mi>a</mi> <mo>)</mo></mrow> <mo>-</mo> <mo form=\"prefix\">log</mo> <mrow><mo>(</mo> <mi>b</mi> <mo>)</mo></mrow></mrow></math>\n\n在计算对数 softmax 时，这给出了一个简化，之前定义为`(x.exp()/(x.exp().sum(-1))).log()`：\n\n```py\ndef log_softmax(x): return x - x.exp().sum(-1,keepdim=True).log()\nsm = log_softmax(r); sm[0][0]\n```\n\n```py\ntensor(-1.2790, grad_fn=<SelectBackward>)\n```\n\n然后，有一种更稳定的计算指数和的对数的方法，称为[*LogSumExp*技巧](https://oreil.ly/9UB0b)。这个想法是使用以下公式\n\n<math alttext=\"log 左括号 sigma-求和下标 j 等于 1 上标 n 上标 e 上标 x 上标 j 下标基准右括号等于 log 左括号 e 上标 a 基准 sigma-求和下标 j 等于 1 上标 n 上标 e 上标 x 上标 j 下标减 a 基准右括号等于 a 加 log 左括号 sigma-求和下标 j 等于 1 上标 n 上标 e 上标 x 上标 j 下标减 a 基准右括号\" display=\"block\"><mrow><mo form=\"prefix\">log</mo> <mfenced separators=\"\" open=\"(\" close=\")\"><munderover><mo>∑</mo> <mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow> <mi>n</mi></munderover> <msup><mi>e</mi> <msub><mi>x</mi> <mi>j</mi></msub></msup></mfenced> <mo>=</mo> <mo form=\"prefix\">log</mo> <mfenced separators=\"\" open=\"(\" close=\")\"><msup><mi>e</mi> <mi>a</mi></msup> <munderover><mo>∑</mo> <mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow> <mi>n</mi></munderover> <msup><mi>e</mi> <mrow><msub><mi>x</mi> <mi>j</mi></msub> <mo>-</mo><mi>a</mi></mrow></msup></mfenced> <mo>=</mo> <mi>a</mi> <mo>+</mo> <mo form=\"prefix\">log</mo> <mfenced separators=\"\" open=\"(\" close=\")\"><munderover><mo>∑</mo> <mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow> <mi>n</mi></munderover> <msup><mi>e</mi> <mrow><msub><mi>x</mi> <mi>j</mi></msub> <mo>-</mo><mi>a</mi></mrow></msup></mfenced></mrow></math>\n\n其中*a*是<math alttext=\"x 下标 j\"><msub><mi>x</mi> <mi>j</mi></msub></math>的最大值。\n\n以下是相同的代码：\n\n```py\nx = torch.rand(5)\na = x.max()\nx.exp().sum().log() == a + (x-a).exp().sum().log()\n```\n\n```py\ntensor(True)\n```\n\n我们将其放入一个函数中\n\n```py\ndef logsumexp(x):\n    m = x.max(-1)[0]\n    return m + (x-m[:,None]).exp().sum(-1).log()\n\nlogsumexp(r)[0]\n```\n\n```py\ntensor(3.9784, grad_fn=<SelectBackward>)\n```\n\n因此我们可以将其用于我们的`log_softmax`函数：\n\n```py\ndef log_softmax(x): return x - x.logsumexp(-1,keepdim=True)\n```\n\n这与之前得到的结果相同：\n\n```py\nsm = log_softmax(r); sm[0][0]\n```\n\n```py\ntensor(-1.2790, grad_fn=<SelectBackward>)\n```\n\n我们可以使用这些来创建`交叉熵`：\n\n```py\ndef cross_entropy(preds, yb): return nll(log_softmax(preds), yb).mean()\n```\n\n现在让我们将所有这些部分组合起来创建一个`学习者`。\n\n# 学习者\n\n我们有数据、模型和损失函数；在我们可以拟合模型之前，我们只需要另一件事，那就是优化器！这里是 SGD：\n\n```py\nclass SGD:\n    def __init__(self, params, lr, wd=0.): store_attr(self, 'params,lr,wd')\n    def step(self):\n        for p in self.params:\n            p.data -= (p.grad.data + p.data*self.wd) * self.lr\n            p.grad.data.zero_()\n```\n\n正如我们在本书中所看到的，有了`学习者`生活就变得更容易了。`学习者`需要知道我们的训练和验证集，这意味着我们需要`DataLoaders`来存储它们。我们不需要任何其他功能，只需要一个地方来存储它们并访问它们：\n\n```py\nclass DataLoaders:\n    def __init__(self, *dls): self.train,self.valid = dls\n\ndls = DataLoaders(train_dl,valid_dl)\n```\n\n现在我们准备创建我们的`学习者`类：\n\n```py\nclass Learner:\n    def __init__(self, model, dls, loss_func, lr, cbs, opt_func=SGD):\n        store_attr(self, 'model,dls,loss_func,lr,cbs,opt_func')\n        for cb in cbs: cb.learner = self\n```\n\n```py\n    def one_batch(self):\n        self('before_batch')\n        xb,yb = self.batch\n        self.preds = self.model(xb)\n        self.loss = self.loss_func(self.preds, yb)\n        if self.model.training:\n            self.loss.backward()\n            self.opt.step()\n        self('after_batch')\n\n    def one_epoch(self, train):\n        self.model.training = train\n        self('before_epoch')\n        dl = self.dls.train if train else self.dls.valid\n        for self.num,self.batch in enumerate(progress_bar(dl, leave=False)):\n            self.one_batch()\n        self('after_epoch')\n\n    def fit(self, n_epochs):\n        self('before_fit')\n        self.opt = self.opt_func(self.model.parameters(), self.lr)\n        self.n_epochs = n_epochs\n        try:\n            for self.epoch in range(n_epochs):\n                self.one_epoch(True)\n                self.one_epoch(False)\n        except CancelFitException: pass\n        self('after_fit')\n\n    def __call__(self,name):\n        for cb in self.cbs: getattr(cb,name,noop)()\n```\n\n这是我们在本书中创建的最大的类，但每个方法都非常小，所以通过依次查看每个方法，您应该能够理解发生了什么。\n\n我们将调用的主要方法是`fit`。这个循环\n\n```py\nfor self.epoch in range(n_epochs)\n```\n\n并在每个 epoch 中分别调用`self.one_epoch`，然后`train=True`，然后`train=False`。然后`self.one_epoch`对`dls.train`或`dls.valid`中的每个批次调用`self.one_batch`，适当地（在将`DataLoader`包装在`fastprogress.progress_bar`之后）。最后，`self.one_batch`遵循我们在本书中看到的适合一个小批量的一系列步骤。\n\n在每个步骤之前和之后，`Learner`调用`self`，`self`调用`__call__`（这是标准的 Python 功能）。`__call__`在`self.cbs`中的每个回调上使用`getattr(cb,name)`，这是 Python 的内置函数，返回具有请求名称的属性（在本例中是一个方法）。因此，例如，`self('before_fit')`将为每个定义了该方法的回调调用`cb.before_fit()`。\n\n正如您所看到的，`Learner`实际上只是使用了我们的标准训练循环，只是在适当的时候还调用了回调。所以让我们定义一些回调！\n\n## 回调\n\n在`Learner.__init__`中，我们有\n\n```py\nfor cb in cbs: cb.learner = self\n```\n\n换句话说，每个回调都知道它是在哪个学习器中使用的。这是至关重要的，否则回调无法从学习器中获取信息，或者更改学习器中的内容。因为从学习器中获取信息是如此常见，我们通过将`Callback`定义为`GetAttr`的子类，并将默认属性定义为`learner`，使其更容易：\n\n```py\nclass Callback(GetAttr): _default='learner'\n```\n\n`GetAttr`是一个 fastai 类，为您实现了 Python 的标准`__getattr__`和`__dir__`方法，因此每当您尝试访问一个不存在的属性时，它会将请求传递给您定义为`_default`的内容。\n\n例如，我们希望在`fit`开始时自动将所有模型参数移动到 GPU。我们可以通过将`before_fit`定义为`self.learner.model.cuda`来实现这一点；然而，由于`learner`是默认属性，并且我们让`SetupLearnerCB`继承自`Callback`（它继承自`GetAttr`），我们可以去掉`.learner`，只需调用`self.model.cuda`：\n\n```py\nclass SetupLearnerCB(Callback):\n    def before_batch(self):\n        xb,yb = to_device(self.batch)\n        self.learner.batch = tfm_x(xb),yb\n\n    def before_fit(self): self.model.cuda()\n```\n\n在`SetupLearnerCB`中，我们还通过调用`to_device(self.batch)`将每个小批量移动到 GPU（我们也可以使用更长的`to_device(self.learner.batch)`）。然而，请注意，在`self.learner.batch = tfm_x(xb),yb`这一行中，我们不能去掉`.learner`，因为这里我们是*设置*属性，而不是获取它。\n\n在尝试我们的`Learner`之前，让我们创建一个回调来跟踪和打印进度。否则，我们将无法真正知道它是否正常工作：\n\n```py\nclass TrackResults(Callback):\n    def before_epoch(self): self.accs,self.losses,self.ns = [],[],[]\n\n    def after_epoch(self):\n        n = sum(self.ns)\n        print(self.epoch, self.model.training,\n              sum(self.losses).item()/n, sum(self.accs).item()/n)\n\n    def after_batch(self):\n        xb,yb = self.batch\n        acc = (self.preds.argmax(dim=1)==yb).float().sum()\n        self.accs.append(acc)\n        n = len(xb)\n        self.losses.append(self.loss*n)\n        self.ns.append(n)\n```\n\n现在我们准备好第一次使用我们的`Learner`了！\n\n```py\ncbs = [SetupLearnerCB(),TrackResults()]\nlearn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs)\nlearn.fit(1)\n```\n\n```py\n0 True 2.1275552130636814 0.2314922378287042\n\n0 False 1.9942575636942674 0.2991082802547771\n```\n\n惊人的是，我们可以用如此少的代码实现 fastai 的`Learner`中的所有关键思想！现在让我们添加一些学习率调度。\n\n## 调度学习率\n\n如果我们想要获得良好的结果，我们将需要一个 LR finder 和 1cycle 训练。这两个都是*退火*回调，也就是说，它们在训练过程中逐渐改变超参数。这是`LRFinder`：\n\n```py\nclass LRFinder(Callback):\n    def before_fit(self):\n        self.losses,self.lrs = [],[]\n        self.learner.lr = 1e-6\n\n    def before_batch(self):\n        if not self.model.training: return\n        self.opt.lr *= 1.2\n\n    def after_batch(self):\n        if not self.model.training: return\n        if self.opt.lr>10 or torch.isnan(self.loss): raise CancelFitException\n        self.losses.append(self.loss.item())\n        self.lrs.append(self.opt.lr)\n```\n\n这展示了我们如何使用`CancelFitException`，它本身是一个空类，仅用于表示异常的类型。您可以在`Learner`中看到这个异常被捕获。（您应该自己添加和测试`CancelBatchException`，`CancelEpochException`等。）让我们尝试一下，将其添加到我们的回调列表中：\n\n```py\nlrfind = LRFinder()\nlearn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[lrfind])\nlearn.fit(2)\n```\n\n```py\n0 True 2.6336045582954903 0.11014890695955222\n\n0 False 2.230653363853503 0.18318471337579617\n```\n\n并查看结果：\n\n```py\nplt.plot(lrfind.lrs[:-2],lrfind.losses[:-2])\nplt.xscale('log')\n```\n\n![](img/dlcf_19in03.png)\n\n现在我们可以定义我们的`OneCycle`训练回调：\n\n```py\nclass OneCycle(Callback):\n    def __init__(self, base_lr): self.base_lr = base_lr\n    def before_fit(self): self.lrs = []\n\n    def before_batch(self):\n        if not self.model.training: return\n        n = len(self.dls.train)\n        bn = self.epoch*n + self.num\n        mn = self.n_epochs*n\n        pct = bn/mn\n        pct_start,div_start = 0.25,10\n        if pct<pct_start:\n            pct /= pct_start\n            lr = (1-pct)*self.base_lr/div_start + pct*self.base_lr\n        else:\n            pct = (pct-pct_start)/(1-pct_start)\n            lr = (1-pct)*self.base_lr\n        self.opt.lr = lr\n        self.lrs.append(lr)\n```\n\n我们将尝试一个 LR 为 0.1：\n\n```py\nonecyc = OneCycle(0.1)\nlearn = Learner(simple_cnn(), dls, cross_entropy, lr=0.1, cbs=cbs+[onecyc])\n```\n\n让我们适应一段时间，看看它的样子（我们不会在书中展示所有输出——在笔记本中尝试以查看结果）：\n\n```py\nlearn.fit(8)\n```\n\n最后，我们将检查学习率是否遵循我们定义的调度（如您所见，我们这里没有使用余弦退火）：\n\n```py\nplt.plot(onecyc.lrs);\n```\n\n![](img/dlcf_19in04.png)\n\n# 结论\n\n我们已经通过在本章中重新实现它们来探索 fastai 库的关键概念。由于这本书大部分内容都是代码，您应该尝试通过查看书籍网站上相应的笔记本来进行实验。现在您已经了解了它是如何构建的，作为下一步，请务必查看 fastai 文档中的中级和高级教程，以了解如何自定义库的每一个部分。\n\n# 问卷调查\n\n# 实验\n\n对于这里要求您解释函数或类是什么的问题，您还应该完成自己的代码实验。\n\n1.  什么是`glob`？\n\n1.  如何使用 Python 图像处理库打开图像？\n\n1.  `L.map`是做什么的？\n\n1.  `Self`是做什么的？\n\n1.  什么是`L.val2idx`？\n\n1.  您需要实现哪些方法来创建自己的`Dataset`？\n\n1.  当我们从 Imagenette 打开图像时为什么要调用`convert`？\n\n1.  `~`是做什么的？它如何用于拆分训练和验证集？\n\n1.  `~`是否适用于`L`或`Tensor`类？NumPy 数组、Python 列表或 Pandas DataFrames 呢？\n\n1.  什么是`ProcessPoolExecutor`？\n\n1.  `L.range(self.ds)`是如何工作的？\n\n1.  `__iter__`是什么？\n\n1.  什么是`first`？\n\n1.  `permute`是什么？为什么需要它？\n\n1.  什么是递归函数？它如何帮助我们定义`parameters`方法？\n\n1.  编写一个递归函数，返回斐波那契数列的前 20 个项目。\n\n1.  什么是`super`？\n\n1.  为什么`Module`的子类需要重写`forward`而不是定义`__call__`？\n\n1.  在`ConvLayer`中，为什么`init`取决于`act`？\n\n1.  为什么`Sequential`需要调用`register_modules`？\n\n1.  编写一个打印每个层激活形状的钩子。\n\n1.  什么是 LogSumExp？\n\n1.  为什么`log_softmax`有用？\n\n1.  什么是`GetAttr`？它如何帮助回调？\n\n1.  重新实现本章中的一个回调，而不继承自`Callback`或`GetAttr`。\n\n1.  `Learner.__call__`是做什么的？\n\n1.  什么是`getattr`？（注意与`GetAttr`的大小写区别！）\n\n1.  在`fit`中为什么有一个`try`块？\n\n1.  为什么在`one_batch`中检查`model.training`？\n\n1.  什么是`store_attr`？\n\n1.  `TrackResults.before_epoch`的目的是什么？\n\n1.  `model.cuda`是做什么的？它是如何工作的？\n\n1.  为什么我们需要在`LRFinder`和`OneCycle`中检查`model.training`？\n\n1.  在`OneCycle`中使用余弦退火。\n\n## 进一步研究\n\n1.  从头开始编写`resnet18`（如有需要，请参考第十四章），并在本章中使用`Learner`进行训练。\n\n1.  从头开始实现一个批归一化层，并在您的`resnet18`中使用它。\n\n1.  为本章编写一个 Mixup 回调。\n\n1.  向 SGD 添加动量。\n\n1.  从 fastai（或任何其他库）中挑选几个您感兴趣的特性，并使用本章中创建的对象实现它们。\n\n1.  选择一篇尚未在 fastai 或 PyTorch 中实现的研究论文，并使用本章中创建的对象进行实现。然后：\n\n    +   将论文移植到 fastai。\n\n    +   向 fastai 提交拉取请求，或创建自己的扩展模块并发布。\n\n    提示：您可能会发现使用[`nbdev`](https://nbdev.fast.ai)来创建和部署您的软件包很有帮助。\n"
  },
  {
    "path": "translations/cn/20_conclusion.md",
    "content": "# 第二十章：总结思考\n\n\n\n恭喜！你成功了！如果你已经完成了到这一点的所有笔记本，你已经加入了一个小但不断增长的人群，他们能够利用深度学习的力量解决实际问题。你可能不会觉得这样—事实上，你可能不会。我们一再看到完成 fast.ai 课程的学生明显低估了自己作为深度学习从业者的效力。我们也看到这些人经常被具有传统学术背景的其他人低估。所以如果你要超越自己的期望和他人的期望，那么在关闭这本书后，你接下来要做的事情比你到目前为止所做的更重要。\n\n最重要的是保持动力。事实上，从你对优化器的研究中知道，动量是可以自我增强的！所以想想你现在可以做些什么来维持和加速你的深度学习之旅。图 20-1 可以给你一些想法。\n\n![接下来要做什么](img/dlcf_2001.png)\n\n###### 图 20-1。接下来要做什么\n\n在这本书中，我们谈了很多关于写作的价值，无论是代码还是散文。但也许你到目前为止还没有写得像你希望的那样多。没关系！现在是一个扭转局面的好机会。此时你有很多话要说。也许你已经在一个数据集上尝试了一些实验，其他人似乎没有以同样的方式看待。告诉世界！或者你可能正在考虑尝试一些在阅读时想到的想法——现在是把这些想法转化为代码的好时机。\n\n如果你想分享你的想法，一个相对低调的地方是[fast.ai 论坛](https://forums.fast.ai)。你会发现那里的社区非常支持和乐于助人，所以请过来告诉我们你在做什么。或者看看你是否可以回答一些问题，帮助那些在学习早期的人。\n\n如果你在深度学习之旅中取得了一些成功，无论大小，请务必告诉我们！在论坛上发布这些信息尤其有帮助，因为了解其他学生的成功可以极大地激励人们。\n\n对许多人来说，保持与学习之旅的联系最重要的方法之一是围绕它建立一个社区。例如，你可以尝试在你当地社区设立一个小型深度学习聚会，或者一个学习小组，甚至可以在当地聚会上做一个关于你到目前为止学到的内容或者你感兴趣的某个特定方面的演讲。你现在还不是世界领先的专家也没关系——重要的是要记住你现在知道很多其他人不知道的东西，所以他们很可能会欣赏你的观点。\n\n另一个许多人发现有用的社区活动是定期的读书俱乐部或论文阅读俱乐部。你可能已经在你的社区找到了一些，如果没有，你可以尝试开始一个。即使只有另一个人和你一起做，也会帮助你获得支持和鼓励，让你开始行动起来。\n\n如果你不在一个容易与志同道合的人聚在一起的地方，可以去论坛，因为人们总是在组建虚拟学习小组。这些通常涉及一群人每周一次通过视频聊天讨论一个深度学习主题。\n\n希望到这一点，你已经有了一些小项目和实验。我们建议你的下一步是选择其中一个，并尽可能把它做得更好。真正把它打磨成你能做到的最好作品——一件让你真正自豪的作品。这将迫使你更深入地了解一个主题，测试你的理解，并让你看到当你全力以赴时你能做到什么。\n\n此外，您可能想看一下[fast.ai 免费在线课程](https://course.fast.ai)，它涵盖了与本书相同的内容。有时，以两种方式看同样的材料确实有助于澄清思路。事实上，人类学习研究人员发现，学习材料的最佳方式之一是从不同角度看同一件事，用不同的方式描述。\n\n如果您选择接受最后的任务，那就是把这本书送给您认识的某人，并帮助另一个人开始他们自己的深度学习之旅！\n"
  },
  {
    "path": "utils.py",
    "content": "# Numpy and pandas by default assume a narrow screen - this fixes that\nfrom fastai.vision.all import *\nfrom nbdev.showdoc import *\nfrom ipywidgets import widgets\nfrom pandas.api.types import CategoricalDtype\n\nimport matplotlib as mpl\nimport json\n\n# mpl.rcParams['figure.dpi']= 200\nmpl.rcParams['savefig.dpi']= 200\nmpl.rcParams['font.size']=12\n\nset_seed(42)\ntorch.backends.cudnn.deterministic = True\ntorch.backends.cudnn.benchmark = False\npd.set_option('display.max_columns',999)\nnp.set_printoptions(linewidth=200)\ntorch.set_printoptions(linewidth=200)\n\nimport graphviz\ndef gv(s): return graphviz.Source('digraph G{ rankdir=\"LR\"' + s + '; }')\n\ndef get_image_files_sorted(path, recurse=True, folders=None): return get_image_files(path, recurse, folders).sorted()\n\n\n# +\n# pip install azure-cognitiveservices-search-imagesearch\n\nfrom azure.cognitiveservices.search.imagesearch import ImageSearchClient as api\nfrom msrest.authentication import CognitiveServicesCredentials as auth\n\ndef search_images_bing(key, term, min_sz=128, max_images=150):    \n     params = {'q':term, 'count':max_images, 'minHeight':min_sz, 'minWidth':min_sz, 'imageType':'photo'}\n     headers = {\"Ocp-Apim-Subscription-Key\":key}\n     search_url = \"https://api.bing.microsoft.com/v7.0/images/search\"\n     response = requests.get(search_url, headers=headers, params=params)\n     response.raise_for_status()\n     search_results = response.json()\n     return L(search_results['value'])\n\n\n# -\n\ndef search_images_ddg(key,max_n=200):\n     \"\"\"Search for 'key' with DuckDuckGo and return a unique urls of 'max_n' images\n        (Adopted from https://github.com/deepanprabhu/duckduckgo-images-api)\n     \"\"\"\n     url        = 'https://duckduckgo.com/'\n     params     = {'q':key}\n     res        = requests.post(url,data=params)\n     searchObj  = re.search(r'vqd=([\\d-]+)\\&',res.text)\n     if not searchObj: print('Token Parsing Failed !'); return\n     requestUrl = url + 'i.js'\n     headers    = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0'}\n     params     = (('l','us-en'),('o','json'),('q',key),('vqd',searchObj.group(1)),('f',',,,'),('p','1'),('v7exp','a'))\n     urls       = []\n     while True:\n         try:\n             res  = requests.get(requestUrl,headers=headers,params=params)\n             data = json.loads(res.text)\n             for obj in data['results']:\n                 urls.append(obj['image'])\n                 max_n = max_n - 1\n                 if max_n < 1: return L(set(urls))     # dedupe\n             if 'next' not in data: return L(set(urls))\n             requestUrl = url + data['next']\n         except:\n             pass\n\n\ndef plot_function(f, tx=None, ty=None, title=None, min=-2, max=2, figsize=(6,4)):\n    x = torch.linspace(min,max)\n    fig,ax = plt.subplots(figsize=figsize)\n    ax.plot(x,f(x))\n    if tx is not None: ax.set_xlabel(tx)\n    if ty is not None: ax.set_ylabel(ty)\n    if title is not None: ax.set_title(title)\n\n# +\nfrom sklearn.tree import export_graphviz\n\ndef draw_tree(t, df, size=10, ratio=0.6, precision=0, **kwargs):\n    s=export_graphviz(t, out_file=None, feature_names=df.columns, filled=True, rounded=True,\n                      special_characters=True, rotate=False, precision=precision, **kwargs)\n    return graphviz.Source(re.sub('Tree {', f'Tree {{ size={size}; ratio={ratio}', s))\n\n\n# +\nfrom scipy.cluster import hierarchy as hc\n\ndef cluster_columns(df, figsize=(10,6), font_size=12):\n    corr = np.round(scipy.stats.spearmanr(df).correlation, 4)\n    corr_condensed = hc.distance.squareform(1-corr)\n    z = hc.linkage(corr_condensed, method='average')\n    fig = plt.figure(figsize=figsize)\n    hc.dendrogram(z, labels=df.columns, orientation='left', leaf_font_size=font_size)\n    plt.show()\n"
  }
]