Раньше я использовал карту 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. Сетевая среда готова.
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.
python -c \
"import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()"
Если вы увидите следующий вывод: [Восхождение] успешно!, это означает, что его можно использовать в обычном режиме.
Введите каталог образцов
cd samples
Запустите соответствующую службу. IP 192.168.123.119 — это IP-адрес, полученный моим Orange Pie AIpro.
./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 позволяет не только избежать влияния сетевых задержек, но и защитить конфиденциальность пользователя. Некоторые личные данные не нужно загружать в облако.
Импортируйте несколько базовых библиотек, сосредоточив внимание на последних двух строках, которые используются для загрузки и запуска модели машинного обучения, развернутой на чипе Ascend. Управляйте ресурсами чипа Ascend, такими как выделение памяти, инициализация устройства и т. д.
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).
# 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
Это та часть, которая включает предварительную обработку изображения, вывод модели и декодирование результатов.
# Импортируйте и обрабатывайте целевые изображения
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 мс. Эффект очевиден, а эффект изображения намного лучше.
информация НПУ в реальном времени
В дополнение к чипу Shengteng сам Orange Pie AIpro также достаточно мощный, чтобы успешно развернуть большую модель файла формата gguf Qwen0.5B.
выполнить команду
git clone https://github.com/ggerganov/llama.cpp.git
Введите llama.cpp,выполнить команда, нужно подождать некоторое время, калибровать команда занимает много времени
make
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 и поделиться ими со всеми. Я надеюсь, пожалуйста, дайте мне несколько советов.