Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> y = self.Why @ h + self.by 
:(
    Опции темы
YahоО
Дата 18.10.2020, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Декораторы в примере как то можно понять:
Код

def benchmark(func):
    import time
    
    def wrapper():
        start = time.time()
        func()
        end = time.time()
        print('[*] Время выполнения: {} секунд.'.format(end-start))
    return wrapper

@benchmark
def fetch_webpage():
    import requests
    webpage = requests.get('https://google.com')

fetch_webpage()


Но что означает символ @ в Python данном примере с матрицами?
Код

y = self.Why @ h + self.by

y = self.Why + self.by можно предположить что это сложение.
y = self.Why @ h + self.by это тоже сложение матриц?
И y, и self.Why, и h, и self.by это все матрицы, а что такое есть @ ?

И точно такой же вопрос и снова с @ :
Код

for i, x in enumerate(inputs):
      h = np.tanh(self.Wxh @ x + self.Whh @ h + self.bh)

Декоратор. А как его понимать? "Декораторы расширяют возможности функции без редактирования её кода и являются гибким инструментом для изменения чего угодно" - в обоих приведенных выше примерах с матрицами нет никакой функции, 
что меняют в матрице символы @?
"Декоратор принимает функцию в качестве аргумента и возвращает функцию" - в обоих примерах нету функций.
Когда мы пишем @my_decorator — мы просто говорим интерпретатору «вызвать функцию, под названием my_decorator» - какая функция вызывается / изменяется в приведенных примерах с матрицами?

Вот эта часть кода:
Код

print("h=")
print(h)
print("Why=")
print(self.Why)
print("by=")
print(self.by)
y = self.Why @ h + self.by
print("y=")
print(y)  

печатает:
h=[
 [-6.81767963e-04] [ 1.69949679e-03] [ 7.28324376e-04] [-5.93387784e-04] [ 1.48478317e-03] [ 2.18423361e-04] [-1.05932571e-03] [-1.45012292e-03]
 [ 1.01006445e-04] [-5.02960755e-04] [ 1.03075789e-03] [ 2.05454853e-04] [ 3.86894024e-04] [ 2.12815973e-04] [ 7.33782708e-05] [-1.87074132e-03]
 [ 3.42544001e-04] [-1.61873071e-03] [ 1.10104060e-03] [ 8.58525049e-04] [ 1.47046046e-04] [-1.31884672e-03] [ 1.90758669e-03] [-8.27904943e-04]
 [ 5.72388018e-04] [-1.84899439e-03] [ 1.07936270e-04] [-7.47961846e-05] [ 5.71259322e-05] [ 3.07281997e-04] [-2.86609189e-04] [-8.82500326e-04]
 [-1.49571309e-03] [-9.59181432e-04] [ 6.27247102e-04] [-5.86473393e-04] [ 2.59278958e-04] [-8.58563081e-04] [-5.11457762e-04] [-1.03531536e-03]
 [ 7.04324396e-04] [ 3.39098664e-04] [ 3.45435965e-05] [-7.23260701e-04] [ 2.37549067e-03] [ 1.33880291e-04] [-6.74647431e-05] [ 6.38859708e-04]
 [-7.35053790e-04] [ 1.77757249e-04] [-2.49371536e-03] [-1.35418170e-04] [-2.54330552e-03] [-3.26828715e-04] [-7.20035298e-04] [ 2.86317345e-04]
 [ 4.44180970e-05] [-1.88084511e-03] [-1.73717626e-03] [ 1.71738816e-04] [-1.66602321e-03] [ 2.66260167e-04] [ 9.56609276e-04] [ 6.68235385e-04]]
Why=[
  [1.34470514e-03 -1.27907989e-03 -8.71076029e-06  7.45960449e-04   7.06089276e-04 -3.74154208e-05  9.88071530e-05  6.84994290e-04
   1.18296940e-04 -3.37378290e-04  2.39989512e-03 -7.68170832e-04   5.03083620e-04  1.96627872e-04 -2.68215258e-03 -5.52040905e-04
  -2.17296038e-04 -2.76838904e-03  6.72864510e-04  2.15567432e-04   2.94328469e-06 -2.19403205e-03 -5.03023634e-05  1.23923202e-03
  -5.28753254e-05  8.50867932e-04  6.76751838e-04 -1.40788375e-04  -8.73673926e-04  1.31800628e-04 -1.44275663e-04 -4.60407002e-04
   1.66331086e-03 -2.97953229e-03 -4.23609362e-04 -2.32401599e-05   4.03696615e-04  2.00261251e-03 -2.14695229e-04 -2.98982505e-05
   8.05173401e-04  3.18611050e-05  4.48717662e-04  3.57719863e-04   2.80986945e-04  5.28595747e-04  5.40191769e-04  5.15428348e-04
   1.35531401e-03  2.45307933e-05  1.48550323e-03 -1.93328376e-04  -5.02109686e-04 -2.29751906e-04 -9.42086987e-04 -6.09819904e-04
   6.62122021e-04  9.86130444e-04  3.06964250e-04 -1.40863821e-04  -1.95128571e-03  1.15893601e-03  2.84712918e-03 -1.46358672e-05]
 [-1.55878203e-04  7.20167379e-04  7.43557096e-04 -1.20618246e-03   1.06074042e-04 -7.62763101e-04  6.06457678e-04  1.21411199e-03
  -1.53855243e-05 -1.84802359e-03  3.32348799e-03  2.75668558e-04  -1.70395077e-03  1.26844555e-03 -5.03500854e-04  8.64022761e-04
   4.86140078e-04  1.13238828e-03  5.28653672e-04 -7.83568059e-04   7.76364657e-04  8.04284205e-06 -2.48362978e-05 -1.05875965e-03
  -8.52307210e-04  2.50458804e-03 -1.69752035e-04 -3.91229730e-04  -3.50379087e-04  3.31696720e-04  1.18678330e-03 -1.73166794e-04
   6.06263723e-05 -4.13248562e-04  1.10177202e-03  5.86362951e-05   5.72917129e-04 -1.67011955e-03  9.91560243e-04  2.97025182e-04
  -2.36009807e-04  1.31950182e-03 -1.08628903e-03  8.31975456e-04  -8.65136024e-04  4.94328759e-04  1.32200112e-03  6.44381370e-04
   1.43135390e-03 -1.67793688e-04  7.60604968e-04 -6.85740492e-05  -1.24148561e-04  6.20085362e-04 -1.36458286e-03  1.38447303e-03
  -9.34491151e-04 -2.40477535e-04  1.56387366e-03  1.55512048e-03   3.02881742e-04 -1.05661639e-03  4.80248108e-04 -1.28543421e-04]]
by=[[ 0.05275495] [-0.05275495]]
y  =[[ 0.05276203] [-0.05276267]]
Если идти от обратного, т.е. от результата, то в имеющихся слагаемых (в имеющихся матрицах) нет таких чисел сумма которых могла дать тот результат что дает код.




PM MAIL   Вверх
YahоО
Дата 19.10.2020, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Уже все понял - люди помогли, спасибо за разъяснения.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1009 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.