Pixtral Finetune On Satellite Data
🛰️ Finetuning Pixtral on a satellite imagery dataset 🛰️
TL;DR: This notebook will show you:
- How to call Mistral's batch inference API
- How to pass images (encoded in base64) in your API calls to Mistral's VLM (here Pixtral-12B)
- How to fine-tune Pixtral-12B on an image classification problem in order to improve its accuracy.
For additional references check out the docs:
Prepare the dataset
We will use AID: A scene classification dataset introduced by Xia et al. hosted on Kaggle under a Public Domain license.
To downloading it, you will have to generate your Kaggle API token:
- Go to your Kaggle account in the Kaggle API Token section,
- Click "Create New API Token" → this will download kaggle.json.
- Upload kaggle.json to Google Colab.
Download and parse the data
The dataset consists in:
- satelite images (jpg files)
- each image belongs to a specific class (e.g. airport, commercial, dense residential, medium residential, park, forest, farmland etc.)
We first transform this dataset into something usable for finetuning
- Create pairs of (image, labels)
- Load the images and encode them in base64 (the format expected by Pixtral API)
- Downgrade the quality of the image in order to be a bit more memory-efficient
Note that smaller, specialized vision models could potentially achieve comparable performance levels. This cookbook aims to guide you through the process of effectively fine-tuning Mistral’s Vision Language Model (VLM) using a straightforward example, and to demonstrate its impact on basic classification metrics. More advanced applications of fine-tuning could include interactions like "speak with an image" or generating image captions.
Classes: ['School', 'Farmland', 'Airport', 'BaseballField', 'Resort', 'Viaduct', 'Forest', 'Beach', 'Parking', 'MediumResidential', 'Pond', 'Park', 'Port', 'Meadow', 'BareLand', 'Playground', 'SparseResidential', 'Desert', 'DenseResidential', 'Bridge', 'Square', 'River', 'StorageTanks', 'Commercial', 'Center', 'Stadium', 'Industrial', 'RailwayStation', 'Mountain', 'Church'] Size train: 8000 Size test: 2000
Prepare a jsonl dataset for Mistral API
Instruction prompt:
Classify the following image into the category it belongs to.
- These category labels are School; Farmland; Airport; BaseballField; Resort; Viaduct; Forest; Beach; Parking; MediumResidential; Pond; Park; Port; Meadow; BareLand; Playground; SparseResidential; Desert; DenseResidential; Bridge; Square; River; StorageTanks; Commercial; Center; Stadium; Industrial; RailwayStation; Mountain; Church.
- Output your result using exclusively the following schema: {'image_description': FieldInfo(annotation=str, required=True), 'label': FieldInfo(annotation=str, required=True)}
- Put your results between a json tag
```json
```
[SystemMessage(content="Classify the following image into the category it belongs to.\n- These category labels are School; Farmland; Airport; BaseballField; Resort; Viaduct; Forest; Beach; Parking; MediumResidential; Pond; Park; Port; Meadow; BareLand; Playground; SparseResidential; Desert; DenseResidential; Bridge; Square; River; StorageTanks; Commercial; Center; Stadium; Industrial; RailwayStation; Mountain; Church.\n- Output your result using exclusively the following schema: {'image_description': FieldInfo(annotation=str, required=True), 'label': FieldInfo(annotation=str, required=True)}\n- Put your results between a json tag\n ```json\n ```", role='system'),
, UserMessage(content=[ImageURLChunk(image_url='data:image/jpeg;base64,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', type='image_url')], role='user')] [SystemMessage(content="Classify the following image into the category it belongs to.\n- These category labels are School; Farmland; Airport; BaseballField; Resort; Viaduct; Forest; Beach; Parking; MediumResidential; Pond; Park; Port; Meadow; BareLand; Playground; SparseResidential; Desert; DenseResidential; Bridge; Square; River; StorageTanks; Commercial; Center; Stadium; Industrial; RailwayStation; Mountain; Church.\n- Output your result using exclusively the following schema: {'image_description': FieldInfo(annotation=str, required=True), 'label': FieldInfo(annotation=str, required=True)}\n- Put your results between a json tag\n ```json\n ```", role='system'),
, UserMessage(content=[ImageURLChunk(image_url='data:image/jpeg;base64,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', type='image_url')], role='user'),
, AssistantMessage(content='```json\n {\n "image_description": "An aerial view of a bridge",\n "label": "Bridge"\n }\n ```', tool_calls=Unset(), prefix=False, role='assistant')] {'custom_id': '0',
, 'body': {'messages': [{'content': "Classify the following image into the category it belongs to.\n- These category labels are School; Farmland; Airport; BaseballField; Resort; Viaduct; Forest; Beach; Parking; MediumResidential; Pond; Park; Port; Meadow; BareLand; Playground; SparseResidential; Desert; DenseResidential; Bridge; Square; River; StorageTanks; Commercial; Center; Stadium; Industrial; RailwayStation; Mountain; Church.\n- Output your result using exclusively the following schema: {'image_description': FieldInfo(annotation=str, required=True), 'label': FieldInfo(annotation=str, required=True)}\n- Put your results between a json tag\n ```json\n ```",
, 'role': 'system'},
, {'content': [{'image_url': 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzyfQ7Wyzc299Jp3O3dvymfpUgudcs4Ynmt4NRtkzsltnG79P8KtXtjbXx8u6VmK/dUOVKn1rJPh+4s2L6XqDxnOQj/Lz9Rx+lZRV1qSloaFvrml3Dshne3lPWO4Xac/XpVh1J2yRqME/eXkGsC5vtRiXbrmlR3UfTztgB/BhxUNu9gSDp2o3Fg5/5ZS/MhP8ALFJwJcDpPMyNp5bdgMBmtUWZNr5e4JgDBI7+/tXMtcatZ4kubNLqNeRcWbcj3q/ZeKopZRG0qF+AUnXy3z9emaSTQ46bm1BbSCNVlZQBxlTnP51YMK7fkAB9T3qKK+glAbdsJzwee/tVgYZdwYEY6g5FUmaFTcyglY5GI7Ac/rUC3s2T5Vo5P8SyAj/9VaEibxkfe/mKa0paM7slgpwcZouBEC7xlxDIpPGwfOR+XWvR9Ga0k0q0Wynjnt40ALo2fmPJB9D04PNcK91Y6ZrjQTXEt/YvGjrHHEYpbV9qghXzg9CeD/FWhFc6LpGkahceHtQle/vZUBE+PMhx1JGOe/JzyetJtCuegI2xwQSCPTsaj1C1tdTi8q+tILuM/wAEqBvy7j8K4mz8b38OFu7WC6Q/xxt5Ug/DlT+ldBZeKtGumQPeC1kPAju18sk+zfdP50gKGofD7TZx/oVxPaMT/q3PmRn8/mH4Gucu/B2uaeo/0aK9gjXIe3O9v++Thhx9a9Q+8qsOVPKkHIP0NSFd3I6jikFkeDPPCLggweXOhAKsCrZ+nWkCOsrMkhLAZYEkdee1e3X2lWGqx7dRsoLrZ90yJll9w3Ufga5XWfAHh6HTZ5pbu/t4sZCLIrgew3DP05osQ4M5HToo70ztcoy2MWA57vnoin1P6Cp729lvLkzS/eOFRc8Ko6CkuJ0KRxRRmK2h4iizk/Unux7molUk7j1P6VpFWLQip2ApNRuzpFnHcAlZ5DiIYzjsXx6Dt71fghSKBrq5yIUGSMcsfQVlXqjVrgS7mDONqr12+gH+etJyBsoW8xlUNuGScjJzn1z71bCPKS/GP4mz938KeLNbKMLw7ALgKwJD9/rjvSZYyEMV39ztxk/SsW9SGuUcrBEKt1Y5DDkD2pw/dphhhjyB2xTDudueYvT39aYw4I3DAyT2xTSLgurI7y7eCyldH2soyCR3rBmuHu0t2kXZPECDNGxG7nIO3sR0yOtS3l19skwh/cJ93tuPrUB4PSqC13cVrrUAmBfTk+uQamGs38I5kSU5GQ6f1FVs5pkkYfr17U0DiuhqWuuQzyqtwpt3ZvlOcofb2/GtgjIL7/Ygd64l4Wyc4x9K09L1V4MW1zLmM8JI3UH0yaHHsZ3a3OhITO4EgDrkZqrIF3bVLBgRhlPv1pZCHCs25Y9m7rz/AJFRW17bTXEtrGyvKox165H8x3xUJDvc1NUvY7q4ysm7YAi46Z/oKw5ZQgLEHPcKOo6c1dnRbZ9pO4sAC2fbPSs+C6Et/JFIjIwyF/2l65q47Glr6mpbRpHA7fKSRnJ7j0FGR2C7f4celQTzDhFOBg5H9RSozBcNtBHTtxUszcuiNVyksMcbIGVVAG8cis0jadpbkcdq0QefxqEWyySM5b5SegHNbLQspqNuck8n2H4e9ULrRtNvSxe3RH7tCdjD6jp+ldDHDHGTtUAjv15p08aTQyM8QaRFLKQvzZHSi4HOWPhu40qRLiCVpIJl+RX4ZTnjI6YI71bmt7a82/aLaNmXJ34GVIP51o3DfZ3zNMHZZGlLBDhmYHaAO2B1xVOJmmcsxVC3J2jj649axcm3cUkkxrCUMrZDKBhdow2PrTbad7b5PnUk5UY5+lWuACrHIP0qNxgDAXGccnikQ1bUvRXjbQHHI5Izz9aBNYXhaOWd0jYFZtoO5RyM8DisyG3Rgw+ePsM8/lzUhUqu2QLIowCQMNTTY+ZkJvVMjMozuyF3DIUdAfrgVZtmacpITtZeOFGCPamhoRLlCN55wOP1otZEjnDNIu0csp6e/NIS0erJyIIJ1kBC5OCnv/SnzRxzuFkTKdhnr/jVWaVZrkF0aIKwRJMcFj05qeNZEtx5jbivJJx+hoKTLlreXumMDp2oXNqoH+rRsoT/ALp4/SugsviJeWif8TSyiuYx1ltj5b/98HIJ/EVyfnxlA3mBR05Pr2q4mnRYE2powU4KWwOHlHUbv7q/rVJlX7HrNxrFhZWC3jTqYnQSIw/jBGRgV5rrOtT6xcmWUssIP7uL0+vvVKa4aURhgFjjXZFCnCxqOgAqNUJO5vwFaJWGIBuO5qtQRKcyyELGvJJPamwx79zuQsSDc7t0UVW1C5N6jQxfLbgDAIwX56n+gpSfQVyK51U6phIAVhiztHQsf7x/p/iapfPGoBJXBzj0pbfTrizSTUChS0idDLL/AHM8A+h561PbxLuiuSInjfLYLZ45G4Y7ZHFZNkO5LbyR/Z/mlk+0s+AMAKF7nPXNDhgQG2s4UKGU9h6+9IwEZCIrlQSSWxkn1H+FSeVLComUowzuUnHTPcevqKSRcY33EaTylCrjJ5AxnrWJqOordyS28YwoOJGU8H2H49aW+1Fpy8cLEI2dzjjPsPQe9Zv3RhRgVaKAnsOKTJpCetIDTAXrRSZoP5imIQsAcHH41SuMyLIMpkHpjge//wBeppGDHD42scDHBFV1yksmSdrKMEimgaR0ei6h9u0dlkBmnhJRVxkOuMgn0Pb8Kyre1lhv0ubVWMrNhVHqe30p/hwSKZOhQR9Aee+DW3b3dvaonkxqdybi+zkNjqpJ9+lJuz0JWompJI58tpULwsEJxkEgYP8A9asnyXiciSZij8AEc/Qen1qU3UUsxScsGVsBiv3jjrV+3t0ubRpY5NzBuvQj+hpO6Q3foLCguLdWeNoyT90Vbx28sD8c0kEHlqqgHHU5NNmdkkxFEzJjIJbFQYy0NJIywz0X+f0pxTyyq8gDofapyCB2zjp0prjeuMkn1x0rY2Isc46EnIFZep6zZ6bd2y3Ekyy4aRFjj3ruwVG7kHAJzgelWppLtDtaAqAOCnzg/j2qF7NrpdtyiMpHSUBs/hR6juQQXdtqSpHbXnnHGXI4fPqQeaurEVyqDAx94+v0rb8FeCLZr641IW0ctmsTW8sUi7yzHDfJzlSMdjWI90Pt80DWzWmJCI7acMjoueB83J4xWco9iZb3ZGVLMGA+77YJOKTbwoYY/UCrEqyBcrEHPbBwf1qKUYVnYKoAzznj8akRVSQiYsMEdAasqY3yP4gcYNQmFd65OOMnB/lTVjdgoZNpX5lY8kn1ouJNivFlshVIySxHBqrKjRsThvowxWiAsYHJckDOaZ9muNQlAt4BJHGfnkcgRof9pj/Ic0WuKUSJZ3WMoU2xYzG0ZAKn3Bq9FYXF1uijuIQqDMjysQoB75wQevQVPa2NpaAMy/bJ8/ecbYl/3U6t/wAC/KpJpZZ2JlkPXgD/ADxVqLKitNRIIrPTtv2YfaLpRj7TIuAp/wBhO3+8efpTHZmcszFnbkseeaTHZeBS8IDk/ia0SSKSsAQD5jyferEUSmJri4cxWyHBfGST/dUfxN7UoSK2VXvdwLcpAv33Hv8A3R79fSqV5dS3LZkZfkG2ONeFiHoo9feplLsBFe3r3c0cZVYbaM744d2efVvVv5U2KTEqucFc8jGapvwoKSNuBxzj5vrUsMZEXJz6gf1rNkJ6m9YXK6dObrcsjlT5cJJ2ANyTjp1+tU7q4e5mklAWMuQwRUAA/D09BVcSbjjIA7grnJoup441d2IRTwzjgE+oHUVNjTcZK6xEHcB5fzMWGFz34rH1DUmvV2KXSEE/LnG7Pt2HtUd9fyXmFfPlp9xc9B2z61Szz61SRQpbGFAwBwKaTSdaKoQUUUmcUCFozxmkoxQMgDrLLtJxjkr71VuS6A7gvl56g9KutBG53AFW9VODUP2KJdxd2IP4Z471SdmSWtCuFhjedkLhnMJCjkDHUfia0ZvMkRxGi4VRtyuGzgZ/rVG1eK0s4lBljWdT0OQJB8wPToV7e1RG8lcATKCzcZjbB9f5U7XYWsPDSyzeXKNyu4G7bggehrZtI3gnIRj5RGcEnH41mae5vZwu1XkBwVHysP8AEnHSuiI8tSqscMOh4IHpUSYWa1Ddj5lPzY4707crAEMmKgdt2cnAHfsKQbgBhs1BkmV7LWhMv+iXKTjrsc5P5HmtKPV1JxcxPH3JQbh/jXM3PhexmJe3Z7aTqCh3KPw/+vUHkeItMB8mVL2Efwn5jj6Hn8jWvL2ZfK1szu4biG5XMMqsowMDr+XWo5BszkfKQT9K5vS746hbyPcW4tJUbYQCc5xnp1HWtDzb6FcGUSrxt3Lv/nSvZ2YOTW57NoFkdN0Cyiz+8KCd9p4LNz/LFWby3t9Ui8u+tILmMHIWZA2PpnpXkGneL9e0hvLt9Q3xAbvs1yFkjUeig8qvbAOBXW6d8TbaXCapp0sDcjzLVvMU/wDAThh+GaBc6ZZv/AGmXUu+wurywfOfLV/NiPttbkfga52+8Ga1ZuXS3F+m0gy2rjJwehjbn8s16DY6tpmrru02/t7huvlhsSD/AICcEflWhHAQ6IzhSo3bN3OM4zjrjPena47Hh12EMhjk/dXCjmKQbJPyOOlMQym6VI0kZmOxYwNzMccAV7fq81gloX1OO3kjAwolRXJH4jivOL69tGupH07T7exVl2M8KBXcensPpU8t9hOPUzoNPWGNW1Da1yB81tEcKp/22/8AZR+dSvMzKqkqET7qIoVE+ijgVETjp2po3O2FBY+1Wo2LFL0mCeDgd6kit5JVMg2pGPvSyHao/HufpVC+vlspomhT7QxOMuCFJ/2R/U0cwy6sWELuyxQgZaV+gH8z+FSi5gtUD2kbOzcCeVec/wCyvY+5yazF1B3hlE1rayTSgoLggkouPuqOnrz1pFkwAu4Y6Y6Vm5t6CiyK5lkkuWcM29sFnPVvrTo4muA33sDqV4wahmJZCfmOCADnP4U1DLIDGG+UA/KB1pEXuyw8UAby1yXUfM2ev0p0cYiUHqQOM0qWs0VqLhnjMbMUAySyn1PsfY9qz7/Ugs7RREeZj5mTkJ7DPU0i4pbss3d9DAmHYu5/hU8/j6ViXF1JcvukbIB+VR0Uf1+tRF8sSeSTkk8k0wnmmihSfwpufQ0HpRmnYA+tIfeil5zTEIOtBFJ+FL0HOBQAoBxwDjuant0ikmGZCmMYD9z25xx+NERRCqTwZVz1Jxn05qwLc297iF2CsMc4JA68+3BoApNuEjq5BcH5sdM0zynmkiiQZd3AX0yauzqWvI5pAHWYbhtzz27etSWdnJd6mDHuRYXClmIHPQD05oCxFqUVxJI8ICiNmIyEyF24OevXINUUWOSP51IbOAp4IIHvzjOPwxXTtaiMSiEESFSMPzWNNG0GvpdSyZtS4tmUr8oQ8A+v3sfnVRYMW206O2e2aYlWc796nHOR19BW5KGVgH2ktyD7dqfcKksjvsWQHow6HjHX8ahSIrHtGXXPfms3qxSfQeqtvYpnnhhjpThEvcY9MEUmAqjgjj8DSkhT8w689aRNkSnTgp3CVig/hwMj8aesESDKx5YdyMn9a6Z/C2qfY4LqKOKUSxK5hVtskeRnGDw351gXEM9nMBcQzWzId+2aMruA528+vTitblozpgk118qRbxGBIdwLB+4OO46Z9qhjVijFsjngemOKmjaJy0qqVkkJY5b88e1PZeBjrisxyVyOMR/Z13wQGWNy8cjQ5bBGD82cEf7JBFQGJXJJ49CoGMfSrCnDFSy4U8Y560wx4X90VD54Z+TjOTQ22ZuKKc0WH4y4A3BgPu8/ofpXX+G9Rmtb065fxSXDJaGztpJZmJHzZKqp6j1JPHvWRaabFeKLi7LC0QlW2nBnP9wHsPU+lX5p2mILbVCrtRFGFRR0UDsKqKYRjZljUtTudSuDNcOT/dQHhf8APrVAkAZoZsU6CB5mJyqqoy8jHCoPUmtNkUNVGlZUUMxbhUUZJpzvDb70G24ul48lTlE/3iOp9h+Jpk14jKYLJnjicbXl6SS//Er7Dk965q6drTVYmjTMbptYc4z71DlfYTZuz3EzsWkk89hkDP3EHooHA/CoWhikAE7HDn5jzn161H5nBO7PqM8j3pUcrlgy/J78GsriuSEC3BTjCEDC4OPfPfjvUUkjKxEWUiHr8zfj602WTBYbSAOxNVWaaeQAEKMZLZwAKCXIkJbeu1VAxx7++e1aCRRKnmq2GHGM9B/hVaVYbaIO7jaq8ncFPsayLy/kucxr+7g/ujq319vamVFWJ9Q1NpCYrYjbn5pf/iR/WssYXPA9z60ppMc1SLsB60Z9RR04xTfxoAWkFKc0UwDFJjFB9c0ZxQMM0dew/Gil9MD35oAvSGL7MGnLOm4opjJYjoTyeKXzPtEEUiiNpYWyryDLEdBxx+XPSqvnqBtWCPDtnY4+UcYq4t1AuI3Z22kIUSMbSPb2/GhAOYCRWBiCAuXVQQSTjnHPHr+dX7JBHGGUgCZzJKG4KHHTH4VQs47a4aOFDLGyOeHw6svp04/+vVx0xdJcOjkrwqqcA9sZ+nSgRPJtScMW52Fhycnr/kVzuu3tysMluGXymHmOGX5hyCMfTGa3J7d5JJTx8yggucbWx05rmdRtLkXqSSAkBSoDkAn1XPTp+FOK1EdFp160sP78JvUhWBfBbPRgv+e9XPNCEk8gn+E9KwrDTLe50yNlP+kRgqXYkle6kHPp0OK0Vl1CIH7TYiUDq0DYb6kHr2PFKS1AuB43wQ3I/KlkJ38EEEetUoLuK73B4WgdMEh8cjsQamUowysqMOxDg0rCPdsgoMkAgVx3j2GaXT7O6Ad4reRlcLk7AwHzY+oxn3rotT1Cx0q0+1ahcCKIyBVwCzMfQAcmk03WdI1hR9h1G3mlHHlE7JB9VbBqhnj6FDJuUhlI4ZWBGakILfjXqmreGNFvpC1xpyw3GMGW2/dP9eOD+INczf8AgK7iBbS72O5x/wAsroeU/wCDD5T+IFRYq5xot1KiMqCgwcAYq5YWBunYyNst4+ZZPTPYe5/+vV648G+IFtjLNDawRKo3uLtWP4ADNOnaOGKO0tyfIhzyfvSN3ZvUmmlcQyeYSFQiiONBtjQdEX0qux/OlY9c/hT4ITKzFmCKg3yOeiL6/wD1u9a6IAhh3l3dwkSYMkh52+w9Sewqtdag0y/Z4Y1W1RshPU+rHuf5dqZc3i3kgiCmKyiztB5Yn1b1Y/pSFBDGuMeqoBwPxrGUrk3uMZsIoIIkPUkYNRIUZ3DxZYjaQfU9xRIC3Jbbu5xn/PNMJVAc5UE8n3qbkt6kgKWo3CBZZlY/u5M7F7c46nNRSNIzESKobO5iAOM9cU7fuOVAYnndnmjc7SxgSYK4Ck4x+Z6DmkSSRSxQFVMeQQAwxvyp7j/Csi/uBBcNFEAZCSd5XoM8ED/OKuajdR20AEWwyY42qQSe+fp0461gsSWJJyxOSTTS6mlr6ChFDlurE53Hk0Z5pAfWjPerKStsB60lGfejJosMU03rRmimAtH0pMmjPtQIPwoHSk6UvpQMWjpScd6KBICevpUkSoytvIBGCAT1/Ko8ZpdxQbwSCvIx1oGbGl2ymSSWNSrsAF8wA7V6kZBrRDRuQE4Pc561WtozDZQoR85QO5xzk+vr2p7OLcyf6pgfugqCWIGcKexpE36CTKuCQQc/J8vPJpJreZY0G0fKATGGAV/ru45qS1lG1WljbcAXwAOvTnt1pz3BcNvOS+eo4NO9gI7eytrAsYhid8F9gCqfwHerAkR8K0Cln44OPrVYZBG0Y4pVkKjhTnOB9aTC5HqOmrdSERSB1X/lk5wPy71mSaNKu0ETW5x9yKMFf5VotPh9uVPtnBzVuLUp0jARpAPQOMCldkXTZo694huNemhmniSFYo9ixRsWUMT8xyeuePyrIeKORVMqhwvIz1FS+WFHybsDpzxRIm4kEnH0ouaWNLT/ABLrmmBVg1J54V4EV5++X8CfmH4Gujs/iNFvtre/0uZLm4nSFRA+6Mhjgtk8gDjg+vXiuKVSdvGAMEgVo6VbxzXRllz5EK+YwI5Y5+Vce5/QGmmKx1viXVgZGtIW+RTzjua5VmHJqW6l8yd2Jzk5JPc1W+916CtUrIZLBE1xKqIBuJ4ycAD1PtWXqutW4kFhBIwgX5yR/wAtz/eJ9PQenNaGps1pZm1BZZZlDT7RyqdQn49TXDXmnLPMSjMHL7hwcc9evHXFQ2mRLsddbxfMoILAA9sgVGWO7y2JL5LAgna47Y9DRHJLDbrEzsWVAC4PU01pWC4DDIABIrEHorDWQojZACnknHP/ANalht5p5BsOVzgnnp70RtknCZGcZznPatKApbA3sp3xKyrJEy8yL1BU+oI/pQwjG+pZ0ywsZYppGiYNEcuSw+UA+/fGOvrWbrmo6aWE1pbqJQDksT859APT3xVDXdZ+23A2QLCUG0Rbywx1DP2Le3QVhMzMxYszMerGnGJTd9ELJI8rmRzl26n+n0qKlzn2oqxhxRnNFHBouMb35pePWikHNMB3U9aXA96XGBmrkMCiMM4yx6D2oQr2KWw9cHHrSEVqMRjGBt9KqXESIBsyM9abQiqaSlJoz+VIYUA+1FA570DDHTipbeMTXMMRB2lwWx6Dk1F3xWppEK/vJ26sRGPoOv8An2ovYVzVceYquu7gHnPf/DpWTdzNbwRookLu/wDyzYEgdcgY5HrWmzPG7okjuOT5pUEnngFf0qu8jXMpUeWhj4XIwwPT7pGQec0Le5D1dyZD/o4IbG7AxjqB/wDXpi5cnaDgAE59aWEmSzhBzvRDG4PYqcU9YwOeR7mpDVjiGQbjt2j0PzN9BVBlmQsYwxjPLc+v8zWg/EZIHze3+frVJ5FU+XgqM4BB4AosKZWkjUsVUucDjj9ahUKwOSR+FTOpUZ3gE9wc8UwnpyD9Rmgwe5u7toyw46Uwv25x9eKY0gEnlyHbJnG2QbWH4HFX9K05L66kSV50iRQWaJQzBiwVeD25yfYUrHVzFHfGTIA65jxv56cZ5/Ct1ENpp8NueJJP9IlB/hyPkH4Lz/wKqWnW8HnNfTZksYnIjZhtF06k4Cj+73J9OO9OnuXuZnlkbLuxZj6mrjHW473EdxI5xwvWknb7LaSXZ4FuBKQe+CPl/E8VJDCThmGB2zTdRgeW3W23AiTbK8YPb+HP6n8quTsIz4rk3KGZ5A7SndI/qTzx/KnSFbZlETEO33CB0NRQWf2KBYmdtq5GSoJA7VLIAsRU7g+N2cdc1zvcGyFpstsBOFJOD39TSKrMh3HcO59fpTFyGwy7h6gcD8q0tPhS7JRrmOKFGBbzepHcc4GPxzT0RMVzFW2U22GkU72GYwV4OD35rL1DUTI4jikZwMjzOoX/AHf8an1m+DGSbLBpfkjHdUBxjP8AjWMcZppdR26ASM8cfSm+9LnAozxzVIroJSZooAoGH40tJ1ooAWjAHFFH1piH5461o/eiU47cVlg4+lTxTtHwOR3FNaCZdeTMax7BwScnrUFxt8kBuueKX7TG2CVOe4qrLIXfd29KGBGaaT2pSeaTtSGH0pfwo4paAE6c4OfT1rpLW3NtYpGwGQnzY6k9z+ZrDsYRPeRIQcA72x2A5/niujnYwQAuB5gJBDKQy9Rj9aTEysZFjRi7gKi/xVFb+W80fnzSzMf4rj52IHQZPX2+lMk3rCNhHr87bePY4qzFH5gjkkzkEjA9hjNGyJ6Em0bhhVUHoAMUF/4RnI9OakKtyd3tz2pHRSvL5YDripQDHcBWOC2PT1xWPOxZw5VkYgHB7GthsId5yQvUqex71ALePyViJ3DOQTwxNO5Mk2imMSHKqAM5ZiOM04xuD8qgDrhTxVsWwQoUUqUPPHWo3ijViH25PPJxxQTy9zpTq946eXPKtzH2S5jWUD/voZqDz7dZvOTStLjm6eYtudw/XFSCzEgYow+VirY7EdRTlssdRmtdDaxWlnnunBkYuVAVQFCqg9FA4AqSG3xy3X0q2tuE5INO25424p3HYRIhNIsLNtXBLkfwqOtZtz5d9cSM0hR5HyFBwVA4A/LFX7hZE065MRRJJiIEZ2CjGQWwT+VcvI8yaqpkUYIwfm3fr3zWU1cDRMUh+VyWOPlycHH4VBI0kpLO7MuOp610Oj6DPrgaSFngZCAkhU7Gc9VP4YrEuU8uQoGBIkKAhuODg/UcVkmTJdSKKAtnl/myVABII9a1b4RRaWlqY94eJSSDlevHXv1rLtphEcoVGxsAgkFqpatdsVWHe25x69F+vqaq12VFpIy7mczzu5wVzhOP4e1Q85zSvy3+FNqhoMdqPxopPwqkAUdaKBSAKWk+tJxQgFz7UDvQKM80xBS59qOKOg60AGeeaQ89KKSgA+tH6UUuKYB2pQMjOKTtTlDMQi5LEhRj1P8A+ukBraPBi3muduXlO1B/sj/E/wAqnILuq5BIPccA56e9XJolsrKCGPqFO7JBwo6cepqkmQ7nao2ocDtn8Kncib6BI8U88jwMA0fy7UbKgg9MduauqWEQTqUXGcY571nCKSO4ilLhyyDeoJwCParxUgA8rxnPQGmwA7tm4gAD3pFckZPTvzS4AI3DJp+wZ7cc8GgCSHyd3zFgTxlQMr/jQ6I0wjVFkLMTx1UdjUQHZzxnkij/AFQycEqOoHNKwxJpPKd02O3I+4eT/j2pAQB8pKj06UNK0ce6P5ieSAMk/wD16jDNjJhGTzzQFzqbbxTp8120U9lLEWAwwXjd06jpnjtWn5ljceYbeQHy8b/bIznPcVyn2GO21Np4I2NuXIjXfjbx3z6e1MubqExMkOUln4cbcYGMEUkyrvqdHOEjOGBHoWBFVSryuqRIWkJxxWRbajeRzBkvN7eT5SLMPMAHb8RjvmnTarf3cRhaa2igKDzBbptLHHzA9x07VfMF9BbmVjdEPFEUX5UZJN5c8846L/Pmq3kQyZyrGRW6A9/eoZ51AXDptJyNq7R9B/SpYQ3G8cf3uwyKzlK5N9S4l01rcG5sp2tSV2MEkbD9jweprPuDhTI7jf0HoR61NPIIwkeFJIJDY6N3/wAKrtFPLmV4pCkeMvt+XPpUITu9CKOTcFIXzMDpjH5+vSse8fdfXHJK7yFPtWnfyRwWJURjzJeAM4/GsNVCDA5rRIcU0L+VFIetFMsCexpKU8d6SqADRR9aKQBQaKO9MBPrRS+9FAgzxQeRSUc0AHtS44o780n0FMBeKKBSe9IBeavaTB52ox5OFTLk+46frVHit7QIgLeS6JPzEkEdgv8A9ek3oBaeOM3zRN+6XJHncndzxn88flVSUBZBHKSGkbgjg/L6Ed62k3G1llkX7ykn1PHaslZGSaSUBSgHlqMnIYj0+uaIksIYkeV3AbC/Ku45zjvmpm2985zng4pYgEjwFA4xShc9SBSEDOOCcDrnNNBO0suSQOSRTlG0Ek5GcDihkQvt4AJ4YnpQOwb2MW11Bz3604M24g46Zwaj3FUHJI5zkdaeuC3K5XH0xTERqzYyNpIGVTfnjPWozIqHbI0gb0AzUxceWzRrlic8DB/GofsQu/3vmbj0OHPHtQJm/OimcSOVVgMIXOMMe/pWTcl7qUuxDOp6kBTt/D0PbpW/c2UKSSiDG3ZvPzH5uMHj06dKwbnfHKyuS75xv9fyqEaTK0PmLJ5i9F9MU2VmkwVOCW7ZBPqDVmKNH+/E2PVW5P8AhTFibdsZsnOMj+dFjOz2KV9bzyqjRRvLIjb9ijLEDrgY9M1pKzxQwrIrIXiWTLqR1HGR2PX8qGPlSptZSQc8jI/H2qcTG5JuirB3cEHJKggYUDP0zik+xXL0IIYy5MgmjG1dzKx6/T+daEs8raYse/bHgRqFJG4dTwf6UliPNu1EkUciMwJDqevc+tQa2INPURqbgLFGWMbS7wCTxj9BS62NFornN6nMHuGReFj+UYPU96ofWnNzuPUsSx+pptaJEoPpRRx3pM9Kdxi/Sk5peaT8KADnvRjtR/Kjn/JoAO1B4oP86MUwYlH40tJTEFHWl+lJ70gD8aKXrRTAKBRQPQ0mAoUngDLHgD1NdbbmGzsLazYjPBdsZGOmP51zmmx+ZqEQIyEzIc+o6frW9MXbJIHIyfm98c1LFexavbuCCEIhXCqZGYg7u20ccYrKjXZHBEgZgxMpZjnqe2afIZ22QsgD+ZtIbK4Uc+n0qVCzkyuNoJ+X0AHp/nvTWxLdxS/zKF7cg1I2VIOTmhUBIDHcB3p/l46gDtigZGWUpyxBHQ9/akIOTznHXmmPGrSkkjOOnalR1LlCSp64H9aBD8YiyRntimq3z+nb5uppd/GWIGTxg4pko+UH5d+eATxz/WkAj7pmCoTgMACRwT/hW7BpAEQCAj1528/QVBptqrMGBO09sYwK2ZZpUbCIxXHGKaGkS6iPOspJFl5bl1lXGT2Ix0rlrtCbhiu0qOGwo5x3xXVSM06iFpfMsmI3AcEZBB/GsPUkjLn5sYAKSOPmfjABPtzWSLmjGjVsptB3HkHNWY2UDeR/q15yec05ImyHkOAB0PYVQ1SAyRPbeauGXOR059asmKtqyyVckEZLMpyB0xTwAqIcMFcZwT0/D6VU0yzu4LaT7UZmgbhS4O0HHb0PSrSptPynk8EDpS6hbW5aguHil3xbc7SFB9emeO4rH8QX4ubhlyTuO457e2frWiXikh+WPyyinJLZDe9czcy+dIX5wTkfTtQlqW30IDxTe1O5NJViE7daKWkx6UAFB6UtISM0AJR2oBozQIXNHHpSDsaWmAEijij9aKAA0d/WkxR+VMBcc8GkoyKPrmkAvSgcCilVGc7UGWPAHvQBueHrNpBNMuOSAOecD2+v8q27y3HkbpVIQ8Bx0OBzj8ah02KK0sUj3Eyrxgj5T7n/AD3qXUZ44JfKEgl43HachT34+tS9wdrGS8iPLIQ5MkCFDhmAUtj86nhLiCOPggdh61HGH+zwh3UuXMrgZAx0AqxGCBk5Y+ppskU8DpgnuKaHVQQNxJ5wKew5IP4mo5CzYIGB6+ooAY5UjhjkY+U9QPxoBXbjGWzkjOKhkc9V3EelTRhtqHgDPT1NJk9RUSILx065pEjLjywW3uM4x19qEcbJHOV+Yc+9TJFvuVyBt2nkevX+lBRuWsTRkFs7guPp/k1LIXVvkYYPJyT1ptmAYcl8tzuyehqpMxMzFQ4BP8JplIFnY2gJ3E7fmKnkY4wRWdLLvcAtuHCuT0xmnyy4ifbIAOxJ5Oe1L5UseS6KWyAffHU//XqAbFlVSAEOQ3JUc4FQzOjdQM46mpQd6BpF+dSSwyc7R1Pv2qj5iZGFym36E0A5WLS3DyRBByoyG2ng+lMOAPlyCOtJFgE8d+cHmmuSxAAbr09qaRW6uVNSnaKxYMdpc7cAev0rDZvTmtDVZna58kPlI1HGe57/AJVnHmmiQ6U3vR+NH8qYwpe3Sk/OigAoI75paSgQAcUlLQRxRcBM0Zo70UwFHSiko7UAL+tJR+NH1ouADmij8KKBB14PFaGlQiS78xhxEu4c/wAR4H9aoA8810OiKsEEbyqys480j36AH8KT0A1xE8flF1YBUBDHBB5J/Ksq/mjubkCSIfvmEfyocc+uOn/160bmbCCOKPAflSx6DPNUo8rNLIGOI0OABj5vrnnt2pR7iYuP35CgBVwgHqF/+vVhQcEnOPaoreIIoDMzN39qlklRYmc8qik8e3aga2GHr03D1IqKUEjnhuSMHisGLxZErbb+xmtskhZFBKke4PP5VpxX9tfANaXUMvHIzgr+B5qnFrcGSyYAXIHZuD0qdB8gyMZ5piOGARhtZeo6/jmnh88KeSOD15qSbACRyBuBIz69as2LI13gDJOMhhwKgSQ7QDzgYPvU9o6pdpuByeFA9O9Mo3bJSwy5+XHdMY/H04qg++ORwId4JPIbFbtu+6JdhYELkYHU1lX9lK17I6BCGwTiMHnHvRYoxrtRHMqoCFU7/mHzL2xkcEZ5pbaeSZHZsE7uSGySKJiPLVRlY1y27OQc9/rVPzlbLRkcH5nxnA96hEbMuzOHOB34JA7VUKjz1JBZG4wOMU0s5CMF2DuM1KYgcFiSR2zj/Ipg9QQKZGC7sAYQMf0qRniCsWYjHJ46VHnJ+U4bGM5GMVXv28nT5OSGf5eR3PH5daEio6IxJpDNNJM3WRtx+nYflUZpxOOMdOKYSKYxDRS0U0AlLSUUwFoOKQmkPNIBTSZpKXOaLCAUtHSjNMBKOtFFIBaQ0vekzk0wE96UUmKcBRcLE0EIuLhIecMfmI7Ack/lXTGF4I45d8Z80khEOSAMYBz9f0rH0iJi0s+4IApUEn8T/QfjXRNOsiBJ+SP3n58VLDSxVupHXG6QMVXoB1qO2VEVCsRQSN5jfUdyO1NkVppjDHlAMOH+8GHcEfgPzqQbhJJlQE3bV7ZHf9c0+hNiUA4L569z1rM1t3TS3EW1ndlXZgZbJGOtaYAxjIA6Zz0rKGqWE08avP5EiMdouIyo3Z65oXcpJXsznfPVZmtpJDETw0Vynl4/A5U/nSw2EBvbR/Kazcy/62NTkAdTt5B6jnpXSXEK3EeEEUy4OMxiVW59656404rKGt1kswVYMIJWAByP4Tnj2zWsZpoco2ejOqt5VkjKgnepw+Vxg0/5kbDLhs4IHpTYYGWzhSVjJLGgUs3VjjvUSh4y27bgHsaxIRMW/enHehZ3Vt8RAMZOdy9v69DVfeS4bg0+4EaB5H4Rl5Y/XpTBnY2x/dgq4IKhk46cUrOrndvKk9RjNY+kXsBlWC2fzQ2CeMeX22/kOK05gqSYIcHrwR/WmM56C+ZZF3qrjt7UmoSwzJHJBEgDuFJ27X4zxgfzqBIWCqAhKZ+ZuQRntRskQI21R2+981ZiTdhhBMYfJ2A4yckKevP4U1W5BD9ehb1z/KnKwZyxYoMEFSMinhVMY5w2eMAYoQt2PKOIlBj/AIuG6Z9etZGtXCGaG2VcKPnJ/DithV2ruw2enzciuZvJBcahK69A2364qkU21ohp9RTTTiabxTKACij8KKAE9PSloxRnmgBDSUvWk74oQgIpKXFHIoAQZxTvw4ptLnigAAyaUcUmcUetMApMetL+NFIBR9aXjr2poPNTW8ZlnRAepBJ9AOaYjpdNgEFkgeKVhw2VTPPcZNXTbJHDDJGQfPIZV7hc9T+R4qzJCoht/s4XaUAY5KsT/tA/jVW4YRSu+5AkCklZJNg4BwM4OP8A69RuOxkyytDqnnyOfKbKIHjGBwTlW69eCKsxqAFBPzYz1798Vm3sc2xFdJ0njXzFIjyD/EPu5796vxsJVEgXblQ2CORxmrZKepHqs729hKyRI6bSrEvjGeBgEYP0rlEigSJEupcM3Ix8wA9T6fhzXVajavf2YhjmSM7wxZ1ODj6e9YE+k38JOLdZhjP7ht3444P6VcLWGU1iEZ3QSuyg9UZk/SrcOr3MUw88Jd7PumUFX+uR1/EVRMUSOd73Eco/gVFBH1DEU9A+5fnEkZ4LL8pU/wC0p/ocVo4piOrsdSj1FHKxup6ODgjPfBFLL8gKlgigcE/w1V0WJzp5kkV0LsctkYI6ZGP61Tn1Ux3kcM6bg52SLnPI6MPY1z8utkILO5UOpG6UuMbwDhj1NJql6FvijSgRLEG2jB5PT8az9SlhSSQJMy+W4KKr8++B3/H0qpc3CyqiMMgjbwMZXsfrVqN9Smb9lqyBbhUVI8x4PmnyySc85HNJm1uo4pZmlL+WoyhyMAYH6YrL09YJNMnuXTe0LhJMnnb3PNaWkyW8enxjzYgTyQVHHYDn2Ao0QI6ERoQJAnzhsgH0GM49O1RyN5gd8KvzYweCKaNrJgjjv8ueetV7twr7gRuA2g+v/wBesUS7pEzNztJOcZ25pYmIkwwJCjr2P41VWZvkZgM8E/X/AD2qYzJkAkjaeQvWmhREvZ2FlJtcq7/KpIIx6n8qwdgUYFX9WkkS7jhzth8vemRgsT1/LiqBJqkjQbRQaOtMBBRS9B1opDEopRSHrQAlKOaTvS0xCEc0UtJ6UgEopaKYBxR24pOozSmgBM0ZoxS0AA61t+HUIupLgBSY8Ku4cZP+RWIOa6PSbZorSEsQN/71wex7DH0xSYbG65G/KApGvJGPlx3wO1ZV9PiNd0DyiRsuoI+6fXParNzcNJEF4DMcEqMbv89M1yt/eSzasyJJsij+UDb98gZJ9qUVcGzQlvVtVV1gupIy2wLbjdtXnt6U+01vS7spHDchZW+URuCrA/yrMiv7HyljuCYp2G1lljGSCOzDt+OawL+78668xooZof4WGNxGOCSMVryXFZHoIKyMwiZTg4IHY0x12r845/WuN0zVzZW7wo6TeapO0tgIe/JqG31DUIwrwXDtEVyUZ8qrD0zSVNhc7NhFdRKtzHFMmdu2Rdw/PqKpXGg25BNu0kLHPAbeB7bTz+tU7K+u0kKy2i7A3zHOwgnGTg8H8DXQhFz94EgcgEcdxUvmiG5DHB5MSxRuDhQNxGCRiuZ1+3M0oliX9623JA6e+a3YXfMqEcZ+UtzkVizWrNdG0kbMbhvLXGee/uBRHR3GZwEsynzCqui8hsjb6/SoMRPM6pjy8/u+P4vSt97FfsyRyny5MENzuHOcDNZ+niL+0JISilcDqcg4OeKvmJuQKbg2zxBmVXbLBwAef/1YqG2triSBXRMgjB6Dkcdz7VsBbW51F7RRtdhtO3ufrz6VGtqLVQjRzSFvmztBIz2NFxHR2d7b3UBaG7jmU8BEbJHvjrTComYxHHXA3Doe1QxeE9HuUZ0SSCbkrsOVIPoSRg+lQy6ZfafIxsr37TGh+7Nh3wB0x1B984rLlXRltdyaNlimdZSfMVsMCAMjjGR9O9NQmEyKrGQ7sEk4HWsmbXURkW9tGiZxgkHcQQe+RnjJBq/BcWt6jzwXMbCSXGzPzJkDnHX2ocWjNprYs3Q+26fJG3zzJ+8ix19+O/HFYkZyCM/NnGO4+orTmieC9dY2PmRgkHGf5U944rqNWuI0aTbxKnysPoaExp3Zlgccgg+hFGOasyaZcwoz2zm4Q8lDw4/HoapNOEJVwyOPvIwww/A1ViyWm9OaAcjI6GlYUgE70dqM0EU9hiUtFHekIQ0d6OtL3pgIaQUvWigYClFJQDigQHr0pVPekxkdaXp2oAlgiM88cQBJdgOmfr+ldkITHbhFTCqedoHI/PPFc/4fiD3jSkDCL1YHGcZ7fhXTSzfuU+YLIR820cc/zqG9bDsZV3KtuPMLHbztJGax4vIuiLiPcZY2O4HHJ/8A1dqnvruS4d1Khcufut2HGazreGSG4D27hiGwQ2Rwe2e9UkT5El7BDfq7FSsnQMD0GORWPLp0FlGboRuV3lCpGeCMZFdUbXyi0xT75AcKM/Tp271XuWQx+Urliyh2KDJIzggAimpNE6owdMyrMhRhM4LDYOSvbI6Y6j/9VWxpNu85iuIpIgxDpJDwQv8AECuMMfxpx0xo5lmtp/LYEA7zkevT8Kv/ANpJDMiy3ELMUIkyuB+PpV89tg1H3Njo9lqMptNQNzZxhpD5qGJjjB5VsZ5YnjPAxitu5uY2EM9uttOCAiKJFEnlKuNykcHeSWwTngcCuUv4LlrqGZJUnRVHko/Hynrkj68VDYQ3qXTy7dkRch41bAI9cfdwKNHqV6mrPBaiZ1iSaB5Tkh0w3P6Y+lRLKkmpKgCmVcg7xjcAO/50+K4lkkFu8gV1O0RMMEY/iHqP0pfJZZSXjV8fMnbp24/+vUgwlnJneOUP5QByFXJbA5GfpVZI7SK4Z4nHlIgyoTpzjA9+auSI0oEjN5aZ5wRnPOQffpUBh2REvIPKKrtzwuckZP6UCI7uwMsyXRXBVWAaEY/TqeKcE2AA/OO24ZKj0Oef/wBdW4LiXY0d1Hh4mO0qR0zinYtnZmmcAk/L+8K5X1x+dGoNHIRa1qdrqkF5FcN59vgIWJ5APRgev413MOqWF6sErxmzmmUOuWKqSeuCeP1zXC6m1uVgkjhaKQRhJzuyHcfxAdQT3rtfDrafqPh+2juGzJEvlNxggjp254xTna1y46lq+0s3mnTtFEkhILHIDqT15OPasH/hGrFpFnSKSONlG0o24DI9/fGMGr99on2Vi1qxjfkAxsUHXrgHn6VUS/1GzuPJVY5t3Kwo+w9PfIIpJvoOSsUXtr+x8u4ti808Q5Ayd2O+Cfp0qeHxXby5t9UsZIZAOoTOCec44P8AOrsWu27TCLULCe3VkG5+oQ9Dk9q1pdNi1a086NkvYzwJS4k2ntkdRgUnb7SJSuZ9jKl6G+w3KSBD90nkH6Gs/WsnYl1EHcSAbduCM+9MufC6G7do1ngfruByo9AO+fpVe+s9VgcR/ajLbkjmY7iD9TyKaS6MHFliLTd5CW07Kx/hkG5c/XtUUsFzBkTwHA6vGd6/pyKZB4gW0meLUbKSNGxiSLnA9Rnrn61sW13BdoDY30czMSNrNtcD6UNNboRirLCwO2RT+NPGCODmrt5GJji5s1POwYGD+frUb2NvHatJHLNDtGQu4EMcdMN3NLQZWIxRjI6VirqN5NNlXTb2TABrRs7qS481WhfehyVQbsKfpzT5WgLGMUvakWSNxw4+hOD+Rp2PYikMbRS7aQikAlHSlApDyaYgo7Z9KXFS28RnvIYMfK7YY+w5xQB0ekW7W1ijBQWmbccf57D+VWp3+RjywZTtGO9KjBW8vovQAcY9cUy4kEUJkMmQAfvH8s/jUA9jBuljlkZD/CexwT2Jqu1uYkIhVs7CFLMcA/SnSXEg+YRruDAsZFwG/E1pWTtexnzNnA6IpCn8aq5KOes5tR0y6knMgu0c7pkJJJGOv1roILa2uZUufmeJuUK5yDUsNiQUkAKg8lS3GO341eFunkukJKrIDjB/lQ5XLim9zNuI1hDqAGAbjg/0/nWbeac18m7YYp05jYcNjHINdIkA2HdgkcEk5FVVWSY+aqMU5Awuf/10uawchn6aksVokdzEuQDgg8gE+vpmrEVzAEkGPucM2MYI9Pelkm+yRzTzhmjiwNyjO7JxjHryKaLpXXcLZow4PDjAJ7c00r6kyQrGC4Ec/mYXPyMV5H1PrUMUkrSuyyOdrY+8Cu33XHB61HKLd8mVGUAgkRHPPoQc8c9qCWuIY5LJ5Y1AIIlTnHY/p2polIo3sckVzJe2zZ2AtJEMcOCBn3GCM1P5ryxllt2lUjc0RO3tnoffPWr6lTtdjGCV+8RuyCOR0z7c1DEttDemVnDKfLUjHCjdnv1PA7etO9wuQSsZb2VFgw7SrjDBSy4znHUjJ6D0q7Jo0d6Eea9aJkXZ8oDbxnIP64/Cs2UW8dzNJFcb3Z9wmkI2od2RtYdO/FbllHctEzyNjc24Adhgcce+fwxTfkMwxo9tdTwpztYbk3LjdzjHWtW1gj0+5NrbpvK5wpX72ec5x1qnokccupS+YisbcsEJ+o6+tTSSFdThYY3LI2G79Kl72LUVHY1QzyLsljyCgIYetVBaKJRIix5PLAr1HoSKdJhriJmUFim4nuSTinsNrYHA9qgUmxJba1lkbdE4Zs/MG5/lzVKTSJoJDcaZcCG4b7xjPl7vqOh/Sruogw6He3UbFZYoi6EevHb8ayPD/iW9vmjinjgOSVLBCCfyOKcU7XQ1Lua1r4ivIC0GracsxwFMijDjHcrjnr1Bq39q0i8j8yO7gy/AVmHGexzyOlS3UKtIkZLFXQMRnoc9vSsmbRbGRDMIjG5J5Q4/z0FPQfM7FibQ43tS6yQJGfl2kn5vz45PSsC58IqJwxiMcZwQY25H4dP5VbtLKOWSMF5FBUqyq2FYA8ZHT8qntNQuYxLbiUlUiLBj14fgHsRT1WxLkrmPNbXdjAUe5eZYmyFnBIyemO+enGaz9U1yW/Ahmg+zBPvCMkgn/CvQYII7u2uTKuWWFmBHHOM/j+Ncjrmk21jMJIt5Lli245BOeuKqMk9wsc1bQLOQA6noTg8jP9a6TRbby7xi8qvcOgO3dtbBJ4Pr0FYbwxpLhVAzJ/jxTbu+uLeYSpJnB4VhkD+tW1cR1V0WllmWSLfGo5ygYiopbOCK2XaZInzglW2/T73FT6dO2q2ttPOqq8g2v5eQG5HP1q5qZ/dCM4KOjEg89x/jWOqGYktpeRvIQElCpuAzsJ9c5/oaiEnRZY5IXPaRcZ+lbLJsCtGSh8sn5fbH6VYsIk1O7ktrpQ8Z6++P0piMEDPQ5x6UEYPPH1rUm0yz+0hPIUAkDIJGO/aoW0u1jRjtZj/tNnvRYLspgQFsTNIq46x9au6HA094JUDMinbGzLjJJx246d6r3FtBAkREQfznCN5hLYHtnpW7CiRQKqIAGjZ292HGf0FJlLVFne4IxgryxHXbz696zb+7CGMeWZCykhTjgdyR3/8Ar1rMUFgAIk+Zd2eTjI+tY85FxIodVAHQAYxUoh3M+K1mZ1lhXBIwyEnBB55rp7O3+zkRqF2Y3Ek8hv8A9VUNNjXzN/8AF93PtitoLhGOabLpx6kQMh4eNTliMr2Hvmq0+E2fv/JDHblAOvUdauj/AFBfv0x2qu+JJ1jdVKhA4yOQaRqJND58YUAoj437MDj0+lJb2cVqm1AQuSQN3QnrS3DlWgjH3ZNyn8BxToMtaxEsSQBz+GaAS1Kt9Z+fChiL71kVzsbaG9SfXHWqslrGvC7hzuyDj861B+8kkiPAPccEcZ4rI+0uUQkKSvIzz2NNEzGCPaQYURD0y0nt7ckUpS5WJo3mfzA2QwXIwem0k8/54qaCQ3MQlkVfMBOGA5GRVO5nkW74c7UcJt7NyOT71VzNos24e5iSRZVdD8sgwfx60rKkJEmJGQ9Bntx+eKgt7qX+2RCSGjaMuQR3Bxmr00EbLMrLkKVIySeTSe4W0uUoGlIkd/lQjACjlxn1H/66fJdRQ7VdFDFcnDEc/nUksKx3S7CVwiYPfGelS5DkllXg46UNj5Uf/9k=',
, 'type': 'image_url'}],
, 'role': 'user'}]}} [{'content': "Classify the following image into the category it belongs to.\n- These category labels are School; Farmland; Airport; BaseballField; Resort; Viaduct; Forest; Beach; Parking; MediumResidential; Pond; Park; Port; Meadow; BareLand; Playground; SparseResidential; Desert; DenseResidential; Bridge; Square; River; StorageTanks; Commercial; Center; Stadium; Industrial; RailwayStation; Mountain; Church.\n- Output your result using exclusively the following schema: {'image_description': FieldInfo(annotation=str, required=True), 'label': FieldInfo(annotation=str, required=True)}\n- Put your results between a json tag\n ```json\n ```",
, 'role': 'system'},
, {'content': [{'image_url': 'data:image/jpeg;base64,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',
, 'type': 'image_url'}],
, 'role': 'user'},
, {'content': '```json\n {\n "image_description": "An aerial view of a bridge",\n "label": "Bridge"\n }\n ```',
, 'prefix': False,
, 'role': 'assistant'}] Classify satellite images using Pixtral-12B
Get a baseline using the off-the-shelf Pixtral-12B
We will use the "base" Pixtral-12B (no fine-tuning) to get a baseline on this classification task.
Type your API Key··········
image_description='An aerial view of a bridge spanning over a body of water with some structures nearby.' label='Bridge'
image_description='An aerial view of a large building with a distinctive triangular roof and multiple parking areas.' label='Commercial'
Since we have many images to caption, we will use Mistral batch API (and might have to wait a little bit)
file ID: 4b34bbd3-443a-4d46-82e3-356c5f942063 job ID: d0b1cb9c-fcfb-4904-b813-b01d2376a752
Job finished with status SUCCESS
Confusion Matrix:
Classification Report:
precision recall f1-score support
School 0.83 0.69 0.76 72
Farmland 0.64 0.45 0.53 62
Airport 0.57 0.86 0.68 44
BaseballField 0.92 0.95 0.93 80
Resort 0.89 0.79 0.84 72
Viaduct 0.04 0.02 0.03 52
Forest 0.71 0.25 0.37 48
Beach 0.27 0.17 0.21 70
Parking 0.36 0.87 0.51 82
MediumResidential 0.75 0.78 0.76 60
Pond 0.55 0.88 0.68 74
Park 0.57 0.88 0.69 50
Port 0.46 0.67 0.55 78
Meadow 0.67 0.11 0.18 56
BareLand 0.35 0.10 0.16 58
Playground 0.94 0.75 0.84 68
SparseResidential 0.43 0.50 0.46 70
Desert 0.82 0.96 0.88 78
DenseResidential 0.67 0.05 0.10 74
Bridge 0.93 0.75 0.83 84
Square 0.94 0.86 0.90 76
River 0.93 0.25 0.39 52
StorageTanks 0.50 0.55 0.52 58
Commercial 0.76 0.59 0.66 82
Center 0.61 0.33 0.43 60
Stadium 0.21 0.35 0.27 60
Industrial 0.58 0.27 0.37 66
RailwayStation 0.30 0.95 0.46 58
Mountain 0.93 0.60 0.73 72
Church 1.00 0.02 0.05 84
WRONG 0.00 0.00 0.00 0
accuracy 0.56 2000
macro avg 0.62 0.52 0.51 2000
weighted avg 0.65 0.56 0.54 2000
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))
Improve the results by finetuning a Pixtral-12B
Note: Here the objective of the finetuning is to improve the classification accuracy of the VLM. Finetuning can also be helpful to align the tone of the assistant to a desired style
file ID: 3f97da57-b695-4493-8ca4-9a1d346d831c job ID: 7ddb123c-a827-436a-bacf-882161a16970
Job finished with status SUCCESS
CompletionDetailedJobOut(id='7ddb123c-a827-436a-bacf-882161a16970', auto_start=True, model='pixtral-12b-latest', status='SUCCESS', created_at=1752043098, modified_at=1752043672, training_files=['3f97da57-b695-4493-8ca4-9a1d346d831c'], hyperparameters=CompletionTrainingParameters(training_steps=69, learning_rate=0.0001, weight_decay=0.1, warmup_fraction=0.05, epochs=2.0, seq_len=32768, fim_ratio=None), validation_files=[], object='job', fine_tuned_model='ft:pixtral-12b-latest:d3417809:20250709:7ddb123c', suffix=None, integrations=[], trained_tokens=9043968, metadata=JobMetadataOut(expected_duration_seconds=3864, cost=17.88, cost_currency='USD', train_tokens_per_step=129528, train_tokens=8937456, data_tokens=4468728, estimated_start_time=None), job_type='completion', repositories=[], events=[EventOut(name='status-updated', created_at=1752043098, data={'status': 'QUEUED'}), EventOut(name='status-updated', created_at=1752043100, data={'status': 'VALIDATING'}), EventOut(name='status-updated', created_at=1752043144, data={'status': 'VALIDATED'}), EventOut(name='status-updated', created_at=1752043145, data={'status': 'RUNNING'}), EventOut(name='status-updated', created_at=1752043672, data={'status': 'SUCCESS'})], checkpoints=[CheckpointOut(metrics=MetricOut(train_loss=0.009326, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=69, created_at=1752043625), CheckpointOut(metrics=MetricOut(train_loss=0.008591, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=68, created_at=1752043615), CheckpointOut(metrics=MetricOut(train_loss=0.005936, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=67, created_at=1752043603), CheckpointOut(metrics=MetricOut(train_loss=0.009011, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=66, created_at=1752043603), CheckpointOut(metrics=MetricOut(train_loss=0.010018, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=65, created_at=1752043590), CheckpointOut(metrics=MetricOut(train_loss=0.00867, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=64, created_at=1752043590), CheckpointOut(metrics=MetricOut(train_loss=0.009096, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=63, created_at=1752043578), CheckpointOut(metrics=MetricOut(train_loss=0.007807, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=62, created_at=1752043578), CheckpointOut(metrics=MetricOut(train_loss=0.008053, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=61, created_at=1752043565), CheckpointOut(metrics=MetricOut(train_loss=0.010532, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=60, created_at=1752043565), CheckpointOut(metrics=MetricOut(train_loss=0.006738, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=59, created_at=1752043553), CheckpointOut(metrics=MetricOut(train_loss=0.006264, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=58, created_at=1752043553), CheckpointOut(metrics=MetricOut(train_loss=0.010614, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=57, created_at=1752043540), CheckpointOut(metrics=MetricOut(train_loss=0.009714, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=56, created_at=1752043540), CheckpointOut(metrics=MetricOut(train_loss=0.010644, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=55, created_at=1752043527), CheckpointOut(metrics=MetricOut(train_loss=0.010451, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=54, created_at=1752043527), CheckpointOut(metrics=MetricOut(train_loss=0.005935, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=53, created_at=1752043515), CheckpointOut(metrics=MetricOut(train_loss=0.009525, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=52, created_at=1752043515), CheckpointOut(metrics=MetricOut(train_loss=0.010794, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=51, created_at=1752043502), CheckpointOut(metrics=MetricOut(train_loss=0.011183, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=50, created_at=1752043502), CheckpointOut(metrics=MetricOut(train_loss=0.012462, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=49, created_at=1752043490), CheckpointOut(metrics=MetricOut(train_loss=0.012663, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=48, created_at=1752043490), CheckpointOut(metrics=MetricOut(train_loss=0.009134, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=47, created_at=1752043477), CheckpointOut(metrics=MetricOut(train_loss=0.010485, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=46, created_at=1752043477), CheckpointOut(metrics=MetricOut(train_loss=0.012633, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=45, created_at=1752043465), CheckpointOut(metrics=MetricOut(train_loss=0.011085, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=44, created_at=1752043465), CheckpointOut(metrics=MetricOut(train_loss=0.012592, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=43, created_at=1752043452), CheckpointOut(metrics=MetricOut(train_loss=0.010184, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=42, created_at=1752043452), CheckpointOut(metrics=MetricOut(train_loss=0.010861, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=41, created_at=1752043440), CheckpointOut(metrics=MetricOut(train_loss=0.012849, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=40, created_at=1752043440), CheckpointOut(metrics=MetricOut(train_loss=0.011922, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=39, created_at=1752043427), CheckpointOut(metrics=MetricOut(train_loss=0.011363, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=38, created_at=1752043427), CheckpointOut(metrics=MetricOut(train_loss=0.01149, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=37, created_at=1752043415), CheckpointOut(metrics=MetricOut(train_loss=0.011954, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=36, created_at=1752043415), CheckpointOut(metrics=MetricOut(train_loss=0.014921, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=35, created_at=1752043402), CheckpointOut(metrics=MetricOut(train_loss=0.01281, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=34, created_at=1752043402), CheckpointOut(metrics=MetricOut(train_loss=0.015148, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=33, created_at=1752043390), CheckpointOut(metrics=MetricOut(train_loss=0.013306, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=32, created_at=1752043390), CheckpointOut(metrics=MetricOut(train_loss=0.011962, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=31, created_at=1752043377), CheckpointOut(metrics=MetricOut(train_loss=0.015576, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=30, created_at=1752043377), CheckpointOut(metrics=MetricOut(train_loss=0.013281, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=29, created_at=1752043364), CheckpointOut(metrics=MetricOut(train_loss=0.016127, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=28, created_at=1752043364), CheckpointOut(metrics=MetricOut(train_loss=0.016682, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=27, created_at=1752043352), CheckpointOut(metrics=MetricOut(train_loss=0.022796, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=26, created_at=1752043352), CheckpointOut(metrics=MetricOut(train_loss=0.016829, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=25, created_at=1752043339), CheckpointOut(metrics=MetricOut(train_loss=0.021579, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=24, created_at=1752043339), CheckpointOut(metrics=MetricOut(train_loss=0.017825, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=23, created_at=1752043327), CheckpointOut(metrics=MetricOut(train_loss=0.018751, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=22, created_at=1752043327), CheckpointOut(metrics=MetricOut(train_loss=0.021328, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=21, created_at=1752043314), CheckpointOut(metrics=MetricOut(train_loss=0.023594, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=20, created_at=1752043314), CheckpointOut(metrics=MetricOut(train_loss=0.021021, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=19, created_at=1752043302), CheckpointOut(metrics=MetricOut(train_loss=0.022274, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=18, created_at=1752043302), CheckpointOut(metrics=MetricOut(train_loss=0.024297, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=17, created_at=1752043289), CheckpointOut(metrics=MetricOut(train_loss=0.029455, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=16, created_at=1752043289), CheckpointOut(metrics=MetricOut(train_loss=0.02163, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=15, created_at=1752043277), CheckpointOut(metrics=MetricOut(train_loss=0.03258, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=14, created_at=1752043277), CheckpointOut(metrics=MetricOut(train_loss=0.02844, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=13, created_at=1752043264), CheckpointOut(metrics=MetricOut(train_loss=0.033968, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=12, created_at=1752043264), CheckpointOut(metrics=MetricOut(train_loss=0.042879, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=11, created_at=1752043252), CheckpointOut(metrics=MetricOut(train_loss=0.058494, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=10, created_at=1752043252), CheckpointOut(metrics=MetricOut(train_loss=0.077197, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=9, created_at=1752043239), CheckpointOut(metrics=MetricOut(train_loss=0.110066, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=8, created_at=1752043239), CheckpointOut(metrics=MetricOut(train_loss=0.153941, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=7, created_at=1752043227), CheckpointOut(metrics=MetricOut(train_loss=0.209562, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=6, created_at=1752043227), CheckpointOut(metrics=MetricOut(train_loss=0.327292, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=5, created_at=1752043214), CheckpointOut(metrics=MetricOut(train_loss=0.542241, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=4, created_at=1752043214), CheckpointOut(metrics=MetricOut(train_loss=1.104899, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=3, created_at=1752043202), CheckpointOut(metrics=MetricOut(train_loss=1.268538, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=2, created_at=1752043202), CheckpointOut(metrics=MetricOut(train_loss=1.309649, valid_loss=0.0, valid_mean_token_accuracy=0.0), step_number=1, created_at=1752043191)]) 'ft:pixtral-12b-latest:d3417809:20250709:7ddb123c'
file ID: 4b34bbd3-443a-4d46-82e3-356c5f942063 job ID: ebfd09ce-74e0-484a-9ec8-61ef6d6c0d10 Job finished with status SUCCESS
(2000, 2000)
Confusion Matrix:
Classification Report:
precision recall f1-score support
School 0.86 0.84 0.85 70
Farmland 0.85 0.94 0.89 62
Airport 0.87 0.95 0.91 43
BaseballField 0.97 0.96 0.97 78
Resort 0.96 0.91 0.93 70
Viaduct 0.81 0.90 0.85 51
Forest 0.89 0.85 0.87 47
Beach 0.77 0.82 0.79 68
Parking 0.85 0.92 0.89 76
MediumResidential 0.91 0.86 0.89 59
Pond 0.95 0.99 0.97 70
Park 0.96 0.88 0.91 49
Port 0.90 0.84 0.87 73
Meadow 0.90 0.90 0.90 52
BareLand 0.91 0.89 0.90 54
Playground 0.93 1.00 0.96 66
SparseResidential 0.92 0.91 0.92 67
Desert 0.99 0.97 0.98 73
DenseResidential 0.99 0.97 0.98 71
Bridge 0.94 0.96 0.95 80
Square 0.98 0.92 0.95 71
River 0.73 0.81 0.77 47
StorageTanks 0.79 0.83 0.81 54
Commercial 0.93 0.90 0.92 79
Center 0.84 0.73 0.78 59
Stadium 0.98 1.00 0.99 55
Industrial 0.95 0.87 0.91 61
RailwayStation 0.92 0.89 0.91 54
Mountain 0.97 0.94 0.96 70
Church 0.99 1.00 0.99 81
WRONG 0.00 0.00 0.00 0
accuracy 0.91 1910
macro avg 0.88 0.88 0.88 1910
weighted avg 0.91 0.91 0.91 1910
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))
/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1565: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.
_warn_prf(average, modifier, f"{metric.capitalize()} is", len(result))