Обзор платы разработки Orange Pi AIpro: Orange Pi AIpro также можно разработать с помощью MindSpore+Jupyter Notebook и развернуть с помощью Qwen2-0.5B-Instruct-GGUF
Обзор платы разработки Orange Pi AIpro: Orange Pi AIpro также можно разработать с помощью MindSpore+Jupyter Notebook и развернуть с помощью Qwen2-0.5B-Instruct-GGUF

Обзор платы разработки Orange Pi AIpro: Orange Pi AIpro также можно разработать с помощью MindSpore+Jupyter Notebook и развернуть с помощью Qwen2-0.5B-Instruct-GGUF

Предисловие

Раньше я использовал карту Ascend от Huawei Cloud для обучения моделей. Сегодня я увидел, как Orange Pie выпустила плату Orange Ai Pro. Их слоган: Рожденный для искусственного интеллекта, с использованием технологии Ascend AI, вычислительная мощность 8T, я не могу дождаться. разместите заказ. Давайте начнем и испытаем это. Семья China Core приветствовала еще одного тяжеловесного гостя. Нравиться! Нравиться! Нравиться!

Введение в оборудование

Справочная схема конфигурации оборудования

Справочная схема конфигурации оборудования дал супер подробную информацию,Мелкие детали, такие как DIP-переключатели.,Все дано,Чрезвычайно дружелюбен к новичкам

Физическое изображение оборудования

Я выбираю TF-карту для запуска, поэтому сдвиньте DIP-переключатель вправо.

Запись прошивки

Загрузка прошивки

Вы можете зайти на официальный сайт

(orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html) Загрузите соответствующую прошивку напрямую.

Записать прошивку

Самый распространенный метод записи — вставить TF-карту в устройство чтения карт, записать ее с помощью инструмента balenaEtcher и дождаться успеха.

Начальный опыт

Авторизоваться

Я использую Микро USBПоследовательный порт отладки Авторизоватьсяиз,запускатьпроцесснужно подождать некоторое время

имя пользователя: HwHiAiUser,Пароль: Mind@123,Когда вам позже понадобится супер-домохозяйство,Вы также можете получить rootАвторизоваться,Пароль по-прежнему: Mind@123.,Или также можно использовать сипользоватьсудо

Основная информация

Вы можете видеть, что емкость хранилища составляет 32 ГБ, память — 8 ГБ, а архитектура aarch64.

сетевая информация

Вы можете напрямую подключить wan-порт к маршрутизатору, и IP-адрес будет автоматически назначен eth0. Сетевая среда готова.

MindSpore тест

Shengsi MindSpore — это новое поколение полнофункциональной платформы искусственного интеллекта, запущенное компанией Huawei в августе 2019 года. 28 марта 2020 года компания Huawei объявила, что исходный код Shengsi MindSpore официально открыт. MindSpore — это полноценная платформа искусственного интеллекта, целью которой является достижение трех целей: простота разработки, эффективное выполнение и унифицированное развертывание во всех сценариях.

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

Более того, Orange Pie AIpro использует технологию Shengteng и поддерживает структуру CANN на нижнем уровне, который находится на том же уровне, что и платформа CUDA NVIDIA. CANN (вычислительная архитектура для нейронных сетей) — это полнофункциональная программно-аппаратная платформа для совместных вычислений на базе искусственного интеллекта, разработанная Huawei для серии процессоров искусственного интеллекта Ascend. Она обеспечивает низкоуровневый доступ к процессору искусственного интеллекта Ascend (оператору). CANN Library) предоставляет большое количество предварительно оптимизированных операторов искусственного интеллекта, которые могут ускорить процесс обучения модели и вывода.

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

В этом и суть Orange Pie AIpro. Huawei MindSpore можно развернуть прямо на нем.

Выполните следующий код, чтобы импортировать среду Mindspore.

Язык кода:javascript
копировать
python -c \
"import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()"

Если вы увидите следующий вывод: [Восхождение] успешно!, это означает, что его можно использовать в обычном режиме.

Запустить лабораторию Jupyter

Введите каталог образцов

Язык кода:javascript
копировать
cd samples

Запустите соответствующую службу. IP 192.168.123.119 — это IP-адрес, полученный моим Orange Pie AIpro.

Язык кода:javascript
копировать
 ./start_notebook.sh 192.168.123.119
веб-доступ

В это время,Убедитесь, что мой компьютер и Orange Pie AIpro находятся в одной локальной сети.,Затем введите соответствующий IP: 192.168.123.119:8888.,Принесите соответствующий жетон,Тогда ты сможешьвеб-доступ

Опыт оптического распознавания символов

Теперь, когда вы вошли в среду Jupyter Lab и знакомы с Jupyter Lab, вы не заметите, находитесь ли вы в Orange Pi AIpro или в облаке. Следующий шаг — щелкнуть мышью и с удовольствием ощутить мощь MindSpore.

Это довольно быстро, оно выполняется за 7 мс. Внедрение оптического распознавания символов в Orange Pie AIpro позволяет не только избежать влияния сетевых задержек, но и защитить конфиденциальность пользователя. Некоторые личные данные не нужно загружать в облако.

Анализ кода OCR

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

Язык кода:javascript
копировать
import os
import time
import argparse
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
from acllite_model import AclLiteModel as Model
from acllite_resource import AclLiteResource as AclResource

Импорт и обработка модели, определение класса CTLabelConverter, используемого для кодирования текста и данных. Этот класс использует характеристики функции потерь CTC (Connectionist Temporal Classification).

Язык кода:javascript
копировать
# omМодель и расположение картинки
MODEL_PATH = './cnnctc.om'
IMAGE_PATH = './predict.png'
# Инициализируйте ресурсы ACL
acl_resource = AclResource()
acl_resource.init()
#Импортировать локальную модель omModel
print('load model....')
model = Model(MODEL_PATH)
print('load model finished....')
# Кодирование текста и данных
class CTCLabelConverter():
    def __init__(self, character):
        dict_character = list(character)
        self.dict = {}
        for i, char in enumerate(dict_character):
            self.dict[char] = i + 1
        self.character = ['[blank]'] + dict_character
        self.dict['[blank]'] = 0
    #Преобразуем текст в числовую кодировку
    def encode(self, text):
        length = [len(s) for s in text]
        text = ''.join(text)
        text = [self.dict[char] for char in text]
        return np.array(text), np.array(length)
    # Преобразование числовой кодировки в текст
    def decode(self, text_index, length):
        texts = []
        index = 0
        for l in length:
            t = text_index[index:index + l]
            char_list = []
            for i in range(l):
                if t[i] != self.dict['[blank]'] and (
                        not (i > 0 and t[i - 1] == t[i])):
                    char_list.append(self.character[t[i]])
            text = ''.join(char_list)
            texts.append(text)
            index += l
        return texts

Это та часть, которая включает предварительную обработку изображения, вывод модели и декодирование результатов.

Язык кода:javascript
копировать
# Импортируйте и обрабатывайте целевые изображения
img_PIL = Image.open(IMAGE_PATH).convert('RGB')
img = img_PIL.resize((100, 32), resample=3)
img = np.array(img, dtype=np.float32)
img = np.expand_dims(img, axis=0)
img = np.transpose(img, [0, 3, 1, 2])
# Определите время для вывода
start = time.time()
model_predict = model.execute([img])[0]
end = time.time()
print(f'infer use time:{(end-start)*1000}ms')
# Инициализировать функцию кодирования текста
character = '0123456789abcdefghijklmnopqrstuvwxyz'
converter = CTCLabelConverter(character)
# процесс рассуждения
preds_size = np.array([model_predict.shape[1]])
preds_index = np.argmax(model_predict, 2)
preds_index = np.reshape(preds_index, [-1])
preds_str = converter.decode(preds_index, preds_size)
print('Predict: ', preds_str)
Испытайте расширенное воздействие

Когда разрешение 512 * 512, оно завершается за 266 мс. Эффект очевиден, а эффект изображения намного лучше.

информация НПУ в реальном времени

Развертывание Qwen-GGUF

В дополнение к чипу Shengteng сам Orange Pie AIpro также достаточно мощный, чтобы успешно развернуть большую модель файла формата gguf Qwen0.5B.

скачатьllama.cpp

выполнить команду

Язык кода:javascript
копировать
git clone https://github.com/ggerganov/llama.cpp.git

Введите llama.cpp,выполнить команда, нужно подождать некоторое время, калибровать команда занимает много времени

Язык кода:javascript
копировать
make
Скачать большую модель
Язык кода:javascript
копировать
from modelscope import snapshot_download 
model_dir = snapshot_download('qwen/Qwen2-0.5B-Instruct-GGUF')

Используйте инструмент llama-server для запуска соответствующей службы. Позвоните в соответствующую службу. В случае большой модели 0,5B модель Qwen все еще может быть связана с Дамейшей и горой Ляньхуа через Шэньчжэнь. Эффект по-прежнему заслуживает признания.

Сводка по использованию

1. Я впервые использую Jupyter Lab в Orange Pai AIpro. Эта интегрированная среда меня очень удивила. Раньше я использовал ее в Alibaba Cloud PAI, но на этот раз я использовал Jupyter Lab в Orange Pai AIpro. разница Этот вид интеграции Создание среды должно быть оценено Orange Pie AIpro;

2. Последовательный порт интерфейса Micro USB очень удобен для отладки. Предыдущие три порта для отправки и получения линий Dupont не только легко отсоединить, но и легко подключить неправильно. не только распространен, но и прост в использовании.

3. Предоставленные примеры, основанные на MindSpore, просты в освоении, а структура кода также очень понятна;

4. Такое ощущение, что есть ложка дегтя. Хоть 8+32 и так очень большой, но если вы хотите испытать какие-то большие модели, то его все равно недостаточно.

Также есть много интересных моделей на форуме Orange Pi (http://forum.orangepi.cn/) и сообществе Shengteng (hiascend.com). Я продолжу пытаться развернуть эти модели на Orange Pi и поделиться ими со всеми. Я надеюсь, пожалуйста, дайте мне несколько советов.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose