Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def count(self, A, n1, n2, syn_, type_):# подсчет
- result=[]
- i_=0
- #--------------------------------
- # Создаем списки и зануляем их элементы (реализация на мой взгляд не очень)
- result=np.random.random((len(A)-n1+1, len(A[0])-n2+1, len(A.T)))
- result[:]=0 # Конечный результат
- B=np.random.random((n1, n2, len(A.T)))
- B[:]=0 # Список B - часть входного списка (массива)
- #--------------------------------
- for i in range(0, len(A)-(n1-1)):# проход по строкам (-(n1-1) - элементы не проходим, т.к. они будут проверны на итерации len(A)-n1+1)
- A_=A[i:i+n1]# "урезаем" массив и берем нужные элементы
- for l in range(0, len(A[i])-(n2-1)):# проход по столбцам (-(n2-1) - элементы не проходим)
- for j in range(0, n1):# проход по элементам подаваемым на подсчет в свертку
- B[j]=A_[j][l:l+n2]# "урезаем" массив и берем нужные элементы
- # ++++++++++++
- # умножаем и суммируем (требуется двойная сумма (по двум мерностям),
- # суммируются все нужные элементы (остается N чисел,
- # где N - количество картинок))
- result[i][l]=sum(sum(syn_.dot(B)))# numpy.dot() - произведение массивов, в данном случае метод (syn_.dot(B)), есть "синоним" numpy.dot(syn_, B)
- # ++++++++++++
- return result
Add Comment
Please, Sign In to add comment