Row 2142

Row ID: 2142 | Dataset Entry | Axioma AXP Content Repository

Content Data

This page contains data entry 2142 from the Axioma AXP content repository. The structured data below represents the complete record for this entry.

I have a tflite model that I trained on customvision azure to recognize a basketball.

​

When I check the meta data it tells me a lot of stuff that as a beginner i am not sure about what it is supposed to be. For example, my tflite yolo model expects as input a tensor of \[1,13,13,35\]. I get that I am supposed to have one image batch of dimension 13\*13, but why 35? Does that have something to do with the yolo model and the grids?

​

Thanks a lot in advance for any help. This is in flutter how i so far code the screen:

import 'dart:ffi'; import 'dart:math'; import 'package:camera/camera.dart'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:hoopster/PermanentStorage.dart'; import 'package:hoopster/statsObjects.dart'; import 'package:tflite\_flutter/tflite\_flutter.dart' as tfl; import 'dart:typed\_data'; import 'package:image/image.dart' as img; import 'package:image\_gallery\_saver/image\_gallery\_saver.dart'; import 'package:path\_provider/path\_provider.dart'; import '../main.dart'; import 'home\_screen.dart'; int i = 0; late CameraImage \_cameraImage; int counter = 0; String lastSaved = ""; int Hit = 0; int Miss = 0; var height; var width; class CameraApp extends StatefulWidget { const CameraApp({Key? key}) : super(key: key); u/override State<CameraApp> createState() => \_CameraAppState(); } class \_CameraAppState extends State<CameraApp> { late CameraController controller; late Future<void> \_initializeControllerFuture; String \_videoPath = ''; u/override void initState() { super.initState(); controller = CameraController( cameras.last, ResolutionPreset.medium, ); // Initiate the loading of the model loadModel().then((interpreter) { // Model has been loaded at this point \_initializeControllerFuture = controller.initialize().then((\_) { controller.startImageStream((image) { \_cameraFrameProcessing(image, interpreter); }); if (!mounted) { return; } setState(() {}); }).catchError((Object e) { if (e is CameraException) { switch (e.code) { case 'CameraAccessDenied': // Handle access errors here. break; default: // Handle other errors here. break; } } }); }); } void \_cameraFrameProcessing(CameraImage image, tfl.Interpreter interpreter) { \_cameraImage = image; processCameraFrame(image, interpreter); // Process each camera frame } Future<tfl.Interpreter> loadModel() async { return tfl.Interpreter.fromAsset('Assets\\\\model.tflite'); } Future<void> processCameraFrame( CameraImage image, tfl.Interpreter interpreter) async { try { print('processing camera frame'); // Convert the CameraImage to a byte buffer Float32List convertedImage = convertCameraImage(image); // Create output tensor. Assuming model has a single output var output = interpreter.getOutputTensor(0).shape; print(output); // Create input tensor with the desired shape var inputShape = interpreter.getInputTensor(0).shape; //print(inputShape); print("eo"); //var inputShape = \[1, 13, 13, 35\]; var inputTensor = <List<List<List<dynamic>>>>\[ List.generate(inputShape\[1\], (\_) { return List.generate(inputShape\[2\], (\_) { return List.generate(inputShape\[3\], (\_) { return \[ 0.0 \]; // Placeholder value, modify this according to your needs }); }); }) \]; print("mamaaaaaa"); print(inputTensor); print(convertedImage.length); // Copy the convertedImage data into the inputTensor for (int i = 0; i < convertedImage.length; i++) { print("see"); int x = i % inputShape\[2\]; int y = (i \~/ inputShape\[2\]) % inputShape\[1\]; int c = (i \~/ (inputShape\[1\] \* inputShape\[2\])) % inputShape\[3\]; //print("see2"); inputTensor\[y\]\[x\]\[c\]\[0\] = convertedImage\[i\]; print("$x,$y,$c,$i"); } // Run inference on the frame print("here, line 116"); interpreter.runForMultipleInputs(inputTensor, {0: output}); print(output); // Process the inference results //print("here2, line 120"); //processInferenceResults(output); } catch (e) { print('Failed to run model on frame: $e'); } print('done executing'); } Float32List convertCameraImage(CameraImage image) { print('converting image'); final width = image.width; final height = image.height; final int uvRowStride = image.planes\[1\].bytesPerRow; final int? uvPixelStride = image.planes\[1\].bytesPerPixel; // Create an Image buffer img.Image imago = img.Image(width, height); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { final int uvIndex = uvPixelStride! \* (x / 2).floor() + uvRowStride \* (y / 2).floor(); final int index = y \* width + x; final int yValue = image.planes\[0\].bytes\[index\]; final int uValue = image.planes\[1\].bytes\[uvIndex\]; final int vValue = image.planes\[2\].bytes\[uvIndex\]; List rgbColor = yuv2rgb(yValue, uValue, vValue); // Set the pixel color imago.setPixelRgba(x, y, rgbColor\[0\], rgbColor\[1\], rgbColor\[2\]); } } // Resize the image to 13x13 img.Image resizedImage = img.copyResize(imago, width: 13, height: 13); // Create a new Float32List with the correct shape: \[1, 13, 13, 35\] Float32List modelInput = Float32List(1 \* 13 \* 13 \* 35); // Copy the resized RGB image data into the first three channels of the model input for (int i = 0; i < 13 \* 13; i++) { int x = i % 13; int y = i \~/ 13; int pixel = resizedImage.getPixel(x, y) \~/ 255; ; modelInput\[i \* 35 + 0\] = img.getRed(pixel).toDouble(); modelInput\[i \* 35 + 1\] = img.getGreen(pixel).toDouble(); modelInput\[i \* 35 + 2\] = img.getBlue(pixel).toDouble(); } // Fill in the remaining 32 channels with zeros (or whatever is appropriate for your model) for (int i = 0; i < 13 \* 13; i++) { for (int j = 3; j < 35; j++) { modelInput\[i \* 35 + j\] = 0.0; } } print('finished converting image'); // Now you can use modelInput as the input to your model return modelInput; } void processInferenceResults(List<dynamic> output) { print('test'); print(output.toString()); // Process the inference output to get the labels and their coordinates List<Map<String, dynamic>> labels = \[\]; for (dynamic label in output) { String text = label\['label'\]; double confidence = label\['confidence'\]; Map<String, dynamic> coordinates = label\['rect'\]; // Check if the label is "ball" or "hoop" if (text == "ball" || text == "hoop") { labels.add({ 'text': text, 'confidence': confidence, 'coordinates': coordinates, }); } } if (labels.isEmpty) { // No recognitions found, do nothing return; } // Do something with the filtered labels // ... } u/override void dispose() { controller.dispose(); super.dispose(); } Future<void> \_onRecordButtonPressed() async { try { if (controller.value.isRecordingVideo) { final path = await controller.stopVideoRecording(); setState(() { \_videoPath = path as String; }); //processVideo( // \_videoPath); // Pass the video path to the processing function } else { await \_initializeControllerFuture; final now = DateTime.now(); final formattedDate = '${now.year}-${now.month}-${now.day} ${now.hour}-${now.minute}-${now.second}'; final fileName = 'hoopster\_${formattedDate}.mp4'; final path = '${Directory.systemTemp.path}/$fileName'; print(path); //await controller.startVideoRecording(); } } catch (e) { print(e); } } Future<void> stopVideoRecording() async { if (!controller.value.isInitialized) { return; } if (!controller.value.isRecordingVideo) { return; } try { await controller.stopVideoRecording(); } on CameraException catch (e) { print('Error: ${e.code}\\n${e.description}'); return; } } Future<void> \_saveImage(List<int> \_imageBytes) async { counter++; final directory = await getApplicationDocumentsDirectory(); final imagePath = '${directory.path}/frame${counter}.png'; lastSaved = imagePath; final imageFile = File(imagePath); await imageFile.writeAsBytes(\_imageBytes); print('Image saved to: $imagePath'); } void capture() async { int \_1 = Random().nextInt(20); int \_2 = Random().nextInt(20); DateTime n = DateTime.now(); setState(() { // allSessions.add(Session(n, \_1, \_2)); // lView = globalUpdate(); }); if (\_cameraImage != null) { Uint8List colored = Uint8List(\_cameraImage.planes\[0\].bytes.length \* 3); int b = 0; img.Image image = \_cameraImage as img.Image; var input = \[1, 13, 13, 3\]; //img.Image image = convertCameraImage(\_cameraImage); img.Image Rimage = img.copyRotate(image, 90); \_saveImage(Rimage.data); // Convert the image to RGB format using image package // img.Image image = img.Image.fromBytes( // \_cameraImage.width, // \_cameraImage.height, // \_cameraImage.planes\[0\].bytes, // format: img.Format.yuv420, // ); // img.Image Rimage = img.copyRotate(image, 90); // \_saveImage(Rimage.getBytes(format: img.Format.rgb)); // Run inference on the converted image // Process the inference results } } @override Widget build(BuildContext context) { if (!controller.value.isInitialized) { return Container( color: Color.fromARGB(255, 255, 0, 0), ); } return Scaffold( body: Container( child: Column( children: \[ SizedBox(child: CameraPreview(controller)), Expanded( child: Container( color: Color.fromARGB(255, 93, 70, 94), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: \[ Text( Hit.toString(), style: TextStyle( fontFamily: "Dogica", fontSize: 60, color: Color.fromARGB(255, 0, 255, 0), ), ), Padding( padding: EdgeInsets.fromLTRB((w / 3) - 65, 0, (w / 3) - 65, 0), child: GestureDetector( child: Container( height: 80, width: 80, decoration: BoxDecoration( image: DecorationImage( image: AssetImage(basketButton), fit: BoxFit.fill, ), boxShadow: \[ BoxShadow( color: Color.fromARGB(80, 0, 0, 0), spreadRadius: 1, blurRadius: 5, ) \], color: Color.fromARGB(0, 255, 255, 255), borderRadius: BorderRadius.all( Radius.circular(30), ), ), ), onTap: () => { //capture(), setState(() { Miss++; Hit++; }) }, onDoubleTap: () => { //Session s= Session(DateTime.now(), 10, 7); }, ), ), Text( Miss.toString(), style: TextStyle( fontFamily: "Dogica", fontSize: 60, color: Color.fromARGB(255, 255, 0, 0), ), ), \], ), ), ), \], ), ), ); } } Uint8List yuv2rgb(int y, int u, int v) { double yd = y.toDouble(); double ud = u.toDouble() - 128.0; double vd = v.toDouble() - 128.0; double r = yd + 1.402 \* vd; double g = yd - 0.344136 \* ud - 0.714136 \* vd; double b = yd + 1.772 \* ud; r = r.clamp(0, 255).roundToDouble(); g = g.clamp(0, 255).roundToDouble(); b = b.clamp(0, 255).roundToDouble(); return Uint8List.fromList(\[r.toInt(), g.toInt(), b.toInt()\]); }

FieldValue
text I have a tflite model that I trained on customvision azure to recognize a basketball. &#x200B; When I check the meta data it tells me a lot of stuff that as a beginner i am not sure about what it is supposed to be. For example, my tflite yolo model expects as input a tensor of \[1,13,13,35\]. I get that I am supposed to have one image batch of dimension 13\*13, but why 35? Does that have something to do with the yolo model and the grids? &#x200B; Thanks a lot in advance for any help. This is…
label r/tensorflow
dataType post
communityName r/tensorflow
datetime 2023-06-30
username_encoded Z0FBQUFBQm5LakwwbktLNDVlRWpCU2ZHVWl1TTVzOFRfQ1FXZDZyTnVoMHo4b2VkZUR6NFM1SnBydGw0Y3pZQzFsNmlSVnMwNW5SWG9ZQWcxNFRESkx6eElJU3pER1lvckE9PQ==
url_encoded Z0FBQUFBQm5Lak9FckZ0M2N3OHFMcWFWYlFQM0dLSG9VTktZc0ozbGRkQ1RiWFV3R2QwTWVPdmRFbXBGSC1Yc3NoRTV2akdCRUF1bXRaLXV1UjJpSnBtRXQwREdqaXBCZ2ZZX2NwZFQzNU5nY1hiMGlOeW82cEZtaHF4UUFuUjdGM0FjeXBxb0RJN2V0LTBzQ2VOM0U3MF9oaFF2MGh4eVpHSTA5X1lWbm1JZUhkYUtfa01iTFRHby03SDlkXzR0ZDJaYWdtekxfWkV1ZDhVcW1PenJhUk1nX0FXVF8tWEpKdz09

Raw Record

{
  "text": "I have a tflite model that I trained on customvision azure to recognize a basketball.\n\n&#x200B;\n\nWhen I check the meta data it tells me a lot of stuff that as a beginner i am not sure about what it is supposed to be. For example, my tflite yolo model expects as input a tensor of \\[1,13,13,35\\]. I get that I am supposed to have one image batch of dimension 13\\*13, but why 35? Does that have something to do with the yolo model and the grids?\n\n&#x200B;\n\nThanks a lot in advance for any help. This is in flutter how i so far code the screen:\n\nimport 'dart:ffi';  \nimport 'dart:math';  \nimport 'package:camera/camera.dart';  \nimport 'dart:io';  \nimport 'package:flutter/material.dart';  \nimport 'package:get/get.dart';  \nimport 'package:hoopster/PermanentStorage.dart';  \nimport 'package:hoopster/statsObjects.dart';  \nimport 'package:tflite\\_flutter/tflite\\_flutter.dart' as tfl;  \nimport 'dart:typed\\_data';  \nimport 'package:image/image.dart' as img;  \nimport 'package:image\\_gallery\\_saver/image\\_gallery\\_saver.dart';  \nimport 'package:path\\_provider/path\\_provider.dart';  \nimport '../main.dart';  \nimport 'home\\_screen.dart';  \nint i = 0;  \nlate CameraImage \\_cameraImage;  \nint counter = 0;  \nString lastSaved = \"\";  \nint Hit = 0;  \nint Miss = 0;  \nvar height;  \nvar width;  \nclass CameraApp extends StatefulWidget {  \n const CameraApp({Key? key}) : super(key: key);  \n u/override  \n State<CameraApp> createState() => \\_CameraAppState();  \n}  \nclass \\_CameraAppState extends State<CameraApp> {  \n late CameraController controller;  \n late Future<void> \\_initializeControllerFuture;  \n String \\_videoPath = '';  \n u/override  \n void initState() {  \n super.initState();  \n controller = CameraController(  \n cameras.last,  \n ResolutionPreset.medium,  \n);  \n // Initiate the loading of the model  \n loadModel().then((interpreter) {  \n // Model has been loaded at this point  \n \\_initializeControllerFuture = controller.initialize().then((\\_) {  \n controller.startImageStream((image) {  \n \\_cameraFrameProcessing(image, interpreter);  \n});  \n if (!mounted) {  \n return;  \n}  \n setState(() {});  \n}).catchError((Object e) {  \n if (e is CameraException) {  \n switch (e.code) {  \n case 'CameraAccessDenied':  \n // Handle access errors here.  \n break;  \n default:  \n // Handle other errors here.  \n break;  \n}  \n}  \n});  \n});  \n  }  \n void \\_cameraFrameProcessing(CameraImage image, tfl.Interpreter interpreter) {  \n \\_cameraImage = image;  \n processCameraFrame(image, interpreter); // Process each camera frame  \n  }  \n Future<tfl.Interpreter> loadModel() async {  \n return tfl.Interpreter.fromAsset('Assets\\\\\\\\model.tflite');  \n  }  \n Future<void> processCameraFrame(  \n CameraImage image, tfl.Interpreter interpreter) async {  \n try {  \n print('processing camera frame');  \n // Convert the CameraImage to a byte buffer  \n Float32List convertedImage = convertCameraImage(image);  \n // Create output tensor. Assuming model has a single output  \n var output = interpreter.getOutputTensor(0).shape;  \n print(output);  \n // Create input tensor with the desired shape  \n var inputShape = interpreter.getInputTensor(0).shape;  \n //print(inputShape);  \n print(\"eo\");  \n //var inputShape = \\[1, 13, 13, 35\\];  \n var inputTensor = <List<List<List<dynamic>>>>\\[  \n List.generate(inputShape\\[1\\], (\\_) {  \n return List.generate(inputShape\\[2\\], (\\_) {  \n return List.generate(inputShape\\[3\\], (\\_) {  \n return \\[  \n 0.0  \n\\]; // Placeholder value, modify this according to your needs  \n});  \n});  \n})  \n\\];  \n print(\"mamaaaaaa\");  \n print(inputTensor);  \n print(convertedImage.length);  \n // Copy the convertedImage data into the inputTensor  \n for (int i = 0; i < convertedImage.length; i++) {  \n print(\"see\");  \n int x = i % inputShape\\[2\\];  \n int y = (i \\~/ inputShape\\[2\\]) % inputShape\\[1\\];  \n int c = (i \\~/ (inputShape\\[1\\] \\* inputShape\\[2\\])) % inputShape\\[3\\];  \n //print(\"see2\");  \n inputTensor\\[y\\]\\[x\\]\\[c\\]\\[0\\] = convertedImage\\[i\\];  \n print(\"$x,$y,$c,$i\");  \n}  \n // Run inference on the frame  \n print(\"here, line 116\");  \n interpreter.runForMultipleInputs(inputTensor, {0: output});  \n print(output);  \n // Process the inference results  \n //print(\"here2, line 120\");  \n //processInferenceResults(output);  \n} catch (e) {  \n print('Failed to run model on frame: $e');  \n}  \n print('done executing');  \n  }  \n Float32List convertCameraImage(CameraImage image) {  \n print('converting image');  \n final width = image.width;  \n final height = image.height;  \n final int uvRowStride = image.planes\\[1\\].bytesPerRow;  \n final int? uvPixelStride = image.planes\\[1\\].bytesPerPixel;  \n // Create an Image buffer  \n img.Image imago = img.Image(width, height);  \n for (int x = 0; x < width; x++) {  \n for (int y = 0; y < height; y++) {  \n final int uvIndex =  \n uvPixelStride! \\* (x / 2).floor() + uvRowStride \\* (y / 2).floor();  \n final int index = y \\* width + x;  \n final int yValue = image.planes\\[0\\].bytes\\[index\\];  \n final int uValue = image.planes\\[1\\].bytes\\[uvIndex\\];  \n final int vValue = image.planes\\[2\\].bytes\\[uvIndex\\];  \n List rgbColor = yuv2rgb(yValue, uValue, vValue);  \n // Set the pixel color  \n imago.setPixelRgba(x, y, rgbColor\\[0\\], rgbColor\\[1\\], rgbColor\\[2\\]);  \n}  \n}  \n // Resize the image to 13x13  \n img.Image resizedImage = img.copyResize(imago, width: 13, height: 13);  \n // Create a new Float32List with the correct shape: \\[1, 13, 13, 35\\]  \n Float32List modelInput = Float32List(1 \\* 13 \\* 13 \\* 35);  \n // Copy the resized RGB image data into the first three channels of the model input  \n for (int i = 0; i < 13 \\* 13; i++) {  \n int x = i % 13;  \n int y = i \\~/ 13;  \n int pixel = resizedImage.getPixel(x, y) \\~/ 255;  \n;  \n modelInput\\[i \\* 35 + 0\\] = img.getRed(pixel).toDouble();  \n modelInput\\[i \\* 35 + 1\\] = img.getGreen(pixel).toDouble();  \n modelInput\\[i \\* 35 + 2\\] = img.getBlue(pixel).toDouble();  \n}  \n // Fill in the remaining 32 channels with zeros (or whatever is appropriate for your model)  \n for (int i = 0; i < 13 \\* 13; i++) {  \n for (int j = 3; j < 35; j++) {  \n modelInput\\[i \\* 35 + j\\] = 0.0;  \n}  \n}  \n print('finished converting image');  \n // Now you can use modelInput as the input to your model  \n return modelInput;  \n  }  \n void processInferenceResults(List<dynamic> output) {  \n print('test');  \n print(output.toString());  \n // Process the inference output to get the labels and their coordinates  \n List<Map<String, dynamic>> labels = \\[\\];  \n for (dynamic label in output) {  \n String text = label\\['label'\\];  \n double confidence = label\\['confidence'\\];  \n Map<String, dynamic> coordinates = label\\['rect'\\];  \n // Check if the label is \"ball\" or \"hoop\"  \n if (text == \"ball\" || text == \"hoop\") {  \n labels.add({  \n 'text': text,  \n 'confidence': confidence,  \n 'coordinates': coordinates,  \n});  \n}  \n}  \n if (labels.isEmpty) {  \n // No recognitions found, do nothing  \n return;  \n}  \n // Do something with the filtered labels  \n // ...  \n  }  \n u/override  \n void dispose() {  \n controller.dispose();  \n super.dispose();  \n  }  \n Future<void> \\_onRecordButtonPressed() async {  \n try {  \n if (controller.value.isRecordingVideo) {  \n final path = await controller.stopVideoRecording();  \n setState(() {  \n \\_videoPath = path as String;  \n});  \n //processVideo(  \n //    \\_videoPath); // Pass the video path to the processing function  \n} else {  \n await \\_initializeControllerFuture;  \n final now = DateTime.now();  \n final formattedDate =  \n '${now.year}-${now.month}-${now.day} ${now.hour}-${now.minute}-${now.second}';  \n final fileName = 'hoopster\\_${formattedDate}.mp4';  \n final path = '${Directory.systemTemp.path}/$fileName';  \n print(path);  \n //await controller.startVideoRecording();  \n}  \n} catch (e) {  \n print(e);  \n}  \n  }  \n Future<void> stopVideoRecording() async {  \n if (!controller.value.isInitialized) {  \n return;  \n}  \n if (!controller.value.isRecordingVideo) {  \n return;  \n}  \n try {  \n await controller.stopVideoRecording();  \n} on CameraException catch (e) {  \n print('Error: ${e.code}\\\\n${e.description}');  \n return;  \n}  \n  }  \n Future<void> \\_saveImage(List<int> \\_imageBytes) async {  \n counter++;  \n final directory = await getApplicationDocumentsDirectory();  \n final imagePath = '${directory.path}/frame${counter}.png';  \n lastSaved = imagePath;  \n final imageFile = File(imagePath);  \n await imageFile.writeAsBytes(\\_imageBytes);  \n print('Image saved to: $imagePath');  \n  }  \n void capture() async {  \n int \\_1 = Random().nextInt(20);  \n int \\_2 = Random().nextInt(20);  \n DateTime n = DateTime.now();  \n setState(() {  \n // allSessions.add(Session(n, \\_1, \\_2));  \n // lView = globalUpdate();  \n});  \n if (\\_cameraImage != null) {  \n Uint8List colored = Uint8List(\\_cameraImage.planes\\[0\\].bytes.length \\* 3);  \n int b = 0;  \n img.Image image = \\_cameraImage as img.Image;  \n var input = \\[1, 13, 13, 3\\];  \n //img.Image image = convertCameraImage(\\_cameraImage);  \n img.Image Rimage = img.copyRotate(image, 90);  \n \\_saveImage(Rimage.data);  \n // Convert the image to RGB format using image package  \n // img.Image image = img.Image.fromBytes(  \n //   \\_cameraImage.width,  \n //   \\_cameraImage.height,  \n //   \\_cameraImage.planes\\[0\\].bytes,  \n //   format: img.Format.yuv420,  \n // );  \n // img.Image Rimage = img.copyRotate(image, 90);  \n // \\_saveImage(Rimage.getBytes(format: img.Format.rgb));  \n // Run inference on the converted image  \n // Process the inference results  \n}  \n  }  \n @override  \n Widget build(BuildContext context) {  \n if (!controller.value.isInitialized) {  \n return Container(  \n color: Color.fromARGB(255, 255, 0, 0),  \n);  \n}  \n return Scaffold(  \n body: Container(  \n child: Column(  \n children: \\[  \n SizedBox(child: CameraPreview(controller)),  \n Expanded(  \n child: Container(  \n color: Color.fromARGB(255, 93, 70, 94),  \n child: Row(  \n mainAxisAlignment: MainAxisAlignment.center,  \n children: \\[  \n Text(  \n Hit.toString(),  \n style: TextStyle(  \n fontFamily: \"Dogica\",  \n fontSize: 60,  \n color: Color.fromARGB(255, 0, 255, 0),  \n),  \n),  \n Padding(  \n padding:  \n EdgeInsets.fromLTRB((w / 3) - 65, 0, (w / 3) - 65, 0),  \n child: GestureDetector(  \n child: Container(  \n height: 80,  \n width: 80,  \n decoration: BoxDecoration(  \n image: DecorationImage(  \n image: AssetImage(basketButton),  \n fit: BoxFit.fill,  \n),  \n boxShadow: \\[  \n BoxShadow(  \n color: Color.fromARGB(80, 0, 0, 0),  \n spreadRadius: 1,  \n blurRadius: 5,  \n)  \n\\],  \n color: Color.fromARGB(0, 255, 255, 255),  \n borderRadius: BorderRadius.all(  \n Radius.circular(30),  \n),  \n),  \n),  \n onTap: () => {  \n //capture(),  \n setState(() {  \n Miss++;  \n Hit++;  \n})  \n},  \n onDoubleTap: () => {  \n //Session s= Session(DateTime.now(), 10, 7);  \n},  \n),  \n),  \n Text(  \n Miss.toString(),  \n style: TextStyle(  \n fontFamily: \"Dogica\",  \n fontSize: 60,  \n color: Color.fromARGB(255, 255, 0, 0),  \n),  \n),  \n\\],  \n),  \n),  \n),  \n\\],  \n),  \n),  \n);  \n  }  \n}  \nUint8List yuv2rgb(int y, int u, int v) {  \n double yd = y.toDouble();  \n double ud = u.toDouble() - 128.0;  \n double vd = v.toDouble() - 128.0;  \n double r = yd + 1.402 \\* vd;  \n double g = yd - 0.344136 \\* ud - 0.714136 \\* vd;  \n double b = yd + 1.772 \\* ud;  \n r = r.clamp(0, 255).roundToDouble();  \n g = g.clamp(0, 255).roundToDouble();  \n b = b.clamp(0, 255).roundToDouble();  \n return Uint8List.fromList(\\[r.toInt(), g.toInt(), b.toInt()\\]);  \n}  \n",
  "label": "r/tensorflow",
  "dataType": "post",
  "communityName": "r/tensorflow",
  "datetime": "2023-06-30",
  "username_encoded": "Z0FBQUFBQm5LakwwbktLNDVlRWpCU2ZHVWl1TTVzOFRfQ1FXZDZyTnVoMHo4b2VkZUR6NFM1SnBydGw0Y3pZQzFsNmlSVnMwNW5SWG9ZQWcxNFRESkx6eElJU3pER1lvckE9PQ==",
  "url_encoded": "Z0FBQUFBQm5Lak9FckZ0M2N3OHFMcWFWYlFQM0dLSG9VTktZc0ozbGRkQ1RiWFV3R2QwTWVPdmRFbXBGSC1Yc3NoRTV2akdCRUF1bXRaLXV1UjJpSnBtRXQwREdqaXBCZ2ZZX2NwZFQzNU5nY1hiMGlOeW82cEZtaHF4UUFuUjdGM0FjeXBxb0RJN2V0LTBzQ2VOM0U3MF9oaFF2MGh4eVpHSTA5X1lWbm1JZUhkYUtfa01iTFRHby03SDlkXzR0ZDJaYWdtekxfWkV1ZDhVcW1PenJhUk1nX0FXVF8tWEpKdz09"
}

Entry Information