Узнайте, как создавать интеллектуальные мобильные приложения с помощью платформы Flutter и методов машинного обучения.

Машинное обучение — это область исследования, позволяющая компьютерам обучаться без явного программирования. Тем не менее, мы увидим это дальше вкратце.

Содержание:-

Машинное обучение — введение

Flatter с машинным обучением

Установка

Создать модель

Этапы создания модели

Реализация кода

Окончательный результат

Заключение

Читать мои блоги

Ссылка на Github

Машинное обучение:-

Машинное обучение имеет богатую историю, уходящую в прошлое столетие, и стало неотъемлемой частью нашей повседневной жизни. Он настолько распространен, что мы часто сталкиваемся с ним, даже не осознавая этого. Взять, к примеру, смартфоны. Их называют «умными», потому что они постоянно учатся на наших взаимодействиях и адаптируются к нашим предпочтениям. Они собирают информацию о нас и используют ее для предоставления персонализированного опыта. Это выходит за рамки смартфонов и пронизывает различные технологии. Алгоритмы машинного обучения постоянно развиваются, как и люди, поскольку они анализируют данные и выявляют закономерности, чтобы делать прогнозы и улучшать процесс принятия решений. Его охват обширен, он влияет на многие области технологий и значительно улучшает нашу жизнь.

Машинное обучение — это область искусственного интеллекта (ИИ), которая фокусируется на разработке алгоритмов и моделей, которые позволяют компьютерам учиться и делать прогнозы или решения на основе данных без явного программирования. Он включает в себя разработку математических и статистических моделей, которые могут анализировать большие объемы данных, выявлять закономерности и делать обоснованные прогнозы или предпринимать действия.

В машинном обучении компьютеры обучаются с использованием примеров данных, называемых обучающим набором, для изучения закономерностей и взаимосвязей в данных. Затем модели используются для прогнозирования или принятия решений на основе новых невидимых данных.

Машинное обучение имеет различные приложения, включая, помимо прочего, распознавание изображений и речи, обработку естественного языка, системы рекомендаций, обнаружение мошенничества, автономные транспортные средства и прогнозную аналитику. Он играет решающую роль в том, чтобы позволить компьютерам учиться и совершенствоваться на основе опыта, что приводит к интеллектуальному и основанному на данных принятию решений.

Машинное обучение широко используется в различных аспектах нашей повседневной жизни. Вот несколько распространенных примеров:

– Виртуальные помощники. Виртуальные помощники, такие как Siri, Google Assistant и Alexa, используют алгоритмы машинного обучения, чтобы понимать голосовые команды и реагировать на них, давать рекомендации и выполнять задачи на основе взаимодействия с пользователем.

– Системы рекомендаций. Такие платформы, как Netflix, Amazon и Spotify, используют машинное обучение для анализа предпочтений и поведения пользователей, предлагая персонализированные рекомендации фильмов или телепередач, рекомендации продуктов и настраиваемые плейлисты.

— Обнаружение мошенничества. Финансовые учреждения используют машинное обучение для обнаружения и предотвращения мошеннических действий путем анализа шаблонов и аномалий в транзакциях, выявления подозрительного поведения и оповещения пользователей или принятия необходимых мер.

— Распознавание изображений и речи. Машинное обучение обеспечивает работу систем распознавания лиц, используемых для разблокировки смартфонов или пометки людей на фотографиях. Он также поддерживает технологии распознавания речи, такие как службы транскрипции, голосовые помощники и устройства с голосовым управлением.

— Обработка естественного языка (NLP). Методы NLP, ветвь машинного обучения, используются в службах языкового перевода, анализе настроений, чат-ботах и ​​голосовых интерфейсах, делая общение более эффективным и интуитивно понятным.

– Здравоохранение. Алгоритмы машинного обучения используются в анализе медицинских изображений, диагностике заболеваний, персонализированной медицине и разработке лекарств, помогая в раннем выявлении, планировании лечения и научных исследованиях.

— Социальные сети и реклама. Платформы социальных сетей используют алгоритмы машинного обучения для персонализации каналов контента, таргетинга рекламы на основе предпочтений и поведения пользователей, а также для обнаружения спама или оскорбительного контента.

— Автономные транспортные средства. Машинное обучение играет решающую роль в автономных транспортных средствах, обеспечивая обнаружение объектов, предотвращение столкновений, определение полосы движения и принятие решений на основе данных с датчиков в реальном времени.

Флаттер с машинным обучением: -

Flutter с машинным обучением — это сочетание платформы Flutter и методов машинного обучения в разработке приложений. Flutter — это платформа пользовательского интерфейса с открытым исходным кодом, разработанная Google для создания кроссплатформенных приложений. Это позволяет разработчикам создавать красивые и производительные приложения для нескольких платформ, используя единую кодовую базу.

В сочетании с машинным обучением Flutter позволяет интегрировать возможности ИИ в мобильные приложения. Разработчики могут использовать библиотеки машинного обучения, API и модели для включения таких функций, как распознавание изображений, обработка естественного языка, анализ настроений, системы рекомендаций и многое другое.

Используя Flutter с машинным обучением, разработчики могут создавать мощные и интеллектуальные мобильные приложения, которые могут понимать, анализировать и делать прогнозы на основе пользовательских данных или входных данных в режиме реального времени. Это сочетание открывает возможности для разработки интеллектуальных и персонализированных приложений, которые могут предоставлять расширенные функции, улучшать взаимодействие с пользователем и автоматизировать задачи с использованием алгоритмов и моделей машинного обучения.

Монтаж:-

Существует так много пакетов для реализации машинного обучения в проектах Flutter. Сегодня мы будем использовать tflite.

Теперь давайте выполним шаги по импорту tfilte в наш проект.

Импортируйте последнюю версию пакета tflite в файл pubspec.yaml.

dependencies:
  tflite: ^1.1.2

Перейдите к файлу ›build.gradle ›приложения ›android, добавьте блок aaptOptions и измените minSdkVersion на 19

aaptOptions {
    noCompress 'tflite'
    noCompress 'lite'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.otp_autofill_demo"
    // You can update the following values to match your application needs.
    // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
    minSdkVersion 19
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

Добавить разрешение на Интернет в файл android›app›src›main›AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

Создать модель: -

Модель относится к предварительно обученной модели машинного обучения, которая используется в приложении Flutter для выполнения таких задач, как распознавание изображений, обработка естественного языка или анализ данных.

Файл модели содержит изученные параметры и структуру обученной модели. Обычно он сохраняется с определенным расширением файла, например .tflite для моделей TensorFlow Lite. Затем этот файл загружается и используется в приложении Flutter для выполнения прогнозов или выводов по новым данным.

Существует так много способов создать собственную модель TensorFlow Lite. Я предпочел Обучаемую машину. Это веб-инструмент от Google, который позволяет быстро и легко создавать модели машинного обучения без каких-либо знаний или кода, доступного для всех.

Шаги для создания модели: -

— Перейти на https://teachablemachine.withgoogle.com/

— В демонстрационном проекте ниже я покажу реализацию функции распознавания изображений с использованием машинного обучения. Поэтому я выбрал вариант «Image Project».

— Предоставьте образцы всех сценариев, в которых вы хотите, чтобы вещи/себя распознавались, и, наконец, обучите свою модель. После этого загрузите модель TensorFlow Lite с типом преобразования с плавающей запятой.

— Извлеките файлы и вставьте их в активы/папки.

— Не забудьте добавить раздел ресурсов в файл pubspec.yaml, вот так

flutter:

  uses-material-design: true

  assets:
    - assets/images/
    - assets/labels.txt
    - assets/model_unquant.tflite

Теперь давайте углубимся в реализацию кода, чтобы определить, носит ли человек очки. Ниже вы найдете основные фрагменты кода для реализации этой функциональности.

Реализация кода: -

основной. дротик

void main() =>
    runApp(const MaterialApp(
      home: MyApp(),
      debugShowCheckedModeBanner: false,
    ));

MyApp.dart

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String backgroundImage = "assets/images/background.jpg";
  ImagePicker imagePicker = ImagePicker();
  File? _image;
  double? _imageWidth;
  double? _imageHeight;
  var _recognitions;
  
  //needs to be called at very first
  loadModel() async {
    Tflite.close();
    try {
      String? res = await Tflite.loadModel(
          model: "assets/model_unquant.tflite",
          labels: "assets/labels.txt",
          numThreads: 2,
          isAsset: true,
          useGpuDelegate: false);
    } on PlatformException {
      debugPrint("Failed to load the model");
    }
  }

  // run prediction using TFLite on given image
  Future predict(File image) async {
    var recognitions = await Tflite.runModelOnImage(
        path: image.path,
        imageMean: 0.0,
        imageStd: 255.0,
        numResults: 2,
        threshold: 0.6,
        asynch: true // defaults to true
    );

    debugPrint("Recognitions:--$recognitions");

    setState(() {
      _recognitions = recognitions;
    });
  }

  // send image to predict method selected from gallery or camera
  sendImage(File image) async {
    // if(image == null) return;
    await predict(image);

    // get the width and height of selected image
    FileImage(image)
        .resolve(const ImageConfiguration())
        .addListener((ImageStreamListener((ImageInfo info, bool _) {
      setState(() {
        _imageWidth = info.image.width.toDouble();
        _imageHeight = info.image.height.toDouble();
        _image = image;
      });
    })));
  }

  // select image from gallery
  selectFromGallery() async {
    var image = await imagePicker.pickImage(source: ImageSource.gallery);
    if (image == null) return;
    setState(() {});
    File fileImage = await CommonUtils.convertXFileToFile(image);
    sendImage(fileImage);
  }

  // select image from camera
  selectFromCamera() async {
    var image = await imagePicker.pickImage(source: ImageSource.camera);
    if (image == null) return;
    setState(() {});
    File fileImage = await CommonUtils.convertXFileToFile(image);
    sendImage(fileImage);
  }

  @override
  void initState() {
    super.initState();

    loadModel().then((val) {
      setState(() {});
    });
  }

  Widget printValue(rcg) {
     //Print data in your screen accordingly.
  }

  @override
  Widget build(BuildContext context) {
    Size size = MediaQuery
        .of(context)
        .size;

    double finalW;
    double finalH;

    if (_imageWidth == null && _imageHeight == null) {
      finalW = size.width;
      finalH = size.height;
    } else {
      double ratioW = size.width / _imageWidth!;
      double ratioH = size.height / _imageHeight!;

      finalW = _imageWidth! * ratioW * .85;
      finalH = _imageHeight! * ratioH * .50;
    }

    return Scaffold(...);
  }

Полный код этой реализации можно найти по ссылке на GitHub ниже. Ссылка на главную ветку.

Окончательный вывод: -

Заключение:-

В этой статье мы рассмотрели захватывающее пересечение Flutter и машинного обучения, что дало вам возможность создавать свои проекты, использующие возможности искусственного интеллекта. Я надеюсь, что вы нашли это путешествие познавательным и приятным. Теперь, вооружившись знаниями о Flutter и машинном обучении, раскройте свой творческий потенциал и начните свои уникальные проекты в области искусственного интеллекта.

❤ ❤ Спасибо, что прочитали эту статью ❤❤

Если я что-то не так? Дай мне знать в комментариях. Я хотел бы улучшить.

Хлопайте 👏 Если вам поможет эта статья.

Читайте мои другие блоги:







Ссылка на гитхаб: -



Не стесняйтесь связаться с нами:
И читайте больше статей на FlutterDevs.com.

Команда разработчиков Flutter FlutterDevs создает высококачественные и многофункциональные приложения. Наймите разработчика Flutter для вашего кроссплатформенного проекта мобильного приложения Flutter на почасовой или полной занятости в соответствии с вашими требованиями! По любым вопросам, связанным с флаттером, вы можете связаться с нами через Facebook, GitHub, Twitter и LinkedIn.

Мы приветствуем отзывы и надеемся, что вы поделитесь тем, над чем работаете с помощью #FlutterDevs. Нам очень нравится видеть, как вы используете Flutter для создания красивых интерактивных веб-приложений.