winograd算法python小白教程

This tutorial shows how to compute wino_f23:

  1. define transform matrix
    G_F23 = np.array([
         [ 1.0,  0.0, 0.0 ],
         [ 0.5,  0.5, 0.5 ],
         [ 0.5, -0.5, 0.5 ],
         [ 0.0,  0.0, 1.0 ]])
     Bt_F23 = np.array([
         [ 1.0,  0.0, -1.0,  0.0 ],
         [ 0.0,  1.0,  1.0,  0.0 ],
         [ 0.0, -1.0,  1.0,  0.0 ],
         [ 0.0,  1.0,  0.0, -1.0 ]])
     At_F23 = np.array([
         [ 1.0, 1.0,  1.0,  0.0 ],
         [ 0.0, 1.0, -1.0, -1.0 ]])
  2. compute transformation for input, kernel, output
     def trans_kernel(g):
         return np.dot(np.dot(G_F23,g),G_F23.T)
     def trans_input(d):
         return np.dot(np.dot(Bt_F23,d),Bt_F23.T)
     def trans_output(r):
         return np.dot(np.dot(At_F23,r),At_F23.T)
  3. do conv_winof23, conv_direct
     def wino_f23(kernel,input):
         tran_inp = trans_input(input)
         tran_ker = trans_kernel(kernel)
         mid = tran_inp * tran_ker
         out = trans_output(mid)
         return out
    
     def conv_direct(kernel,input):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值