{
  "fetched_at": "2026-10-24T04:08:04Z",
  "source_url": "https://www.kaggle.com/competitions/ai-training-challenge-1/data",
  "pages": [
    {
      "name": "data-description",
      "content": "The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images.\n\nThe dataset is divided into five training batches and one test batch, each with 10000 images. The test batch contains exactly 1000 randomly-selected images from each class. The training batches contain the remaining images in random order, but some training batches may contain more images from one class than another. Between them, the training batches contain exactly 5000 images from each class.\n\nThe classes in the dataset are \"airplane\", \"automobile\", \"bird\", \"cat\", \"deer\", \"dog\", \"frog\", \"horse\", \"ship\", \"truck\".\t\t\t\t\t\t\t\t\t\t\n\nThe classes are completely mutually exclusive. There is no overlap between automobiles and trucks. \"Automobile\" includes sedans, SUVs, things of that sort. \"Truck\" includes only big trucks. Neither includes pickup trucks.\n\nFor more information please visit https://www.cs.toronto.edu/~kriz/cifar.html\n\nThe Python version of CIFAR-10 dataset is used in this competition and converting the image format is handled in the script \"cifar10_input.py\".\n\n## Files\n\n*   **Dataset** - the folder containing train and test sets\n*   **cifar10_input.py** - the Python script containing functions for converting dataset into image and various data augmentations. The codes are taken from [MadryLab](https://github.com/MadryLab/cifar10_challenge/blob/master/cifar10_input.py)\n*   **model_challenge.py** - the Python script containing functions for defining the Deep Neural Network that should be trained in this challenge\n*   **sample_submission.csv** - a sample submission file in the correct format\n\n## Columns\n\n*   `Id` - the id of the test image.\n*   `Category` - predicted class number of the test image within [0,9]\n\nThe first row in `Id` column is tagged as `Trained_Net_Path` and the first row in `Category` is the url of the pre-trained model in Keras hdf5 format. This data will be used to check the validness of the submission. For further information please look at [Evaluation](https://www.kaggle.com/competitions/ai-training-challenge-1/overview/evaluation) section.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "The current standard approach to deep learning relies on a combination of architectural\nelements including skip connections, normalization layers, and carefully chosen activation\nfunctions (such as RELU) to overcome the well-documented optimization difficulties present\nin traditional deep neural networks [1]. \n\nIn this competiton, we are challenging you to train a Very Deep and Narrow Neural Network without  **skip connections** and **batch normalization** layers on [CIFAR-10](https://www.cs.toronto.edu/~kriz/cifar.html) dataset. The model is constructed as plain network with 103 Convolution layers followed by Global Average Pooling and Fully Connected layers.  The definition of the model is given in `model_challenge.py` file under [Data](https://www.kaggle.com/competitions/ai-training-challenge-1/data) section. We define the model as Narrow since the channel sizes are set to 16 for the first 35 layers,  32 for the next 34 layers and 64 for the last 34 convolutional layers. The detailed description of the model is given in `Model Architecture Details` paragraph at the bottom of this page.\n\n## Why do we want to try eliminating skip connections and batch normalization layers?\nThe aim of this competition is to rethink about the trainability of very deep neural networks and find an answer to the following question. Is it mandatory to use skip connections and batch normalization layers to train an arbitrary very deep neural networks? Skip connections and batch normalization layers made the deep neural networks trainable and became an indispensable part of the current deep neural network architectures. So, why do we want to eliminate these parts, if these approaches have proven very successful? The answer to this question is well summarized in [ 1] as, `without competitive alternatives to compare to, it’s not clear whether the current standard approach enables deep networks to reach their full potential, or whether it has unseen drawbacks and limitations. For example, while the use of skip connections helps very deep networks to train much faster, this might only be because it makes them behave like an ensemble of shallower networks.` Therefore, we hope to find new competitive or even better optimization methods alternative to skip connections and batch normalization layers for training. To enforce developing new optimization methods, we fixed the network architecture and the dataset and search the best classification accuracy in this competition. The details of the evaluation criteria are given in [Evalution](https://www.kaggle.com/competitions/ai-training-challenge-1/overview/evaluation) section.\n\n[1] James Martens, Andy Ballard, Guillaume Desjardins, Grzegorz Swirszcz, Valentin Dalibard, Jascha Sohl-Dickstein, Samuel S. Schoenholz, \"Rapid training of deep neural networks without skip connections or normalization layers using Deep Kernel Shaping\", https://arxiv.org/pdf/2110.01765.pdf \n\n## Model Architecture Details\n\nThe type of the architectural elements, output tensor shapes and the number of parameters at each layer are listed below.\n\n| Layer (type) | Output Shape | Param # |\n| --- | --- | --- |\n| input_1 (InputLayer) | [(None, 32, 32, 3)] | 0 |\n| conv2d (Conv2D) | (None, 32, 32, 16) | 448 |\n| activation (Activation) | (None, 32, 32, 16)  | 0 |\n| conv2d_1 (Conv2D)  | (None, 32, 32, 16) | 2320 |\n| activation_1 (Activation) | (None, 32, 32, 16) | 0 |\n| conv2d_2 (Conv2D) | (None, 32, 32, 16) | 2320 |\n| activation_2 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_3 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_3 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_4 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_4 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_5 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_5 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_6 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_6 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_7 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_7 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_8 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_8 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_9 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_9 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_10 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_10 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_11 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_11 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_12 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_12 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_13 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_13 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_14 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_14 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_15 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_15 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_16 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_16 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_17 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_17 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_18 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_18 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_19 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_19 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_20 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_20 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_21 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_21 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_22 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_22 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_23 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_23 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_24 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_24 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_25 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_25 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_26 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_26 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_27 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_27 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_28 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_28 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_29 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_29 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_30 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_30 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_31 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_31 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_32 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_32 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_33 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_33 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_34 (Conv2D) | (None, 32, 32, 16) | 2320 |      \n| activation_34 (Activation) | (None, 32, 32, 16) | 0 |         \n| conv2d_35 (Conv2D) | (None, 16, 16, 32) | 4640 |      \n| activation_35 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_36 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_36 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_37 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_37 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_38 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_38 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_39 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_39 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_40 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_40 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_41 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_41 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_42 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_42 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_43 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_43 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_44 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_44 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_45 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_45 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_46 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_46 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_47 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_47 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_48 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_48 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_49 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_49 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_50 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_50 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_51 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_51 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_52 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_52 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_53 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_53 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_54 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_54 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_55 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_55 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_56 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_56 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_57 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_57 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_58 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_58 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_59 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_59 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_60 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_60 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_61 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_61 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_62 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_62 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_63 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_63 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_64 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_64 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_65 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_65 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_66 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_66 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_67 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_67 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_68 (Conv2D) | (None, 16, 16, 32) | 9248 |      \n| activation_68 (Activation) | (None, 16, 16, 32) | 0 |         \n| conv2d_69 (Conv2D) | (None, 8, 8, 64) | 18496 |     \n| activation_69 (Activation) | (None, 8, 8, 64) | 0         \n| conv2d_70 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_70 (Activation) | (None, 8, 8, 64) | 0         \n| conv2d_71 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_71 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_72 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_72 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_73 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_73 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_74 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_74 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_75 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_75 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_76 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_76 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_77 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_77 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_78 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_78 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_79 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_79 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_80 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_80 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_81 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_81 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_82 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_82 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_83 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_83 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_84 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_84 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_85 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_85 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_86 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_86 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_87 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_87 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_88 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_88 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_89 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_89 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_90 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_90 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_91 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_91 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_92 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_92 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_93 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_93 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_94 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_94 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_95 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_95 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_96 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_96 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_97 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_97 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_98 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_98 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_99 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_99 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_100 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_100 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_101 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_101 (Activation) | (None, 8, 8, 64) | 0 |         \n| conv2d_102 (Conv2D) | (None, 8, 8, 64) | 36928 |     \n| activation_102 (Activation) | (None, 8, 8, 64) | 0 |         \n| global_average_pooling2d (Gl | (None, 64) | 0 |         \n| dense (Dense) | (None, 10) | 650 |       \n\nTotal params: 1,626,922\nTrainable params: 1,626,922\nNon-trainable params: 0\n\n\n\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "The evaluation metric for this competition is [Categorical Accuracy](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/CategoricalAccuracy), which calculates the percentage of predicted values (yPred) that match with actual values (yTrue) for one-hot labels.\n\nThe [CIFAR-10 dataset](https://www.cs.toronto.edu/~kriz/cifar.html) used in this competition is divided into 10 different classes and there are 50000 images for training and 10000 images for testing. The ground truth labels are available for both train and test sets and automatic scoring metric in this competition can only measure how accurately you predict the ground truth labels for test dataset from your submissions. Therefore, 100% accuracy can be reached by just submitting ground truth labels. For discouraging this unfair submissions, we want you to make submissions by using the [challenge\\_test\\_Keras](https://www.kaggle.com/code/maktas/challenge-test-keras) notebook publicly available. This notebook simply downloads your pre-trained network from a given url in Keras hdf5 format and evaluate the accuracy of your model and create the submission file. You just need to change the `url` assignment line at the end of the second code cell in this notebook. If you store your trained model in Goggle Drive, please ensure that you give the direct link instead of shared link. You can use [Google Drive Direct Link Generater](https://sites.google.com/site/gdocs2direct/) to convert the shared link into direct url link to use in the challenge\\_test\\_Keras notebook.\n\n## Submission Format\n\nSubmission file should contain two columns: `Id` and `Category`. The first row in Id column is tagged as `Trained_Net_Path` and the first row in Category column is the url of your trained model in Keras hdf5 format. Starting from second row, `Id` column should contain the number of image in test set and `Category` column should contain the corresponding predicted label within [0-9] obtained from your trained model output. \n\nThe url given in your submission will be used to check the validness of your submission. We will run the [challenge\\_test\\_Keras](https://www.kaggle.com/code/maktas/challenge-test-keras) notebook with the given url in your submission file and get the actual score for your submission. If there is any mismatch, we will regretfully invalidate your submission. We encourage all the participants to submit directly the output of their trained model in inference mode, instead of submitting known ground truth labels.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "##One account per participant\n\nYou cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.\n\n##No private sharing outside teams\n\nPrivately sharing code or data outside of teams is not permitted. It's okay to share code if made available to all participants on the forums.\n\n##Team Mergers\n\nTeam mergers are allowed and can be performed by the team leader. In order to merge, the combined team must have a total submission count less than or equal to the maximum allowed as of the Team Merger Deadline. The maximum allowed is the number of submissions per day multiplied by the number of days the competition has been running.\n\n##Submission Limits\n\nYou may submit a maximum of 5 entries per day.\n\nYou may select up to 2 final submissions for judging.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Templates",
      "content": "This competition is a challenge to train a given neural network, without any modification at least in inference mode. You are free to use any data augmentation methods and optimization tricks to obtain the best accuracies, but it is forbidden to modify any part of the original model architecture. For that reason, we shared the Python scripts to define the model architecture and training and testing templates. The paths and descriptions of these scripts are given as follows.\n\n- [challenge\\_train\\_template\\_TF2\\_Keras](https://www.kaggle.com/code/maktas/challenge-train-template-tf2-keras): This notebook contains the general training pipeline for CIFAR-10 dataset written in Tensorflow 2.X with Keras backend. The trained model weights are saved in Keras hdf5 format.\n- [challenge\\_train\\_template\\_TF2](https://www.kaggle.com/code/maktas/challenge-train-template-tf2): This notebook contains the general training pipeline for CIFAR-10 dataset written in Tensorflow 2.X without Keras backend. The trained model weights are saved in Keras hdf5 format.\n- [challenge\\_train\\_template\\_TF1](https://www.kaggle.com/code/maktas/challenge-train-template-tf1): This notebook contains the general training pipeline for CIFAR-10 dataset written in Tensorflow 1.X without Keras backend. The trained model weights are saved first in Tensorflow 1.X checkpoint format and then converted into Keras hdf5 format.\n- [challenge\\_test\\_Keras](https://www.kaggle.com/code/maktas/challenge-test-keras): This notebook downloads the pre-trained model from a given url and then create submission file and report the measured  test accuracy.\n\nThe first three notebooks give you a starting point to create your own training pipeline with your favoured framework. You should modify the losses, optimization methods and may be constraints in the training part of these templates to get your best result. The last notebook can be used to generate a submission.csv file and get the test accuracy of your trained model.\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}