Bhairav Pardiwala
Published

Machine Learning with Windows 10 IoT Core

Use machine learning with IoT to identify and connect with common scenarios in life (for example, webcam-based door security).

AdvancedShowcase (no instructions)16 hours6,751
Machine Learning with Windows 10 IoT Core

Things used in this project

Hardware components

logitech webcam c210
×1
nvidia GPU gtx 750TI
×1
Raspberry Pi 2 Model B
Raspberry Pi 2 Model B
×1

Software apps and online services

Visual Studio 2015
Microsoft Visual Studio 2015
Windows 10 IoT Core
Microsoft Windows 10 IoT Core
Microsoft CNTK
Virtual DUB
VLC

Story

Read more

Code

Asp.Net Back end api Code

C#
The Aps.net Backend Api code thhat allows IOT app to upload a photo to it
  //http://localhost:63838/api/Door/UploadFiles
        [HttpPost()]
        public String UploadFiles()
        {
            int iUploadedCnt = 0;

            
            // DEFINE THE PATH WHERE WE WANT TO SAVE THE FILES.
            string sPath = "";

            String randomfilename = Guid.NewGuid().ToString();
            String randomoutputname = Guid.NewGuid().ToString();
            sPath = System.Web.Hosting.HostingEnvironment.MapPath("~/tempstorage/");

            System.Web.HttpFileCollection httpfilecollection = System.Web.HttpContext.Current.Request.Files;

          
            int iCnt = 0;
                System.Web.HttpPostedFile hpf = httpfilecollection[iCnt];

                if (hpf.ContentLength > 0)
                {
                   
                    if (!File.Exists(sPath + randomfilename))
                    {
                       
                        hpf.SaveAs(sPath + randomfilename);

                   

                    System.Diagnostics.Process process = new System.Diagnostics.Process();
                    process.StartInfo.FileName = "iotcheck";
                    process.StartInfo.WorkingDirectory = @"C:\iotcheck";

                    process.StartInfo.Arguments = @""""+sPath + randomoutputname +@""""+" "+ @""""+sPath + randomfilename+@"""";
                   
                    process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    process.Start();
                    process.WaitForExit();
                    while (!process.HasExited)
                    {
                        Thread.Sleep(500);
                    }

                   

                    String returnStr= File.ReadLines(sPath + randomoutputname).First();

                    File.Delete(sPath + randomoutputname);
                    File.Delete(sPath + randomfilename);

                    return returnStr;

                    //   test=Utility.EvaluationSingleImage(CNTK.DeviceDescriptor.DefaultDevice());


                }
                }
            


            // RETURN A MESSAGE (OPTIONAL).
            if (iUploadedCnt > 0)
            {
                return "invalid";
            }
            else
            {
                return "Please upload a file to this api";
            }
        }

Console app code

C#
The actual console app called with 2 arguments ["output file name" "input file name"]
This is the actual app that checks that the scene given corresponds to what trained value
 class Program
    {
        static void Main(string[] args)
        {
            if(args.Length==2)
            {
               List<ValPerc> output= EvaluationSingleImage(DeviceDescriptor.DefaultDevice(), args[1]);

                ValPerc actualVal = null;
                double maxperc=0;
                foreach(var item in output)
                {
                    if(Convert.ToDouble(item.percent)>maxperc)
                    {
                        maxperc = (Convert.ToDouble(item.percent));
                        actualVal = item;
                    }
                }
                if(actualVal!=null)
                {
                    OutputFile(args[0], actualVal.val);
                }
                else
                {
                    OutputFile(args[0], "invalid");
                }

            }
            else
            {
                OutputFile(args[0], "invalid params");
            }

        }
        public static void OutputFile(String filename,String message)
        {
            using (StreamWriter outputFile = new StreamWriter(filename))
            {
                    outputFile.WriteLine(message);
            }
        }
        public static List<valperc> EvaluationSingleImage(DeviceDescriptor device,String fileName)
        {
            const string outputName = "z";
            var inputDataMap = new Dictionary<Variable, Value>();

            // Load the model.
            Function modelFunc = Function.LoadModel(@"C:\local\cntk\Tutorials\ImageHandsOn\Models\cifar10.cmf", device);

            // Get output variable based on name
            Variable outputVar = modelFunc.Outputs.Where(variable => string.Equals(variable.Name, outputName)).Single();

            // Get input variable. The model has only one single input.
            // The same way described above for output variable can be used here to get input variable by name.
            Variable inputVar = modelFunc.Arguments.First();
            var outputDataMap = new Dictionary<Variable, Value>();
            Value inputVal, outputVal;
            List<List<float>> outputBuffer;

            // Get shape data for the input variable
            NDShape inputShape = inputVar.Shape;
            uint imageWidth = inputShape[0];
            uint imageHeight = inputShape[1];
            uint imageChannels = inputShape[2];
            uint imageSize = inputShape.TotalSize;

            Console.WriteLine("Evaluate single image");

            // Image preprocessing to match input requirements of the model.
            Bitmap bmp = new Bitmap(Bitmap.FromFile(fileName));
            var resized = bmp.Resize((int)imageWidth, (int)imageHeight, true);
            List<float> resizedCHW = resized.ParallelExtractCHW();

            // Create input data map
            inputVal = Value.CreateBatch(inputVar.Shape, resizedCHW, device);
            inputDataMap.Add(inputVar, inputVal);

            // Create ouput data map. Using null as Value to indicate using system allocated memory.
            // Alternatively, create a Value object and add it to the data map.
            outputDataMap.Add(outputVar, null);

            // Start evaluation on the device
            modelFunc.Evaluate(inputDataMap, outputDataMap, device);

            // Get evaluate result as dense output
            outputBuffer = new List<List<float>>();
            outputVal = outputDataMap[outputVar];
            outputVal.CopyVariableValueTo(outputVar, outputBuffer);
            var s = PrintOutput(outputVar.Shape.TotalSize, outputBuffer);
            return s;

        }
        private static List<ValPerc> PrintOutput<T>(uint sampleSize, List<List<T>> outputBuffer)
        {
            Console.WriteLine("The number of sequences in the batch: " + outputBuffer.Count);
            int seqNo = 0;
            uint outputSampleSize = sampleSize;

            System.Collections.Generic.List<ValPerc> listOfOutputs = new System.Collections.Generic.List<ValPerc>();


            foreach (var seq in outputBuffer)
            {
                Console.WriteLine(String.Format("Sequence {0} contains {1} samples.", seqNo++, seq.Count / outputSampleSize));
                uint i = 0;
                uint sampleNo = 0;

                uint cnt = 0;
                foreach (var element in seq)
                {

                    if (i++ % outputSampleSize == 0)
                    {
                        Console.Write(String.Format("    sample {0}: ", sampleNo));
                    }

                    String val = "";
                    switch (cnt)
                    {
                        case 0:
                          //  val = "airplane";
                            val = "closed";
                            break;
                        case 1:
                          //  val = "automobile";
                            val = "open";
                            break;
                        case 2:
                        //not used this is used for cifr 10 example
                            val = "bird";
                            break;
                        case 3:
                        //   //not used this is used for cifr 10 example
                            val = "cat";
                            break;
                        case 4:
                        //   //not used this is used for cifr 10 example
                            val = "deer";
                            break;
                        case 5:
                        //   //not used this is used for cifr 10 example
                            val = "dog";
                            break;
                        case 6:
                           //not used this is used for cifr 10 example
                            val = "frog";
                            break;
                        case 7:
                           //not used this is used for cifr 10 example
                            val = "horse";
                            break;
                        case 8:
                           //not used this is used for cifr 10 example
                            val = "ship";
                            break;

                        case 9:
                           //not used this is used for cifr 10 example
                            val = "truck";
                            break;

                    }

                    listOfOutputs.Add(new ValPerc { percent = element.ToString(), val = val });
                    Console.Write(element);
                    if (i % outputSampleSize == 0)
                    {
                        Console.WriteLine(".");
                        sampleNo++;
                    }
                    else
                    {
                        Console.Write(",");
                    }
                    cnt += 1;
                }

            }
            return listOfOutputs;



        }
    }

Model for class

C#
The model that Console app uses
 public class ValPerc
    {
        public string val { get; set; }
        public string percent{get;set;}
    }

Sample code i used to generate the label set for the files

C#
This is sample WPF app code that i sued to generate the training set labels
 //String s = @"cifar-10-batches-py\data\train\closednumb.png	0"+Environment.NewLine;
            String s = @"cifar-10-batches-py\data\train\opennumb.png	1" + Environment.NewLine;
            String test = "";
            for(int i=0;i<2876;i++) //2876 is the last frame for the video file 
            {
                test += s.Replace("numb", i.ToString("D6")); //giving it padding
            }
            //000000
            Clipboard.SetText(test);

Trainmap .txt

Plain text
CNTK sample file i had given
Notice the label at the end of the line
0 stands of closed
1 stands for open
cifar-10-batches-py\data\train\closed000000.png is path of file
cifar-10-batches-py\data\train\closed000000.png	0
cifar-10-batches-py\data\train\closed000001.png	0
cifar-10-batches-py\data\train\closed000002.png	0
cifar-10-batches-py\data\train\closed000003.png	0
cifar-10-batches-py\data\train\closed000004.png	0
cifar-10-batches-py\data\train\closed000005.png	0
cifar-10-batches-py\data\train\closed000006.png	0
cifar-10-batches-py\data\train\closed000007.png	0
cifar-10-batches-py\data\train\closed000008.png	0
cifar-10-batches-py\data\train\closed000009.png	0
cifar-10-batches-py\data\train\closed000010.png	0
cifar-10-batches-py\data\train\closed000011.png	0
cifar-10-batches-py\data\train\closed000012.png	0
cifar-10-batches-py\data\train\closed000013.png	0
cifar-10-batches-py\data\train\closed000014.png	0
cifar-10-batches-py\data\train\closed000015.png	0
cifar-10-batches-py\data\train\closed000016.png	0
cifar-10-batches-py\data\train\closed000017.png	0
cifar-10-batches-py\data\train\closed000018.png	0
cifar-10-batches-py\data\train\closed000019.png	0
cifar-10-batches-py\data\train\closed000020.png	0
cifar-10-batches-py\data\train\closed000021.png	0
cifar-10-batches-py\data\train\closed000022.png	0
cifar-10-batches-py\data\train\closed000023.png	0
cifar-10-batches-py\data\train\closed000024.png	0
cifar-10-batches-py\data\train\closed000025.png	0
cifar-10-batches-py\data\train\closed000026.png	0
cifar-10-batches-py\data\train\closed000027.png	0
cifar-10-batches-py\data\train\closed000028.png	0
cifar-10-batches-py\data\train\closed000029.png	0
cifar-10-batches-py\data\train\closed000030.png	0
cifar-10-batches-py\data\train\closed000031.png	0
cifar-10-batches-py\data\train\closed000032.png	0
cifar-10-batches-py\data\train\closed000033.png	0
cifar-10-batches-py\data\train\closed000034.png	0
cifar-10-batches-py\data\train\closed000035.png	0
cifar-10-batches-py\data\train\closed000036.png	0
cifar-10-batches-py\data\train\closed000037.png	0
cifar-10-batches-py\data\train\closed000038.png	0
cifar-10-batches-py\data\train\closed000039.png	0
cifar-10-batches-py\data\train\closed000040.png	0
cifar-10-batches-py\data\train\closed000041.png	0
cifar-10-batches-py\data\train\closed000042.png	0
cifar-10-batches-py\data\train\closed000043.png	0
cifar-10-batches-py\data\train\closed000044.png	0
cifar-10-batches-py\data\train\closed000045.png	0
cifar-10-batches-py\data\train\closed000046.png	0
cifar-10-batches-py\data\train\closed000047.png	0
cifar-10-batches-py\data\train\closed000048.png	0
cifar-10-batches-py\data\train\closed000049.png	0
cifar-10-batches-py\data\train\closed000050.png	0
cifar-10-batches-py\data\train\closed000051.png	0
cifar-10-batches-py\data\train\closed000052.png	0
cifar-10-batches-py\data\train\closed000053.png	0
cifar-10-batches-py\data\train\closed000054.png	0
cifar-10-batches-py\data\train\closed000055.png	0
cifar-10-batches-py\data\train\closed000056.png	0
cifar-10-batches-py\data\train\closed000057.png	0
cifar-10-batches-py\data\train\closed000058.png	0
cifar-10-batches-py\data\train\closed000059.png	0
cifar-10-batches-py\data\train\closed000060.png	0
cifar-10-batches-py\data\train\closed000061.png	0
cifar-10-batches-py\data\train\closed000062.png	0
cifar-10-batches-py\data\train\closed000063.png	0
cifar-10-batches-py\data\train\closed000064.png	0
cifar-10-batches-py\data\train\closed000065.png	0
cifar-10-batches-py\data\train\closed000066.png	0
cifar-10-batches-py\data\train\closed000067.png	0
cifar-10-batches-py\data\train\closed000068.png	0
cifar-10-batches-py\data\train\closed000069.png	0
cifar-10-batches-py\data\train\closed000070.png	0
cifar-10-batches-py\data\train\closed000071.png	0
cifar-10-batches-py\data\train\closed000072.png	0
cifar-10-batches-py\data\train\closed000073.png	0
cifar-10-batches-py\data\train\closed000074.png	0
cifar-10-batches-py\data\train\closed000075.png	0
cifar-10-batches-py\data\train\closed000076.png	0
cifar-10-batches-py\data\train\closed000077.png	0
cifar-10-batches-py\data\train\closed000078.png	0
cifar-10-batches-py\data\train\closed000079.png	0
cifar-10-batches-py\data\train\closed000080.png	0
cifar-10-batches-py\data\train\closed000081.png	0
cifar-10-batches-py\data\train\closed000082.png	0
cifar-10-batches-py\data\train\closed000083.png	0
cifar-10-batches-py\data\train\closed000084.png	0
cifar-10-batches-py\data\train\closed000085.png	0
cifar-10-batches-py\data\train\closed000086.png	0
cifar-10-batches-py\data\train\closed000087.png	0
cifar-10-batches-py\data\train\closed000088.png	0
cifar-10-batches-py\data\train\closed000089.png	0
cifar-10-batches-py\data\train\closed000090.png	0
cifar-10-batches-py\data\train\closed000091.png	0
cifar-10-batches-py\data\train\closed000092.png	0
cifar-10-batches-py\data\train\closed000093.png	0
cifar-10-batches-py\data\train\closed000094.png	0
cifar-10-batches-py\data\train\closed000095.png	0
cifar-10-batches-py\data\train\closed000096.png	0
cifar-10-batches-py\data\train\closed000097.png	0
cifar-10-batches-py\data\train\closed000098.png	0
cifar-10-batches-py\data\train\closed000099.png	0
cifar-10-batches-py\data\train\closed000100.png	0
cifar-10-batches-py\data\train\closed000101.png	0
cifar-10-batches-py\data\train\closed000102.png	0
cifar-10-batches-py\data\train\closed000103.png	0
cifar-10-batches-py\data\train\closed000104.png	0
cifar-10-batches-py\data\train\closed000105.png	0
cifar-10-batches-py\data\train\closed000106.png	0
cifar-10-batches-py\data\train\closed000107.png	0
cifar-10-batches-py\data\train\closed000108.png	0
cifar-10-batches-py\data\train\closed000109.png	0
cifar-10-batches-py\data\train\closed000110.png	0
cifar-10-batches-py\data\train\closed000111.png	0
cifar-10-batches-py\data\train\closed000112.png	0
cifar-10-batches-py\data\train\closed000113.png	0
cifar-10-batches-py\data\train\closed000114.png	0
cifar-10-batches-py\data\train\closed000115.png	0
cifar-10-batches-py\data\train\closed000116.png	0
cifar-10-batches-py\data\train\closed000117.png	0
cifar-10-batches-py\data\train\closed000118.png	0
cifar-10-batches-py\data\train\closed000119.png	0
cifar-10-batches-py\data\train\closed000120.png	0
cifar-10-batches-py\data\train\closed000121.png	0
cifar-10-batches-py\data\train\closed000122.png	0
cifar-10-batches-py\data\train\closed000123.png	0
cifar-10-batches-py\data\train\closed000124.png	0
cifar-10-batches-py\data\train\closed000125.png	0
cifar-10-batches-py\data\train\closed000126.png	0
cifar-10-batches-py\data\train\closed000127.png	0
cifar-10-batches-py\data\train\closed000128.png	0
cifar-10-batches-py\data\train\closed000129.png	0
cifar-10-batches-py\data\train\closed000130.png	0
cifar-10-batches-py\data\train\closed000131.png	0
cifar-10-batches-py\data\train\closed000132.png	0
cifar-10-batches-py\data\train\closed000133.png	0
cifar-10-batches-py\data\train\closed000134.png	0
cifar-10-batches-py\data\train\closed000135.png	0
cifar-10-batches-py\data\train\closed000136.png	0
cifar-10-batches-py\data\train\closed000137.png	0
cifar-10-batches-py\data\train\closed000138.png	0
cifar-10-batches-py\data\train\closed000139.png	0
cifar-10-batches-py\data\train\closed000140.png	0
cifar-10-batches-py\data\train\closed000141.png	0
cifar-10-batches-py\data\train\closed000142.png	0
cifar-10-batches-py\data\train\closed000143.png	0
cifar-10-batches-py\data\train\closed000144.png	0
cifar-10-batches-py\data\train\closed000145.png	0
cifar-10-batches-py\data\train\closed000146.png	0
cifar-10-batches-py\data\train\closed000147.png	0
cifar-10-batches-py\data\train\closed000148.png	0
cifar-10-batches-py\data\train\closed000149.png	0
cifar-10-batches-py\data\train\closed000150.png	0
cifar-10-batches-py\data\train\closed000151.png	0
cifar-10-batches-py\data\train\closed000152.png	0
cifar-10-batches-py\data\train\closed000153.png	0
cifar-10-batches-py\data\train\closed000154.png	0
cifar-10-batches-py\data\train\closed000155.png	0
cifar-10-batches-py\data\train\closed000156.png	0
cifar-10-batches-py\data\train\closed000157.png	0
cifar-10-batches-py\data\train\closed000158.png	0
cifar-10-batches-py\data\train\closed000159.png	0
cifar-10-batches-py\data\train\closed000160.png	0
cifar-10-batches-py\data\train\closed000161.png	0
cifar-10-batches-py\data\train\closed000162.png	0
cifar-10-batches-py\data\train\closed000163.png	0
cifar-10-batches-py\data\train\closed000164.png	0
cifar-10-batches-py\data\train\closed000165.png	0
cifar-10-batches-py\data\train\closed000166.png	0
cifar-10-batches-py\data\train\closed000167.png	0
cifar-10-batches-py\data\train\closed000168.png	0
cifar-10-batches-py\data\train\closed000169.png	0
cifar-10-batches-py\data\train\closed000170.png	0
cifar-10-batches-py\data\train\closed000171.png	0
cifar-10-batches-py\data\train\closed000172.png	0
cifar-10-batches-py\data\train\closed000173.png	0
cifar-10-batches-py\data\train\closed000174.png	0
cifar-10-batches-py\data\train\closed000175.png	0
cifar-10-batches-py\data\train\closed000176.png	0
cifar-10-batches-py\data\train\closed000177.png	0
cifar-10-batches-py\data\train\closed000178.png	0
cifar-10-batches-py\data\train\closed000179.png	0
cifar-10-batches-py\data\train\closed000180.png	0
cifar-10-batches-py\data\train\closed000181.png	0
cifar-10-batches-py\data\train\closed000182.png	0
cifar-10-batches-py\data\train\closed000183.png	0
cifar-10-batches-py\data\train\closed000184.png	0
cifar-10-batches-py\data\train\closed000185.png	0
cifar-10-batches-py\data\train\closed000186.png	0
cifar-10-batches-py\data\train\closed000187.png	0
cifar-10-batches-py\data\train\closed000188.png	0
cifar-10-batches-py\data\train\closed000189.png	0
cifar-10-batches-py\data\train\closed000190.png	0
cifar-10-batches-py\data\train\closed000191.png	0
cifar-10-batches-py\data\train\closed000192.png	0
cifar-10-batches-py\data\train\closed000193.png	0
cifar-10-batches-py\data\train\closed000194.png	0
cifar-10-batches-py\data\train\closed000195.png	0
cifar-10-batches-py\data\train\closed000196.png	0
cifar-10-batches-py\data\train\closed000197.png	0
cifar-10-batches-py\data\train\closed000198.png	0
cifar-10-batches-py\data\train\closed000199.png	0
cifar-10-batches-py\data\train\closed000200.png	0
cifar-10-batches-py\data\train\closed000201.png	0
cifar-10-batches-py\data\train\closed000202.png	0
cifar-10-batches-py\data\train\closed000203.png	0
cifar-10-batches-py\data\train\closed000204.png	0
cifar-10-batches-py\data\train\closed000205.png	0
cifar-10-batches-py\data\train\closed000206.png	0
cifar-10-batches-py\data\train\closed000207.png	0
cifar-10-batches-py\data\train\closed000208.png	0
cifar-10-batches-py\data\train\closed000209.png	0
cifar-10-batches-py\data\train\closed000210.png	0
cifar-10-batches-py\data\train\closed000211.png	0
cifar-10-batches-py\data\train\closed000212.png	0
cifar-10-batches-py\data\train\closed000213.png	0
cifar-10-batches-py\data\train\closed000214.png	0
cifar-10-batches-py\data\train\closed000215.png	0
cifar-10-batches-py\data\train\closed000216.png	0
cifar-10-batches-py\data\train\closed000217.png	0
cifar-10-batches-py\data\train\closed000218.png	0
cifar-10-batches-py\data\train\closed000219.png	0
cifar-10-batches-py\data\train\closed000220.png	0
cifar-10-batches-py\data\train\closed000221.png	0
cifar-10-batches-py\data\train\closed000222.png	0
cifar-10-batches-py\data\train\closed000223.png	0
cifar-10-batches-py\data\train\closed000248.png	0
cifar-10-batches-py\data\train\closed000249.png	0
cifar-10-batches-py\data\train\closed000250.png	0
cifar-10-batches-py\data\train\closed000251.png	0
cifar-10-batches-py\data\train\closed000252.png	0
cifar-10-batches-py\data\train\closed000253.png	0
cifar-10-batches-py\data\train\closed000254.png	0
cifar-10-batches-py\data\train\closed000255.png	0
cifar-10-batches-py\data\train\closed000256.png	0
cifar-10-batches-py\data\train\closed000257.png	0
cifar-10-batches-py\data\train\closed000258.png	0
cifar-10-batches-py\data\train\closed000259.png	0
cifar-10-batches-py\data\train\closed000260.png	0
cifar-10-batches-py\data\train\closed000261.png	0
cifar-10-batches-py\data\train\closed000262.png	0
cifar-10-batches-py\data\train\closed000263.png	0
cifar-10-batches-py\data\train\closed000264.png	0
cifar-10-batches-py\data\train\closed000265.png	0
cifar-10-batches-py\data\train\closed000266.png	0
cifar-10-batches-py\data\train\closed000267.png	0
cifar-10-batches-py\data\train\closed000268.png	0
cifar-10-batches-py\data\train\closed000269.png	0
cifar-10-batches-py\data\train\closed000270.png	0
cifar-10-batches-py\data\train\closed000271.png	0
cifar-10-batches-py\data\train\closed000272.png	0
cifar-10-batches-py\data\train\closed000273.png	0
cifar-10-batches-py\data\train\closed000274.png	0
cifar-10-batches-py\data\train\closed000275.png	0
cifar-10-batches-py\data\train\closed000276.png	0
cifar-10-batches-py\data\train\closed000277.png	0
cifar-10-batches-py\data\train\closed000278.png	0
cifar-10-batches-py\data\train\closed000279.png	0
cifar-10-batches-py\data\train\closed000280.png	0
cifar-10-batches-py\data\train\closed000281.png	0
cifar-10-batches-py\data\train\closed000282.png	0
cifar-10-batches-py\data\train\closed000283.png	0
cifar-10-batches-py\data\train\closed000284.png	0
cifar-10-batches-py\data\train\closed000285.png	0
cifar-10-batches-py\data\train\closed000286.png	0
cifar-10-batches-py\data\train\closed000287.png	0
cifar-10-batches-py\data\train\closed000288.png	0
cifar-10-batches-py\data\train\closed000289.png	0
cifar-10-batches-py\data\train\closed000290.png	0
cifar-10-batches-py\data\train\closed000291.png	0
cifar-10-batches-py\data\train\closed000292.png	0
cifar-10-batches-py\data\train\closed000293.png	0
cifar-10-batches-py\data\train\closed000294.png	0
cifar-10-batches-py\data\train\closed000295.png	0
cifar-10-batches-py\data\train\closed000296.png	0
cifar-10-batches-py\data\train\closed000297.png	0
cifar-10-batches-py\data\train\closed000298.png	0
cifar-10-batches-py\data\train\closed000299.png	0
cifar-10-batches-py\data\train\closed000300.png	0
cifar-10-batches-py\data\train\closed000301.png	0
cifar-10-batches-py\data\train\closed000302.png	0
cifar-10-batches-py\data\train\closed000303.png	0
cifar-10-batches-py\data\train\closed000304.png	0
cifar-10-batches-py\data\train\closed000305.png	0
cifar-10-batches-py\data\train\closed000306.png	0
cifar-10-batches-py\data\train\closed000307.png	0
cifar-10-batches-py\data\train\closed000308.png	0
cifar-10-batches-py\data\train\closed000309.png	0
cifar-10-batches-py\data\train\closed000310.png	0
cifar-10-batches-py\data\train\closed000311.png	0
cifar-10-batches-py\data\train\closed000312.png	0
cifar-10-batches-py\data\train\closed000313.png	0
cifar-10-batches-py\data\train\closed000314.png	0
cifar-10-batches-py\data\train\closed000315.png	0
cifar-10-batches-py\data\train\closed000316.png	0
cifar-10-batches-py\data\train\closed000317.png	0
cifar-10-batches-py\data\train\closed000318.png	0
cifar-10-batches-py\data\train\closed000319.png	0
cifar-10-batches-py\data\train\closed000320.png	0
cifar-10-batches-py\data\train\closed000321.png	0
cifar-10-batches-py\data\train\closed000322.png	0
cifar-10-batches-py\data\train\closed000323.png	0
cifar-10-batches-py\data\train\closed000324.png	0
cifar-10-batches-py\data\train\closed000325.png	0
cifar-10-batches-py\data\train\closed000326.png	0
cifar-10-batches-py\data\train\closed000327.png	0
cifar-10-batches-py\data\train\closed000328.png	0
cifar-10-batches-py\data\train\closed000329.png	0
cifar-10-batches-py\data\train\closed000330.png	0
cifar-10-batches-py\data\train\closed000331.png	0
cifar-10-batches-py\data\train\closed000332.png	0
cifar-10-batches-py\data\train\closed000333.png	0
cifar-10-batches-py\data\train\closed000334.png	0
cifar-10-batches-py\data\train\closed000335.png	0
cifar-10-batches-py\data\train\closed000336.png	0
cifar-10-batches-py\data\train\closed000337.png	0
cifar-10-batches-py\data\train\closed000338.png	0
cifar-10-batches-py\data\train\closed000339.png	0
cifar-10-batches-py\data\train\closed000340.png	0
cifar-10-batches-py\data\train\closed000341.png	0
cifar-10-batches-py\data\train\closed000342.png	0
cifar-10-batches-py\data\train\closed000343.png	0
cifar-10-batches-py\data\train\closed000344.png	0
cifar-10-batches-py\data\train\closed000345.png	0
cifar-10-batches-py\data\train\closed000346.png	0
cifar-10-batches-py\data\train\closed000347.png	0
cifar-10-batches-py\data\train\closed000348.png	0
cifar-10-batches-py\data\train\closed000349.png	0
cifar-10-batches-py\data\train\closed000350.png	0
cifar-10-batches-py\data\train\closed000351.png	0
cifar-10-batches-py\data\train\closed000352.png	0
cifar-10-batches-py\data\train\closed000353.png	0
cifar-10-batches-py\data\train\closed000354.png	0
cifar-10-batches-py\data\train\closed000355.png	0
cifar-10-batches-py\data\train\closed000356.png	0
cifar-10-batches-py\data\train\closed000357.png	0
cifar-10-batches-py\data\train\closed000358.png	0
cifar-10-batches-py\data\train\closed000359.png	0
cifar-10-batches-py\data\train\closed000360.png	0
cifar-10-batches-py\data\train\closed000361.png	0
cifar-10-batches-py\data\train\closed000362.png	0
cifar-10-batches-py\data\train\closed000363.png	0
cifar-10-batches-py\data\train\closed000364.png	0
cifar-10-batches-py\data\train\closed000365.png	0
cifar-10-batches-py\data\train\closed000366.png	0
cifar-10-batches-py\data\train\closed000367.png	0
cifar-10-batches-py\data\train\closed000368.png	0
cifar-10-batches-py\data\train\closed000369.png	0
cifar-10-batches-py\data\train\closed000370.png	0
cifar-10-batches-py\data\train\closed000371.png	0
cifar-10-batches-py\data\train\closed000372.png	0
cifar-10-batches-py\data\train\closed000373.png	0
cifar-10-batches-py\data\train\closed000374.png	0
cifar-10-batches-py\data\train\closed000375.png	0
cifar-10-batches-py\data\train\closed000376.png	0
cifar-10-batches-py\data\train\closed000377.png	0
cifar-10-batches-py\data\train\closed000378.png	0
cifar-10-batches-py\data\train\closed000379.png	0
cifar-10-batches-py\data\train\closed000380.png	0
cifar-10-batches-py\data\train\closed000381.png	0
cifar-10-batches-py\data\train\closed000382.png	0
cifar-10-batches-py\data\train\closed000383.png	0
cifar-10-batches-py\data\train\closed000384.png	0
cifar-10-batches-py\data\train\closed000385.png	0
cifar-10-batches-py\data\train\closed000386.png	0
cifar-10-batches-py\data\train\closed000387.png	0
cifar-10-batches-py\data\train\closed000388.png	0
cifar-10-batches-py\data\train\closed000389.png	0
cifar-10-batches-py\data\train\closed000390.png	0
cifar-10-batches-py\data\train\closed000391.png	0
cifar-10-batches-py\data\train\closed000392.png	0
cifar-10-batches-py\data\train\closed000393.png	0
cifar-10-batches-py\data\train\closed000394.png	0
cifar-10-batches-py\data\train\closed000395.png	0
cifar-10-batches-py\data\train\closed000396.png	0
cifar-10-batches-py\data\train\closed000397.png	0
cifar-10-batches-py\data\train\closed000398.png	0
cifar-10-batches-py\data\train\closed000399.png	0
cifar-10-batches-py\data\train\closed000400.png	0
cifar-10-batches-py\data\train\closed000401.png	0
cifar-10-batches-py\data\train\closed000402.png	0
cifar-10-batches-py\data\train\closed000403.png	0
cifar-10-batches-py\data\train\closed000404.png	0
cifar-10-batches-py\data\train\closed000405.png	0
cifar-10-batches-py\data\train\closed000406.png	0
cifar-10-batches-py\data\train\closed000407.png	0
cifar-10-batches-py\data\train\closed000408.png	0
cifar-10-batches-py\data\train\closed000409.png	0
cifar-10-batches-py\data\train\closed000410.png	0
cifar-10-batches-py\data\train\closed000411.png	0
cifar-10-batches-py\data\train\closed000412.png	0
cifar-10-batches-py\data\train\closed000413.png	0
cifar-10-batches-py\data\train\closed000414.png	0
cifar-10-batches-py\data\train\closed000415.png	0
cifar-10-batches-py\data\train\closed000416.png	0
cifar-10-batches-py\data\train\closed000417.png	0
cifar-10-batches-py\data\train\closed000418.png	0
cifar-10-batches-py\data\train\closed000419.png	0
cifar-10-batches-py\data\train\closed000420.png	0
cifar-10-batches-py\data\train\closed000421.png	0
cifar-10-batches-py\data\train\closed000422.png	0
cifar-10-batches-py\data\train\closed000423.png	0
cifar-10-batches-py\data\train\closed000424.png	0
cifar-10-batches-py\data\train\closed000425.png	0
cifar-10-batches-py\data\train\closed000426.png	0
cifar-10-batches-py\data\train\closed000427.png	0
cifar-10-batches-py\data\train\closed000428.png	0
cifar-10-batches-py\data\train\closed000429.png	0
cifar-10-batches-py\data\train\closed000430.png	0
cifar-10-batches-py\data\train\closed000431.png	0
cifar-10-batches-py\data\train\closed000432.png	0
cifar-10-batches-py\data\train\closed000433.png	0
cifar-10-batches-py\data\train\closed000434.png	0
cifar-10-batches-py\data\train\closed000435.png	0
cifar-10-batches-py\data\train\closed000436.png	0
cifar-10-batches-py\data\train\closed000437.png	0
cifar-10-batches-py\data\train\closed000438.png	0
cifar-10-batches-py\data\train\closed000439.png	0
cifar-10-batches-py\data\train\closed000440.png	0
cifar-10-batches-py\data\train\closed000441.png	0
cifar-10-batches-py\data\train\closed000442.png	0
cifar-10-batches-py\data\train\closed000443.png	0
cifar-10-batches-py\data\train\closed000444.png	0
cifar-10-batches-py\data\train\closed000445.png	0
cifar-10-batches-py\data\train\closed000446.png	0
cifar-10-batches-py\data\train\closed000447.png	0
cifar-10-batches-py\data\train\closed000448.png	0
cifar-10-batches-py\data\train\closed000449.png	0
cifar-10-batches-py\data\train\closed000450.png	0
cifar-10-batches-py\data\train\closed000451.png	0
cifar-10-batches-py\data\train\closed000452.png	0
cifar-10-batches-py\data\train\closed000453.png	0
cifar-10-batches-py\data\train\closed000454.png	0
cifar-10-batches-py\data\train\closed000455.png	0
cifar-10-batches-py\data\train\closed000456.png	0
cifar-10-batches-py\data\train\closed000457.png	0
cifar-10-batches-py\data\train\closed000458.png	0
cifar-10-batches-py\data\train\closed000459.png	0
cifar-10-batches-py\data\train\closed000460.png	0
cifar-10-batches-py\data\train\closed000461.png	0
cifar-10-batches-py\data\train\closed000462.png	0
cifar-10-batches-py\data\train\closed000463.png	0
cifar-10-batches-py\data\train\closed000464.png	0
cifar-10-batches-py\data\train\closed000465.png	0
cifar-10-batches-py\data\train\closed000466.png	0
cifar-10-batches-py\data\train\closed000467.png	0
cifar-10-batches-py\data\train\closed000468.png	0
cifar-10-batches-py\data\train\closed000469.png	0
cifar-10-batches-py\data\train\closed000470.png	0
cifar-10-batches-py\data\train\closed000471.png	0
cifar-10-batches-py\data\train\closed000472.png	0
cifar-10-batches-py\data\train\closed000473.png	0
cifar-10-batches-py\data\train\closed000474.png	0
cifar-10-batches-py\data\train\closed000475.png	0
cifar-10-batches-py\data\train\closed000476.png	0
cifar-10-batches-py\data\train\closed000477.png	0
cifar-10-batches-py\data\train\closed000478.png	0
cifar-10-batches-py\data\train\closed000479.png	0
cifar-10-batches-py\data\train\closed000480.png	0
cifar-10-batches-py\data\train\closed000481.png	0
cifar-10-batches-py\data\train\closed000482.png	0
cifar-10-batches-py\data\train\closed000483.png	0
cifar-10-batches-py\data\train\closed000484.png	0
cifar-10-batches-py\data\train\closed000485.png	0
cifar-10-batches-py\data\train\closed000486.png	0
cifar-10-batches-py\data\train\closed000487.png	0
cifar-10-batches-py\data\train\closed000488.png	0
cifar-10-batches-py\data\train\closed000489.png	0
cifar-10-batches-py\data\train\closed000490.png	0
cifar-10-batches-py\data\train\closed000491.png	0
cifar-10-batches-py\data\train\closed000492.png	0
cifar-10-batches-py\data\train\closed000493.png	0
cifar-10-batches-py\data\train\closed000494.png	0
cifar-10-batches-py\data\train\closed000495.png	0
cifar-10-batches-py\data\train\closed000496.png	0
cifar-10-batches-py\data\train\closed000497.png	0
cifar-10-batches-py\data\train\closed000498.png	0
cifar-10-batches-py\data\train\closed000499.png	0
cifar-10-batches-py\data\train\closed000500.png	0
cifar-10-batches-py\data\train\closed000501.png	0
cifar-10-batches-py\data\train\closed000502.png	0
cifar-10-batches-py\data\train\closed000503.png	0
cifar-10-batches-py\data\train\closed000504.png	0
cifar-10-batches-py\data\train\closed000505.png	0
cifar-10-batches-py\data\train\closed000506.png	0
cifar-10-batches-py\data\train\closed000507.png	0
cifar-10-batches-py\data\train\closed000508.png	0
cifar-10-batches-py\data\train\closed000509.png	0
cifar-10-batches-py\data\train\closed000510.png	0
cifar-10-batches-py\data\train\closed000511.png	0
cifar-10-batches-py\data\train\closed000512.png	0
cifar-10-batches-py\data\train\closed000513.png	0
cifar-10-batches-py\data\train\closed000514.png	0
cifar-10-batches-py\data\train\closed000515.png	0
cifar-10-batches-py\data\train\closed000516.png	0
cifar-10-batches-py\data\train\closed000517.png	0
cifar-10-batches-py\data\train\closed000518.png	0
cifar-10-batches-py\data\train\closed000519.png	0
cifar-10-batches-py\data\train\closed000520.png	0
cifar-10-batches-py\data\train\closed000521.png	0
cifar-10-batches-py\data\train\closed000522.png	0
cifar-10-batches-py\data\train\closed000523.png	0
cifar-10-batches-py\data\train\closed000524.png	0
cifar-10-batches-py\data\train\closed000525.png	0
cifar-10-batches-py\data\train\closed000526.png	0
cifar-10-batches-py\data\train\closed000527.png	0
cifar-10-batches-py\data\train\closed000528.png	0
cifar-10-batches-py\data\train\closed000529.png	0
cifar-10-batches-py\data\train\closed000530.png	0
cifar-10-batches-py\data\train\closed000531.png	0
cifar-10-batches-py\data\train\closed000532.png	0
cifar-10-batches-py\data\train\closed000533.png	0
cifar-10-batches-py\data\train\closed000534.png	0
cifar-10-batches-py\data\train\closed000535.png	0
cifar-10-batches-py\data\train\closed000536.png	0
cifar-10-batches-py\data\train\closed000537.png	0
cifar-10-batches-py\data\train\closed000538.png	0
cifar-10-batches-py\data\train\closed000539.png	0
cifar-10-batches-py\data\train\closed000540.png	0
cifar-10-batches-py\data\train\closed000541.png	0
cifar-10-batches-py\data\train\closed000542.png	0
cifar-10-batches-py\data\train\closed000543.png	0
cifar-10-batches-py\data\train\closed000544.png	0
cifar-10-batches-py\data\train\closed000545.png	0
cifar-10-batches-py\data\train\closed000546.png	0
cifar-10-batches-py\data\train\closed000547.png	0
cifar-10-batches-py\data\train\closed000548.png	0
cifar-10-batches-py\data\train\closed000549.png	0
cifar-10-batches-py\data\train\closed000550.png	0
cifar-10-batches-py\data\train\closed000551.png	0
cifar-10-batches-py\data\train\closed000552.png	0
cifar-10-batches-py\data\train\closed000553.png	0
cifar-10-batches-py\data\train\closed000554.png	0
cifar-10-batches-py\data\train\closed000555.png	0
cifar-10-batches-py\data\train\closed000556.png	0
cifar-10-batches-py\data\train\closed000557.png	0
cifar-10-batches-py\data\train\closed000558.png	0
cifar-10-batches-py\data\train\closed000559.png	0
cifar-10-batches-py\data\train\closed000560.png	0
cifar-10-batches-py\data\train\closed000561.png	0
cifar-10-batches-py\data\train\closed000562.png	0
cifar-10-batches-py\data\train\closed000563.png	0
cifar-10-batches-py\data\train\closed000564.png	0
cifar-10-batches-py\data\train\closed000565.png	0
cifar-10-batches-py\data\train\closed000566.png	0
cifar-10-batches-py\data\train\closed000567.png	0
cifar-10-batches-py\data\train\closed000568.png	0
cifar-10-batches-py\data\train\closed000569.png	0
cifar-10-batches-py\data\train\closed000570.png	0
cifar-10-batches-py\data\train\closed000571.png	0
cifar-10-batches-py\data\train\closed000572.png	0
cifar-10-batches-py\data\train\closed000573.png	0
cifar-10-batches-py\data\train\closed000574.png	0
cifar-10-batches-py\data\train\closed000575.png	0
cifar-10-batches-py\data\train\closed000576.png	0
cifar-10-batches-py\data\train\closed000577.png	0
cifar-10-batches-py\data\train\closed000578.png	0
cifar-10-batches-py\data\train\closed000579.png	0
cifar-10-batches-py\data\train\closed000580.png	0
cifar-10-batches-py\data\train\closed000581.png	0
cifar-10-batches-py\data\train\closed000582.png	0
cifar-10-batches-py\data\train\closed000583.png	0
cifar-10-batches-py\data\train\closed000584.png	0
cifar-10-batches-py\data\train\closed000585.png	0
cifar-10-batches-py\data\train\closed000586.png	0
cifar-10-batches-py\data\train\closed000587.png	0
cifar-10-batches-py\data\train\closed000588.png	0
cifar-10-batches-py\data\train\closed000589.png	0
cifar-10-batches-py\data\train\closed000590.png	0
cifar-10-batches-py\data\train\closed000591.png	0
cifar-10-batches-py\data\train\closed000592.png	0
cifar-10-batches-py\data\train\closed000593.png	0
cifar-10-batches-py\data\train\closed000594.png	0
cifar-10-batches-py\data\train\closed000595.png	0
cifar-10-batches-py\data\train\closed000596.png	0
cifar-10-batches-py\data\train\closed000597.png	0
cifar-10-batches-py\data\train\closed000598.png	0
cifar-10-batches-py\data\train\closed000599.png	0
cifar-10-batches-py\data\train\closed000600.png	0
cifar-10-batches-py\data\train\closed000601.png	0
cifar-10-batches-py\data\train\closed000602.png	0
cifar-10-batches-py\data\train\closed000603.png	0
cifar-10-batches-py\data\train\closed000604.png	0
cifar-10-batches-py\data\train\closed000605.png	0
cifar-10-batches-py\data\train\closed000606.png	0
cifar-10-batches-py\data\train\closed000607.png	0
cifar-10-batches-py\data\train\closed000608.png	0
cifar-10-batches-py\data\train\closed000609.png	0
cifar-10-batches-py\data\train\closed000610.png	0
cifar-10-batches-py\data\train\closed000611.png	0
cifar-10-batches-py\data\train\closed000612.png	0
cifar-10-batches-py\data\train\closed000613.png	0
cifar-10-batches-py\data\train\closed000614.png	0
cifar-10-batches-py\data\train\closed000615.png	0
cifar-10-batches-py\data\train\closed000616.png	0
cifar-10-batches-py\data\train\closed000617.png	0
cifar-10-batches-py\data\train\closed000618.png	0
cifar-10-batches-py\data\train\closed000619.png	0
cifar-10-batches-py\data\train\closed000620.png	0
cifar-10-batches-py\data\train\closed000621.png	0
cifar-10-batches-py\data\train\closed000622.png	0
cifar-10-batches-py\data\train\closed000623.png	0
cifar-10-batches-py\data\train\closed000624.png	0
cifar-10-batches-py\data\train\closed000625.png	0
cifar-10-batches-py\data\train\closed000626.png	0
cifar-10-batches-py\data\train\closed000627.png	0
cifar-10-batches-py\data\train\closed000628.png	0
cifar-10-batches-py\data\train\closed000629.png	0
cifar-10-batches-py\data\train\closed000630.png	0
cifar-10-batches-py\data\train\closed000631.png	0
cifar-10-batches-py\data\train\closed000632.png	0
cifar-10-batches-py\data\train\closed000633.png	0
cifar-10-batches-py\data\train\closed000634.png	0
cifar-10-batches-py\data\train\closed000635.png	0
cifar-10-batches-py\data\train\closed000636.png	0
cifar-10-batches-py\data\train\closed000637.png	0
cifar-10-batches-py\data\train\closed000638.png	0
cifar-10-batches-py\data\train\closed000639.png	0
cifar-10-batches-py\data\train\closed000640.png	0
cifar-10-batches-py\data\train\closed000641.png	0
cifar-10-batches-py\data\train\closed000642.png	0
cifar-10-batches-py\data\train\closed000643.png	0
cifar-10-batches-py\data\train\closed000644.png	0
cifar-10-batches-py\data\train\closed000645.png	0
cifar-10-batches-py\data\train\closed000646.png	0
cifar-10-batches-py\data\train\closed000647.png	0
cifar-10-batches-py\data\train\closed000648.png	0
cifar-10-batches-py\data\train\closed000649.png	0
cifar-10-batches-py\data\train\closed000650.png	0
cifar-10-batches-py\data\train\closed000651.png	0
cifar-10-batches-py\data\train\closed000652.png	0
cifar-10-batches-py\data\train\closed000653.png	0
cifar-10-batches-py\data\train\closed000654.png	0
cifar-10-batches-py\data\train\closed000655.png	0
cifar-10-batches-py\data\train\closed000656.png	0
cifar-10-batches-py\data\train\closed000657.png	0
cifar-10-batches-py\data\train\closed000658.png	0
cifar-10-batches-py\data\train\closed000659.png	0
cifar-10-batches-py\data\train\closed000660.png	0
cifar-10-batches-py\data\train\closed000661.png	0
cifar-10-batches-py\data\train\closed000662.png	0
cifar-10-batches-py\data\train\closed000663.png	0
cifar-10-batches-py\data\train\closed000664.png	0
cifar-10-batches-py\data\train\closed000665.png	0
cifar-10-batches-py\data\train\closed000666.png	0
cifar-10-batches-py\data\train\closed000667.png	0
cifar-10-batches-py\data\train\closed000668.png	0
cifar-10-batches-py\data\train\closed000669.png	0
cifar-10-batches-py\data\train\closed000670.png	0
cifar-10-batches-py\data\train\closed000671.png	0
cifar-10-batches-py\data\train\closed000672.png	0
cifar-10-batches-py\data\train\closed000673.png	0
cifar-10-batches-py\data\train\closed000674.png	0
cifar-10-batches-py\data\train\closed000675.png	0
cifar-10-batches-py\data\train\closed000676.png	0
cifar-10-batches-py\data\train\closed000677.png	0
cifar-10-batches-py\data\train\closed000678.png	0
cifar-10-batches-py\data\train\closed000679.png	0
cifar-10-batches-py\data\train\closed000680.png	0
cifar-10-batches-py\data\train\closed000681.png	0
cifar-10-batches-py\data\train\closed000682.png	0
cifar-10-batches-py\data\train\closed000683.png	0
cifar-10-batches-py\data\train\closed000684.png	0
cifar-10-batches-py\data\train\closed000685.png	0
cifar-10-batches-py\data\train\closed000686.png	0
cifar-10-batches-py\data\train\closed000687.png	0
cifar-10-batches-py\data\train\closed000688.png	0
cifar-10-batches-py\data\train\closed000689.png	0
cifar-10-batches-py\data\train\closed000690.png	0
cifar-10-batches-py\data\train\closed000691.png	0
cifar-10-batches-py\data\train\closed000692.png	0
cifar-10-batches-py\data\train\closed000693.png	0
cifar-10-batches-py\data\train\closed000694.png	0
cifar-10-batches-py\data\train\closed000695.png	0
cifar-10-batches-py\data\train\closed000696.png	0
cifar-10-batches-py\data\train\closed000697.png	0
cifar-10-batches-py\data\train\closed000698.png	0
cifar-10-batches-py\data\train\closed000699.png	0
cifar-10-batches-py\data\train\closed000700.png	0
cifar-10-batches-py\data\train\closed000701.png	0
cifar-10-batches-py\data\train\closed000702.png	0
cifar-10-batches-py\data\train\closed000703.png	0
cifar-10-batches-py\data\train\closed000704.png	0
cifar-10-batches-py\data\train\closed000705.png	0
cifar-10-batches-py\data\train\closed000706.png	0
cifar-10-batches-py\data\train\closed000707.png	0
cifar-10-batches-py\data\train\closed000708.png	0
cifar-10-batches-py\data\train\closed000709.png	0
cifar-10-batches-py\data\train\closed000710.png	0
cifar-10-batches-py\data\train\closed000711.png	0
cifar-10-batches-py\data\train\closed000712.png	0
cifar-10-batches-py\data\train\closed000713.png	0
cifar-10-batches-py\data\train\closed000714.png	0
cifar-10-batches-py\data\train\closed000715.png	0
cifar-10-batches-py\data\train\closed000716.png	0
cifar-10-batches-py\data\train\closed000717.png	0
cifar-10-batches-py\data\train\closed000718.png	0
cifar-10-batches-py\data\train\closed000719.png	0
cifar-10-batches-py\data\train\closed000720.png	0
cifar-10-batches-py\data\train\closed000721.png	0
cifar-10-batches-py\data\train\closed000722.png	0
cifar-10-batches-py\data\train\closed000723.png	0
cifar-10-batches-py\data\train\closed000724.png	0
cifar-10-batches-py\data\train\closed000725.png	0
cifar-10-batches-py\data\train\closed000726.png	0
cifar-10-batches-py\data\train\closed000727.png	0
cifar-10-batches-py\data\train\closed000728.png	0
cifar-10-batches-py\data\train\closed000729.png	0
cifar-10-batches-py\data\train\closed000730.png	0
cifar-10-batches-py\data\train\closed000731.png	0
cifar-10-batches-py\data\train\closed000732.png	0
cifar-10-batches-py\data\train\closed000733.png	0
cifar-10-batches-py\data\train\closed000734.png	0
cifar-10-batches-py\data\train\closed000735.png	0
cifar-10-batches-py\data\train\closed000736.png	0
cifar-10-batches-py\data\train\closed000737.png	0
cifar-10-batches-py\data\train\closed000738.png	0
cifar-10-batches-py\data\train\closed000739.png	0
cifar-10-batches-py\data\train\closed000740.png	0
cifar-10-batches-py\data\train\closed000741.png	0
cifar-10-batches-py\data\train\closed000742.png	0
cifar-10-batches-py\data\train\closed000743.png	0
cifar-10-batches-py\data\train\closed000744.png	0
cifar-10-batches-py\data\train\closed000745.png	0
cifar-10-batches-py\data\train\closed000746.png	0
cifar-10-batches-py\data\train\closed000747.png	0
cifar-10-batches-py\data\train\closed000748.png	0
cifar-10-batches-py\data\train\closed000749.png	0
cifar-10-batches-py\data\train\closed000750.png	0
cifar-10-batches-py\data\train\closed000751.png	0
cifar-10-batches-py\data\train\closed000752.png	0
cifar-10-batches-py\data\train\closed000753.png	0
cifar-10-batches-py\data\train\closed000754.png	0
cifar-10-batches-py\data\train\closed000755.png	0
cifar-10-batches-py\data\train\closed000756.png	0
cifar-10-batches-py\data\train\closed000757.png	0
cifar-10-batches-py\data\train\closed000758.png	0
cifar-10-batches-py\data\train\closed000759.png	0
cifar-10-batches-py\data\train\closed000760.png	0
cifar-10-batches-py\data\train\closed000761.png	0
cifar-10-batches-py\data\train\closed000762.png	0
cifar-10-batches-py\data\train\closed000763.png	0
cifar-10-batches-py\data\train\closed000764.png	0
cifar-10-batches-py\data\train\closed000765.png	0
cifar-10-batches-py\data\train\closed000766.png	0
cifar-10-batches-py\data\train\closed000767.png	0
cifar-10-batches-py\data\train\closed000768.png	0
cifar-10-batches-py\data\train\closed000769.png	0
cifar-10-batches-py\data\train\closed000770.png	0
cifar-10-batches-py\data\train\closed000771.png	0
cifar-10-batches-py\data\train\closed000772.png	0
cifar-10-batches-py\data\train\closed000773.png	0
cifar-10-batches-py\data\train\closed000774.png	0
cifar-10-batches-py\data\train\closed000775.png	0
cifar-10-batches-py\data\train\closed000776.png	0
cifar-10-batches-py\data\train\closed000777.png	0
cifar-10-batches-py\data\train\closed000778.png	0
cifar-10-batches-py\data\train\closed000779.png	0
cifar-10-batches-py\data\train\closed000780.png	0
cifar-10-batches-py\data\train\closed000781.png	0
cifar-10-batches-py\data\train\closed000782.png	0
cifar-10-batches-py\data\train\closed000783.png	0
cifar-10-batches-py\data\train\closed000784.png	0
cifar-10-batches-py\data\train\closed000785.png	0
cifar-10-batches-py\data\train\closed000786.png	0
cifar-10-batches-py\data\train\closed000787.png	0
cifar-10-batches-py\data\train\closed000788.png	0
cifar-10-batches-py\data\train\closed000789.png	0
cifar-10-batches-py\data\train\closed000790.png	0
cifar-10-batches-py\data\train\closed000791.png	0
cifar-10-batches-py\data\train\closed000792.png	0
cifar-10-batches-py\data\train\closed000793.png	0
cifar-10-batches-py\data\train\closed000794.png	0
cifar-10-batches-py\data\train\closed000795.png	0
cifar-10-batches-py\data\train\closed000796.png	0
cifar-10-batches-py\data\train\closed000797.png	0
cifar-10-batches-py\data\train\closed000798.png	0
cifar-10-batches-py\data\train\closed000799.png	0
cifar-10-batches-py\data\train\closed000800.png	0
cifar-10-batches-py\data\train\closed000801.png	0
cifar-10-batches-py\data\train\closed000802.png	0
cifar-10-batches-py\data\train\closed000803.png	0
cifar-10-batches-py\data\train\closed000804.png	0
cifar-10-batches-py\data\train\closed000805.png	0
cifar-10-batches-py\data\train\closed000806.png	0
cifar-10-batches-py\data\train\closed000807.png	0
cifar-10-batches-py\data\train\closed000808.png	0
cifar-10-batches-py\data\train\closed000809.png	0
cifar-10-batches-py\data\train\closed000810.png	0
cifar-10-batches-py\data\train\closed000811.png	0
cifar-10-batches-py\data\train\closed000812.png	0
cifar-10-batches-py\data\train\closed000813.png	0
cifar-10-batches-py\data\train\closed000814.png	0
cifar-10-batches-py\data\train\closed000815.png	0
cifar-10-batches-py\data\train\closed000816.png	0
cifar-10-batches-py\data\train\closed000817.png	0
cifar-10-batches-py\data\train\closed000818.png	0
cifar-10-batches-py\data\train\closed000819.png	0
cifar-10-batches-py\data\train\closed000820.png	0
cifar-10-batches-py\data\train\closed000821.png	0
cifar-10-batches-py\data\train\closed000822.png	0
cifar-10-batches-py\data\train\closed000823.png	0
cifar-10-batches-py\data\train\closed000824.png	0
cifar-10-batches-py\data\train\closed000825.png	0
cifar-10-batches-py\data\train\closed000826.png	0
cifar-10-batches-py\data\train\closed000827.png	0
cifar-10-batches-py\data\train\closed000828.png	0
cifar-10-batches-py\data\train\closed000829.png	0
cifar-10-batches-py\data\train\closed000830.png	0
cifar-10-batches-py\data\train\closed000831.png	0
cifar-10-batches-py\data\train\closed000832.png	0
cifar-10-batches-py\data\train\closed000833.png	0
cifar-10-batches-py\data\train\closed000834.png	0
cifar-10-batches-py\data\train\closed000835.png	0
cifar-10-batches-py\data\train\closed000836.png	0
cifar-10-batches-py\data\train\closed000837.png	0
cifar-10-batches-py\data\train\closed000838.png	0
cifar-10-batches-py\data\train\closed000839.png	0
cifar-10-batches-py\data\train\closed000840.png	0
cifar-10-batches-py\data\train\closed000841.png	0
cifar-10-batches-py\data\train\closed000842.png	0
cifar-10-batches-py\data\train\closed000843.png	0
cifar-10-batches-py\data\train\closed000844.png	0
cifar-10-batches-py\data\train\closed000845.png	0
cifar-10-batches-py\data\train\closed000846.png	0
cifar-10-batches-py\data\train\closed000847.png	0
cifar-10-batches-py\data\train\closed000848.png	0
cifar-10-batches-py\data\train\closed000849.png	0
cifar-10-batches-py\data\train\closed000850.png	0
cifar-10-batches-py\data\train\closed000851.png	0
cifar-10-batches-py\data\train\closed000852.png	0
cifar-10-batches-py\data\train\closed000853.png	0
cifar-10-batches-py\data\train\closed000854.png	0
cifar-10-batches-py\data\train\closed000855.png	0
cifar-10-batches-py\data\train\closed000856.png	0
cifar-10-batches-py\data\train\closed000857.png	0
cifar-10-batches-py\data\train\closed000858.png	0
cifar-10-batches-py\data\train\closed000859.png	0
cifar-10-batches-py\data\train\closed000860.png	0
cifar-10-batches-py\data\train\closed000861.png	0
cifar-10-batches-py\data\train\closed000862.png	0
cifar-10-batches-py\data\train\closed000863.png	0
cifar-10-batches-py\data\train\closed000864.png	0
cifar-10-batches-py\data\train\closed000865.png	0
cifar-10-batches-py\data\train\closed000866.png	0
cifar-10-batches-py\data\train\closed000867.png	0
cifar-10-batches-py\data\train\closed000868.png	0
cifar-10-batches-py\data\train\closed000869.png	0
cifar-10-batches-py\data\train\closed000870.png	0
cifar-10-batches-py\data\train\closed000871.png	0
cifar-10-batches-py\data\train\closed000872.png	0
cifar-10-batches-py\data\train\closed000873.png	0
cifar-10-batches-py\data\train\closed000874.png	0
cifar-10-batches-py\data\train\closed000875.png	0
cifar-10-batches-py\data\train\closed000876.png	0
cifar-10-batches-py\data\train\closed000877.png	0
cifar-10-batches-py\data\train\closed000878.png	0
cifar-10-batches-py\data\train\closed000879.png	0
cifar-10-batches-py\data\train\closed000880.png	0
cifar-10-batches-py\data\train\closed000881.png	0
cifar-10-batches-py\data\train\closed000882.png	0
cifar-10-batches-py\data\train\closed000883.png	0
cifar-10-batches-py\data\train\closed000884.png	0
cifar-10-batches-py\data\train\closed000885.png	0
cifar-10-batches-py\data\train\closed000886.png	0
cifar-10-batches-py\data\train\closed000887.png	0
cifar-10-batches-py\data\train\closed000888.png	0
cifar-10-batches-py\data\train\closed000889.png	0
cifar-10-batches-py\data\train\closed000890.png	0
cifar-10-batches-py\data\train\closed000891.png	0
cifar-10-batches-py\data\train\closed000892.png	0
cifar-10-batches-py\data\train\closed000893.png	0
cifar-10-batches-py\data\train\closed000894.png	0
cifar-10-batches-py\data\train\closed000895.png	0
cifar-10-batches-py\data\train\closed000896.png	0
cifar-10-batches-py\data\train\closed000897.png	0
cifar-10-batches-py\data\train\closed000898.png	0
cifar-10-batches-py\data\train\closed000899.png	0
cifar-10-batches-py\data\train\closed000900.png	0
cifar-10-batches-py\data\train\closed000901.png	0
cifar-10-batches-py\data\train\closed000902.png	0
cifar-10-batches-py\data\train\closed000903.png	0
cifar-10-batches-py\data\train\closed000904.png	0
cifar-10-batches-py\data\train\closed000905.png	0
cifar-10-batches-py\data\train\closed000906.png	0
cifar-10-batches-py\data\train\closed000907.png	0
cifar-10-batches-py\data\train\closed000908.png	0
cifar-10-batches-py\data\train\closed000909.png	0
cifar-10-batches-py\data\train\closed000910.png	0
cifar-10-batches-py\data\train\closed000911.png	0
cifar-10-batches-py\data\train\closed000912.png	0
cifar-10-batches-py\data\train\closed000913.png	0
cifar-10-batches-py\data\train\closed000914.png	0
cifar-10-batches-py\data\train\closed000915.png	0
cifar-10-batches-py\data\train\closed000916.png	0
cifar-10-batches-py\data\train\closed000917.png	0
cifar-10-batches-py\data\train\closed000918.png	0
cifar-10-batches-py\data\train\closed000919.png	0
cifar-10-batches-py\data\train\closed000920.png	0
cifar-10-batches-py\data\train\closed000921.png	0
cifar-10-batches-py\data\train\closed000922.png	0
cifar-10-batches-py\data\train\closed000923.png	0
cifar-10-batches-py\data\train\closed000924.png	0
cifar-10-batches-py\data\train\closed000925.png	0
cifar-10-batches-py\data\train\closed000926.png	0
cifar-10-batches-py\data\train\closed000927.png	0
cifar-10-batches-py\data\train\closed000928.png	0
cifar-10-batches-py\data\train\closed000929.png	0
cifar-10-batches-py\data\train\closed000930.png	0
cifar-10-batches-py\data\train\closed000931.png	0
cifar-10-batches-py\data\train\closed000932.png	0
cifar-10-batches-py\data\train\closed000933.png	0
cifar-10-batches-py\data\train\closed000934.png	0
cifar-10-batches-py\data\train\closed000935.png	0
cifar-10-batches-py\data\train\closed000936.png	0
cifar-10-batches-py\data\train\closed000937.png	0
cifar-10-batches-py\data\train\closed000938.png	0
cifar-10-batches-py\data\train\closed000939.png	0
cifar-10-batches-py\data\train\closed000940.png	0
cifar-10-batches-py\data\train\closed000941.png	0
cifar-10-batches-py\data\train\closed000942.png	0
cifar-10-batches-py\data\train\closed000943.png	0
cifar-10-batches-py\data\train\closed000944.png	0
cifar-10-batches-py\data\train\closed000945.png	0
cifar-10-batches-py\data\train\closed000946.png	0
cifar-10-batches-py\data\train\closed000947.png	0
cifar-10-batches-py\data\train\closed000948.png	0
cifar-10-batches-py\data\train\closed000949.png	0
cifar-10-batches-py\data\train\closed000950.png	0
cifar-10-batches-py\data\train\closed000951.png	0
cifar-10-batches-py\data\train\closed000952.png	0
cifar-10-batches-py\data\train\closed000953.png	0
cifar-10-batches-py\data\train\closed000954.png	0
cifar-10-batches-py\data\train\closed000955.png	0
cifar-10-batches-py\data\train\closed000956.png	0
cifar-10-batches-py\data\train\closed000957.png	0
cifar-10-batches-py\data\train\closed000958.png	0
cifar-10-batches-py\data\train\closed000959.png	0
cifar-10-batches-py\data\train\closed000960.png	0
cifar-10-batches-py\data\train\closed000961.png	0
cifar-10-batches-py\data\train\closed000962.png	0
cifar-10-batches-py\data\train\closed000963.png	0
cifar-10-batches-py\data\train\closed000964.png	0
cifar-10-batches-py\data\train\closed000965.png	0
cifar-10-batches-py\data\train\closed000966.png	0
cifar-10-batches-py\data\train\closed000967.png	0
cifar-10-batches-py\data\train\closed000968.png	0
cifar-10-batches-py\data\train\closed000969.png	0
cifar-10-batches-py\data\train\closed000970.png	0
cifar-10-batches-py\data\train\closed000971.png	0
cifar-10-batches-py\data\train\closed000972.png	0
cifar-10-batches-py\data\train\closed000973.png	0
cifar-10-batches-py\data\train\closed000974.png	0
cifar-10-batches-py\data\train\closed000975.png	0
cifar-10-batches-py\data\train\closed000976.png	0
cifar-10-batches-py\data\train\closed000977.png	0
cifar-10-batches-py\data\train\closed000978.png	0
cifar-10-batches-py\data\train\closed000979.png	0
cifar-10-batches-py\data\train\closed000980.png	0
cifar-10-batches-py\data\train\closed000981.png	0
cifar-10-batches-py\data\train\closed000982.png	0
cifar-10-batches-py\data\train\closed000983.png	0
cifar-10-batches-py\data\train\closed000984.png	0
cifar-10-batches-py\data\train\closed000985.png	0
cifar-10-batches-py\data\train\closed000986.png	0
cifar-10-batches-py\data\train\closed000987.png	0
cifar-10-batches-py\data\train\closed000988.png	0
cifar-10-batches-py\data\train\closed000989.png	0
cifar-10-batches-py\data\train\closed000990.png	0
cifar-10-batches-py\data\train\closed000991.png	0
cifar-10-batches-py\data\train\closed000992.png	0
cifar-10-batches-py\data\train\closed000993.png	0
cifar-10-batches-py\data\train\closed000994.png	0
cifar-10-batches-py\data\train\closed000995.png	0
cifar-10-batches-py\data\train\closed000996.png	0
cifar-10-batches-py\data\train\closed000997.png	0
cifar-10-batches-py\data\train\closed000998.png	0
cifar-10-batches-py\data\train\closed000999.png	0
cifar-10-batches-py\data\train\closed001000.png	0
cifar-10-batches-py\data\train\closed001001.png	0
cifar-10-batches-py\data\train\closed001002.png	0
cifar-10-batches-py\data\train\closed001003.png	0
cifar-10-batches-py\data\train\closed001004.png	0
cifar-10-batches-py\data\train\closed001005.png	0
cifar-10-batches-py\data\train\closed001006.png	0
cifar-10-batches-py\data\train\closed001007.png	0
cifar-10-batches-py\data\train\closed001008.png	0
cifar-10-batches-py\data\train\closed001009.png	0
cifar-10-batches-py\data\train\closed001010.png	0
cifar-10-batches-py\data\train\closed001011.png	0
cifar-10-batches-py\data\train\closed001012.png	0
cifar-10-batches-py\data\train\closed001013.png	0
cifar-10-batches-py\data\train\closed001014.png	0
cifar-10-batches-py\data\train\closed001015.png	0
cifar-10-batches-py\data\train\closed001016.png	0
cifar-10-batches-py\data\train\closed001017.png	0
cifar-10-batches-py\data\train\closed001018.png	0
cifar-10-batches-py\data\train\closed001019.png	0
cifar-10-batches-py\data\train\closed001020.png	0
cifar-10-batches-py\data\train\closed001021.png	0
cifar-10-batches-py\data\train\closed001022.png	0
cifar-10-batches-py\data\train\closed001023.png	0
...

This file has been truncated, please download it to see its full contents.

UWP IOT code

C#
This is thre front end IOT code
 DispatcherTimer tmr;
        MediaCapture _mediaCapture;

        public MainPage()
        {
            this.InitializeComponent();
            tmr = new DispatcherTimer();
            tmr.Interval = TimeSpan.FromSeconds(5);
            tmr.Tick += Tmr_Tick;
            tmr.Start();
            _mediaCapture = new MediaCapture();

        }

        private async void Tmr_Tick(object sender, object e)
        {







            txtResponse.Text = await CapturePhoto();

        }

        private async Task<String> CapturePhoto()
        {
            var myPictures = await Windows.Storage.StorageLibrary.GetLibraryAsync(Windows.Storage.KnownLibraryId.Pictures);
            StorageFile file = await myPictures.SaveFolder.CreateFileAsync("photo.jpg", CreationCollisionOption.GenerateUniqueName);


            using (var captureStream = new InMemoryRandomAccessStream())
            {

                await _mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), captureStream);

                using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
                {
                    var decoder = await BitmapDecoder.CreateAsync(captureStream);
                    var encoder = await BitmapEncoder.CreateForTranscodingAsync(fileStream, decoder);

                    var properties = new BitmapPropertySet {
            { "System.Photo.Orientation", new BitmapTypedValue(PhotoOrientation.Normal, PropertyType.UInt16) }
        };
                    await encoder.BitmapProperties.SetPropertiesAsync(properties);

                    await encoder.FlushAsync();


                }
            }
            String ret = await Upload("http://192.168.0.105:8090/api/Door/UploadFiles", file);

            await file.DeleteAsync();
            return ret;
        }

        private async Task<string> Upload(string actionUrl, StorageFile fileToUpload)
        {

            try
            {
                var client = new HttpClient();

                MultipartFormDataContent form = new MultipartFormDataContent();
                HttpContent content;
                //HttpContent content = new StringContent("fileToUpload");
                //form.Add(content, "fileToUpload");
                var stream = await fileToUpload.OpenStreamForReadAsync();
                content = new StreamContent(stream);
                content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                {
                    Name = "fileToUpload",
                    FileName = fileToUpload.Name
                };
                form.Add(content);
                var response = await client.PostAsync(actionUrl, form);
                return response.Content.ReadAsStringAsync().Result;
            }
            catch (Exception e)
            {
                return "invalid response";

            }
        }

        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            await _mediaCapture.InitializeAsync();

            previewElement.Source = _mediaCapture;
            await _mediaCapture.StartPreviewAsync();
        }

Credits

Bhairav Pardiwala

Bhairav Pardiwala

8 projects • 16 followers
Polyglot dev

Comments