Skip to content

Instantly share code, notes, and snippets.

@tcapelle
Created January 12, 2021 11:00
Show Gist options
  • Select an option

  • Save tcapelle/25adfa75eb99a5e249f7d78f5131b967 to your computer and use it in GitHub Desktop.

Select an option

Save tcapelle/25adfa75eb99a5e249f7d78f5131b967 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Shuffle Rows"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [],
"source": [
"from fastai.vision.all import *\n",
"from matplotlib import cm"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [],
"source": [
"n = 255\n",
"step = 1\n",
"img = torch.arange(0, n, step, dtype=torch.uint8)[:,None] @ torch.ones(1, n, dtype=torch.uint8)\n",
"timg = TensorImageBW(img.unsqueeze(0))"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 143,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR4AAAEeCAYAAABcyXrWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD+ElEQVR4nO3dQY7CMBQFQT7i/ke2OUGCFIkGKVXb2bBqPTtMmL33A6D0/PUHAO5HeICc8AA54QFywgPkhAfIvT783bN24Ko5+oPFA+ROF48vFwJXzRwOHosH6Fk8wFdYPMBfsXiAnMUD5CweIGfxADmLB8hZPEDO4gFyFg+Qs3iAnMUD5CweIGfxADnhAXKOWkDO4gFywgPkHLWAnMUD5CweIGfxADmLB8hZPEDO4gFyFg+Qs3iAnMUD5CweIGfxADmLB8hZPEDO4gFywgPkHLWAnPAAOUctICc8QE54gJw7HiBn8QA54QFywgPk3PEAOYsHyAkPkHPUAnIWD5ATHiAnPEDOHQ+QEx4g56gF5IQHyDlqATmLB8gJD5ATHiDnjgfIWTxATniAnPAAOXc8QM7iAXLCA+SEB8i54wFyFg+Qs3iAnMUD5IQHyAkPkBMeICc8QE54gJzwADnf4wFyFg+QEx4gJzxATniAnPAAOeEBcsID5HyPB8hZPEDO4gFyFg+QEx4gJzxATniAnPAAOeEBch6nAzmLB8gJD5ATHiAnPEBOeICc8AA54QFyp+FZa1WfA7gRiwfI+eYykLN4gJzwADmXy0DO4gFywgPkhAfICQ+Qc7kM5CweICc8QE54gJw7HiBn8QA54QFywgPkhAfIuVwGct5ACOQctYCc8AA54QFyLpeBnMUD5IQHyAkPkBMeIOdyGchZPEBOeICc8AA54QFywgPkhAfIeZwO5CweICc8QE54gJzwADnhAXJ+ZQLIWTxATniAnPAAOeEBcv5lAshZPEBOeICc8AA54QFywgPkhAfICQ+QEx4gJzxATniAnH+ZAHIWD5DzBkIgZ/EAOeEBcsID5IQHyAkPkBMeICc8QE54gJzwADnhAXLCA+SEB8gJD5ATHiAnPEDOGwiBnBeBATlHLSAnPEBOeICc8AA54QFywgPkhAfICQ+QEx4gJzxATniAnPAAOeEBcsID5IQHyAkPkBMeIOcNhEDO4gFywgPkhAfI+XkbIGfxADnhAXKOWkDO4gFyFg+Qs3iAnPAAOUctIGfxADmLB8hZPEBOeICcF4EBOXc8QM5RC8hZPEDO4gFyFg+Qs3iAnPAAOUctIGfxADmLB8hZPEBOeICcoxaQs3iAnMUD5CweIOdFYEDO4gFy7niAnMUD5CweIGfxADnhAXLCA+SEB8gJD5ATHiDncTqQs3iAnPAAOeEBcsID5IQHyHmqBeS8gRDIOWoBOeEBcsID5IQHyAkPkPM4HchZPEBOeICc8AA54QFywgPkPNUCchYPkBMeICc8QE54gJzwADnhAXJefQrkxqoBahYPkBMeICc8QE54gJzwADnhAXJvV+6uIhOB4uQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"timg.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create a dummy image and convert it to tensor"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 255, 255)"
]
},
"execution_count": 144,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"timg.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's choose some rows to permute"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [],
"source": [
"rows = L(random.choices(range_of(n), k=5))\n",
"idxs = rows.sorted()"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((#5) [48,112,196,219,235], (#5) [196,112,235,219,48])"
]
},
"execution_count": 146,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"idxs, rows"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [],
"source": [
"out_img = timg.clone()\n",
"out_img[:, idxs, :] = timg[:, rows, :]"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 148,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR4AAAEeCAYAAABcyXrWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD+ElEQVR4nO3dQY7CMBQFQT7i/ke2OUGCFIkGKVXb2bBqPTtMmL33A6D0/PUHAO5HeICc8AA54QFywgPkhAfIvT783bN24Ko5+oPFA+ROF48vFwJXzRwOHosH6Fk8wFdYPMBfsXiAnMUD5CweIGfxADmLB8hZPEDO4gFyFg+Qs3iAnMUD5CweIGfxADnhAXKOWkDO4gFywgPkHLWAnMUD5CweIGfxADmLB8hZPEDO4gFyFg+Qs3iAnMUD5CweIGfxADmLB8hZPEDO4gFywgPkHLWAnPAAOUctICc8QE54gJw7HiBn8QA54QFywgPk3PEAOYsHyAkPkHPUAnIWD5ATHiAnPEDOHQ+QEx4g56gF5IQHyDlqATmLB8gJD5ATHiDnjgfIWTxATniAnPAAOXc8QM7iAXLCA+SEB8i54wFyFg+Qs3iAnMUD5IQHyAkPkBMeICc8QE54gJzwADnf4wFyFg+QEx4gJzxATniAnPAAOeEBcsID5HyPB8hZPEDO4gFyFg+QEx4gJzxATniAnPAAOeEBch6nAzmLB8gJD5ATHiAnPEBOeICc8AA54QFyp+FZa1WfA7gRiwfI+eYykLN4gJzwADmXy0DO4gFywgPkhAfICQ+Qc7kM5CweICc8QE54gJw7HiBn8QA54QFywgPkhAfIuVwGct5ACOQctYCc8AA54QFyLpeBnMUD5IQHyAkPkBMeIOdyGchZPEBOeICc8AA54QFywgPkhAfIeZwO5CweICc8QE54gJzwADnhAXJ+ZQLIWTxATniAnPAAOeEBcv5lAshZPEBOeICc8AA54QFywgPkhAfICQ+QEx4gJzxATniAnH+ZAHIWD5DzBkIgZ/EAOeEBcsID5IQHyAkPkBMeICc8QE54gJzwADnhAXLCA+SEB8gJD5ATHiAnPEDOGwiBnBeBATlHLSAnPEBOeICc8AA54QFywgPkhAfICQ+QEx4gJzxATniAnPAAOeEBcsID5IQHyAkPkBMeIOcNhEDO4gFywgPkhAfI+XkbIGfxADnhAXKOWkDO4gFyFg+Qs3iAnPAAOUctIGfxADmLB8hZPEBOeICcF4EBOXc8QM5RC8hZPEDO4gFyFg+Qs3iAnPAAOUctIGfxADmLB8hZPEBOeICcoxaQs3iAnMUD5CweIOdFYEDO4gFy7niAnMUD5CweIGfxADnhAXLCA+SEB8gJD5ATHiDncTqQs3iAnPAAOeEBcsID5IQHyHmqBeS8gRDIOWoBOeEBcsID5IQHyAkPkPM4HchZPEBOeICc8AA54QFywgPkPNUCchYPkBMeICc8QE54gJzwADnhAXJefQrkxqoBahYPkBMeICc8QE54gJzwADnhAXJvV+6uIhOB4uQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"timg.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"a small function"
]
},
{
"cell_type": "code",
"execution_count": 221,
"metadata": {},
"outputs": [],
"source": [
"def permute_rows(img, k=5):\n",
" out_img = img.clone()\n",
" n = img.shape[-2]\n",
" rows = L(random.choices(range_of(n), k=k))\n",
" idxs = rows.sorted()\n",
" out_img[..., idxs, :] = img[..., rows, :] #batch compatible\n",
" return out_img"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## as transform"
]
},
{
"cell_type": "code",
"execution_count": 222,
"metadata": {},
"outputs": [],
"source": [
"class RandPermute(Transform):\n",
" \"Permute rows on image, all batch identically\"\n",
" order = 100 # After Normalize\n",
" def __init__(self, k=5):\n",
" self.k = k\n",
" \n",
" def encodes(self, img: TensorImage):\n",
" ch,img_h,img_w = img.shape[-3:]\n",
" return permute_rows(img, k=self.k)"
]
},
{
"cell_type": "code",
"execution_count": 223,
"metadata": {},
"outputs": [],
"source": [
"tfm = RandPermute(k=50)"
]
},
{
"cell_type": "code",
"execution_count": 224,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 224,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR4AAAEeCAYAAABcyXrWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAH+UlEQVR4nO3dTYuPUR8H8PuPocazMp4jSVigJNloQshCwk4e8gJ4IVZew1goGxs2IhYWrMjCxAojEzWj5HmG+xVc567T3/fW/3w+27P5rr79rnPOdV29P3/+/Acgac7/OwDQHsUDxCkeIE7xAHGKB4hTPEDcvP+x7qwdqNXrWjDxAHHFicflQqBWr9c58Jh4gLzixHPkyJFUDmDA3L17t3OtV3qcevHihWctoMr27ds7n7WKxTM7O6t4gCpz587tLJ7io9bHjx/7nwZowurVqzvXnGoBccVHrV+/fmkeoMrQ0JALhMC/o/ioNTMzk8oBDJihoaHOtWLxvHr1qu9hgDbs3Lmzc61YPGNjY30PA7Th6tWrnWvFzeUfP37YXAaqLFiwwOYy8O9wjweIM/EAcYoHiPOoBcSZeIA4xQPEedQC4orFc/PmzVQOYMBcuHChc61YPKWvxAPUKr4y8eXLF89aQJWFCxfWffrUHg/wNzjVAuJMPECciQeIM/EAccXi+fTpUygGMGiWLFnSuVYsnqVLl/Y9DIA9HiDOHg8QZ+IB4ooTz7x5xWWAKsVmmZ2dTeUAGlIsnm/fvqVyAAOmdCrusxhAnD0eIM5xOhCneIA493iAOBMPEKd4gDjFA8TZ4wHiTDxAXPG/WkNDQ5oHqPLr16+6/2qNj4/3Pw3QvOLE8/PnTxMPUGX+/Pl1E8/09HT/0wBNWLVqVedasXh+/vzZ9zAAjtOBuOLEc+/evVQOYMBcvHixc82HwIC44qnW69evnWoBVTZu3Ng5udjjAeK8MgHEmXiAuOLEM3/+/FQOoCHF4vn+/XsqB9CQYvEsW7YsFANoSbF4pqamUjmAAbNixYrOtWLxTE5O9j0M0IYtW7Z0rhWLZ2RkpO9hABynA3EuEAJxigeI86gFxJl4gDgTDxBn4gHiFA8Qp3iAOMUDxPnYOxBXLJ61a9emcgANKRbPmzdvUjmAAVP9WYxHjx71PQzQht27d3euFYtn//79/c4C4OYykOc4HYgrFs/169dTOYABs2fPns61YvGMjo72OwtAuXjWrFmTygE0xB4PEOdUC4gz8QBxJh4gzsQDxCkeIK5YPDMzM6kcQEOKxfPw4cNUDmDAHDhwoHPNzWUgzh4PEOc4HYgz8QBxigeIUzxAnOIB4hQPEFcsntu3b6dyAAPm0KFDnWuO04G44sRz9OjRVA6gIfZ4gDiPWkBcceLp9XqpHEBDisWzfPnyVA6gIcXimZycTOUAGlIsnnv37qVyAAPmxIkTnWvF4ildAAKo5TgdiCsWz8TERCoH0JBi8YyMjKRyAA0pFs+cOe4XAv1njweI818t4K84c+ZM55qby0BcsXh27NiRygE0xB4PEKd4gDjFA8QVi+f379+pHEBD3BAE4jxqAXGKB4hTPECczWUgzsQDxCkeIE7xAHGKB4izuQzEmXiAOMUDxBWL58OHD6kcQEOKxbNo0aJUDqAhvdLj1PT0tGctoMry5ct7XWvFiWdsbKz/aYAmXL58uXPNcToQ51QLiFM8QJziAeIUDxCneIA4f5kA4kw8QJziAeIUDxCneIA4r0wAcSYeIK5YPMPDw6kcQEOKxbN58+ZUDqAhxeKZnZ1N5QAaUiye58+fp3IAA+b06dOdazaXgTjFA8QpHiBO8QBxigeI88oEEGfiAeJ8gRCIM/EAcYoHiFM8QJziAeIUDxCneIA4xQPEKR4gzhcIgbhi8cyZ42Iz0H+90uPUu3fvPGsBVdatW9frWisWz5UrVxQPUOXatWt1xbN+/XrFA1SZmJjoLJ7iHs+RI0f6nwZoXrF4FixYkMoBNMQXCIE45+VAnJvLQJziAeKKxbNhw4ZUDqAhxeLZtGlTKAbQkmLxPHjwIBQDGDTnz5/vXLPHA8QVi2doaCiVA2hI8V2tp0+fGnmAKrt37657SXRmZkbxAFXmzZtXVzznzp1TPECVsbGxuuJ5+fKl4gGqbN26ta54Nm7cqHiAKq9fv677Hs/evXv7nwZonuN0IM4FQiBO8QBxigeI8wVCIK448bx9+zaVA2iI4gHiisVz9uzZVA6gIcWby58/f7a7DFRZvHhx3SsTJ0+eVDxAlVu3btW9MuE4Hfgb/EkUiPOSKBBXLJ4nT56kcgANKRbPpUuXUjmAhhSL58aNG6kcwIA5depU51qxeD59+tTvLADlezzPnj1zng5U2bVrV909njt37vQ/DdCEXbt2da4VJ56DBw+aeIAq9+/fd3MZ+Hf4EBgQ55UJIM6jFhBn4gHiTDxAnIkHiDPxAHGKB4jzqAXEFV+ZGB8fN/IAVbZt21b3l4njx48rHqDKnTt36t7Vev/+ff/TAM2zuQzE2VwG4kw8QJyJB4gz8QBxPgQGxJl4gDh7PECciQeIM/EAcSYeIE7xAHGKB4hTPECc4gHiFA8Q5zgdiDPxAHGKB4hTPEBcsXiOHTuWygE0pFg8o6OjoRhAS4r/1Vq5cqVnLaDKx48fO/+r5QuEQFzxUWvu3LmpHEBDisVz6NChVA6gIcU9nhUrVtjjAapMTU3V/TvdPR7gb1A8QJyXRIG4YvEcP348lQNoSLF4Dh8+nMoBNKR4qrVv3z6bPECVx48fd55qFYtneHhY8QBVvn796jgd+Hc41QLiTDxAnOIB4hQPEKd4gDjFA8QVi6fX6zyGB6hWLJ6DBw+mcgANKd5cBvgbfOwdiFM8QJziAeIUDxCneIA4xQPE/ReKHMQZ3m6daAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"tfm(timg).show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"with a batch:"
]
},
{
"cell_type": "code",
"execution_count": 225,
"metadata": {},
"outputs": [],
"source": [
"batch = torch.stack([timg, timg])"
]
},
{
"cell_type": "code",
"execution_count": 227,
"metadata": {},
"outputs": [],
"source": [
"tf_batch = tfm(batch)"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_images(tf_batch)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment