Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 2 / 1
Регистрация: 15.10.2019
Сообщений: 95

Преобразование list в массив тензоров

10.04.2022, 22:31. Показов 1585. Ответов 0

Студворк — интернет-сервис помощи студентам
Задачи состоит в формировании данных для их последующего обучения в нейросети. Исходные данные это rgb изображения размеров 32 на 32. Я написал функцию, которая создаёт кортеж с трёхмерным тензором и соответвующей меткой класса.
Код:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import torch
import cv2
import torchvision.transforms as transforms
import os
import numpy as np
 
  def func_open_im_torch(path):
    list_im = list()
    list_dir = list()
    list_label = list()
    result = tuple()
     # Define a transform to convert
    # the image to torch tensor
    transform = transforms.Compose([transforms.ToTensor()])
  
    
    for d, dirs, files in os.walk(path):    
        for f in files:
                        
            fullfilename = os.path.join(d,f) # формирование адреса 
            
            filename = fullfilename.partition('class')
            
            filename = filename[1]+filename[2]
 
            list_dir.append(filename)
            
           # Read the image
            image = cv2.imread(fullfilename)
  
            # Convert BGR image to RGB image
            image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
  
            # Convert the image to Torch tensor
            tensor = transform(image)
            
            list_im.append(tensor)
                                             
            label = fullfilename[33:36]
            
            list_label.append(label)
            
            result = (list_im, np.array(list_label))
            
    return result


В результате выполнения функции

Python
1
torch_tupple = func_open_im_torch('my_path')
я получаю

Python
1
2
X = torch_tupple[0]
y = torch_tupple[1].astype('uint8')
типы получаются: <class 'list'> и <class 'numpy.ndarray'>

далее я хочу расплитить X и y на обучающую и тестовую выборку

Python
1
2
3
4
5
from sklearn.model_selection import train_test_split
 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
 
print(X_train.shape, y_train.shape, X_test.shape, y_test.shape)
, однако получаю ошибку, потому как вместо списка должен быть np.array. Я конвернул X в numpy, но в этом векторе уже нет 3 размерностей тензора. Вопрос: как из списка с трёхмерными тензорами получить трёхмерный numpy array?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2022, 22:31
Ответы с готовыми решениями:

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из List&lt;List&lt;double&gt;&gt;. Таким...

Преобразование записи wav в массив байтов List<T>
Всем привет. Преобразую wav-файл в массив данных при помощи этого кода: public Decimal prepare(string wavePath, string...

Универсальное преобразование List<object> -> List<MyClass>
Пытаюсь написать нечто универсальное для преобразования сущностей из БД (таблицы) в сущности C# (классы). /// &lt;summary&gt; ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2022, 22:31
Помогаю со студенческими работами здесь

Преобразование List<Child> to List<Parent> и обратно
Здравствуйте, подскажите пожалуйста, как правильно реализовать преобразование списка объектов класса наследника в список объектов родителя...

Преобразование list<type1> в list<type2>
Здравствуйте, недавно начал изучать с#. Накопилось много вопросов) но сейчас интересует один конкретный. объём кода - пара сотен строк...

Преобразование List<MyClass> to List<Object>
собственно ловлю ошибку при преобразовании списка состоящего из экземпляров моего класса в List&lt;Object&gt; пытаюсь сделать такое ...

Преобразование списка list в *list
Здравствуйте я создал список (массив списков), но не могу вытащить элементы этого списка (т.е. , к примеру : mas=список из несколько...

Массив объектов класса List: Error CS0118: `list' is a `field' but a `type' was expected
Не могу понять что делаю не так, вот код: SimpleClass { } List&lt;SimpleClass&gt; list = new List&lt;SimpleClass&gt;(); list = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru