Last active
June 5, 2020 07:07
-
-
Save yiyuezhuo/94a08637a6a80ac4a25eb89e5e605e16 to your computer and use it in GitHub Desktop.
Fix maxpool solution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Precompiling Flux [587475ba-b771-5e3f-ad9e-33799f191a9c]\n", | |
"└ @ Base loading.jl:1260\n" | |
] | |
} | |
], | |
"source": [ | |
"using TestImages\n", | |
"using Images\n", | |
"using PyCall\n", | |
"using Flux" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"PyObject <module 'torch.nn' from '/home/yiyuezhuo/anaconda3/lib/python3.7/site-packages/torch/nn/__init__.py'>" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"const torch = pyimport(\"torch\")\n", | |
"const nn = pyimport(\"torch.nn\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"((3, 100, 100), Array{Float32,3})" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"img = testimage(\"mandrill\")[1:100, 1:100]\n", | |
"img_arr = img |> channelview .|> Float32\n", | |
"img_arr |> size, img_arr |> typeof" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"((1, 3, 100, 100), Array{Float32,4})" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"img_arr_batch = reshape(img_arr, 1, size(img_arr)...)\n", | |
"img_arr_batch |> size, img_arr_batch |> typeof" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(100, 100, 3, 1)" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dummy_input_py = img_arr_batch |> torch.tensor\n", | |
"dummy_input = permutedims(img_arr_batch, [3,4,2,1])\n", | |
"dummy_input |> size" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"PyObject MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"maxpool_py = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"MaxPool((3, 3), pad = (1, 1, 1, 1), stride = (2, 2))" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"maxpool = MaxPool((3, 3); stride=2, pad=1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"true" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dummy_input_py.requires_grad_()\n", | |
"dummy_input_py.requires_grad" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.0f0" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"out = maxpool(dummy_input)\n", | |
"out_py = maxpool_py(dummy_input_py)\n", | |
"\n", | |
"(out .- permutedims(out_py.detach().numpy(), [3,4,2,1])) .|> abs |> maximum" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"((50, 50, 3, 1), (1, 3, 50, 50))" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"random_weight = randn(Float32, size(out)...)\n", | |
"random_weight_py = permutedims(random_weight, [4,3,1,2]) |> torch.tensor\n", | |
"random_weight |> size, random_weight_py.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Grads(...)" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"gs = gradient(params()) do\n", | |
" sum(maxpool(dummy_input) .* random_weight)\n", | |
"end" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"(out_py * random_weight_py).sum().backward()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"using Plots\n", | |
"theme(:dark)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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" | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"grad_maxpool = gs.grads[GlobalRef(Main, :dummy_input)]\n", | |
"grad_maxpool_py = permutedims(dummy_input_py.grad.numpy(), [3,4,2,1])\n", | |
"\n", | |
"vec_grad_maxpool = vec(grad_maxpool)\n", | |
"vec_grad_maxpool_py = vec(grad_maxpool_py)\n", | |
"\n", | |
"scatter(vec_grad_maxpool, vec_grad_maxpool_py, html_output_format=:png)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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" | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"heatmap(grad_maxpool[:,:,1,1], html_output_format=:png)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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" | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"heatmap(grad_maxpool_py[:,:,1,1], html_output_format=:png)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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" | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"heatmap(grad_maxpool[:,:,1,1] .- grad_maxpool_py[:,:,1,1], html_output_format=:png)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Julia 1.4.1", | |
"language": "julia", | |
"name": "julia-1.4" | |
}, | |
"language_info": { | |
"file_extension": ".jl", | |
"mimetype": "application/julia", | |
"name": "julia", | |
"version": "1.4.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment