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

Свертка с вектором свободных членов к входному тензору с параметром stride = 2

13.03.2022, 10:11. Показов 1418. Ответов 3

Студворк — интернет-сервис помощи студентам
Задача: получить результат применения свертки с вектором свободных членов к входному тензору с параметром stride = 2 в режиме 'VALID' (значит padding=0), в формате NHWC. Реализация только с помощью numpy.

Исходные условия:

входной тензор: batch x h x w x c_in = (5, 3, 17, 5)
ядро свертки: kh x kw x c_in x c_out = (3, 3, 5, 2)
свободные члены bias размерности c_out = (2,)

Насколько я понимаю сначала надо входные изображения привести к формату NHWC путём переворачивания в строки с помощью преобразования image2rows. А уже после этого выпонять матричные умножения.

В коде я попытался реализовать приведение к формату NHWC, но возникли некоторые трудности.

Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def im2row(*src, srcC, srcH, srcW,
    kernelY, kernelX, dilationY, dilationX, strideY, strideX, 
    padY, padX, padH, padW, *buf):
 
        dstH = (srcH + padY + padH - (dilationY * (kernelY - 1) + 1)) / strideY + 1;
        dstW = (srcW + padX + padW - (dilationX * (kernelX - 1) + 1)) / strideX + 1;
           
        for dy in range(dstH):
            for dx in range(dstW):
                for ky in range(kernelY):
                    for kx in range(kernelX):
                        sy = dy * strideY + ky * dilationY - padY;
                        sx = dx * strideX + kx * dilationX - padX;
                        for (sc in range(srcC)):
                            if (sy >= 0 && sy < srcH && sx >= 0 && sx < srcW):
                                *buf++ = src[(sy * srcW + sx)*srcC + sc];
                            else
                                *buf++ = 0;
                            
                            return 0
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2022, 10:11
Ответы с готовыми решениями:

Не правильная работа memcpy с вектором - параметром функции
Есть функция int InitX( CUSTOMVERTEX InVertexes, int VertexCount ) { //... void* pBV; memcpy(pBV,...

Получить вектор свободных членов
#include&lt;stdio.h&gt; #include&lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;ctime&gt; #include &lt;fstream&gt; #include &lt;iostream&gt; #include...

Симплекс-метод в случае положительных свободных членов
Здравствуйте! Помогите пожалуйста с курсовой работой. Мне нужно реализовать в delphi симплекс-метод в случае положительных свободных...

3
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
14.03.2022, 09:38
Пардон, а почему каждая строка с вычислениями заканчивается на " ; " ?
0
3 / 2 / 1
Регистрация: 15.10.2019
Сообщений: 95
14.03.2022, 11:25  [ТС]
Nick07, это ошибочно проставленные, по привычке с другого ЯП
0
3 / 2 / 1
Регистрация: 15.10.2019
Сообщений: 95
20.03.2022, 22:29  [ТС]
Так эта задача реашается через TensorFlow:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import tensorflow as tf
from tensorflow import keras
import numpy as np
 
bias = np.load('bias.npy')
kernel = np.load('kernel.npy')
tensor = np.load('tensor.npy')
 
tensor_tf = tf.convert_to_tensor(tensor, np.float32)
kernel_tf = tf.convert_to_tensor(kernel, np.float32)
bias_tf = tf.convert_to_tensor(bias, np.float32)
 
conv = tf.nn.conv2d(tensor,kernel,strides=[1,1,2,1],padding='VALID')
conv_bias = tf.nn.bias_add(conv, bias, data_format='NHWC', name=None)
 
CNN = conv_bias.numpy()
понять бы как на numpy всё это сделать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.03.2022, 22:29
Помогаю со студенческими работами здесь

Симплекс метод в случае положительных свободных членов
Доброе время суток, дайте пожалуйста ссылку или листинг на эту программу, взаимное спасибо!}

Как найти элементы столбца свободных членов?
Найти ортогональную проекцию вектора x=(8,-1,3,6) на подпространство L , порождённое векторами a1=(4,2,0,0) a2=(2,1,-1,2) ...

Программная реализация симплекс-метода в случае отрицательных свободных членов
Пожайлуста помогите, я вообще в делфи не шарю, напишите программу которая будет делать РЕАЛИЗАЦИЮ СИМПЛЕКС-МЕТОДА В СЛУЧАЕ ОТРИЦАТЕЛЬНЫХ...

Размерность фундаментальной системы решений равна колиеству свободных членов?
Размерность фундаментальной системы решений равна колиеству свободных членов. Так ли это?

Симплекс метод: как быть в случае отрицательных свободных членов
есть малая часть , а что делать даль не знаю уравнение :-2x1 – x2 ≥ – 10 2x1 – x2 – 2x3 ≤ 8 ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru