Guest User

Untitled

a guest
Nov 21st, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. def count(self, A, n1, n2, syn_, type_):# подсчет
  2. result=[]
  3. i_=0
  4.  
  5. #--------------------------------
  6. # Создаем списки и зануляем их элементы (реализация на мой взгляд не очень)
  7. result=np.random.random((len(A)-n1+1, len(A[0])-n2+1, len(A.T)))
  8. result[:]=0 # Конечный результат
  9. B=np.random.random((n1, n2, len(A.T)))
  10. B[:]=0 # Список B - часть входного списка (массива)
  11. #--------------------------------
  12.  
  13. for i in range(0, len(A)-(n1-1)):# проход по строкам (-(n1-1) - элементы не проходим, т.к. они будут проверны на итерации len(A)-n1+1)
  14. A_=A[i:i+n1]# "урезаем" массив и берем нужные элементы
  15. for l in range(0, len(A[i])-(n2-1)):# проход по столбцам (-(n2-1) - элементы не проходим)
  16. for j in range(0, n1):# проход по элементам подаваемым на подсчет в свертку
  17. B[j]=A_[j][l:l+n2]# "урезаем" массив и берем нужные элементы
  18.  
  19. # ++++++++++++
  20. # умножаем и суммируем (требуется двойная сумма (по двум мерностям),
  21. # суммируются все нужные элементы (остается N чисел,
  22. # где N - количество картинок))
  23. result[i][l]=sum(sum(syn_.dot(B)))# numpy.dot() - произведение массивов, в данном случае метод (syn_.dot(B)), есть "синоним" numpy.dot(syn_, B)
  24. # ++++++++++++
  25. return result
Add Comment
Please, Sign In to add comment