From a6a410684422b4bb1817dcf34f7a96f039e4ab30 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Wed, 26 May 2021 15:56:22 +0200 Subject: [PATCH 1/4] up --- wyk/09_neurozoo.ipynb | 811 +++++++++++++++++++++++++++++------------ wyk/09_neurozoo.org | 25 +- wyk/crf-viterbi.drawio | 1 + wyk/crf-viterbi.png | Bin 0 -> 13347 bytes 4 files changed, 593 insertions(+), 244 deletions(-) create mode 100644 wyk/crf-viterbi.drawio create mode 100644 wyk/crf-viterbi.png diff --git a/wyk/09_neurozoo.ipynb b/wyk/09_neurozoo.ipynb index 6fa0950..819f54e 100644 --- a/wyk/09_neurozoo.ipynb +++ b/wyk/09_neurozoo.ipynb @@ -36,12 +36,14 @@ "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[2]:\n", - "tensor([ 1.0000, -0.5000, 2.0000])" - ] + "data": { + "text/plain": [ + "tensor([ 1.0000, -0.5000, 2.0000])" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -78,16 +80,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[1]:\n", - "tensor(0.6457)" - ] + "data": { + "text/plain": [ + "tensor(0.6457)" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -101,9 +105,32 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'sigmoid.png'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", @@ -148,16 +175,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[38]:\n", - "tensor([0.6457, 0.7311, 0.0067])" - ] + "data": { + "text/plain": [ + "tensor([0.6457, 0.7311, 0.0067])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -176,16 +205,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 5, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[49]:\n", - "tensor([0.5000, 0.4502, 0.5987])" - ] + "data": { + "text/plain": [ + "tensor([0.5000, 0.4502, 0.5987])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -205,16 +236,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[48]:\n", - "tensor([0.5000, 0.6225, 0.5744])" - ] + "data": { + "text/plain": [ + "tensor([0.5000, 0.6225, 0.5744])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -320,16 +353,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 7, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[3]:\n", - "tensor(2.2500)" - ] + "data": { + "text/plain": [ + "tensor(2.2500)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -388,16 +423,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 8, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[11]:\n", - "tensor(0., dtype=torch.float64, grad_fn=)" - ] + "data": { + "text/plain": [ + "tensor(0., dtype=torch.float64, grad_fn=)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -438,16 +475,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[18]:\n", - "tensor([0.1882], grad_fn=)" - ] + "data": { + "text/plain": [ + "tensor([-0.0567], grad_fn=)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -562,9 +601,20 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([ 8., 18.])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import torch\n", "m = torch.tensor([[1.0, -2.0, 3.0],\n", @@ -619,16 +669,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 11, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[23]:\n", - "tensor([-1.1909, -0.5831], grad_fn=)" - ] + "data": { + "text/plain": [ + "tensor([0.2034, 0.3704], grad_fn=)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -721,16 +773,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 12, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[75]:\n", - "tensor([0.1182, 0.0022, 0.0059, 0.8737])" - ] + "data": { + "text/plain": [ + "tensor([0.1182, 0.0022, 0.0059, 0.8737])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -804,16 +858,26 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 13, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "# Out[5]:\n", - "tensor([0.4007, 0.5978, 0.0015])" + ":3: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.\n", + " nn.functional.softmax(torch.tensor([0.6, 1.0, -5.0]))\n" ] + }, + { + "data": { + "text/plain": [ + "tensor([0.4007, 0.5978, 0.0015])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -832,19 +896,27 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 14, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "# Out[6]:\n", - "#+BEGIN_EXAMPLE\n", - " tensor([[0.4013, 0.5987],\n", - " [0.0041, 0.9959]])\n", - "#+END_EXAMPLE" + ":3: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.\n", + " nn.functional.softmax(torch.tensor([[0.6, 1.0], [-2.0, 3.5]]))\n" ] + }, + { + "data": { + "text/plain": [ + "tensor([[0.4013, 0.5987],\n", + " [0.0041, 0.9959]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -863,19 +935,19 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[8]:\n", - "#+BEGIN_EXAMPLE\n", - " tensor([[0.9309, 0.0759],\n", - " [0.0691, 0.9241]])\n", - "#+END_EXAMPLE" - ] + "data": { + "text/plain": [ + "tensor([[0.9309, 0.0759],\n", + " [0.0691, 0.9241]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -894,16 +966,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 16, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[10]:\n", - "tensor([0.3021, 0.2473, 0.4506])" - ] + "data": { + "text/plain": [ + "tensor([0.3021, 0.2473, 0.4506])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -923,16 +997,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 17, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[48]:\n", - "tensor([0.5000, 0.6225, 0.5744])" - ] + "data": { + "text/plain": [ + "tensor([0.5000, 0.6225, 0.5744])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -981,9 +1057,32 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'softmax3.png'" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", @@ -1015,9 +1114,32 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'softmax3d.png'" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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c+TeU4iiyOeff86ll15KamoqGo2G008/ndNPP53o6OhZs96+1olLex0aGpJz6Z6mk7qD3W6npKRkr6bXJGLn5+ePs9ZWq3VGxjSJosijjz5KcXExr7/++l6ppnN97ssuu4ywsDD+9a9/zcZTzJF7JvCPf/yDY489loKCAhobG1m9ejVvv/02SqWS0047jZUrV85YkEsUxXE55T1xIV2LZlQqlZxLn+gFWK1WSktL95pCKXgm9kRMHNMUEhIiV5dNdQQRRZEnn3ySL7/8klWrVu2V+ndXfPvttxx22GHj6gLuueceTj755Jl6ijlyzxZEUaStrU0musVi4bTTTmPFihUkJyfvFtFno05cwujoqJxikwQoIiMjUSqVezVvDuPbRH05X08c0xQQECD3pru626Io8txzz/HBBx/w9ttv75UKxX2AOXLvDYiiSGdnJ2vWrGHNmjUMDg5yyimnsHLlSq/nYe2NOnEJZrMZg8FAR0cHQ0NDREVFkZqauleqs3aX2BMxsZxXo9EQEBCAVqvliy++YPXq1axdu3bWesz3A8yRe1+gq6uLd955hzVr1tDV1cVJJ53EihUrPBaCSKN2goOD91oUXlIonTdvHjabDYPBgNlsJjw8nOjo6N2qLJsOkrTVnhLbHUZGRiguLubWW2+ls7OTW265hQsuuGBWI/77GHPk3tfo6+uTxSdaWlo4/vjjOeOMM2QBB6vVKvea761AlieFUpvNRk9PD52dnRiNRrmneybG+ErEdlWImWmsWbOGp59+mueff54vvvgCrVbLRRddNCvPtR9gjtz7EwYGBuSe9NraWg455BA2bNjA888/T2Zm5l7Zg7cKpe4EKKKioqado+UOvb291NTUkJ+fP2vEfu+993j00Ufl1OVsYP369dx0003Y7Xauvvpqfv/738/K83iJOXLvr6iqquLUU08lMzOT1tZWjjrqKFasWMHSpUv3O4VST8McvMmlS1JMs0ns9evX889//pP333/fbbvtTMBut5ORkcEnn3xCQkICRUVFvPbaazNZK+4rfnoCiT8XVFRU8Prrr7N06VJGR0f5+OOPeeGFF7jppps47LDDWLFiBcuXL5+xogvXum1fGzIUCgVhYWGyuIE03qi+vh6dTifn0ifuVSJ2QUHBrKWiPvvsM+677z4++OCDWSM2wMaNG0lPT5fnip9//vm8++67+5Lcs4I5yz2LMJvNfPbZZ6xatYoff/yRgw8+mJUrV3LYYYftdhGGFKGe6bptdxFrKcU2NDQ068T++uuvufvuu3n//fdnPY23atUq1q9fzzPPPAPAyy+/zI8//shjjz02q887BWbFcu+9Vhov8cADDyAIgjyR8acMPz8/Tj75ZJ577jlKSko477zzWLduHcuXL+e6667jo48+wmw2e71eT0+PHMia6bSQIAgEBgaSlpbGsmXLyMjIwGq1smnTJnket6eJrXuK7777jjvvvJO1a9futb72ifgJSTJ5jf3KLW9paeGTTz7xeaDeTwFqtZrjjjuO4447DpvNxrfffsuqVav4wx/+QG5uLitXruSYY47xSFpJoXQ2racr9Ho9o6OjqFQqioqK6Ovro7KyUh7mEBUVNSM92j/++CO33XYba9euJS4ubgZ2Pj0SEhJoaWmR/7+1tXWvPffexH7llp999tn84Q9/YMWKFWzatImIiIi9+fT7BHa7ne+//17uSc/KymLlypUcf/zxciFKe3s7ra2te02hFJz5/YaGhkmNLhaLRVZpkYY5REdH71ZTyJYtW7jhhht4991391oDDzjThBkZGXz22WfEx8dTVFTEq6++yqJFi/baHibgwA6orV27lvj4ePLy8vb1VvYqlEolhx56KIceeigOh4PNmzfz1ltv8Y9//IN58+YRGRkpd0PtrS4oT8QG58SQ+Ph44uPjZZWWuro6uSlkKn10V5SWlnL99dezZs2avUpsAJVKxWOPPcYJJ5yA3W7nyiuv3JfEnjXsVct97LHH0tHRMennf//737nnnnv4+OOP5cqun4vl9gSHw8Fdd93F6tWrCQoKknvSTznllBmfKuoKidgFBQU+eQnu9NElAYqJufTKykquuuoq3nrrrb1WE7Cf46dvuT/99FO3Py8vL5eH64HzDFRYWMjGjRt/ahK1Mwar1YrNZqO8vByNRkNVVRWrVq1i5cqVhIWFsWLFCk499dQZvQG6nut9df9dVV8dDgd9fX10dnayY8cOWY4pMDCQxsZGrrrqKl577bU5Ys8y9qszt4Q5y+0ZUrfZqlWrWLt2LTqdjhUrVnDaaaftUU+6wWCQxSRm8lwvyTHt2LGDq666CovFws0338y111476+OPf0L4eaTCZhK/+93vyMrKIjc3lzPOOIP+/v59vaU9hiAIZGRkcOedd/L999/zzDPPYLFYuOSSSzjppJN4/PHH2blzp9t0jyfMFrGl/YaEhMgNLPfddx/9/f3cdtttM/o8c5iM/dJyzxQ+/vhjjj76aFQqFbfffjsA999//z7e1exAFEVaW1vlnnSbzcZpp53G6aefPmVPemdnJ83NzbMaiW9paeG8887jySefZNmyZbPyHK743e9+x3vvvYdGoyEtLY3nn39+xmrU//CHPxARESHrlt91111ER0fz61//ek+Wnast3xO8/fbbrFq1iv/973/7eiuzDlEU6ejokHvSh4eHOeWUU1ixYsW4nnSJ2AUFBbMWid+5cyfnnHMOjz76KIceeuisPMdEzOZNvbGxkTPPPJMtW7bgcDiYP38+Gzdu3FPt+Z9+QG1f4rnnnuO8887b19vYKxAEgdjYWG644QZuuOEGurq6ePvtt7n99tvp6enhpJNOQqVSYbPZuPXWW2eN2B0dHZx33nk8/PDDe43YAMcff7z874MOOohVq1bN2NopKSmEh4ezdetWOjs7KSgo2CtDJXYHP3nLPVV6bcWKFfK/N23axJo1aw7IMkNf0Nvby1133cW7775LfHw8xxxzDGecccaU44V2B11dXZx11lnce++9Myne7zNOO+00zjvvPC6++OIZW/ONN95gw4YNdHR0cNlll82EltqcW747ePHFF3niiSf47LPPZmWkzU8NAwMDXH755bz00ks4HA7WrVvH6tWrqaur47jjjmPlypXk5+fvEdF7eno466yz+POf/zyTIoLjsC9v6haLhZycHKxWKzU1NTPR1jtHbl+xfv16brnlFr766isiIyP39Xb2awwPD/PBBx+watUqtm3bxtFHH82KFSsoKiry6eLt7+/nzDPP5I477pBJti8w2zf1a6+9lpCQEO67776ZWG523ElRFKf6+kkjLS1NTEhIEPPy8sS8vDzxl7/85W6v9eGHH4oZGRliWlqaeO+9987gLvc/jIyMiG+//bZ40UUXiYsWLRKvu+46cf369eLAwIBoNBo9frW3t4vLly8X33rrrX26/w8//FBcsGCBaDAYZmV9u90u5uXlidXV1TO15HQ83K2vA5rcMwWbzSbOmzdPrKurE81ms5ibmytWVlbu623tFZhMJnHdunXi5ZdfLi5atEi8+uqrxXXr1on9/f3jiN3Z2Skefvjh4quvvrqvtzyjN/WJqKysFFNTU8VbbrllxtYUZ4ncB7RbPlP4/vvv+fOf/8xHH30EwL333gvAHXfcsS+3tddhtVplqeFvv/2WoqIiVq5cybJly7jooou47LLLuOyyy/b1Nn+KmKtQ21doa2sjMTFR/v+EhATa2tr24Y72DdRqNccffzxPPvkkpaWlXH755XzyySfk5ORw/PHHzxF7P8PPJs+9J3Dn3fzcU2oqlYojjzySI488koceemivj/iZw/SYI7cX+Lkod+wuZksJdQ57hjm33AsUFRVRU1NDQ0MDFouF119/ndNPP31fb+tniQNJY2+2MUduL+Cq3LFgwQLOPffcGVHuaGlp4aijjmLBggUsWrSIRx55ZAZ2e+DiQNbYmw3MRcv3Idrb22lvb6ewsJChoSEWL17MO++8c8DpZ88UDmCNvblo+YGG2NhYCgsLAQgMDGTBggU/yyi8N/i5auztCeYCavsJGhsb2bp1617pd95f4Y3G3hy8x5xbvh9geHiYI444grvuuoszzzxzX29nv0N5eTnHHHOMXCMuZSsOII29ucaRAxFWq5VTTz2VE044gVtuuWVfb+cngQNQY2/uzH2gQRRFrrrqKhYsWDBH7DnMOOYs9z7Et99+y2GHHUZOTo7cP33PPffMSA+03W5nyZIlxMfHs27duj1ebw6zijmZpQMNhx56qE8qpb7gkUceYcGCBQwODs7K+nPY//Gzd8uLi4vJzc3FZDJhNBpZtGgRFRUV+3pbe4TW1lbef/99rr766n29lTnsQ0znlv8sIAjC3wAt4A+0iqJ47z7e0h5BEIRVwL1AIHCrKIqn7uMtzWEfYM4td+IvQDFgAvZIgHpfQxCEUwGDKIqbBUE4ch9vZw77ED97t3wMYUAATkun3cd72VMcApwuCEIj8DpwtCAIr+zbLc1hX2DOLQcEQViLkwipQKwoijfu4y3NCMYs95xb/jPFz94tFwThUsAmiuKrgiAogQ2CIBwtiuLn+3pvc5jDnmDOcs9hDgco5s7cc5jDAYo5cs9hDgco5sg9hzkcoJgj9xzmcIBijtxzmMMBijlyz2EOByjmyD2HORygmCP3HOZwgOL/AaJgSf7ygNsrAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", @@ -1118,16 +1240,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 20, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[25]:\n", - "tensor([-1.1971, -1.3971, -0.7971])" - ] + "data": { + "text/plain": [ + "tensor([-1.1971, -1.3971, -0.7971])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1166,25 +1290,25 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 21, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[85]:\n", - "#+BEGIN_EXAMPLE\n", - " {'zimowe': 0,\n", - " 'moto': 1,\n", - " 'tenis': 2,\n", - " 'pilka-reczna': 3,\n", - " 'sporty-walki': 4,\n", - " 'koszykowka': 5,\n", - " 'siatkowka': 6,\n", - " 'pilka-nozna': 7}\n", - "#+END_EXAMPLE" - ] + "data": { + "text/plain": [ + "{'zimowe': 0,\n", + " 'moto': 1,\n", + " 'tenis': 2,\n", + " 'pilka-reczna': 3,\n", + " 'sporty-walki': 4,\n", + " 'koszykowka': 5,\n", + " 'siatkowka': 6,\n", + " 'pilka-nozna': 7}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1222,17 +1346,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[8]:" - ] - } - ], + "outputs": [], "source": [ "import torch.nn as nn\n", "from torch import optim\n", @@ -1255,16 +1371,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 23, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[9]:\n", - "tensor(2.3026)" - ] + "data": { + "text/plain": [ + "tensor(2.3026)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1289,14 +1407,245 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 24, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3.9/site-packages/torch/nn/modules/container.py:119: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.\n", + " input = module(input)\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "# Out[86]:" + "0.04157308116555214 2.0786540508270264 0 0 tensor([[0.1251, 0.1251, 0.1249, 0.1249, 0.1251, 0.1250, 0.1249, 0.1251]],\n", + " grad_fn=) MŚ w hokeju: mocny początek Finów w Danii. Francja podniosła się po laniu od Rosjan Reprezentacja Finlandii po niepowodzeniach na ostatnich igrzyskach olimpijskich rozpoczęła dobrze tegoroczny turniej mistrzostw świata elity od pewnej wygranej z Koreą Południową. Francuzi zdobyli pierwsze punkty po pokonaniu Białorusi.\n", + "2.079073667526245 2.0661282539367676 50 4 tensor([[0.1261, 0.1268, 0.1246, 0.1248, 0.1267, 0.1239, 0.1235, 0.1236]],\n", + " grad_fn=) Fotorelacja: Ważenie przed galą KSW 27 - Cage Time Prezentujemy fotorelację z oficjalnej ceremonii ważenia przed sobotnią galą KSW 27 - Cage Time.\n", + "2.0697731971740723 2.1073999404907227 100 5 tensor([[0.1272, 0.1266, 0.1252, 0.1251, 0.1266, 0.1216, 0.1221, 0.1256]],\n", + " grad_fn=) Wisła podpisała swój najważniejszy kontrakt Gdyby nie firma Can-Pack S.A. nie byłoby w ostatnich latach wielkich sukcesów koszykarek z Krakowa. We wtorek ogłoszono przedłużenie umowy i koszykarki spod znaku Białej Gwiazdy nadal będą występować pod nazwą Wisła Can-Pack Kraków.\n", + "2.0649149417877197 2.0966570377349854 150 5 tensor([[0.1303, 0.1281, 0.1242, 0.1248, 0.1255, 0.1229, 0.1174, 0.1268]],\n", + " grad_fn=) Basket 90 znalazł nową podkoszową. W poprzednim sezonie grała w polskim klubie Nie trzeba było długo czekać na koszykarkę, która wypełni podkoszową lukę w Baskecie 90 Gdynia. Nową zawodniczką ekipy z Trójmiasta została Niemka Sonja Greinacher, która ostatni sezon spędziła w Wiśle CanPack Kraków.\n", + "2.0591840744018555 2.044764995574951 200 0 tensor([[0.1294, 0.1281, 0.1258, 0.1222, 0.1227, 0.1240, 0.1216, 0.1262]],\n", + " grad_fn=) Wicemistrzyni olimpijska zakończyła karierę Olga Wiłuchina podjęła decyzję o zakończeniu sportowej kariery. Największymi sukcesami rosyjskiej biathlonistki są dwa srebrne medale wywalczone na igrzyskach olimpijskich w Soczi.\n", + "2.0487895011901855 2.102400302886963 250 5 tensor([[0.1224, 0.1304, 0.1217, 0.1233, 0.1241, 0.1222, 0.1261, 0.1297]],\n", + " grad_fn=) Duże wzmocnienie reprezentacji Polski. Wraca Maciej Lampe Maciej Lampe dołączył już do reprezentacji Polski, która przygotowuje się do eliminacyjnych meczów z Litwą oraz Kosowem. 33-latek wraca do kadry po dwuletniej przerwie.\n", + "2.0376365184783936 2.084744691848755 300 5 tensor([[0.1308, 0.1344, 0.1223, 0.1174, 0.1204, 0.1243, 0.1220, 0.1284]],\n", + " grad_fn=) Kibice Celtów mogą spać spokojnie. Kyrie Irving planuje zostać w Bostonie Rozgrywający Boston Celtics, Kyrie Irving, przyznał, że w następne lato zamierza przedłużyć swoją umowę z klubem, o ile ten nadal będzie go uwzględniał w swoich planach.\n", + "2.036433219909668 2.041954755783081 350 6 tensor([[0.1260, 0.1289, 0.1274, 0.1189, 0.1149, 0.1224, 0.1298, 0.1318]],\n", + " grad_fn=) We włoskiej Serie A nie ma żartów. Kolejny trener stracił posadę Brak cierpliwości włodarzy włoskich klubów charakteryzuje tegoroczne rozgrywki Serie A. Ostatnio z rolą szkoleniowca Exprivia Molfetta pożegnał się Vincenzo Di Pinto. Nie jest on pierwszym trenerem, który po 7. kolejce rozgrywek stracił posadę.\n", + "2.0273468494415283 2.0802276134490967 400 3 tensor([[0.1276, 0.1225, 0.1309, 0.1249, 0.1142, 0.1191, 0.1306, 0.1302]],\n", + " grad_fn=) Polska B rozpoczyna turniej w Płocku Od piątku do niedzieli w płockiej Orlen Arenie odbędzie się turniej z udziałem reprezentacji Polski B. Wezmą w nim też udział druga reprezentacja Danii, a także pierwsze kadry Wysp Owczych i Estonii.\n", + "2.0077261924743652 2.0562894344329834 450 0 tensor([[0.1279, 0.1289, 0.1233, 0.1235, 0.1224, 0.1174, 0.1304, 0.1262]],\n", + " grad_fn=) Najpiękniesze polskie sportsmenki! Sprawdź kto znalazł się w zestawieniu! Przygotowaliśmy dla was zestawienie 20 najpiękniejszych polskich sportsmenek! Zgadzacie się z naszym wyborem? Swoje typy wpisujcie w komentarzach! Razem wybierzemy tę najładniejszą.\n", + "2.011281967163086 1.9761407375335693 500 0 tensor([[0.1386, 0.1305, 0.1212, 0.1192, 0.1176, 0.1193, 0.1241, 0.1295]],\n", + " grad_fn=) Aleksander Zniszczoł został ojcem. Urodziła mu się córka Piątek był niezwykle ważnym dniem w życiu Aleksandra Zniszczoła. Polskiemu skoczkowi narciarskiemu urodziła się córka. Pochwalił się jej zdjęciem na Instagramie.\n", + "2.0088050365448 2.035996198654175 550 1 tensor([[0.1339, 0.1306, 0.1196, 0.1187, 0.1222, 0.1195, 0.1284, 0.1272]],\n", + " grad_fn=) Rajd Azorów: czołówka miała problemy. Łukjaniuk się broni Aleksiej Łukjaniuk pod nieobecność Kajetana Kajetanowicza obronił pozycję lidera klasyfikacji generalnej Rajdu Azorów. Do czołowej dziesiątki przebił się Łukasz Habaj.\n", + "1.996534824371338 2.0406241416931152 600 4 tensor([[0.1276, 0.1273, 0.1198, 0.1235, 0.1299, 0.1191, 0.1224, 0.1303]],\n", + " grad_fn=) Andrzej Kostyra: Ciosy muszą się kumulować Podczas sobotniej gali Tomasz Adamek zmierzy się z Arturem Szpilką. Andrzej Kostyra większe szanse daje temu pierwszemu, ale zauważa też pewne mankamenty.\n", + "1.9677627086639404 2.061131477355957 650 3 tensor([[0.1317, 0.1255, 0.1290, 0.1273, 0.1151, 0.1159, 0.1208, 0.1347]],\n", + " grad_fn=) IO 2016: skład Chorwacji na przygotowania do Rio. Na liście Lovro Mihić, Manuel Strlek i Ivan Cupić Chorwacki selekcjoner Żeljko Babić powołał kadrę na przygotowania do igrzysk olimpijskich w Rio de Janeiro. Na liście nazwisk nie zabrakło \"polskich\" akcentów. Na zgrupowanie pojadą Manuel Strlek, Lovro Mihić, Filip Ivić i Ivan Cupić.\n", + "1.9689429998397827 1.9717991352081299 700 2 tensor([[0.1152, 0.1332, 0.1392, 0.1129, 0.1125, 0.1158, 0.1244, 0.1468]],\n", + " grad_fn=) Andy Murray: Kostka boli, ale wszystko z nią w porządku W swoim felietonie dla BBC Andy Murray ocenił środowy pojedynek II rundy z Andriejem Rublowem i cieszył się z sukcesu Daniela Evansa w Australian Open 2017. Lider rankingu ATP przyznał, że z jego kostką jest wszystko w porządku.\n", + "1.9755799770355225 1.8170729875564575 750 1 tensor([[0.1203, 0.1625, 0.1205, 0.1145, 0.1112, 0.1178, 0.1230, 0.1303]],\n", + " grad_fn=) Daniel Ricciardo sugeruje Red Bullowi wybór silnika Daniel Ricciardo przyznał, że patrząc na obecny rozwój jednostki napędowej Renault, byłby gotowy zaufać francuskiemu producentowi także w kolejnym sezonie F1.\n", + "1.9463365077972412 2.114039421081543 800 3 tensor([[0.1250, 0.1380, 0.1296, 0.1207, 0.1067, 0.1250, 0.1234, 0.1315]],\n", + " grad_fn=) Kamil Mokrzki jako jedyny gracz Gwardii Opole dobił do granicy 100 goli 24-letni rozgrywający opolan był najlepszym strzelcem zespołu w sezonie 2015/2016. Drugiego w wewnętrznej klasyfikacji Antoniego Łangowskiego wyprzedził o 10 trafień.\n", + "1.976782202720642 2.0193214416503906 850 4 tensor([[0.1228, 0.1330, 0.1265, 0.1110, 0.1327, 0.1158, 0.1143, 0.1437]],\n", + " grad_fn=) Deontay Wilder rzucił wyzwanie Anthony'emu Joshui. \"Aż krew się we mnie gotuje!\" - Anthony Joshua to facet, z którym chcę walczyć - mówi Deontay Wilder. Mistrz świata organizacji WBC wyzwał Anglika na pojedynek i liczy na to, że ten potraktuje jego propozycję na poważnie.\n", + "1.9368289709091187 2.0274453163146973 900 2 tensor([[0.1282, 0.1325, 0.1317, 0.1179, 0.1188, 0.1191, 0.1175, 0.1343]],\n", + " grad_fn=) Ronaldo, Bouchard, Bolt. Gwiazdy sportu wybierają stroje na Halloween Znani sportowcy wzięli udział w zabawie w wymyślaniu kostiumów na wieczór halloweenowych szaleństw. Kto zaprezentował najbardziej oryginalne przebranie?\n", + "1.9381763935089111 1.9979442358016968 950 4 tensor([[0.1241, 0.1262, 0.1213, 0.1202, 0.1356, 0.1185, 0.1260, 0.1282]],\n", + " grad_fn=) Andrzej Kostyra stworzył \"idealnego polskiego boksera\". Jest dużo cech Tomasza Adamka Andrzej Kostyra, ekspert bokserski, stworzył model \"idealnego polskiego pięściarza\". Wymienił najlepsze cechy poszczególnych bokserów. Najwięcej jest Tomasza Adamka.\n", + "1.9290226697921753 1.9382548332214355 1000 1 tensor([[0.1226, 0.1440, 0.1319, 0.1218, 0.1119, 0.1135, 0.1199, 0.1345]],\n", + " grad_fn=) Rajd Niemiec: Andreas Mikkelsen i Jari-Matti Latvala najszybsi na shakedown W czwartek kierowcy mieli do pokonania odcinek testowy przed Rajdem Niemiec. Na mecie okazało się, że Andreas Mikkelsen i Jari-Matti Latvala uzyskali identyczny czas.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.924471139907837 1.9060735702514648 1050 4 tensor([[0.1264, 0.1247, 0.1283, 0.1165, 0.1487, 0.1108, 0.1172, 0.1274]],\n", + " grad_fn=) Była rywalka Joanny Jędrzejczyk na dopingu. Czeka ją zawieszenie Była pretendenta to tytułu mistrzyni UFC w wadze słomkowej, Jessica Penne (MMA 12-5) została zawieszona przez Amerykańską Agencję Antydopingową za stosowanie niedozwolonego środka. Amerykankę czeka 1,5-roczne zawieszenie.\n", + "1.9091212749481201 1.8655977249145508 1100 2 tensor([[0.1118, 0.1149, 0.1548, 0.1150, 0.1139, 0.1238, 0.1091, 0.1566]],\n", + " grad_fn=) Finał WTA Sydney: Radwańska - Konta na żywo. Transmisja TV, stream online W piątek Agnieszka Radwańska zmierzy się z Johanną Kontą w ramach finału WTA Sydney. Transmisja TV na antenie TVP 1 i TVP Sport. Stream online w sport.tvp.pl.\n", + "1.9158565998077393 1.9494552612304688 1150 7 tensor([[0.1211, 0.1257, 0.1151, 0.1318, 0.1244, 0.1177, 0.1219, 0.1424]],\n", + " grad_fn=) Piękne zachowanie piłkarza Borussii. Pomógł kibicowi Takim zachowaniem piłkarze zyskują ogromny szacunek u kibiców. Christian Pulisić uratował fana, którym podczas próby zrobienia wspólnego zdjęcia z zawodnikiem Borussii Dortmund zajęła się ochrona.\n", + "1.865840196609497 2.02168345451355 1200 4 tensor([[0.1117, 0.1373, 0.1276, 0.1277, 0.1324, 0.1157, 0.1208, 0.1268]],\n", + " grad_fn=) W przyszłym roku dojdzie do walki Joshua - Kliczko. \"Umowa jest dogadana\" Po fiasku wcześniejszych negocjacji wreszcie osiągnięto porozumienie. W przyszłym roku Anthony Joshua zmierzy się z Władimirem Kliczką, a w stawce będą dwa pasy mistrzowskie - informują menadżerowie obu pięściarzy. Został tylko jeden warunek.\n", + "1.8942620754241943 1.8899823427200317 1250 4 tensor([[0.1132, 0.1288, 0.1184, 0.1151, 0.1511, 0.1226, 0.1233, 0.1275]],\n", + " grad_fn=) MMA: Bartosz Fabiński zasila powracającą Fighters Arenę Bartosz Fabiński wystąpi na gali Fighters Arena 9, która 8 czerwca odbędzie się w Józefowie. Dla zawodnika z Warszawy będzie to już czwarta walka w tym roku.\n", + "1.8803116083145142 1.9426567554473877 1300 7 tensor([[0.1157, 0.1171, 0.1131, 0.1467, 0.1036, 0.1275, 0.1329, 0.1433]],\n", + " grad_fn=) Oficjalnie: Polski mecz w Serie A! Godzinę przed pierwszym gwizdkiem (20:45) meczu między Sampdorią, a Napoli potwierdziły się doniesienia włoskiej prasy. Po raz pierwszy w obecnym sezonie to samo spotkanie Serie A rozpocznie w wyjściowej jedenastce aż 4 polskich piłkarzy.\n", + "1.8569835424423218 1.7793906927108765 1350 1 tensor([[0.1143, 0.1687, 0.1176, 0.1233, 0.1151, 0.1155, 0.1181, 0.1273]],\n", + " grad_fn=) Bernie Ecclestone: Ferrari ma lepszy bolid Zdaniem Berniego Ecclestone'a, sezon 2017 będzie należeć do Ferrari. Włoski zespół ma spore szanse na pierwszy mistrzowski tytuł wśród konstruktorów od wielu lat.\n", + "1.8643995523452759 1.7093485593795776 1400 1 tensor([[0.1179, 0.1810, 0.1133, 0.1191, 0.1130, 0.1200, 0.1120, 0.1236]],\n", + " grad_fn=) Sauber potwierdza brak Pascala Wehrleina na testach. Kto go zastąpi? Po czwartkowych medialnych doniesieniach, w piątek zespół Sauber F1 Team oficjalnie potwierdził, iż Pascal Wehrlein opuści pierwszą turę przedsezonowych testów pod Barceloną.\n", + "1.855565071105957 1.687333106994629 1450 6 tensor([[0.1020, 0.1063, 0.1192, 0.1385, 0.0957, 0.1352, 0.1850, 0.1181]],\n", + " grad_fn=) Polski Cukier Muszynianka Enea - Giacomini Budowlani: przełamać pasmo porażek W 7. kolejce Orlen Ligi siatkarki Polskiego Cukru Muszynianki Enea Muszyna podejmą Giacomini Budowlani Toruń. Przyjezdne w czterech ostatnich meczach rozgrywek nie wygrały nawet seta i tą złą serię chcą przerwać w Małopolsce.\n", + "1.8279445171356201 1.7146226167678833 1500 6 tensor([[0.1144, 0.1191, 0.1097, 0.1386, 0.0906, 0.1315, 0.1800, 0.1160]],\n", + " grad_fn=) Przyjmująca zostaje w Toruniu. Budowlani zamknęli skład W sezonie 2017/2018 Orlen Ligi w Budowlanych Toruń nadal będzie występować Marina Paulava. Ta siatkarka zamknęła skład zespołu.\n", + "1.8160934448242188 1.6653664112091064 1550 7 tensor([[0.1021, 0.1058, 0.1213, 0.1180, 0.1061, 0.1215, 0.1361, 0.1891]],\n", + " grad_fn=) Borussia Dortmund - Red Bull Salzburg na żywo. Transmisja TV, stream online W czwartek, w ramach 1/8 finału Ligi Europy, odbędzie się mecz Borussia Dortmund - Red Bull Salzburg. Transmisja TV na antenie Eurosport 1. Stream online na platformie Eurosport Player i Ipla TV. Relacja LIVE w WP SportoweFakty.\n", + "1.8106689453125 1.7793946266174316 1600 0 tensor([[0.1687, 0.1024, 0.1228, 0.1105, 0.1030, 0.1188, 0.1177, 0.1561]],\n", + " grad_fn=) PŚ w Lahti: konkurs drużynowy na żywo. Transmisja TV, stream online za darmo W sobotę, w ramach Pucharu Świata w skokach narciarskich w Lahti odbędzie się konkurs drużynowy. Transmisja TV na antenie TVP 1 i Eurosport. Stream online za darmo w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", + "1.8138320446014404 1.84804368019104 1650 5 tensor([[0.0951, 0.1066, 0.1140, 0.1381, 0.1081, 0.1575, 0.1368, 0.1437]],\n", + " grad_fn=) Panathinaikos ma dość Euroligi. Wielki klub chce się wycofać z rozgrywek! Koszykarska Euroliga bez Panathinaikosu Ateny? To bardzo możliwy scenariusz. Właściciel klubu - Dimitrios Giannakopoulos - zapowiedział wycofanie drużyny ze stolicy Grecji z elitarnych rozgrywek.\n", + "1.7930117845535278 1.8031435012817383 1700 4 tensor([[0.1271, 0.1364, 0.1164, 0.1185, 0.1648, 0.1106, 0.0991, 0.1271]],\n", + " grad_fn=) Tomasz Adamek wrócił na salę treningową. Zobacz, w jakiej formie jest \"Góral\" (wideo) Coraz więcej wskazuje na to, że Tomasz Adamek raz jeszcze powróci na ring. Były mistrz świata kategorii półciężkiej i junior ciężkiej regularnie pojawia się na sali treningowej. W jakiej formie jest 40-latek?\n", + "1.7960482835769653 1.8449288606643677 1750 0 tensor([[0.1580, 0.1007, 0.1061, 0.1628, 0.1018, 0.1219, 0.1319, 0.1168]],\n", + " grad_fn=) 18 zawodników w finskiej kadrze. Aino-Kaisa Saarinen poza reprezentacją Finowie ogłosili skład reprezentacji na nadchodzący Puchar Świata w biegach narciarskich. W drużynie znalazło się 8 zawodniczek i 10 zawodników.\n", + "1.8074685335159302 1.716457486152649 1800 4 tensor([[0.1068, 0.1123, 0.1058, 0.1053, 0.1797, 0.1228, 0.1323, 0.1350]],\n", + " grad_fn=) FEN 19: karta walk skompletowana Znamy ostatnie, dziesiąte zestawienie na gali Fight Exclusive Night 19 \"Bitwa o Wrocław\". W kategorii do 70 kilogramów w formule K-1 zmierzą się ze sobą Marcin Stopka (2-2) i Krzysztof Kottas (0-0).\n", + "1.8129311800003052 1.859789252281189 1850 1 tensor([[0.1217, 0.1557, 0.1243, 0.1250, 0.1092, 0.1195, 0.1167, 0.1279]],\n", + " grad_fn=) Rajd Nadwiślański: Grzegorz Grzyb Liderem Grzegorz Grzyb i Robert Hundla zostali liderami Rajdu Nadwiślańskiego po przejechaniu dwóch sobotnich odcinków specjalnych.\n", + "1.8125582933425903 2.012331485748291 1900 3 tensor([[0.1351, 0.1214, 0.1276, 0.1337, 0.1162, 0.1320, 0.1175, 0.1164]],\n", + " grad_fn=) Bundesliga: Berlińskie TGV. Kolejna stacja w Hanowerze Füchse Berlin w niedzielę powalczy w Hanowerze o dziewiąte kolejne zwycięstwo w sezonie. Takiego otwarcia „Lisy” nie miały jeszcze nigdy. Z kolei wieczorem polski pojedynek w Magdeburgu: Piotr Chrapkowski vs Andrzej Rojewski. Oba mecze w Sportklubie.\n", + "1.8038944005966187 1.9497239589691162 1950 4 tensor([[0.1257, 0.1343, 0.1075, 0.1297, 0.1423, 0.1202, 0.1161, 0.1242]],\n", + " grad_fn=) Utytułowany pięściarz zakończył karierę Czterokrotny obrońca tytułu mistrza świata kategorii super średniej Mikkel Kessler ogłosił zakończenie kariery pięściarskiej. To najbardziej utytułowany zawodnik w historii duńskiego boksu.\n", + "1.7356271743774414 1.9414206743240356 2000 6 tensor([[0.1116, 0.0958, 0.1305, 0.1195, 0.1002, 0.1257, 0.1435, 0.1733]],\n", + " grad_fn=) KMŚ 2017: ZAKSA - Sarmayeh Bank Teheran na żywo. Gdzie oglądać transmisję TV i online? We wtorek, ZAKSA Kędzierzyn-Koźle zmierzy się z Sarmayeh Bank Teheran w ramach Klubowych Mistrzostw Świata w siatkówce. Transmisja TV na antenie Polsat Sport. Stream online w Ipla TV. Relacja LIVE w WP SportoweFakty za darmo.\n", + "1.7901525497436523 1.993371844291687 2050 1 tensor([[0.1213, 0.1362, 0.1348, 0.1291, 0.1103, 0.1251, 0.1180, 0.1251]],\n", + " grad_fn=) Wakacyjny freestyle Przygońskiego i Pawlusiaka na pustyni Pędzące po wydmach dakarowe MINI, specjalnie dostosowany snowboard, lina i dwóch utalentowanych sportowców - tak w skrócie można opisać projekt \"Przygoński & Pawlusiak Dune Freestyle\".\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.7327892780303955 1.8731200695037842 2100 5 tensor([[0.1091, 0.1431, 0.1049, 0.1267, 0.1093, 0.1536, 0.1101, 0.1431]],\n", + " grad_fn=) Martynas Sajus: Sobin jest bardziej doświadczonym graczem, ale w przyszłości będę od niego lepszy Pojedynek Josipa Sobina z Martynasem Sajusem może być jednym ze smaczków piątkowego spotkania Anwilu z Polpharmą. Który ze środkowych da więcej swojej ekipie? - On jest bardziej doświadczony, ale w przyszłości to ja będę lepszy - śmieje się Sajus.\n", + "1.7521454095840454 1.5114580392837524 2150 2 tensor([[0.0978, 0.1260, 0.2206, 0.1104, 0.1045, 0.1172, 0.1049, 0.1186]],\n", + " grad_fn=) Łukasz Iwanek: Każda tenisistka może być Williams, nie każda może zostać Radwańską (komentarz) W II rundzie Australian Open najlepsza polska tenisistka została stłamszona przez rywalkę uderzającą szybko i celnie. Każda tenisistka może w pojedynczym meczu zostać Sereną Williams, nie każda może być Agnieszką Radwańską.\n", + "1.7393308877944946 1.7591557502746582 2200 5 tensor([[0.1100, 0.0950, 0.1162, 0.1438, 0.0986, 0.1722, 0.1352, 0.1290]],\n", + " grad_fn=) Kolejny występ Przemysława Karnowskiego w Lidze Letniej NBA Kolejny występ w rozgrywkach Ligi Letniej NBA zanotował Przemysław Karnowski. Polak, który reprezentuje Charlotte Hornets, w przegranym meczu z Indianą Pacers (77:84) zdobył cztery punkty i miał trzy zbiórki.\n", + "1.6613669395446777 1.5941383838653564 2250 1 tensor([[0.1037, 0.2031, 0.1055, 0.1097, 0.1231, 0.1113, 0.1110, 0.1327]],\n", + " grad_fn=) Niebieskie flagi mogą zniknąć z F1 Formuła 1 rozważa, czy nie zrezygnować ze stosowania niebieskich flag podczas wyścigu. W ostatnich sezonach kierowcy często narzekali, iż rywale nie stosowali się do takiej sygnalizacji.\n", + "1.6618025302886963 1.881585717201233 2300 5 tensor([[0.1059, 0.1279, 0.1031, 0.1497, 0.1200, 0.1523, 0.1246, 0.1165]],\n", + " grad_fn=) Nemanja Jaramaz nowym zawodnikiem Anwilu Włocławek! Doskonale znany na polskich parkietach z występów w drużynie ze Zgorzelca Nemanja Jaramaz został nowym zawodnikiem Anwilu Włocławek. Kontrakt z Serbem będzie obowiązywał do końca bieżącego sezonu.\n", + "1.755378007888794 1.7676684856414795 2350 5 tensor([[0.1028, 0.1125, 0.1076, 0.1353, 0.1201, 0.1707, 0.1244, 0.1266]],\n", + " grad_fn=) TOP5 zagrań minionej nocy NBA (wideo) 3 mecze odbyły się w nocy z wtorku na środę w NBA, dlatego liga miała mniejszy wybór do zestawienia najlepszych akcji. Na czele listy TOP5 zagrań znalazły się rzuty z elektryzującej końcówki spotkania Dallas Mavericks-Portland Trail Blazers.\n", + "1.7371106147766113 1.9097235202789307 2400 2 tensor([[0.1145, 0.1581, 0.1481, 0.1188, 0.1098, 0.1227, 0.1076, 0.1204]],\n", + " grad_fn=) Roger Federer będzie występował w Bazylei aż do 2019 roku Roger Federer potwierdził, że na pewno do sezonu 2019 będzie występował w turnieju Swiss Indoors Basel, który jest organizowany pod koniec października w jego rodzinnej miejscowości.\n", + "1.6716017723083496 1.7934097051620483 2450 4 tensor([[0.1102, 0.1307, 0.1188, 0.1234, 0.1664, 0.1171, 0.1096, 0.1238]],\n", + " grad_fn=) Łukasz Wichowski przed DSF Kickboxing Challenge: Będzie ciężka walka i duże widowisko Już w sobotę odbędzie się gala DSF Kickboxing Challenge: Bitwa w Piasecznie. Walką wieczoru będzie starcie Łukasza Wichowskiego z Piotrem Kołakowskim. - To dodatkowa mobilizacja - mówi Wichowski.\n", + "1.6898772716522217 1.819849967956543 2500 5 tensor([[0.1092, 0.1338, 0.1130, 0.1309, 0.1145, 0.1621, 0.1076, 0.1290]],\n", + " grad_fn=) Specjaliści od dzikich kart. Co GTK Gliwice może wnieśc do PLK? GTK Gliwice prawdopodobnie będzie 17. zespołem w ekstraklasie. Przybliżamy sylwetkę ekipy ze Śląska, dla której gra w PLK będzie absolutnym debiutem.\n", + "1.6763261556625366 1.759675145149231 2550 7 tensor([[0.1268, 0.1096, 0.1138, 0.1419, 0.1048, 0.1027, 0.1284, 0.1721]],\n", + " grad_fn=) Agent Oezila przerywa milczenie i oskarża reprezentantów Niemiec Erkut Sogut, agent Mesuta Oezila przemówił na temat zakończenia kariery reprezentacyjnej przez pomocnika. Oberwało się trzem reprezentantom Niemiec.\n", + "1.6665313243865967 1.6889164447784424 2600 5 tensor([[0.0999, 0.1294, 0.0842, 0.1345, 0.1220, 0.1847, 0.1053, 0.1401]],\n", + " grad_fn=) NBA: ci koszykarze nie mają jeszcze kontraktu Dobiega końca lipiec, a wciąż bez kontraktów na kolejny sezon pozostaje kilku zawodników o znanych nazwiskach. Najbardziej znany to oczywiście LeBron James, ale on akurat lada moment ma podpisać nową umowę z Cleveland Cavaliers.\n", + "1.6606336832046509 1.0674211978912354 2650 2 tensor([[0.0997, 0.0817, 0.3439, 0.1019, 0.0987, 0.0841, 0.0996, 0.0903]],\n", + " grad_fn=) ATP Toronto: Tuzin zwycięstw nad Gaelem Monfilsem. Novak Djoković zmierza po kolejne trofeum Novak Djoković powalczy w niedzielę z Keiem Nishikorim o triumf w turnieju ATP World Tour Masters 1000 na kortach twardych w Toronto. W sobotnim półfinale Serb pewnie rozprawił się z Gaelem Monfilsem, zwyciężając Francuza 6:3, 6:2.\n", + "1.6435556411743164 1.918801188468933 2700 6 tensor([[0.1119, 0.1251, 0.0958, 0.1345, 0.1202, 0.1322, 0.1468, 0.1335]],\n", + " grad_fn=) Joanna Wołosz: Mamy prawo do małego dołka Chemik Police poniósł trzecią ligową porażkę, tym razem ze zdecydowanie niżej notowanym Atomem Trefl Sopot. Kryzys mistrza Polski? Joanna Wołosz uspokaja zaniepokojonych kibiców.\n", + "1.6390717029571533 2.008347511291504 2750 4 tensor([[0.1319, 0.1552, 0.1220, 0.1033, 0.1342, 0.1162, 0.1033, 0.1339]],\n", + " grad_fn=) Legenda MMA czuje się jak wrak człowieka. Przeszedł 22 operacje Po raz pierwszy trafił na stół operacyjny jako dziecko. Antonio Rodrigo Nogueira wpadł pod koła ciężarówki, walczył o życie. Później musiał poddawać się zabiegom po kontuzjach odniesionych na treningach i w walkach. - Jestem cały rozbity - przyznaje.\n", + "1.6333093643188477 1.2054814100265503 2800 2 tensor([[0.1204, 0.1072, 0.2995, 0.1031, 0.0922, 0.0859, 0.0875, 0.1042]],\n", + " grad_fn=) Ostatni sprawdzian Kamila Majchrzaka przed Rolandem Garrosem. Polak zagra w Niemczech Kamil Majchrzak weźmie udział w turnieju ATP Challenger Tour na kortach ziemnych w niemieckim Heilbronn. Dla Polaka będzie to ostatni sprawdzian przed eliminacjami do wielkoszlemowego Rolanda Garrosa 2018.\n", + "1.6280548572540283 1.3334434032440186 2850 7 tensor([[0.1050, 0.0826, 0.1171, 0.1083, 0.0920, 0.1130, 0.1185, 0.2636]],\n", + " grad_fn=) Real Sociedad - Atletico Madryt na żywo. Gdzie oglądać transmisję TV i stream online? W czwartek, w ramach Primera Division, odbędzie się spotkanie Real Sociedad - Atletico Madryt. Transmisja TV na antenie Eleven Sports 1. Stream online w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", + "1.6221270561218262 1.399025797843933 2900 1 tensor([[0.1193, 0.2468, 0.1046, 0.0931, 0.0985, 0.1158, 0.1037, 0.1182]],\n", + " grad_fn=) Williams został w tyle za rywalami. \"Nie odrobiliśmy swojej pracy domowej\" Problemy Williamsa w tym sezonie zdają się nie mieć końca. Paddy Lowe jest zdania, że na sytuację wpływa zacięta rywalizacja w Formule 1. - Obecnie każdy z zespołów funkcjonuje na bardzo wysokim poziomie - twierdzi Brytyjczyk.\n", + "1.6522632837295532 1.618589997291565 2950 5 tensor([[0.1019, 0.1231, 0.0985, 0.1354, 0.1011, 0.1982, 0.1130, 0.1288]],\n", + " grad_fn=) Basket 90 Gdynia zamknął \"zagraniczną\" kadrę na nowy sezon Basket 90 Gdynia zakończył poszukiwania zawodniczek zagranicznych na sezon 2016/2017. Ostatnią koszykarką spoza granic naszego kraju, która związała się z ekipą z Trójmiasta, jest Litwinka Monika Grigalauskyte.\n", + "1.637882113456726 1.4856913089752197 3000 3 tensor([[0.0878, 0.0816, 0.1088, 0.2263, 0.0699, 0.1203, 0.1662, 0.1391]],\n", + " grad_fn=) Liga Mistrzów: Paris Saint-Germain HB kolejnym uczestnikiem Final Four Paris Saint-Germain HB zremisował z MOL-Pickiem Szeged 30:30 w rewanżowym meczu ćwierćfinałowym Ligi Mistrzów 2016/2017, tym samym zdobywając awans do turnieju finałowego w Kolonii.\n", + "1.6201536655426025 1.9546905755996704 3050 5 tensor([[0.1001, 0.1597, 0.1025, 0.1031, 0.1241, 0.1416, 0.1171, 0.1517]],\n", + " grad_fn=) Chewbacca ma nową twarz. Jak koszykarz z Finlandii trafił do \"Gwiezdnych Wojen\" Zbliżający się weekend będzie tym, w którym miliony fanów \"Gwiezdnych Wojen\" zaczną szturmować kina, by obejrzeć 8. część sagi. Wielu z nich nie wie, że za maską Chewbakki od niedawna skrywa się nowa twarz - fińskiego koszykarza, Joonasa Suotamo.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.6507948637008667 1.78847336769104 3100 7 tensor([[0.1114, 0.1332, 0.0891, 0.1127, 0.1327, 0.1293, 0.1244, 0.1672]],\n", + " grad_fn=) Ireneusz Mamrot liczy na przełamanie. \"Jest sportowa złość, która musi się przełożyć na naszą korzyść\" - Nie ma zdenerwowania, ale jest duża sportowa złość. To musi się przełożyć na naszą korzyść - mówi przed sobotnim pojedynkiem z Koroną Kielce trener Jagiellonii Białystok, Ireneusz Mamrot. - Nie można wiecznie mieć gorszego okresu - dodaje.\n", + "1.508887529373169 1.5522242784500122 3150 2 tensor([[0.1029, 0.1193, 0.2118, 0.1184, 0.1020, 0.1098, 0.1087, 0.1272]],\n", + " grad_fn=) Roland Garros: bogaty program gier na środę. Matkowski czeka na dokończenie meczu z braćmi Bryanami Przez ostatnie dwa dni tenisiści niemal nie rywalizowali na kortach Rolanda Garrosa. Plan gier na 11. dzień turnieju jest naprawdę bogaty.\n", + "1.643761396408081 1.6309889554977417 3200 4 tensor([[0.0948, 0.1278, 0.1329, 0.1141, 0.1957, 0.1058, 0.1182, 0.1107]],\n", + " grad_fn=) Deontaya Wildera czekają dwie operacje. Na ring wróci w 2017 roku Deontay Wilder bez problemów pokonał Chrisa Arreolę w Birmingham i obronił pas mistrza świata federacji WBC. Podczas pojedynku \"Brązowy Bombardier\" nabawił się jednak dwóch kontuzji, które na dłuższy okres wykluczą go z walk.\n", + "1.4642796516418457 1.670371413230896 3250 5 tensor([[0.0890, 0.0946, 0.0918, 0.1393, 0.1155, 0.1882, 0.1543, 0.1274]],\n", + " grad_fn=) Sfrustrowany Tweety Carter: Powinienem zatrzymać Irelanda W ramach 20. kolejki PLK PGE Turów przegrał na własnym parkiecie z Treflem Sopot 79:81. - To bardzo, bardzo frustrująca porażka - mówi Tweety Carter, który zawiódł w ostatniej minucie tego starcia.\n", + "1.6308926343917847 1.6194607019424438 3300 1 tensor([[0.1344, 0.1980, 0.1102, 0.1148, 0.1033, 0.1227, 0.1071, 0.1095]],\n", + " grad_fn=) Rajd Estonii: Kajetanowicz utrzymuje podium Polska załoga Kajetan Kajetanowicz - Jarosław Baran jest coraz bliżej sięgnięcia po kolejne podium w wyścigach ERC. Po pewne zwycięstwo w Rajdzie Estonii zmierza Aleksiej Łukjaniuk.\n", + "1.5723904371261597 1.6809550523757935 3350 5 tensor([[0.0973, 0.1166, 0.1069, 0.1205, 0.0956, 0.1862, 0.1082, 0.1688]],\n", + " grad_fn=) Basket Poznań wrócił na właściwe tory? \"Do stacji końcowej jeszcze daleka droga\" I-ligowy Biofarm Basket Poznań jest projektem, który skupia wokół siebie wielu młodych graczy. W zespole możemy znaleźć także dwóch doświadczonych zawodników, a jednym z nich jest Tomasz Smorawiński.\n", + "1.5136752128601074 1.3535223007202148 3400 4 tensor([[0.1069, 0.1060, 0.1010, 0.1071, 0.2583, 0.1113, 0.1050, 0.1045]],\n", + " grad_fn=) Łukasz Rambalski i Wojciech Wierzbicki w karcie walk gali FEN 10 Do ciekawej walki dojdzie na gali FEN 10, 9 stycznia w Lubinie. Jeden z najbardziej utytułowanych polskich zawodników kickboxingu, Łukasz Rambalski, zmierzy się z aktualnym zawodowym mistrzem Europy organizacji WAKO-PRO, Wojciechem Wierzbickim.\n", + "1.5492887496948242 1.5715230703353882 3450 5 tensor([[0.0967, 0.0770, 0.1766, 0.1562, 0.0749, 0.2077, 0.1182, 0.0927]],\n", + " grad_fn=) Świetny mecz Marcina Sroki. Sokół z Pogonią w finale turnieju w Prudniku Marcin Sroka zdobył 25 punktów i poprowadził Max Elektro Sokół Łańcut do zwycięstwa 95:69 nad BK NH Ostrava. W drugim półfinale międzynarodowego koszykarskiego turnieju w Prudniku gospodarze pokonali Jamalex Polonię 1912 Leszno.\n", + "1.5033451318740845 1.6767299175262451 3500 1 tensor([[0.1183, 0.1870, 0.1078, 0.1017, 0.1279, 0.1219, 0.1094, 0.1260]],\n", + " grad_fn=) Niki Lauda wspomina Jamesa Hunta. \"Jego cząstka żyje we mnie\" Przed laty rywalizacja Nikiego Laudy i Jamesa Hunta emocjonowała kibiców Formuły 1. Austriaka i Brytyjczyka, choć na torze byli rywalami, połączyła specjalna więź. - Jakaś cząstka Jamesa żyje teraz we mnie - mówi Lauda.\n", + "1.45851469039917 1.314225196838379 3550 1 tensor([[0.1023, 0.2687, 0.1061, 0.0845, 0.1267, 0.0953, 0.0951, 0.1213]],\n", + " grad_fn=) Eksperci o słowach Felipe Massy. \"Sam wykluczył się z walki o miejsce w Williamsie\" Felipe Massa w ostrych słowach skomentował możliwy powrót Roberta Kubicy do Formuły 1. - Wygląda na to, że Brazylijczyk sam wykluczył się z walki o miejsce w Williamsie - twierdzi Tiff Needell, były prowadzący \"Top Gear\".\n", + "1.634362816810608 1.5301780700683594 3600 3 tensor([[0.1116, 0.0900, 0.0922, 0.2165, 0.0923, 0.1185, 0.1386, 0.1404]],\n", + " grad_fn=) AMŚ: pierwsza wygrana Biało-Czerwonych. Polska rozbiła Chińskie Tajpej Reprezentacja Polski piłkarzy ręcznych odniosła pierwsze zwycięstwo na Akademickich Mistrzostwach Świata. Drużyna Piotra Przybeckiego zgodnie z oczekiwaniami pokonała Chińskie Tajpej (35:20).\n", + "1.430791974067688 0.6775920391082764 3650 2 tensor([[0.0741, 0.0567, 0.5078, 0.0747, 0.0621, 0.0692, 0.0895, 0.0659]],\n", + " grad_fn=) ATP Tokio: Kei Nishikori wygrał japońskie starcie. W II rundzie także Milos Raonić i Denis Shapovalov Faworyt gospodarzy Kei Nishikori w dwóch setach pokonał Yuichiego Sugitę w I rundzie rozgrywanego na kortach twardych w hali turnieju ATP World Tour 500 w Tokio. Do 1/8 finału awansowali też Kanadyjczycy - Milos Raonić i Denis Shapovalov.\n", + "1.5230109691619873 1.5055851936340332 3700 2 tensor([[0.1061, 0.1268, 0.2219, 0.0988, 0.0968, 0.1362, 0.1112, 0.1023]],\n", + " grad_fn=) James Blake jak Tommy Haas czy Feliciano Lopez. Został dyrektorem turnieju w Miami Organizatorzy turnieju Miami Open ogłosili, że nowym dyrektorem tych kobiecych i męskich zawodów został były amerykański tenisista, James Blake. Tym samym potwierdziły się medialne doniesienia z ostatnich tygodni.\n", + "1.4986706972122192 1.3892507553100586 3750 7 tensor([[0.1256, 0.0679, 0.0977, 0.1365, 0.0641, 0.1027, 0.1563, 0.2493]],\n", + " grad_fn=) Mundial 2018. Historyczny wyczyn reprezentacji Rosji! Takiego pogromu w meczu otwarcia jeszcze nie było Na inaugurację MŚ 2018 Rosja pokonała Arabię Saudyjską aż 5:0 i ustanowiła nowy rekord mundialu - nigdy wcześniej w meczu otwarcia mistrzostw świata nie padł tak wysoki wynik.\n", + "1.4943437576293945 1.5734763145446777 3800 3 tensor([[0.1087, 0.1079, 0.1183, 0.2073, 0.0942, 0.1289, 0.1330, 0.1017]],\n", + " grad_fn=) Wojciech Gumiński odnalazł się w Azotach. \"Start w nowym klubie bywa trudny\" Przeciętny początek rozgrywek i znacznie lepsza druga połowa sezonu. Wojciech Gumiński zaczyna spełniać oczekiwania w Azotach Puławy, stał się czołowym strzelcem brązowych medalistów PGNiG Superligi.\n", + "1.4969911575317383 1.9636708498001099 3850 2 tensor([[0.1422, 0.1165, 0.1403, 0.1578, 0.1105, 0.1185, 0.1131, 0.1011]],\n", + " grad_fn=) Rio 2016. To nie są igrzyska faworytów Tenisowe turnieje olimpijskie rządzą się swoimi prawami i wielkie niespodzianki są w nich na porządku dziennym, ale chyba mało kto przypuszczał, że w Rio de Janeiro dojdzie do aż tylu niespodziewanych rozstrzygnięć.\n", + "1.4388176202774048 1.7781883478164673 3900 5 tensor([[0.1039, 0.0924, 0.1016, 0.1577, 0.0962, 0.1689, 0.1594, 0.1198]],\n", + " grad_fn=) Niezawodny Klima, szalejący Obarek. Najlepsi gracze 18. kolejki I ligi Marcin Dymała oraz Maciej Klima to stali bywalce w naszym rankingu. Którzy zawodnicy znaleźli się jeszcze w najlepszej piątce 18. kolejki?\n", + "1.484710693359375 1.4378458261489868 3950 4 tensor([[0.0837, 0.1280, 0.1143, 0.1067, 0.2374, 0.1055, 0.1090, 0.1154]],\n", + " grad_fn=) Czołowy brytyjski pięściarz zaproponował pojedynek Tomaszowi Adamkowi Tomasz Adamek otrzymał propozycję walki z Davidem Pricem. Jak poinformował portal worldboxingnews.net, obóz brytyjskiego pięściarza złożył \"Góralowi\" atrakcyjną ofertę.\n", + "1.4596961736679077 1.3932182788848877 4000 7 tensor([[0.0933, 0.1557, 0.0805, 0.0930, 0.1252, 0.1071, 0.0969, 0.2483]],\n", + " grad_fn=) Grzegorz Krychowiak na zakręcie. Mundial to ostatnia szansa Grzegorz Krychowiak znowu jest na zakręcie i musi szukać nowego klubu. Paris-Saint Germain chce się pozbyć Polaka na dobre. Mundial w Rosji to dla mistrzów Francji ostatnia szansa, żeby sprzedać go za godne pieniądze.\n", + "1.4578245878219604 1.566155195236206 4050 6 tensor([[0.0992, 0.1110, 0.0901, 0.1400, 0.0904, 0.1380, 0.2088, 0.1224]],\n", + " grad_fn=) ZAKSA Kędzierzyn-Koźle trenuje już niemal w komplecie Na początku tygodnia do kędzierzyńskiej drużyny dołączyli zawodnicy, którzy brali udział w mistrzostwach Europy. Wyjątkiem jest francuski rozgrywający Benjamin Toniutti.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.5242117643356323 1.2574454545974731 4100 1 tensor([[0.0738, 0.2844, 0.0689, 0.0742, 0.1106, 0.1044, 0.1126, 0.1710]],\n", + " grad_fn=) Krzysztof Hołowczyc trzyma kciuki za Kubicę. \"Ci, którzy nie chcą jego powrotu, po prostu się go boją\" Trwa walka Roberta Kubicy o powrót do Formuły 1. Polak jest jednym z kandydatów do reprezentowania w przyszłym sezonie barw zespołu Williams. Za Kubicę kciuki trzyma Krzysztof Hołowczyc.\n", + "1.4492028951644897 1.438140630722046 4150 1 tensor([[0.1065, 0.2374, 0.1000, 0.0919, 0.1166, 0.1186, 0.1079, 0.1211]],\n", + " grad_fn=) Honda znów ma problem z silnikiem. \"Musimy znaleźć główną przyczynę niepowodzeń\" Honda po raz kolejny ma problemy ze swoim silnikiem. Japończycy uważają jednak, że w przypadku Brendona Hartleya we Francji doszło do innej usterki niż w jednostce napędowej Pierre'a Gasly'ego w Kanadzie.\n", + "1.5473710298538208 1.088587760925293 4200 2 tensor([[0.0726, 0.0993, 0.3367, 0.0964, 0.0823, 0.1156, 0.1074, 0.0897]],\n", + " grad_fn=) Jelena Janković marzy o drugim tygodniu Wimbledonu. We wtorek Serbka zagra z Agnieszką Radwańską Jelena Janković chciałaby dojść do drugiego tygodnia Wimbledonu 2017. Serbka będzie rywalką Agnieszki Radwańskiej w I rundzie.\n", + "1.4706279039382935 1.942168951034546 4250 4 tensor([[0.1107, 0.1164, 0.1036, 0.1277, 0.1434, 0.1303, 0.1391, 0.1289]],\n", + " grad_fn=) Kontrowersyjny klub MMA w Chinach. Walczą 12-letnie dzieci W Enbo Fight Club trenuje nawet 400 młodych ludzi. Część z nich stanowią osierocone dzieci. Działalność klubu wywołuje spore emocje w Chinach.\n", + "1.430891513824463 0.8150836229324341 4300 1 tensor([[0.1203, 0.4426, 0.0651, 0.0701, 0.0816, 0.0789, 0.0730, 0.0684]],\n", + " grad_fn=) MotoGP: Marc Marquez najlepszy w ostatnim treningu Marc Marquez wygrał ostatnią sesję treningową przed wyścigiem o Grand Prix Ameryk na torze w Austin. Kolejne pozycje zajęli Dani Pedrosa oraz Maverick Vinales.\n", + "1.4218602180480957 1.5896944999694824 4350 3 tensor([[0.0742, 0.1261, 0.0927, 0.2040, 0.1068, 0.1426, 0.1267, 0.1270]],\n", + " grad_fn=) Rafał Przybylski odchodzi z Azotów Puławy. Kierunek - zagranica Rafał Przybylski po zakończeniu sezonu 2016/17 odejdzie z Azotów Puławy. 25-letni prawy rozgrywający wyjedzie z Polski. W jakim kierunku? Tego jeszcze nie wiadomo. Po Polaka zgłosiło się kilka klubów. Rozmowy trwają.\n", + "1.4195148944854736 0.8848472833633423 4400 2 tensor([[0.0846, 0.0763, 0.4128, 0.0849, 0.0742, 0.0952, 0.0910, 0.0809]],\n", + " grad_fn=) WTA Lugano: Stefanie Voegele wygrała dwudniowy mecz z Magdaleną Fręch. Polka jeszcze bez zwycięstwa w tourze Stefanie Vögele okazała się w dwóch setach lepsza od Magdaleny Fręch w I rundzie turnieju WTA International na kortach ziemnych w Lugano. Polska tenisistka musi jeszcze poczekać na premierową wygraną w głównym cyklu.\n", + "1.3415539264678955 1.3378149271011353 4450 0 tensor([[0.2624, 0.1456, 0.0719, 0.1039, 0.0732, 0.0958, 0.1211, 0.1261]],\n", + " grad_fn=) MŚ w Lahti: Niemcy na czele klasyfikacji medalowej. To był ich piątek marzeń Niemcy znajdą się na prowadzeniu w klasyfikacji medalowej mistrzostw świata w Lahti po trzech dniach imprezy. W piątkowych konkurencjach reprezentanci tego kraju byli zdecydowanie najlepsi.\n", + "1.46285080909729 1.8137385845184326 4500 0 tensor([[0.1630, 0.1532, 0.0743, 0.1218, 0.0932, 0.1241, 0.1059, 0.1645]],\n", + " grad_fn=) Pjongczang 2018. Austriacy zabiorą nam Horngachera? Trzeba jak najszybciej podpisać kontrakt Stefan Horngacher, jeden z autorów trzeciego złota Kamila Stocha, nie ma jeszcze podpisanego nowego kontraktu. PZN powinien uczynić to jak najszybciej, by sprzed nosa świetnego trenera nie zabrali polskiej kadrze Austriacy.\n", + "1.492582082748413 0.9577993750572205 4550 1 tensor([[0.0928, 0.3837, 0.0862, 0.0762, 0.1011, 0.0838, 0.0782, 0.0979]],\n", + " grad_fn=) Wewnętrzna rywalizacja w Red Bull Racing. \"Powinienem wiedzieć, gdzie jest limit\" Wewnętrzna rywalizacja Daniela Ricciardo z Maxem Verstappenem korzystnie wpływa na formę kierowców Red Bull Racing. Australijczyk zdradził jednak, że w niektórych wyścigach przesadził z jazdą na limicie. - Zawsze byłem przed nim - odpowiada Holender.\n", + "1.4930198192596436 1.1086781024932861 4600 6 tensor([[0.0817, 0.0615, 0.0739, 0.1038, 0.0659, 0.1300, 0.3300, 0.1531]],\n", + " grad_fn=) Puchar Polski: Skra Bełchatów - Asseco Resovia na żywo. Gdzie oglądać transmisję? W środę, w ramach Pucharu Polski w siatkówce odbędzie się mecz PGE Skra Bełchatów - Asseco Resovia Rzeszów. Tranmisja TV na antenie Polsat Sport. Stream online w Ipla TV. Relacja LIVE w WP SportoweFakty.\n", + "1.4486101865768433 1.122622013092041 4650 1 tensor([[0.0858, 0.3254, 0.0828, 0.1038, 0.0872, 0.0995, 0.1066, 0.1088]],\n", + " grad_fn=) Mercedes z czwartym tytułem z rzędu jako czwarty zespół w historii Mercedes dzięki wygranej Lewisa Hamiltona w Austin zapewnił sobie kolejny z rzędu tytuł mistrzowski, który klasyfikuje niemiecki zespół wśród największych stajni w historii Formuły 1.\n", + "1.4268497228622437 1.2122536897659302 4700 6 tensor([[0.0842, 0.0774, 0.0978, 0.1278, 0.0649, 0.1556, 0.2975, 0.0948]],\n", + " grad_fn=) PlusLiga: ta ostatnia, decydująca niedziela W niedzielę zostanie rozegrana ostatnia kolejka PlusLigi. Poznamy w niej odpowiedzi na pytania, które drużyny zagrają o medale, a która pożegna się z rozgrywkami. Czy Indykpol AZS, Asseco Resovia i Jastrzębski Węgiel wykorzystają potknięcie ONICO?\n", + "1.4323949813842773 0.9153074026107788 4750 0 tensor([[0.4004, 0.0970, 0.0799, 0.0819, 0.0716, 0.0826, 0.0906, 0.0961]],\n", + " grad_fn=) Hula, Żyła i Kubacki szczęśliwi po MŚ w lotach. Już szykują się na konkurs drużynowy Polscy skoczkowie byli w bardzo dobrych nastrojach po indywidualnych MŚ w lotach narciarskich. Teraz wszyscy są myślami przy niedzielnej rywalizacji drużynowej.\n", + "1.4646708965301514 1.008448600769043 4800 1 tensor([[0.1289, 0.3648, 0.0872, 0.0714, 0.0700, 0.0955, 0.0766, 0.1055]],\n", + " grad_fn=) Maverick Vinales myśli tylko o wygranej. \"Walka o podium mi nie wystarczy\" Upadek w Grand Prix Holandii sprawił, że Maverick Vinales stracił prowadzenie w klasyfikacji generalnej MotoGP. Hiszpan ma teraz jeden cel. Wygrać wyścig na Sachsenringu i wrócić na szczyt tabeli.\n", + "1.4903373718261719 1.4383008480072021 4850 5 tensor([[0.0798, 0.1134, 0.1004, 0.1089, 0.1094, 0.2373, 0.1072, 0.1435]],\n", + " grad_fn=) Zagrał na własne życzenie i... doznał kontuzji. Co dalej z Markiem Carterem? Marc Carter za wszelką cenę chciał pomóc drużynie w meczu z PGE Turowem Zgorzelec (93:78). Niestety Amerykanin swój występ przepłacił kontuzją ścięgna Achillesa. Na razie nie wiadomo, jak poważny jest uraz jednego z czołowych zawodników BM Slam Stal.\n", + "1.431658148765564 1.2438663244247437 4900 7 tensor([[0.0935, 0.0672, 0.0872, 0.1038, 0.0762, 0.1123, 0.1714, 0.2883]],\n", + " grad_fn=) Anglia - Nigeria na żywo. Transmisja TV, stream online W sobotę, w ramach meczu towarzyskiego, odbędzie się starcie Anglia - Nigeria. Transmisja TV na antenie Eleven Sports 1. Stream online w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", + "1.3500407934188843 1.4719245433807373 4950 5 tensor([[0.1090, 0.0782, 0.1236, 0.1255, 0.0869, 0.2295, 0.1285, 0.1188]],\n", + " grad_fn=) Liga Letnia NBA: Zespół Ponitki w ćwierćfinale, 4 punkty Polaka Mateusz Ponitka zdobył cztery punkty dla Denver Nuggets, którzy pokonali Utah Jazz 80:60 i awansowali do ćwierćfinału Ligi Letniej NBA w Las Vegas.\n" ] } ], @@ -1340,16 +1689,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 25, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[26]:\n", - "tensor([[0.0070, 0.0075, 0.0059, 0.0061, 0.0093, 0.9509, 0.0062, 0.0071]])" - ] + "data": { + "text/plain": [ + "tensor([[0.0924, 0.1009, 0.0888, 0.0887, 0.0978, 0.3429, 0.0918, 0.0966]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1361,31 +1712,19 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 26, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[89]:\n", - "#+BEGIN_EXAMPLE\n", - " Parameter containing:\n", - " tensor([[ 7.8818e-04, 1.0930e-03, 5.9632e-04, ..., 8.1697e-04,\n", - " 1.2976e-03, -8.4243e-04],\n", - " [-1.0164e-03, -8.9416e-04, -1.8650e-03, ..., 6.6075e-04,\n", - " -5.4883e-04, -1.1845e-03],\n", - " [-3.1395e-04, 1.8564e-03, -7.0267e-04, ..., -4.7028e-04,\n", - " 7.0584e-04, 9.8026e-04],\n", - " ...,\n", - " [ 4.8792e-05, 1.9183e-03, 1.3152e-03, ..., 4.6495e-04,\n", - " 9.5338e-04, 1.9107e-03],\n", - " [-5.2181e-04, 1.1135e-03, 7.1943e-04, ..., 3.7215e-04,\n", - " 1.0002e-03, -1.7985e-03],\n", - " [-9.1641e-04, 1.6301e-03, 1.7372e-03, ..., 1.2390e-03,\n", - " -9.1001e-04, 1.5711e-03]], requires_grad=True)\n", - "#+END_EXAMPLE" - ] + "data": { + "text/plain": [ + "tensor([-0.6271, -0.6515, -0.6354, -0.6365, -0.5846, 0.6367, -0.6384, -0.6443],\n", + " grad_fn=)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1405,24 +1744,19 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 27, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[45]:" - ] - }, { "data": { - "image/png": "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nYcffrh+38GDB/nqq69YsGDBYf0nT57MvHnzGD58OGeddRYlJSWsX7+eu+66i1tvvTUZ05AYaHlKRJpUvH47960sp7J6Pz18L2k90xk5ciQAU6dO5cEHH6zve9ttt7Fv3z7uvPNOPv/8c6qqqsjLy2PRokUMHjwYgL1791JQUMD777+PmfH1118nZV5y9HSmIc1auHAhFRUVyS5DkqB4/XZmLN7I9ur9OLBz3wGqa2opXr+9vo+Z1b/+9a9/TVpaWv32SSedRJ8+fVizZk1922233cZFF13Epk2beOaZZzhw4EBC5iLxo9A4hk2bNo2nnnqqyf2PPfYYH330ERkZGUf1fmnf7ltZzv6vDx7WVrtvF7fPWQzAE088wQUXXNDk+4877jiKi4tZsGABjz/+OFB3ptGrVy8AHnnkkdYpXFqVlqekSVOnTk12CZJEldX7v9XW5bt9+PC1FWRl/Sf9+/fnxhtv5JlnnmnyGN26dWPZsmWMGTOGbt268Ytf/IKCggJmzZrFD37wg9YsX1qJzjSS6IsvvuCKK65g6NChZGZmsnDhQu666y6GDx9OZmYmhYWFuDsAo0eP5uabb2bUqFGcffbZlJaWMmnSJPr3788vf/nL+mPOmjWLzMxMMjMzuf/+++vbFyxYQFZWFkOHDuWaa66pby8pKeH888+nX79+9WcN7k5RURGZmZkMGTKEhQsX1rffdNNNDBo0iCuuuIJdu3Yl4G9JkiU9teu3G83I+lERGzZsYNGiRXznO99h1apV5OTkAHV3WKWlpZGRkcGmTZsASE1NpbS0lLy8PM477zzee+891qxZw69+9SstfbZDOtNIomeffZb09HSWL18O1J26jxkzhttvvx2Aa665hmXLlvHDH/4QqDvdLykp4YEHHiAvL4+1a9fSo0cPzjzzTG6++WYqKiqYN28er7/+Ou7O97//fXJzcznuuOO4++67WbNmDWlpaezZs6e+hh07drB69WreffddrrzySvLz81m8eDFvvvkmb731Frt372b48OGMGjWKV199lfLycjZu3MjOnTsZNGgQ1113XeL/4iQhisYOZMbijYctUZkZRWMHJrEqSTaFRoI1vBvl5K8/Z/uKlfS45RbGjx/PhRdeyKJFi7j33nupqalhz549DB48uD40rrzySgCGDBnC4MGDOf300wHo168fH3/8MatXr2bi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", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -1561,7 +1895,7 @@ "- długość słowa\n", "- kształt słowa (*word shape*), np. czy pisany wielkimi literami, czy składa się z cyfr itp.\n", "- n-gramy znakowe wewnątrz słowa (np. słowo *Kowalski* można zakodować jako sumę wektorów\n", - " trigramów znakówych $\\vec{v}(Kow) + \\vec{v}(owa) + \\vec{v}(wal) + \\vec{v}(als) + \\vec{v}(lsk) + + \\vec{v}(ski)$\n", + " trigramów znakówych $\\vec{v}(Kow) + \\vec{v}(owa) + \\vec{v}(wal) + \\vec{v}(als) + \\vec{v}(lsk) + \\vec{v}(ski)$\n", "\n", "Cały czas nie rozpatrujemy jednak w tej metodzie kontekstu wyrazu.\n", "(*Renault* w pewnym kontekście może być nazwą firmy, w innym —\n", @@ -1585,7 +1919,7 @@ "cały kontekst, dla *okna* o długości $c$ będzie to kontekst $t^{k-c},\\dots,t^k,\\dots,t^{k+c}$.\n", "Innymi słowy klasyfikujemy token na podstawie jego samego oraz jego kontekstu:\n", "\n", - "$$p(l^k=j) = \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_j}}{Z_k}.$$\n", + "$$p(l^k=j) = \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_j}}{Z}.$$\n", "\n", "Zauważmy, że w tej metodzie w ogóle nie rozpatrujemy sensowności\n", "sekwencji wyjściowej (etykiet), np. może być bardzo mało\n", @@ -1594,12 +1928,12 @@ "Napiszmy wzór określający prawdopodobieństwo całej sekwencji, nie\n", "tylko pojedynczego tokenu. Na razie będzie to po prostu iloczyn poszczególnych wartości.\n", "\n", - "$$p(l) = \\prod_{k=1}^K \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_{l^k}}}{Z_k} = \\frac{e^{\\sum_{k=1}^K (W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c})_{l^k})}}{\\prod_{k=1}^K Z_k} $$\n", + "$$l = (l^1,\\\\dots,l^k), p(l) = \\prod_{k=1}^K \\frac{e^{(W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_{l^k}}}{Z_k} = \\frac{e^{\\sum_{k=1}^K (W\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}))_{l^k}}}{\\prod_{k=1}^K Z_k}$$\n", "\n", "Reprezentacja kontekstu może być funkcją embeddingów wyrazów\n", "(zakładamy, że embedding nie zależy od pozycji słowa).\n", "\n", - "$$\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}) = f(\\vec{E}(t^{k-c}),\\dots,\\vec{E}(t^k),\\dots,\\vec{E}({t^{k+c}})$$\n", + "$$\\vec{v}(t^{k-c},\\dots,t^k,\\dots,t^{k+c}) = f(\\vec{E}(t^{k-c}),\\dots,\\vec{E}(t^k),\\dots,\\vec{E}({t^{k+c}}))$$\n", "\n" ] }, @@ -1690,6 +2024,8 @@ "Aby uzyskać cały ciąg, kierujemy się *wstecz* używając wskaźników:\n", "\n", "$$y^i = b[i, y^{i+1}]$$\n", + "\n", + "![img](./crf-viterbi.png)\n", "\n" ] }, @@ -1741,16 +2077,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 28, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[2]:\n", - "tensor([0., 1., 0.])" - ] + "data": { + "text/plain": [ + "tensor([0., 1., 0.])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1779,16 +2117,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 29, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[9]:\n", - "tensor([0.4983, 0.0034, 0.4983])" - ] + "data": { + "text/plain": [ + "tensor([0.4983, 0.0034, 0.4983])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1796,26 +2136,28 @@ "import torch.nn as nn\n", "\n", "matrixW = torch.tensor(\n", - " [[-1., 3.0, 3.0],\n", - " [0., 2.0, -2.0],\n", - " [4., -2.0, 3.0]])\n", - "\n", + " [[-1., 3.0, 3.0], # C\n", + " [0., 2.0, -2.0], # P\n", + " [4., -2.0, 3.0]]) # R\n", + " # Ala ma powieść\n", "# rozkład prawdopodobieństwa, gdyby patrzeć tylko na słowo\n", "nn.functional.softmax(matrixW @ onehot['powieść'], dim=0)" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 30, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[10]:\n", - "tensor([0.1027, 0.1386, 0.7587])" - ] + "data": { + "text/plain": [ + "tensor([0.1027, 0.1386, 0.7587])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1823,9 +2165,10 @@ "import torch.nn as nn\n", "\n", "matrixV = torch.tensor(\n", - " [[-0.5, 1.5, 2.0],\n", - " [0.5, 0.8, 2.5],\n", - " [2.0, 0.8, 0.2]])\n", + " [[-0.5, 1.5, 2.0], # C\n", + " [0.5, 0.8, 2.5], # P\n", + " [2.0, 0.8, 0.2]]) # R\n", + "# C P R\n", "\n", "# co występuje po przymiotniku? - rozkład prawdopodobieństwa\n", "nn.functional.softmax(matrixV[1], dim=0)" @@ -1841,16 +2184,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 31, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "# Out[16]:\n", - "[4.0, 3.5, 4.5]" - ] + "data": { + "text/plain": [ + "[4.0, 3.5, 4.5]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ diff --git a/wyk/09_neurozoo.org b/wyk/09_neurozoo.org index 75d6d64..d95c66c 100644 --- a/wyk/09_neurozoo.org +++ b/wyk/09_neurozoo.org @@ -840,7 +840,7 @@ Można spróbować uzyskać bogatszą reprezentację dla słowa biorąc pod uwag - długość słowa - kształt słowa (/word shape/), np. czy pisany wielkimi literami, czy składa się z cyfr itp. - n-gramy znakowe wewnątrz słowa (np. słowo /Kowalski/ można zakodować jako sumę wektorów - trigramów znakówych $\vec{v}(Kow) + \vec{v}(owa) + \vec{v}(wal) + \vec{v}(als) + \vec{v}(lsk) + + \vec{v}(ski)$ + trigramów znakówych $\vec{v}(Kow) + \vec{v}(owa) + \vec{v}(wal) + \vec{v}(als) + \vec{v}(lsk) + \vec{v}(ski)$ Cały czas nie rozpatrujemy jednak w tej metodzie kontekstu wyrazu. (/Renault/ w pewnym kontekście może być nazwą firmy, w innym — @@ -852,7 +852,7 @@ Za pomocą wektora można przedstawić nie pojedynczy token $t^k$, lecz cały kontekst, dla /okna/ o długości $c$ będzie to kontekst $t^{k-c},\dots,t^k,\dots,t^{k+c}$. Innymi słowy klasyfikujemy token na podstawie jego samego oraz jego kontekstu: -$$p(l^k=j) = \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_j}}{Z_k}.$$ +$$p(l^k=j) = \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_j}}{Z}.$$ Zauważmy, że w tej metodzie w ogóle nie rozpatrujemy sensowności sekwencji wyjściowej (etykiet), np. może być bardzo mało @@ -861,12 +861,12 @@ prawdopodobne, że bezpośrednio po nazwisku występuje data. Napiszmy wzór określający prawdopodobieństwo całej sekwencji, nie tylko pojedynczego tokenu. Na razie będzie to po prostu iloczyn poszczególnych wartości. -$$p(l) = \prod_{k=1}^K \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{Z_k} = \frac{e^{\sum_{k=1}^K (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{\prod_{k=1}^K Z_k}$$ +$$l = (l^1,\\dots,l^k), p(l) = \prod_{k=1}^K \frac{e^{(W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{Z_k} = \frac{e^{\sum_{k=1}^K (W\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}))_{l^k}}}{\prod_{k=1}^K Z_k}$$ Reprezentacja kontekstu może być funkcją embeddingów wyrazów (zakładamy, że embedding nie zależy od pozycji słowa). -$$\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}) = f(\vec{E}(t^{k-c}),\dots,\vec{E}(t^k),\dots,\vec{E}({t^{k+c}})$$ +$$\vec{v}(t^{k-c},\dots,t^k,\dots,t^{k+c}) = f(\vec{E}(t^{k-c}),\dots,\vec{E}(t^k),\dots,\vec{E}({t^{k+c}}))$$ ** Warunkowe pola losowe @@ -934,6 +934,8 @@ Aby uzyskać cały ciąg, kierujemy się /wstecz/ używając wskaźników: $$y^i = b[i, y^{i+1}]$$ +[[./crf-viterbi.png]] + *** Złożoność obliczeniowa Zauważmy, że rozmiar tabel $s$ i $b$ wynosi $K \times |L|$, a koszt @@ -985,10 +987,10 @@ macierzy $W$ i $V$ (samego procesu uczenia nie pokazujemy tutaj): import torch.nn as nn matrixW = torch.tensor( - [[-1., 3.0, 3.0], - [0., 2.0, -2.0], - [4., -2.0, 3.0]]) - + [[-1., 3.0, 3.0], # C + [0., 2.0, -2.0], # P + [4., -2.0, 3.0]]) # R + # Ala ma powieść # rozkład prawdopodobieństwa, gdyby patrzeć tylko na słowo nn.functional.softmax(matrixW @ onehot['powieść'], dim=0) #+END_SRC @@ -1005,9 +1007,10 @@ macierzy $W$ i $V$ (samego procesu uczenia nie pokazujemy tutaj): import torch.nn as nn matrixV = torch.tensor( - [[-0.5, 1.5, 2.0], - [0.5, 0.8, 2.5], - [2.0, 0.8, 0.2]]) + [[-0.5, 1.5, 2.0], # C + [0.5, 0.8, 2.5], # P + [2.0, 0.8, 0.2]]) # R + # C P R # co występuje po przymiotniku? - rozkład prawdopodobieństwa nn.functional.softmax(matrixV[1], dim=0) diff --git a/wyk/crf-viterbi.drawio b/wyk/crf-viterbi.drawio new file mode 100644 index 0000000..abaf299 --- /dev/null +++ b/wyk/crf-viterbi.drawio @@ -0,0 +1 @@ +5ZpNc5swEIZ/Dcd2jAQ2PsbYTQ/pTKaZTt3eFJCNWowYWY5xf31FEAa0dr4DDLl40IIk9Lyr1UrYwv4muxQkjb7xkMYWGoWZhecWQlPHVr+54VAYXIwLw1qwsDDZleGG/aPaONLWHQvptvGg5DyWLG0aA54kNJANGxGC75uPrXjc7DUlawoMNwGJofUnC2VUWD00qexfKVtHZc/2eFrc2ZDyYT2SbURCvq+Z8MLCvuBcFlebzKdxzq7kUtT7cubu8cUETeRTKiwvJ+j3gvFb5s3Dq/2PdDlzPulW7ki80wO+iIl+X3koIUiaqS5mkdzEymCry60U/C/1ecyFsiQ8UU/OViyODROJ2TpRxUC9JFX22R0Vkim8F/rGhoVh3s1sHzFJb1IS5H3ulS8pm+C7JKT5+49USb+qaoBmZxnYR7LKIynfUCkO6pGywliLob3RdnR5X2lbmqKarKWGRHvT+thyBVxdaObP4I8A/82A8SO3Z/gxwJ/yPaOW71rTmeU7ljcZrhq4b2o4QA0f0FfNqNB/jlFNFLJNi/VgxbKc2tuED7dJzIPE8Ali+L2IjQGx634TQyd8rFViE0Dse7+J4VHHxJAHAYUqR9JFLmTE1zwh8aKyGsGqeuaK81TD+0OlPOiEj+wkb6KlGZPL2vWvvKnPri7NM93yfeFQFhI13mW9UKuVF6tq96WyXjG+fFAPa6YY8J0I6AOwNCtJxJrKh/KuM04gaEwku2u+yJtL6vU90CIzT+s60E7fNdDWcwUL4ZUX0CAAiYW6c+u5jvtWyZjBuPPQXG75+hubTWSdx2Yb7t96NpOx27OUyYZbrp7lTCay7icm3Cb1bGKayLqfmHAvs7XcmQKp2hvZljsHAIezr/SMKT+GYrS6r7Rh0m8PFz844zoxF9rFD9NNNFz83uNZVbv0YeqKh0sfO0bs6dr5EUxqBxx7DOe3y5WgM/ow2Rtw6AHH6507P0wcBxx7DOfHo66d3wX08xwUFTkoGnQOCpZh1PVUgEf1NTGGvSEAy8K465kBNwQ1MfCHEgN1vUZjeIYF6NMkvMj/zJFjjMl2y4KmFi89QH38zB9yrHFyT3AqbU8+ydc9XHOmOq5kmhoyuQb/4lOErlVJABrC5jGvbTRUfKsADd1reRz2K+SFOcCz5X3dx6Dq+8+vso12PgaVpF/8NagdVzselpUeMn6pq03OLLptuRo8dLv9KIdujiGiPe044cGn11g1Cn/YSthTM9t5NyVUsfr/YDGLqj9h4sV/ \ No newline at end of file diff --git a/wyk/crf-viterbi.png b/wyk/crf-viterbi.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb4013e0cda7aa2bf0f312a3a500adb84e6dee4 GIT binary patch literal 13347 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 Y-wqSw`lK-Re+NS7Xc=P4&}U=*1FAK2)Bpeg literal 0 HcmV?d00001 From 86a5fbe20c43601494d4da6f8c23dbbd0422a0b0 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Tue, 1 Jun 2021 10:38:23 +0200 Subject: [PATCH 2/4] Update --- wyk/09_neurozoo.ipynb | 210 +++++++++++++++++++++--------------------- 1 file changed, 105 insertions(+), 105 deletions(-) diff --git a/wyk/09_neurozoo.ipynb b/wyk/09_neurozoo.ipynb index 819f54e..7d5a737 100644 --- a/wyk/09_neurozoo.ipynb +++ b/wyk/09_neurozoo.ipynb @@ -481,7 +481,7 @@ { "data": { "text/plain": [ - "tensor([-0.0567], grad_fn=)" + "tensor([-0.0557], grad_fn=)" ] }, "execution_count": 9, @@ -675,7 +675,7 @@ { "data": { "text/plain": [ - "tensor([0.2034, 0.3704], grad_fn=)" + "tensor([0.7000, 0.2270], grad_fn=)" ] }, "execution_count": 11, @@ -1422,47 +1422,47 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.04157308116555214 2.0786540508270264 0 0 tensor([[0.1251, 0.1251, 0.1249, 0.1249, 0.1251, 0.1250, 0.1249, 0.1251]],\n", + "0.04162006452679634 2.081003189086914 0 0 tensor([[0.1248, 0.1249, 0.1252, 0.1248, 0.1248, 0.1253, 0.1251, 0.1251]],\n", " grad_fn=) MŚ w hokeju: mocny początek Finów w Danii. Francja podniosła się po laniu od Rosjan Reprezentacja Finlandii po niepowodzeniach na ostatnich igrzyskach olimpijskich rozpoczęła dobrze tegoroczny turniej mistrzostw świata elity od pewnej wygranej z Koreą Południową. Francuzi zdobyli pierwsze punkty po pokonaniu Białorusi.\n", - "2.079073667526245 2.0661282539367676 50 4 tensor([[0.1261, 0.1268, 0.1246, 0.1248, 0.1267, 0.1239, 0.1235, 0.1236]],\n", + "2.0791335105895996 2.0685672760009766 50 4 tensor([[0.1260, 0.1265, 0.1247, 0.1244, 0.1264, 0.1241, 0.1239, 0.1241]],\n", " grad_fn=) Fotorelacja: Ważenie przed galą KSW 27 - Cage Time Prezentujemy fotorelację z oficjalnej ceremonii ważenia przed sobotnią galą KSW 27 - Cage Time.\n", - "2.0697731971740723 2.1073999404907227 100 5 tensor([[0.1272, 0.1266, 0.1252, 0.1251, 0.1266, 0.1216, 0.1221, 0.1256]],\n", + "2.069852828979492 2.1081838607788086 100 5 tensor([[0.1268, 0.1265, 0.1260, 0.1250, 0.1262, 0.1215, 0.1222, 0.1258]],\n", " grad_fn=) Wisła podpisała swój najważniejszy kontrakt Gdyby nie firma Can-Pack S.A. nie byłoby w ostatnich latach wielkich sukcesów koszykarek z Krakowa. We wtorek ogłoszono przedłużenie umowy i koszykarki spod znaku Białej Gwiazdy nadal będą występować pod nazwą Wisła Can-Pack Kraków.\n", - "2.0649149417877197 2.0966570377349854 150 5 tensor([[0.1303, 0.1281, 0.1242, 0.1248, 0.1255, 0.1229, 0.1174, 0.1268]],\n", + "2.0650603771209717 2.0957107543945312 150 5 tensor([[0.1307, 0.1279, 0.1246, 0.1245, 0.1251, 0.1230, 0.1177, 0.1266]],\n", " grad_fn=) Basket 90 znalazł nową podkoszową. W poprzednim sezonie grała w polskim klubie Nie trzeba było długo czekać na koszykarkę, która wypełni podkoszową lukę w Baskecie 90 Gdynia. Nową zawodniczką ekipy z Trójmiasta została Niemka Sonja Greinacher, która ostatni sezon spędziła w Wiśle CanPack Kraków.\n", - "2.0591840744018555 2.044764995574951 200 0 tensor([[0.1294, 0.1281, 0.1258, 0.1222, 0.1227, 0.1240, 0.1216, 0.1262]],\n", + "2.058483362197876 2.0446863174438477 200 0 tensor([[0.1294, 0.1279, 0.1260, 0.1219, 0.1224, 0.1241, 0.1218, 0.1263]],\n", " grad_fn=) Wicemistrzyni olimpijska zakończyła karierę Olga Wiłuchina podjęła decyzję o zakończeniu sportowej kariery. Największymi sukcesami rosyjskiej biathlonistki są dwa srebrne medale wywalczone na igrzyskach olimpijskich w Soczi.\n", - "2.0487895011901855 2.102400302886963 250 5 tensor([[0.1224, 0.1304, 0.1217, 0.1233, 0.1241, 0.1222, 0.1261, 0.1297]],\n", + "2.048689126968384 2.0999209880828857 250 5 tensor([[0.1226, 0.1300, 0.1219, 0.1229, 0.1239, 0.1225, 0.1261, 0.1300]],\n", " grad_fn=) Duże wzmocnienie reprezentacji Polski. Wraca Maciej Lampe Maciej Lampe dołączył już do reprezentacji Polski, która przygotowuje się do eliminacyjnych meczów z Litwą oraz Kosowem. 33-latek wraca do kadry po dwuletniej przerwie.\n", - "2.0376365184783936 2.084744691848755 300 5 tensor([[0.1308, 0.1344, 0.1223, 0.1174, 0.1204, 0.1243, 0.1220, 0.1284]],\n", + "2.0371503829956055 2.0841071605682373 300 5 tensor([[0.1309, 0.1342, 0.1226, 0.1171, 0.1202, 0.1244, 0.1222, 0.1284]],\n", " grad_fn=) Kibice Celtów mogą spać spokojnie. Kyrie Irving planuje zostać w Bostonie Rozgrywający Boston Celtics, Kyrie Irving, przyznał, że w następne lato zamierza przedłużyć swoją umowę z klubem, o ile ten nadal będzie go uwzględniał w swoich planach.\n", - "2.036433219909668 2.041954755783081 350 6 tensor([[0.1260, 0.1289, 0.1274, 0.1189, 0.1149, 0.1224, 0.1298, 0.1318]],\n", + "2.0365874767303467 2.0405309200286865 350 6 tensor([[0.1256, 0.1288, 0.1273, 0.1186, 0.1148, 0.1229, 0.1300, 0.1319]],\n", " grad_fn=) We włoskiej Serie A nie ma żartów. Kolejny trener stracił posadę Brak cierpliwości włodarzy włoskich klubów charakteryzuje tegoroczne rozgrywki Serie A. Ostatnio z rolą szkoleniowca Exprivia Molfetta pożegnał się Vincenzo Di Pinto. Nie jest on pierwszym trenerem, który po 7. kolejce rozgrywek stracił posadę.\n", - "2.0273468494415283 2.0802276134490967 400 3 tensor([[0.1276, 0.1225, 0.1309, 0.1249, 0.1142, 0.1191, 0.1306, 0.1302]],\n", + "2.0280144214630127 2.0845110416412354 400 3 tensor([[0.1276, 0.1223, 0.1311, 0.1244, 0.1142, 0.1192, 0.1308, 0.1304]],\n", " grad_fn=) Polska B rozpoczyna turniej w Płocku Od piątku do niedzieli w płockiej Orlen Arenie odbędzie się turniej z udziałem reprezentacji Polski B. Wezmą w nim też udział druga reprezentacja Danii, a także pierwsze kadry Wysp Owczych i Estonii.\n", - "2.0077261924743652 2.0562894344329834 450 0 tensor([[0.1279, 0.1289, 0.1233, 0.1235, 0.1224, 0.1174, 0.1304, 0.1262]],\n", + "2.0075767040252686 2.0585439205169678 450 0 tensor([[0.1276, 0.1289, 0.1236, 0.1232, 0.1221, 0.1172, 0.1307, 0.1266]],\n", " grad_fn=) Najpiękniesze polskie sportsmenki! Sprawdź kto znalazł się w zestawieniu! Przygotowaliśmy dla was zestawienie 20 najpiękniejszych polskich sportsmenek! Zgadzacie się z naszym wyborem? Swoje typy wpisujcie w komentarzach! Razem wybierzemy tę najładniejszą.\n", - "2.011281967163086 1.9761407375335693 500 0 tensor([[0.1386, 0.1305, 0.1212, 0.1192, 0.1176, 0.1193, 0.1241, 0.1295]],\n", + "2.011418581008911 1.9737845659255981 500 0 tensor([[0.1389, 0.1302, 0.1213, 0.1188, 0.1176, 0.1193, 0.1243, 0.1295]],\n", " grad_fn=) Aleksander Zniszczoł został ojcem. Urodziła mu się córka Piątek był niezwykle ważnym dniem w życiu Aleksandra Zniszczoła. Polskiemu skoczkowi narciarskiemu urodziła się córka. Pochwalił się jej zdjęciem na Instagramie.\n", - "2.0088050365448 2.035996198654175 550 1 tensor([[0.1339, 0.1306, 0.1196, 0.1187, 0.1222, 0.1195, 0.1284, 0.1272]],\n", + "2.0087714195251465 2.0379459857940674 550 1 tensor([[0.1339, 0.1303, 0.1195, 0.1186, 0.1221, 0.1194, 0.1287, 0.1274]],\n", " grad_fn=) Rajd Azorów: czołówka miała problemy. Łukjaniuk się broni Aleksiej Łukjaniuk pod nieobecność Kajetana Kajetanowicza obronił pozycję lidera klasyfikacji generalnej Rajdu Azorów. Do czołowej dziesiątki przebił się Łukasz Habaj.\n", - "1.996534824371338 2.0406241416931152 600 4 tensor([[0.1276, 0.1273, 0.1198, 0.1235, 0.1299, 0.1191, 0.1224, 0.1303]],\n", + "1.996700406074524 2.0396344661712646 600 4 tensor([[0.1274, 0.1270, 0.1201, 0.1230, 0.1301, 0.1189, 0.1227, 0.1307]],\n", " grad_fn=) Andrzej Kostyra: Ciosy muszą się kumulować Podczas sobotniej gali Tomasz Adamek zmierzy się z Arturem Szpilką. Andrzej Kostyra większe szanse daje temu pierwszemu, ale zauważa też pewne mankamenty.\n", - "1.9677627086639404 2.061131477355957 650 3 tensor([[0.1317, 0.1255, 0.1290, 0.1273, 0.1151, 0.1159, 0.1208, 0.1347]],\n", + "1.9674354791641235 2.064871072769165 650 3 tensor([[0.1315, 0.1254, 0.1290, 0.1268, 0.1149, 0.1162, 0.1210, 0.1350]],\n", " grad_fn=) IO 2016: skład Chorwacji na przygotowania do Rio. Na liście Lovro Mihić, Manuel Strlek i Ivan Cupić Chorwacki selekcjoner Żeljko Babić powołał kadrę na przygotowania do igrzysk olimpijskich w Rio de Janeiro. Na liście nazwisk nie zabrakło \"polskich\" akcentów. Na zgrupowanie pojadą Manuel Strlek, Lovro Mihić, Filip Ivić i Ivan Cupić.\n", - "1.9689429998397827 1.9717991352081299 700 2 tensor([[0.1152, 0.1332, 0.1392, 0.1129, 0.1125, 0.1158, 0.1244, 0.1468]],\n", + "1.9685375690460205 1.9720581769943237 700 2 tensor([[0.1150, 0.1331, 0.1392, 0.1129, 0.1123, 0.1159, 0.1247, 0.1469]],\n", " grad_fn=) Andy Murray: Kostka boli, ale wszystko z nią w porządku W swoim felietonie dla BBC Andy Murray ocenił środowy pojedynek II rundy z Andriejem Rublowem i cieszył się z sukcesu Daniela Evansa w Australian Open 2017. Lider rankingu ATP przyznał, że z jego kostką jest wszystko w porządku.\n", - "1.9755799770355225 1.8170729875564575 750 1 tensor([[0.1203, 0.1625, 0.1205, 0.1145, 0.1112, 0.1178, 0.1230, 0.1303]],\n", + "1.9755648374557495 1.8178434371948242 750 1 tensor([[0.1203, 0.1624, 0.1207, 0.1146, 0.1109, 0.1177, 0.1230, 0.1304]],\n", " grad_fn=) Daniel Ricciardo sugeruje Red Bullowi wybór silnika Daniel Ricciardo przyznał, że patrząc na obecny rozwój jednostki napędowej Renault, byłby gotowy zaufać francuskiemu producentowi także w kolejnym sezonie F1.\n", - "1.9463365077972412 2.114039421081543 800 3 tensor([[0.1250, 0.1380, 0.1296, 0.1207, 0.1067, 0.1250, 0.1234, 0.1315]],\n", + "1.9461817741394043 2.115739107131958 800 3 tensor([[0.1252, 0.1380, 0.1297, 0.1205, 0.1064, 0.1249, 0.1235, 0.1317]],\n", " grad_fn=) Kamil Mokrzki jako jedyny gracz Gwardii Opole dobił do granicy 100 goli 24-letni rozgrywający opolan był najlepszym strzelcem zespołu w sezonie 2015/2016. Drugiego w wewnętrznej klasyfikacji Antoniego Łangowskiego wyprzedził o 10 trafień.\n", - "1.976782202720642 2.0193214416503906 850 4 tensor([[0.1228, 0.1330, 0.1265, 0.1110, 0.1327, 0.1158, 0.1143, 0.1437]],\n", + "1.976528286933899 2.018634080886841 850 4 tensor([[0.1226, 0.1330, 0.1265, 0.1109, 0.1328, 0.1160, 0.1143, 0.1438]],\n", " grad_fn=) Deontay Wilder rzucił wyzwanie Anthony'emu Joshui. \"Aż krew się we mnie gotuje!\" - Anthony Joshua to facet, z którym chcę walczyć - mówi Deontay Wilder. Mistrz świata organizacji WBC wyzwał Anglika na pojedynek i liczy na to, że ten potraktuje jego propozycję na poważnie.\n", - "1.9368289709091187 2.0274453163146973 900 2 tensor([[0.1282, 0.1325, 0.1317, 0.1179, 0.1188, 0.1191, 0.1175, 0.1343]],\n", + "1.9369778633117676 2.0240039825439453 900 2 tensor([[0.1282, 0.1321, 0.1321, 0.1175, 0.1185, 0.1192, 0.1179, 0.1344]],\n", " grad_fn=) Ronaldo, Bouchard, Bolt. Gwiazdy sportu wybierają stroje na Halloween Znani sportowcy wzięli udział w zabawie w wymyślaniu kostiumów na wieczór halloweenowych szaleństw. Kto zaprezentował najbardziej oryginalne przebranie?\n", - "1.9381763935089111 1.9979442358016968 950 4 tensor([[0.1241, 0.1262, 0.1213, 0.1202, 0.1356, 0.1185, 0.1260, 0.1282]],\n", + "1.938151240348816 1.998972773551941 950 4 tensor([[0.1241, 0.1263, 0.1215, 0.1199, 0.1355, 0.1184, 0.1261, 0.1283]],\n", " grad_fn=) Andrzej Kostyra stworzył \"idealnego polskiego boksera\". Jest dużo cech Tomasza Adamka Andrzej Kostyra, ekspert bokserski, stworzył model \"idealnego polskiego pięściarza\". Wymienił najlepsze cechy poszczególnych bokserów. Najwięcej jest Tomasza Adamka.\n", - "1.9290226697921753 1.9382548332214355 1000 1 tensor([[0.1226, 0.1440, 0.1319, 0.1218, 0.1119, 0.1135, 0.1199, 0.1345]],\n", + "1.928910732269287 1.9361062049865723 1000 1 tensor([[0.1222, 0.1443, 0.1320, 0.1216, 0.1117, 0.1137, 0.1200, 0.1346]],\n", " grad_fn=) Rajd Niemiec: Andreas Mikkelsen i Jari-Matti Latvala najszybsi na shakedown W czwartek kierowcy mieli do pokonania odcinek testowy przed Rajdem Niemiec. Na mecie okazało się, że Andreas Mikkelsen i Jari-Matti Latvala uzyskali identyczny czas.\n" ] }, @@ -1470,47 +1470,47 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.924471139907837 1.9060735702514648 1050 4 tensor([[0.1264, 0.1247, 0.1283, 0.1165, 0.1487, 0.1108, 0.1172, 0.1274]],\n", + "1.9247257709503174 1.9077305793762207 1050 4 tensor([[0.1264, 0.1246, 0.1286, 0.1161, 0.1484, 0.1108, 0.1174, 0.1276]],\n", " grad_fn=) Była rywalka Joanny Jędrzejczyk na dopingu. Czeka ją zawieszenie Była pretendenta to tytułu mistrzyni UFC w wadze słomkowej, Jessica Penne (MMA 12-5) została zawieszona przez Amerykańską Agencję Antydopingową za stosowanie niedozwolonego środka. Amerykankę czeka 1,5-roczne zawieszenie.\n", - "1.9091212749481201 1.8655977249145508 1100 2 tensor([[0.1118, 0.1149, 0.1548, 0.1150, 0.1139, 0.1238, 0.1091, 0.1566]],\n", + "1.9094451665878296 1.8653218746185303 1100 2 tensor([[0.1117, 0.1150, 0.1548, 0.1148, 0.1137, 0.1239, 0.1094, 0.1566]],\n", " grad_fn=) Finał WTA Sydney: Radwańska - Konta na żywo. Transmisja TV, stream online W piątek Agnieszka Radwańska zmierzy się z Johanną Kontą w ramach finału WTA Sydney. Transmisja TV na antenie TVP 1 i TVP Sport. Stream online w sport.tvp.pl.\n", - "1.9158565998077393 1.9494552612304688 1150 7 tensor([[0.1211, 0.1257, 0.1151, 0.1318, 0.1244, 0.1177, 0.1219, 0.1424]],\n", + "1.9157683849334717 1.9492340087890625 1150 7 tensor([[0.1213, 0.1256, 0.1152, 0.1315, 0.1243, 0.1176, 0.1222, 0.1424]],\n", " grad_fn=) Piękne zachowanie piłkarza Borussii. Pomógł kibicowi Takim zachowaniem piłkarze zyskują ogromny szacunek u kibiców. Christian Pulisić uratował fana, którym podczas próby zrobienia wspólnego zdjęcia z zawodnikiem Borussii Dortmund zajęła się ochrona.\n", - "1.865840196609497 2.02168345451355 1200 4 tensor([[0.1117, 0.1373, 0.1276, 0.1277, 0.1324, 0.1157, 0.1208, 0.1268]],\n", + "1.865821123123169 2.0228006839752197 1200 4 tensor([[0.1116, 0.1368, 0.1280, 0.1275, 0.1323, 0.1158, 0.1208, 0.1272]],\n", " grad_fn=) W przyszłym roku dojdzie do walki Joshua - Kliczko. \"Umowa jest dogadana\" Po fiasku wcześniejszych negocjacji wreszcie osiągnięto porozumienie. W przyszłym roku Anthony Joshua zmierzy się z Władimirem Kliczką, a w stawce będą dwa pasy mistrzowskie - informują menadżerowie obu pięściarzy. Został tylko jeden warunek.\n", - "1.8942620754241943 1.8899823427200317 1250 4 tensor([[0.1132, 0.1288, 0.1184, 0.1151, 0.1511, 0.1226, 0.1233, 0.1275]],\n", + "1.8944953680038452 1.8922208547592163 1250 4 tensor([[0.1134, 0.1291, 0.1183, 0.1147, 0.1507, 0.1225, 0.1236, 0.1276]],\n", " grad_fn=) MMA: Bartosz Fabiński zasila powracającą Fighters Arenę Bartosz Fabiński wystąpi na gali Fighters Arena 9, która 8 czerwca odbędzie się w Józefowie. Dla zawodnika z Warszawy będzie to już czwarta walka w tym roku.\n", - "1.8803116083145142 1.9426567554473877 1300 7 tensor([[0.1157, 0.1171, 0.1131, 0.1467, 0.1036, 0.1275, 0.1329, 0.1433]],\n", + "1.880069375038147 1.9415850639343262 1300 7 tensor([[0.1157, 0.1171, 0.1131, 0.1464, 0.1034, 0.1277, 0.1331, 0.1435]],\n", " grad_fn=) Oficjalnie: Polski mecz w Serie A! Godzinę przed pierwszym gwizdkiem (20:45) meczu między Sampdorią, a Napoli potwierdziły się doniesienia włoskiej prasy. Po raz pierwszy w obecnym sezonie to samo spotkanie Serie A rozpocznie w wyjściowej jedenastce aż 4 polskich piłkarzy.\n", - "1.8569835424423218 1.7793906927108765 1350 1 tensor([[0.1143, 0.1687, 0.1176, 0.1233, 0.1151, 0.1155, 0.1181, 0.1273]],\n", + "1.856698751449585 1.7814764976501465 1350 1 tensor([[0.1144, 0.1684, 0.1176, 0.1232, 0.1149, 0.1156, 0.1183, 0.1275]],\n", " grad_fn=) Bernie Ecclestone: Ferrari ma lepszy bolid Zdaniem Berniego Ecclestone'a, sezon 2017 będzie należeć do Ferrari. Włoski zespół ma spore szanse na pierwszy mistrzowski tytuł wśród konstruktorów od wielu lat.\n", - "1.8643995523452759 1.7093485593795776 1400 1 tensor([[0.1179, 0.1810, 0.1133, 0.1191, 0.1130, 0.1200, 0.1120, 0.1236]],\n", + "1.864432692527771 1.7103632688522339 1400 1 tensor([[0.1176, 0.1808, 0.1134, 0.1188, 0.1131, 0.1201, 0.1122, 0.1240]],\n", " grad_fn=) Sauber potwierdza brak Pascala Wehrleina na testach. Kto go zastąpi? Po czwartkowych medialnych doniesieniach, w piątek zespół Sauber F1 Team oficjalnie potwierdził, iż Pascal Wehrlein opuści pierwszą turę przedsezonowych testów pod Barceloną.\n", - "1.855565071105957 1.687333106994629 1450 6 tensor([[0.1020, 0.1063, 0.1192, 0.1385, 0.0957, 0.1352, 0.1850, 0.1181]],\n", + "1.8556106090545654 1.6862224340438843 1450 6 tensor([[0.1019, 0.1062, 0.1194, 0.1385, 0.0955, 0.1352, 0.1852, 0.1180]],\n", " grad_fn=) Polski Cukier Muszynianka Enea - Giacomini Budowlani: przełamać pasmo porażek W 7. kolejce Orlen Ligi siatkarki Polskiego Cukru Muszynianki Enea Muszyna podejmą Giacomini Budowlani Toruń. Przyjezdne w czterech ostatnich meczach rozgrywek nie wygrały nawet seta i tą złą serię chcą przerwać w Małopolsce.\n", - "1.8279445171356201 1.7146226167678833 1500 6 tensor([[0.1144, 0.1191, 0.1097, 0.1386, 0.0906, 0.1315, 0.1800, 0.1160]],\n", + "1.8279104232788086 1.714841604232788 1500 6 tensor([[0.1144, 0.1191, 0.1098, 0.1388, 0.0905, 0.1315, 0.1800, 0.1160]],\n", " grad_fn=) Przyjmująca zostaje w Toruniu. Budowlani zamknęli skład W sezonie 2017/2018 Orlen Ligi w Budowlanych Toruń nadal będzie występować Marina Paulava. Ta siatkarka zamknęła skład zespołu.\n", - "1.8160934448242188 1.6653664112091064 1550 7 tensor([[0.1021, 0.1058, 0.1213, 0.1180, 0.1061, 0.1215, 0.1361, 0.1891]],\n", + "1.8162095546722412 1.6665536165237427 1550 7 tensor([[0.1020, 0.1058, 0.1215, 0.1180, 0.1061, 0.1215, 0.1362, 0.1889]],\n", " grad_fn=) Borussia Dortmund - Red Bull Salzburg na żywo. Transmisja TV, stream online W czwartek, w ramach 1/8 finału Ligi Europy, odbędzie się mecz Borussia Dortmund - Red Bull Salzburg. Transmisja TV na antenie Eurosport 1. Stream online na platformie Eurosport Player i Ipla TV. Relacja LIVE w WP SportoweFakty.\n", - "1.8106689453125 1.7793946266174316 1600 0 tensor([[0.1687, 0.1024, 0.1228, 0.1105, 0.1030, 0.1188, 0.1177, 0.1561]],\n", + "1.81099271774292 1.7798329591751099 1600 0 tensor([[0.1687, 0.1025, 0.1230, 0.1102, 0.1030, 0.1188, 0.1179, 0.1559]],\n", " grad_fn=) PŚ w Lahti: konkurs drużynowy na żywo. Transmisja TV, stream online za darmo W sobotę, w ramach Pucharu Świata w skokach narciarskich w Lahti odbędzie się konkurs drużynowy. Transmisja TV na antenie TVP 1 i Eurosport. Stream online za darmo w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", - "1.8138320446014404 1.84804368019104 1650 5 tensor([[0.0951, 0.1066, 0.1140, 0.1381, 0.1081, 0.1575, 0.1368, 0.1437]],\n", + "1.8140941858291626 1.8500407934188843 1650 5 tensor([[0.0951, 0.1068, 0.1140, 0.1381, 0.1080, 0.1572, 0.1369, 0.1438]],\n", " grad_fn=) Panathinaikos ma dość Euroligi. Wielki klub chce się wycofać z rozgrywek! Koszykarska Euroliga bez Panathinaikosu Ateny? To bardzo możliwy scenariusz. Właściciel klubu - Dimitrios Giannakopoulos - zapowiedział wycofanie drużyny ze stolicy Grecji z elitarnych rozgrywek.\n", - "1.7930117845535278 1.8031435012817383 1700 4 tensor([[0.1271, 0.1364, 0.1164, 0.1185, 0.1648, 0.1106, 0.0991, 0.1271]],\n", + "1.792924404144287 1.8001683950424194 1700 4 tensor([[0.1270, 0.1361, 0.1167, 0.1184, 0.1653, 0.1104, 0.0993, 0.1269]],\n", " grad_fn=) Tomasz Adamek wrócił na salę treningową. Zobacz, w jakiej formie jest \"Góral\" (wideo) Coraz więcej wskazuje na to, że Tomasz Adamek raz jeszcze powróci na ring. Były mistrz świata kategorii półciężkiej i junior ciężkiej regularnie pojawia się na sali treningowej. W jakiej formie jest 40-latek?\n", - "1.7960482835769653 1.8449288606643677 1750 0 tensor([[0.1580, 0.1007, 0.1061, 0.1628, 0.1018, 0.1219, 0.1319, 0.1168]],\n", + "1.795984148979187 1.843177080154419 1750 0 tensor([[0.1583, 0.1008, 0.1063, 0.1622, 0.1017, 0.1220, 0.1319, 0.1169]],\n", " grad_fn=) 18 zawodników w finskiej kadrze. Aino-Kaisa Saarinen poza reprezentacją Finowie ogłosili skład reprezentacji na nadchodzący Puchar Świata w biegach narciarskich. W drużynie znalazło się 8 zawodniczek i 10 zawodników.\n", - "1.8074685335159302 1.716457486152649 1800 4 tensor([[0.1068, 0.1123, 0.1058, 0.1053, 0.1797, 0.1228, 0.1323, 0.1350]],\n", + "1.8073369264602661 1.7174080610275269 1800 4 tensor([[0.1065, 0.1124, 0.1060, 0.1050, 0.1795, 0.1232, 0.1324, 0.1350]],\n", " grad_fn=) FEN 19: karta walk skompletowana Znamy ostatnie, dziesiąte zestawienie na gali Fight Exclusive Night 19 \"Bitwa o Wrocław\". W kategorii do 70 kilogramów w formule K-1 zmierzą się ze sobą Marcin Stopka (2-2) i Krzysztof Kottas (0-0).\n", - "1.8129311800003052 1.859789252281189 1850 1 tensor([[0.1217, 0.1557, 0.1243, 0.1250, 0.1092, 0.1195, 0.1167, 0.1279]],\n", + "1.813085675239563 1.8584522008895874 1850 1 tensor([[0.1218, 0.1559, 0.1244, 0.1247, 0.1089, 0.1195, 0.1167, 0.1281]],\n", " grad_fn=) Rajd Nadwiślański: Grzegorz Grzyb Liderem Grzegorz Grzyb i Robert Hundla zostali liderami Rajdu Nadwiślańskiego po przejechaniu dwóch sobotnich odcinków specjalnych.\n", - "1.8125582933425903 2.012331485748291 1900 3 tensor([[0.1351, 0.1214, 0.1276, 0.1337, 0.1162, 0.1320, 0.1175, 0.1164]],\n", + "1.8126273155212402 2.0152177810668945 1900 3 tensor([[0.1352, 0.1214, 0.1278, 0.1333, 0.1161, 0.1320, 0.1177, 0.1165]],\n", " grad_fn=) Bundesliga: Berlińskie TGV. Kolejna stacja w Hanowerze Füchse Berlin w niedzielę powalczy w Hanowerze o dziewiąte kolejne zwycięstwo w sezonie. Takiego otwarcia „Lisy” nie miały jeszcze nigdy. Z kolei wieczorem polski pojedynek w Magdeburgu: Piotr Chrapkowski vs Andrzej Rojewski. Oba mecze w Sportklubie.\n", - "1.8038944005966187 1.9497239589691162 1950 4 tensor([[0.1257, 0.1343, 0.1075, 0.1297, 0.1423, 0.1202, 0.1161, 0.1242]],\n", + "1.8037822246551514 1.9507031440734863 1950 4 tensor([[0.1258, 0.1343, 0.1078, 0.1292, 0.1422, 0.1202, 0.1165, 0.1241]],\n", " grad_fn=) Utytułowany pięściarz zakończył karierę Czterokrotny obrońca tytułu mistrza świata kategorii super średniej Mikkel Kessler ogłosił zakończenie kariery pięściarskiej. To najbardziej utytułowany zawodnik w historii duńskiego boksu.\n", - "1.7356271743774414 1.9414206743240356 2000 6 tensor([[0.1116, 0.0958, 0.1305, 0.1195, 0.1002, 0.1257, 0.1435, 0.1733]],\n", + "1.7356246709823608 1.938697099685669 2000 6 tensor([[0.1114, 0.0960, 0.1303, 0.1193, 0.1003, 0.1257, 0.1439, 0.1731]],\n", " grad_fn=) KMŚ 2017: ZAKSA - Sarmayeh Bank Teheran na żywo. Gdzie oglądać transmisję TV i online? We wtorek, ZAKSA Kędzierzyn-Koźle zmierzy się z Sarmayeh Bank Teheran w ramach Klubowych Mistrzostw Świata w siatkówce. Transmisja TV na antenie Polsat Sport. Stream online w Ipla TV. Relacja LIVE w WP SportoweFakty za darmo.\n", - "1.7901525497436523 1.993371844291687 2050 1 tensor([[0.1213, 0.1362, 0.1348, 0.1291, 0.1103, 0.1251, 0.1180, 0.1251]],\n", + "1.7901594638824463 1.9917528629302979 2050 1 tensor([[0.1212, 0.1365, 0.1351, 0.1287, 0.1104, 0.1252, 0.1179, 0.1250]],\n", " grad_fn=) Wakacyjny freestyle Przygońskiego i Pawlusiaka na pustyni Pędzące po wydmach dakarowe MINI, specjalnie dostosowany snowboard, lina i dwóch utalentowanych sportowców - tak w skrócie można opisać projekt \"Przygoński & Pawlusiak Dune Freestyle\".\n" ] }, @@ -1518,45 +1518,45 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.7327892780303955 1.8731200695037842 2100 5 tensor([[0.1091, 0.1431, 0.1049, 0.1267, 0.1093, 0.1536, 0.1101, 0.1431]],\n", + "1.7326788902282715 1.8687950372695923 2100 5 tensor([[0.1091, 0.1428, 0.1050, 0.1267, 0.1092, 0.1543, 0.1100, 0.1429]],\n", " grad_fn=) Martynas Sajus: Sobin jest bardziej doświadczonym graczem, ale w przyszłości będę od niego lepszy Pojedynek Josipa Sobina z Martynasem Sajusem może być jednym ze smaczków piątkowego spotkania Anwilu z Polpharmą. Który ze środkowych da więcej swojej ekipie? - On jest bardziej doświadczony, ale w przyszłości to ja będę lepszy - śmieje się Sajus.\n", - "1.7521454095840454 1.5114580392837524 2150 2 tensor([[0.0978, 0.1260, 0.2206, 0.1104, 0.1045, 0.1172, 0.1049, 0.1186]],\n", + "1.7521668672561646 1.5104379653930664 2150 2 tensor([[0.0978, 0.1259, 0.2208, 0.1105, 0.1043, 0.1174, 0.1048, 0.1186]],\n", " grad_fn=) Łukasz Iwanek: Każda tenisistka może być Williams, nie każda może zostać Radwańską (komentarz) W II rundzie Australian Open najlepsza polska tenisistka została stłamszona przez rywalkę uderzającą szybko i celnie. Każda tenisistka może w pojedynczym meczu zostać Sereną Williams, nie każda może być Agnieszką Radwańską.\n", - "1.7393308877944946 1.7591557502746582 2200 5 tensor([[0.1100, 0.0950, 0.1162, 0.1438, 0.0986, 0.1722, 0.1352, 0.1290]],\n", + "1.7391993999481201 1.7570909261703491 2200 5 tensor([[0.1101, 0.0949, 0.1162, 0.1437, 0.0984, 0.1725, 0.1351, 0.1290]],\n", " grad_fn=) Kolejny występ Przemysława Karnowskiego w Lidze Letniej NBA Kolejny występ w rozgrywkach Ligi Letniej NBA zanotował Przemysław Karnowski. Polak, który reprezentuje Charlotte Hornets, w przegranym meczu z Indianą Pacers (77:84) zdobył cztery punkty i miał trzy zbiórki.\n", - "1.6613669395446777 1.5941383838653564 2250 1 tensor([[0.1037, 0.2031, 0.1055, 0.1097, 0.1231, 0.1113, 0.1110, 0.1327]],\n", + "1.6614245176315308 1.5924513339996338 2250 1 tensor([[0.1038, 0.2034, 0.1055, 0.1092, 0.1229, 0.1111, 0.1111, 0.1329]],\n", " grad_fn=) Niebieskie flagi mogą zniknąć z F1 Formuła 1 rozważa, czy nie zrezygnować ze stosowania niebieskich flag podczas wyścigu. W ostatnich sezonach kierowcy często narzekali, iż rywale nie stosowali się do takiej sygnalizacji.\n", - "1.6618025302886963 1.881585717201233 2300 5 tensor([[0.1059, 0.1279, 0.1031, 0.1497, 0.1200, 0.1523, 0.1246, 0.1165]],\n", + "1.661994218826294 1.8809857368469238 2300 5 tensor([[0.1059, 0.1278, 0.1030, 0.1494, 0.1201, 0.1524, 0.1246, 0.1169]],\n", " grad_fn=) Nemanja Jaramaz nowym zawodnikiem Anwilu Włocławek! Doskonale znany na polskich parkietach z występów w drużynie ze Zgorzelca Nemanja Jaramaz został nowym zawodnikiem Anwilu Włocławek. Kontrakt z Serbem będzie obowiązywał do końca bieżącego sezonu.\n", - "1.755378007888794 1.7676684856414795 2350 5 tensor([[0.1028, 0.1125, 0.1076, 0.1353, 0.1201, 0.1707, 0.1244, 0.1266]],\n", + "1.7554911375045776 1.7680193185806274 2350 5 tensor([[0.1027, 0.1128, 0.1075, 0.1352, 0.1200, 0.1707, 0.1245, 0.1267]],\n", " grad_fn=) TOP5 zagrań minionej nocy NBA (wideo) 3 mecze odbyły się w nocy z wtorku na środę w NBA, dlatego liga miała mniejszy wybór do zestawienia najlepszych akcji. Na czele listy TOP5 zagrań znalazły się rzuty z elektryzującej końcówki spotkania Dallas Mavericks-Portland Trail Blazers.\n", - "1.7371106147766113 1.9097235202789307 2400 2 tensor([[0.1145, 0.1581, 0.1481, 0.1188, 0.1098, 0.1227, 0.1076, 0.1204]],\n", + "1.7369928359985352 1.9102388620376587 2400 2 tensor([[0.1144, 0.1583, 0.1480, 0.1184, 0.1097, 0.1227, 0.1076, 0.1208]],\n", " grad_fn=) Roger Federer będzie występował w Bazylei aż do 2019 roku Roger Federer potwierdził, że na pewno do sezonu 2019 będzie występował w turnieju Swiss Indoors Basel, który jest organizowany pod koniec października w jego rodzinnej miejscowości.\n", - "1.6716017723083496 1.7934097051620483 2450 4 tensor([[0.1102, 0.1307, 0.1188, 0.1234, 0.1664, 0.1171, 0.1096, 0.1238]],\n", + "1.671631932258606 1.793396234512329 2450 4 tensor([[0.1104, 0.1304, 0.1188, 0.1231, 0.1664, 0.1170, 0.1101, 0.1238]],\n", " grad_fn=) Łukasz Wichowski przed DSF Kickboxing Challenge: Będzie ciężka walka i duże widowisko Już w sobotę odbędzie się gala DSF Kickboxing Challenge: Bitwa w Piasecznie. Walką wieczoru będzie starcie Łukasza Wichowskiego z Piotrem Kołakowskim. - To dodatkowa mobilizacja - mówi Wichowski.\n", - "1.6898772716522217 1.819849967956543 2500 5 tensor([[0.1092, 0.1338, 0.1130, 0.1309, 0.1145, 0.1621, 0.1076, 0.1290]],\n", + "1.6898339986801147 1.8184137344360352 2500 5 tensor([[0.1091, 0.1339, 0.1128, 0.1309, 0.1144, 0.1623, 0.1074, 0.1292]],\n", " grad_fn=) Specjaliści od dzikich kart. Co GTK Gliwice może wnieśc do PLK? GTK Gliwice prawdopodobnie będzie 17. zespołem w ekstraklasie. Przybliżamy sylwetkę ekipy ze Śląska, dla której gra w PLK będzie absolutnym debiutem.\n", - "1.6763261556625366 1.759675145149231 2550 7 tensor([[0.1268, 0.1096, 0.1138, 0.1419, 0.1048, 0.1027, 0.1284, 0.1721]],\n", + "1.6765532493591309 1.7610383033752441 2550 7 tensor([[0.1266, 0.1095, 0.1140, 0.1418, 0.1051, 0.1029, 0.1283, 0.1719]],\n", " grad_fn=) Agent Oezila przerywa milczenie i oskarża reprezentantów Niemiec Erkut Sogut, agent Mesuta Oezila przemówił na temat zakończenia kariery reprezentacyjnej przez pomocnika. Oberwało się trzem reprezentantom Niemiec.\n", - "1.6665313243865967 1.6889164447784424 2600 5 tensor([[0.0999, 0.1294, 0.0842, 0.1345, 0.1220, 0.1847, 0.1053, 0.1401]],\n", + "1.6663236618041992 1.6887623071670532 2600 5 tensor([[0.0998, 0.1291, 0.0841, 0.1349, 0.1218, 0.1847, 0.1053, 0.1402]],\n", " grad_fn=) NBA: ci koszykarze nie mają jeszcze kontraktu Dobiega końca lipiec, a wciąż bez kontraktów na kolejny sezon pozostaje kilku zawodników o znanych nazwiskach. Najbardziej znany to oczywiście LeBron James, ale on akurat lada moment ma podpisać nową umowę z Cleveland Cavaliers.\n", - "1.6606336832046509 1.0674211978912354 2650 2 tensor([[0.0997, 0.0817, 0.3439, 0.1019, 0.0987, 0.0841, 0.0996, 0.0903]],\n", + "1.660627841949463 1.0679386854171753 2650 2 tensor([[0.0997, 0.0816, 0.3437, 0.1018, 0.0988, 0.0842, 0.0996, 0.0905]],\n", " grad_fn=) ATP Toronto: Tuzin zwycięstw nad Gaelem Monfilsem. Novak Djoković zmierza po kolejne trofeum Novak Djoković powalczy w niedzielę z Keiem Nishikorim o triumf w turnieju ATP World Tour Masters 1000 na kortach twardych w Toronto. W sobotnim półfinale Serb pewnie rozprawił się z Gaelem Monfilsem, zwyciężając Francuza 6:3, 6:2.\n", - "1.6435556411743164 1.918801188468933 2700 6 tensor([[0.1119, 0.1251, 0.0958, 0.1345, 0.1202, 0.1322, 0.1468, 0.1335]],\n", + "1.6437948942184448 1.9171419143676758 2700 6 tensor([[0.1121, 0.1250, 0.0957, 0.1340, 0.1204, 0.1323, 0.1470, 0.1335]],\n", " grad_fn=) Joanna Wołosz: Mamy prawo do małego dołka Chemik Police poniósł trzecią ligową porażkę, tym razem ze zdecydowanie niżej notowanym Atomem Trefl Sopot. Kryzys mistrza Polski? Joanna Wołosz uspokaja zaniepokojonych kibiców.\n", - "1.6390717029571533 2.008347511291504 2750 4 tensor([[0.1319, 0.1552, 0.1220, 0.1033, 0.1342, 0.1162, 0.1033, 0.1339]],\n", + "1.6391946077346802 2.0095250606536865 2750 4 tensor([[0.1318, 0.1551, 0.1222, 0.1035, 0.1341, 0.1162, 0.1034, 0.1338]],\n", " grad_fn=) Legenda MMA czuje się jak wrak człowieka. Przeszedł 22 operacje Po raz pierwszy trafił na stół operacyjny jako dziecko. Antonio Rodrigo Nogueira wpadł pod koła ciężarówki, walczył o życie. Później musiał poddawać się zabiegom po kontuzjach odniesionych na treningach i w walkach. - Jestem cały rozbity - przyznaje.\n", - "1.6333093643188477 1.2054814100265503 2800 2 tensor([[0.1204, 0.1072, 0.2995, 0.1031, 0.0922, 0.0859, 0.0875, 0.1042]],\n", + "1.6332921981811523 1.2052042484283447 2800 2 tensor([[0.1205, 0.1072, 0.2996, 0.1031, 0.0922, 0.0857, 0.0875, 0.1042]],\n", " grad_fn=) Ostatni sprawdzian Kamila Majchrzaka przed Rolandem Garrosem. Polak zagra w Niemczech Kamil Majchrzak weźmie udział w turnieju ATP Challenger Tour na kortach ziemnych w niemieckim Heilbronn. Dla Polaka będzie to ostatni sprawdzian przed eliminacjami do wielkoszlemowego Rolanda Garrosa 2018.\n", - "1.6280548572540283 1.3334434032440186 2850 7 tensor([[0.1050, 0.0826, 0.1171, 0.1083, 0.0920, 0.1130, 0.1185, 0.2636]],\n", + "1.6281371116638184 1.3348133563995361 2850 7 tensor([[0.1050, 0.0828, 0.1172, 0.1081, 0.0920, 0.1131, 0.1186, 0.2632]],\n", " grad_fn=) Real Sociedad - Atletico Madryt na żywo. Gdzie oglądać transmisję TV i stream online? W czwartek, w ramach Primera Division, odbędzie się spotkanie Real Sociedad - Atletico Madryt. Transmisja TV na antenie Eleven Sports 1. Stream online w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", - "1.6221270561218262 1.399025797843933 2900 1 tensor([[0.1193, 0.2468, 0.1046, 0.0931, 0.0985, 0.1158, 0.1037, 0.1182]],\n", + "1.6222891807556152 1.3981242179870605 2900 1 tensor([[0.1193, 0.2471, 0.1043, 0.0929, 0.0984, 0.1156, 0.1038, 0.1185]],\n", " grad_fn=) Williams został w tyle za rywalami. \"Nie odrobiliśmy swojej pracy domowej\" Problemy Williamsa w tym sezonie zdają się nie mieć końca. Paddy Lowe jest zdania, że na sytuację wpływa zacięta rywalizacja w Formule 1. - Obecnie każdy z zespołów funkcjonuje na bardzo wysokim poziomie - twierdzi Brytyjczyk.\n", - "1.6522632837295532 1.618589997291565 2950 5 tensor([[0.1019, 0.1231, 0.0985, 0.1354, 0.1011, 0.1982, 0.1130, 0.1288]],\n", + "1.6525822877883911 1.6196324825286865 2950 5 tensor([[0.1021, 0.1232, 0.0984, 0.1353, 0.1010, 0.1980, 0.1131, 0.1289]],\n", " grad_fn=) Basket 90 Gdynia zamknął \"zagraniczną\" kadrę na nowy sezon Basket 90 Gdynia zakończył poszukiwania zawodniczek zagranicznych na sezon 2016/2017. Ostatnią koszykarką spoza granic naszego kraju, która związała się z ekipą z Trójmiasta, jest Litwinka Monika Grigalauskyte.\n", - "1.637882113456726 1.4856913089752197 3000 3 tensor([[0.0878, 0.0816, 0.1088, 0.2263, 0.0699, 0.1203, 0.1662, 0.1391]],\n", + "1.6379656791687012 1.4863052368164062 3000 3 tensor([[0.0881, 0.0816, 0.1089, 0.2262, 0.0698, 0.1202, 0.1658, 0.1394]],\n", " grad_fn=) Liga Mistrzów: Paris Saint-Germain HB kolejnym uczestnikiem Final Four Paris Saint-Germain HB zremisował z MOL-Pickiem Szeged 30:30 w rewanżowym meczu ćwierćfinałowym Ligi Mistrzów 2016/2017, tym samym zdobywając awans do turnieju finałowego w Kolonii.\n", - "1.6201536655426025 1.9546905755996704 3050 5 tensor([[0.1001, 0.1597, 0.1025, 0.1031, 0.1241, 0.1416, 0.1171, 0.1517]],\n", + "1.620102047920227 1.955077886581421 3050 5 tensor([[0.0998, 0.1599, 0.1024, 0.1031, 0.1239, 0.1416, 0.1172, 0.1520]],\n", " grad_fn=) Chewbacca ma nową twarz. Jak koszykarz z Finlandii trafił do \"Gwiezdnych Wojen\" Zbliżający się weekend będzie tym, w którym miliony fanów \"Gwiezdnych Wojen\" zaczną szturmować kina, by obejrzeć 8. część sagi. Wielu z nich nie wie, że za maską Chewbakki od niedawna skrywa się nowa twarz - fińskiego koszykarza, Joonasa Suotamo.\n" ] }, @@ -1564,45 +1564,45 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.6507948637008667 1.78847336769104 3100 7 tensor([[0.1114, 0.1332, 0.0891, 0.1127, 0.1327, 0.1293, 0.1244, 0.1672]],\n", + "1.6508986949920654 1.7872048616409302 3100 7 tensor([[0.1113, 0.1329, 0.0890, 0.1126, 0.1327, 0.1295, 0.1246, 0.1674]],\n", " grad_fn=) Ireneusz Mamrot liczy na przełamanie. \"Jest sportowa złość, która musi się przełożyć na naszą korzyść\" - Nie ma zdenerwowania, ale jest duża sportowa złość. To musi się przełożyć na naszą korzyść - mówi przed sobotnim pojedynkiem z Koroną Kielce trener Jagiellonii Białystok, Ireneusz Mamrot. - Nie można wiecznie mieć gorszego okresu - dodaje.\n", - "1.508887529373169 1.5522242784500122 3150 2 tensor([[0.1029, 0.1193, 0.2118, 0.1184, 0.1020, 0.1098, 0.1087, 0.1272]],\n", + "1.5091105699539185 1.5536433458328247 3150 2 tensor([[0.1030, 0.1194, 0.2115, 0.1183, 0.1021, 0.1098, 0.1085, 0.1274]],\n", " grad_fn=) Roland Garros: bogaty program gier na środę. Matkowski czeka na dokończenie meczu z braćmi Bryanami Przez ostatnie dwa dni tenisiści niemal nie rywalizowali na kortach Rolanda Garrosa. Plan gier na 11. dzień turnieju jest naprawdę bogaty.\n", - "1.643761396408081 1.6309889554977417 3200 4 tensor([[0.0948, 0.1278, 0.1329, 0.1141, 0.1957, 0.1058, 0.1182, 0.1107]],\n", + "1.64374577999115 1.6283594369888306 3200 4 tensor([[0.0947, 0.1278, 0.1324, 0.1141, 0.1963, 0.1059, 0.1183, 0.1106]],\n", " grad_fn=) Deontaya Wildera czekają dwie operacje. Na ring wróci w 2017 roku Deontay Wilder bez problemów pokonał Chrisa Arreolę w Birmingham i obronił pas mistrza świata federacji WBC. Podczas pojedynku \"Brązowy Bombardier\" nabawił się jednak dwóch kontuzji, które na dłuższy okres wykluczą go z walk.\n", - "1.4642796516418457 1.670371413230896 3250 5 tensor([[0.0890, 0.0946, 0.0918, 0.1393, 0.1155, 0.1882, 0.1543, 0.1274]],\n", + "1.4641040563583374 1.66716468334198 3250 5 tensor([[0.0888, 0.0941, 0.0920, 0.1388, 0.1155, 0.1888, 0.1545, 0.1276]],\n", " grad_fn=) Sfrustrowany Tweety Carter: Powinienem zatrzymać Irelanda W ramach 20. kolejki PLK PGE Turów przegrał na własnym parkiecie z Treflem Sopot 79:81. - To bardzo, bardzo frustrująca porażka - mówi Tweety Carter, który zawiódł w ostatniej minucie tego starcia.\n", - "1.6308926343917847 1.6194607019424438 3300 1 tensor([[0.1344, 0.1980, 0.1102, 0.1148, 0.1033, 0.1227, 0.1071, 0.1095]],\n", + "1.6305592060089111 1.6195734739303589 3300 1 tensor([[0.1346, 0.1980, 0.1101, 0.1144, 0.1032, 0.1227, 0.1072, 0.1099]],\n", " grad_fn=) Rajd Estonii: Kajetanowicz utrzymuje podium Polska załoga Kajetan Kajetanowicz - Jarosław Baran jest coraz bliżej sięgnięcia po kolejne podium w wyścigach ERC. Po pewne zwycięstwo w Rajdzie Estonii zmierza Aleksiej Łukjaniuk.\n", - "1.5723904371261597 1.6809550523757935 3350 5 tensor([[0.0973, 0.1166, 0.1069, 0.1205, 0.0956, 0.1862, 0.1082, 0.1688]],\n", + "1.5722557306289673 1.681894302368164 3350 5 tensor([[0.0974, 0.1164, 0.1069, 0.1205, 0.0956, 0.1860, 0.1081, 0.1691]],\n", " grad_fn=) Basket Poznań wrócił na właściwe tory? \"Do stacji końcowej jeszcze daleka droga\" I-ligowy Biofarm Basket Poznań jest projektem, który skupia wokół siebie wielu młodych graczy. W zespole możemy znaleźć także dwóch doświadczonych zawodników, a jednym z nich jest Tomasz Smorawiński.\n", - "1.5136752128601074 1.3535223007202148 3400 4 tensor([[0.1069, 0.1060, 0.1010, 0.1071, 0.2583, 0.1113, 0.1050, 0.1045]],\n", + "1.513804316520691 1.353588581085205 3400 4 tensor([[0.1068, 0.1058, 0.1009, 0.1070, 0.2583, 0.1113, 0.1052, 0.1048]],\n", " grad_fn=) Łukasz Rambalski i Wojciech Wierzbicki w karcie walk gali FEN 10 Do ciekawej walki dojdzie na gali FEN 10, 9 stycznia w Lubinie. Jeden z najbardziej utytułowanych polskich zawodników kickboxingu, Łukasz Rambalski, zmierzy się z aktualnym zawodowym mistrzem Europy organizacji WAKO-PRO, Wojciechem Wierzbickim.\n", - "1.5492887496948242 1.5715230703353882 3450 5 tensor([[0.0967, 0.0770, 0.1766, 0.1562, 0.0749, 0.2077, 0.1182, 0.0927]],\n", + "1.549415111541748 1.5709004402160645 3450 5 tensor([[0.0968, 0.0769, 0.1763, 0.1564, 0.0748, 0.2079, 0.1181, 0.0927]],\n", " grad_fn=) Świetny mecz Marcina Sroki. Sokół z Pogonią w finale turnieju w Prudniku Marcin Sroka zdobył 25 punktów i poprowadził Max Elektro Sokół Łańcut do zwycięstwa 95:69 nad BK NH Ostrava. W drugim półfinale międzynarodowego koszykarskiego turnieju w Prudniku gospodarze pokonali Jamalex Polonię 1912 Leszno.\n", - "1.5033451318740845 1.6767299175262451 3500 1 tensor([[0.1183, 0.1870, 0.1078, 0.1017, 0.1279, 0.1219, 0.1094, 0.1260]],\n", + "1.5036178827285767 1.6746760606765747 3500 1 tensor([[0.1181, 0.1874, 0.1078, 0.1015, 0.1282, 0.1220, 0.1091, 0.1260]],\n", " grad_fn=) Niki Lauda wspomina Jamesa Hunta. \"Jego cząstka żyje we mnie\" Przed laty rywalizacja Nikiego Laudy i Jamesa Hunta emocjonowała kibiców Formuły 1. Austriaka i Brytyjczyka, choć na torze byli rywalami, połączyła specjalna więź. - Jakaś cząstka Jamesa żyje teraz we mnie - mówi Lauda.\n", - "1.45851469039917 1.314225196838379 3550 1 tensor([[0.1023, 0.2687, 0.1061, 0.0845, 0.1267, 0.0953, 0.0951, 0.1213]],\n", + "1.458483099937439 1.312494158744812 3550 1 tensor([[0.1023, 0.2691, 0.1057, 0.0845, 0.1266, 0.0953, 0.0950, 0.1214]],\n", " grad_fn=) Eksperci o słowach Felipe Massy. \"Sam wykluczył się z walki o miejsce w Williamsie\" Felipe Massa w ostrych słowach skomentował możliwy powrót Roberta Kubicy do Formuły 1. - Wygląda na to, że Brazylijczyk sam wykluczył się z walki o miejsce w Williamsie - twierdzi Tiff Needell, były prowadzący \"Top Gear\".\n", - "1.634362816810608 1.5301780700683594 3600 3 tensor([[0.1116, 0.0900, 0.0922, 0.2165, 0.0923, 0.1185, 0.1386, 0.1404]],\n", + "1.6343040466308594 1.5306463241577148 3600 3 tensor([[0.1112, 0.0902, 0.0923, 0.2164, 0.0924, 0.1184, 0.1386, 0.1404]],\n", " grad_fn=) AMŚ: pierwsza wygrana Biało-Czerwonych. Polska rozbiła Chińskie Tajpej Reprezentacja Polski piłkarzy ręcznych odniosła pierwsze zwycięstwo na Akademickich Mistrzostwach Świata. Drużyna Piotra Przybeckiego zgodnie z oczekiwaniami pokonała Chińskie Tajpej (35:20).\n", - "1.430791974067688 0.6775920391082764 3650 2 tensor([[0.0741, 0.0567, 0.5078, 0.0747, 0.0621, 0.0692, 0.0895, 0.0659]],\n", + "1.4308090209960938 0.6783717274665833 3650 2 tensor([[0.0740, 0.0568, 0.5074, 0.0749, 0.0623, 0.0691, 0.0896, 0.0659]],\n", " grad_fn=) ATP Tokio: Kei Nishikori wygrał japońskie starcie. W II rundzie także Milos Raonić i Denis Shapovalov Faworyt gospodarzy Kei Nishikori w dwóch setach pokonał Yuichiego Sugitę w I rundzie rozgrywanego na kortach twardych w hali turnieju ATP World Tour 500 w Tokio. Do 1/8 finału awansowali też Kanadyjczycy - Milos Raonić i Denis Shapovalov.\n", - "1.5230109691619873 1.5055851936340332 3700 2 tensor([[0.1061, 0.1268, 0.2219, 0.0988, 0.0968, 0.1362, 0.1112, 0.1023]],\n", + "1.523067831993103 1.5078588724136353 3700 2 tensor([[0.1061, 0.1269, 0.2214, 0.0988, 0.0970, 0.1362, 0.1111, 0.1025]],\n", " grad_fn=) James Blake jak Tommy Haas czy Feliciano Lopez. Został dyrektorem turnieju w Miami Organizatorzy turnieju Miami Open ogłosili, że nowym dyrektorem tych kobiecych i męskich zawodów został były amerykański tenisista, James Blake. Tym samym potwierdziły się medialne doniesienia z ostatnich tygodni.\n", - "1.4986706972122192 1.3892507553100586 3750 7 tensor([[0.1256, 0.0679, 0.0977, 0.1365, 0.0641, 0.1027, 0.1563, 0.2493]],\n", + "1.498782992362976 1.39162015914917 3750 7 tensor([[0.1257, 0.0678, 0.0980, 0.1364, 0.0640, 0.1027, 0.1567, 0.2487]],\n", " grad_fn=) Mundial 2018. Historyczny wyczyn reprezentacji Rosji! Takiego pogromu w meczu otwarcia jeszcze nie było Na inaugurację MŚ 2018 Rosja pokonała Arabię Saudyjską aż 5:0 i ustanowiła nowy rekord mundialu - nigdy wcześniej w meczu otwarcia mistrzostw świata nie padł tak wysoki wynik.\n", - "1.4943437576293945 1.5734763145446777 3800 3 tensor([[0.1087, 0.1079, 0.1183, 0.2073, 0.0942, 0.1289, 0.1330, 0.1017]],\n", + "1.494296669960022 1.5732029676437378 3800 3 tensor([[0.1084, 0.1078, 0.1186, 0.2074, 0.0942, 0.1287, 0.1335, 0.1015]],\n", " grad_fn=) Wojciech Gumiński odnalazł się w Azotach. \"Start w nowym klubie bywa trudny\" Przeciętny początek rozgrywek i znacznie lepsza druga połowa sezonu. Wojciech Gumiński zaczyna spełniać oczekiwania w Azotach Puławy, stał się czołowym strzelcem brązowych medalistów PGNiG Superligi.\n", - "1.4969911575317383 1.9636708498001099 3850 2 tensor([[0.1422, 0.1165, 0.1403, 0.1578, 0.1105, 0.1185, 0.1131, 0.1011]],\n", + "1.4970916509628296 1.9664472341537476 3850 2 tensor([[0.1420, 0.1164, 0.1400, 0.1578, 0.1105, 0.1187, 0.1133, 0.1014]],\n", " grad_fn=) Rio 2016. To nie są igrzyska faworytów Tenisowe turnieje olimpijskie rządzą się swoimi prawami i wielkie niespodzianki są w nich na porządku dziennym, ale chyba mało kto przypuszczał, że w Rio de Janeiro dojdzie do aż tylu niespodziewanych rozstrzygnięć.\n", - "1.4388176202774048 1.7781883478164673 3900 5 tensor([[0.1039, 0.0924, 0.1016, 0.1577, 0.0962, 0.1689, 0.1594, 0.1198]],\n", + "1.4386285543441772 1.7763383388519287 3900 5 tensor([[0.1042, 0.0926, 0.1017, 0.1574, 0.0956, 0.1693, 0.1595, 0.1197]],\n", " grad_fn=) Niezawodny Klima, szalejący Obarek. Najlepsi gracze 18. kolejki I ligi Marcin Dymała oraz Maciej Klima to stali bywalce w naszym rankingu. Którzy zawodnicy znaleźli się jeszcze w najlepszej piątce 18. kolejki?\n", - "1.484710693359375 1.4378458261489868 3950 4 tensor([[0.0837, 0.1280, 0.1143, 0.1067, 0.2374, 0.1055, 0.1090, 0.1154]],\n", + "1.4847553968429565 1.4366589784622192 3950 4 tensor([[0.0837, 0.1276, 0.1146, 0.1064, 0.2377, 0.1054, 0.1089, 0.1156]],\n", " grad_fn=) Czołowy brytyjski pięściarz zaproponował pojedynek Tomaszowi Adamkowi Tomasz Adamek otrzymał propozycję walki z Davidem Pricem. Jak poinformował portal worldboxingnews.net, obóz brytyjskiego pięściarza złożył \"Góralowi\" atrakcyjną ofertę.\n", - "1.4596961736679077 1.3932182788848877 4000 7 tensor([[0.0933, 0.1557, 0.0805, 0.0930, 0.1252, 0.1071, 0.0969, 0.2483]],\n", + "1.4597876071929932 1.3940199613571167 4000 7 tensor([[0.0933, 0.1557, 0.0803, 0.0930, 0.1256, 0.1070, 0.0970, 0.2481]],\n", " grad_fn=) Grzegorz Krychowiak na zakręcie. Mundial to ostatnia szansa Grzegorz Krychowiak znowu jest na zakręcie i musi szukać nowego klubu. Paris-Saint Germain chce się pozbyć Polaka na dobre. Mundial w Rosji to dla mistrzów Francji ostatnia szansa, żeby sprzedać go za godne pieniądze.\n", - "1.4578245878219604 1.566155195236206 4050 6 tensor([[0.0992, 0.1110, 0.0901, 0.1400, 0.0904, 0.1380, 0.2088, 0.1224]],\n", + "1.4579588174819946 1.5661852359771729 4050 6 tensor([[0.0991, 0.1113, 0.0903, 0.1400, 0.0902, 0.1380, 0.2088, 0.1223]],\n", " grad_fn=) ZAKSA Kędzierzyn-Koźle trenuje już niemal w komplecie Na początku tygodnia do kędzierzyńskiej drużyny dołączyli zawodnicy, którzy brali udział w mistrzostwach Europy. Wyjątkiem jest francuski rozgrywający Benjamin Toniutti.\n" ] }, @@ -1610,41 +1610,41 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.5242117643356323 1.2574454545974731 4100 1 tensor([[0.0738, 0.2844, 0.0689, 0.0742, 0.1106, 0.1044, 0.1126, 0.1710]],\n", + "1.524263858795166 1.2569677829742432 4100 1 tensor([[0.0736, 0.2845, 0.0688, 0.0741, 0.1107, 0.1046, 0.1125, 0.1710]],\n", " grad_fn=) Krzysztof Hołowczyc trzyma kciuki za Kubicę. \"Ci, którzy nie chcą jego powrotu, po prostu się go boją\" Trwa walka Roberta Kubicy o powrót do Formuły 1. Polak jest jednym z kandydatów do reprezentowania w przyszłym sezonie barw zespołu Williams. Za Kubicę kciuki trzyma Krzysztof Hołowczyc.\n", - "1.4492028951644897 1.438140630722046 4150 1 tensor([[0.1065, 0.2374, 0.1000, 0.0919, 0.1166, 0.1186, 0.1079, 0.1211]],\n", + "1.4493881464004517 1.4371377229690552 4150 1 tensor([[0.1067, 0.2376, 0.1001, 0.0918, 0.1164, 0.1187, 0.1077, 0.1211]],\n", " grad_fn=) Honda znów ma problem z silnikiem. \"Musimy znaleźć główną przyczynę niepowodzeń\" Honda po raz kolejny ma problemy ze swoim silnikiem. Japończycy uważają jednak, że w przypadku Brendona Hartleya we Francji doszło do innej usterki niż w jednostce napędowej Pierre'a Gasly'ego w Kanadzie.\n", - "1.5473710298538208 1.088587760925293 4200 2 tensor([[0.0726, 0.0993, 0.3367, 0.0964, 0.0823, 0.1156, 0.1074, 0.0897]],\n", + "1.5475350618362427 1.0887583494186401 4200 2 tensor([[0.0726, 0.0993, 0.3366, 0.0964, 0.0821, 0.1156, 0.1075, 0.0898]],\n", " grad_fn=) Jelena Janković marzy o drugim tygodniu Wimbledonu. We wtorek Serbka zagra z Agnieszką Radwańską Jelena Janković chciałaby dojść do drugiego tygodnia Wimbledonu 2017. Serbka będzie rywalką Agnieszki Radwańskiej w I rundzie.\n", - "1.4706279039382935 1.942168951034546 4250 4 tensor([[0.1107, 0.1164, 0.1036, 0.1277, 0.1434, 0.1303, 0.1391, 0.1289]],\n", + "1.4706852436065674 1.9419291019439697 4250 4 tensor([[0.1107, 0.1165, 0.1035, 0.1279, 0.1434, 0.1301, 0.1392, 0.1287]],\n", " grad_fn=) Kontrowersyjny klub MMA w Chinach. Walczą 12-letnie dzieci W Enbo Fight Club trenuje nawet 400 młodych ludzi. Część z nich stanowią osierocone dzieci. Działalność klubu wywołuje spore emocje w Chinach.\n", - "1.430891513824463 0.8150836229324341 4300 1 tensor([[0.1203, 0.4426, 0.0651, 0.0701, 0.0816, 0.0789, 0.0730, 0.0684]],\n", + "1.4309391975402832 0.8164663314819336 4300 1 tensor([[0.1202, 0.4420, 0.0652, 0.0702, 0.0816, 0.0791, 0.0730, 0.0687]],\n", " grad_fn=) MotoGP: Marc Marquez najlepszy w ostatnim treningu Marc Marquez wygrał ostatnią sesję treningową przed wyścigiem o Grand Prix Ameryk na torze w Austin. Kolejne pozycje zajęli Dani Pedrosa oraz Maverick Vinales.\n", - "1.4218602180480957 1.5896944999694824 4350 3 tensor([[0.0742, 0.1261, 0.0927, 0.2040, 0.1068, 0.1426, 0.1267, 0.1270]],\n", + "1.421707034111023 1.5885950326919556 4350 3 tensor([[0.0740, 0.1260, 0.0926, 0.2042, 0.1067, 0.1426, 0.1267, 0.1271]],\n", " grad_fn=) Rafał Przybylski odchodzi z Azotów Puławy. Kierunek - zagranica Rafał Przybylski po zakończeniu sezonu 2016/17 odejdzie z Azotów Puławy. 25-letni prawy rozgrywający wyjedzie z Polski. W jakim kierunku? Tego jeszcze nie wiadomo. Po Polaka zgłosiło się kilka klubów. Rozmowy trwają.\n", - "1.4195148944854736 0.8848472833633423 4400 2 tensor([[0.0846, 0.0763, 0.4128, 0.0849, 0.0742, 0.0952, 0.0910, 0.0809]],\n", + "1.419579029083252 0.8860330581665039 4400 2 tensor([[0.0848, 0.0764, 0.4123, 0.0851, 0.0743, 0.0952, 0.0910, 0.0810]],\n", " grad_fn=) WTA Lugano: Stefanie Voegele wygrała dwudniowy mecz z Magdaleną Fręch. Polka jeszcze bez zwycięstwa w tourze Stefanie Vögele okazała się w dwóch setach lepsza od Magdaleny Fręch w I rundzie turnieju WTA International na kortach ziemnych w Lugano. Polska tenisistka musi jeszcze poczekać na premierową wygraną w głównym cyklu.\n", - "1.3415539264678955 1.3378149271011353 4450 0 tensor([[0.2624, 0.1456, 0.0719, 0.1039, 0.0732, 0.0958, 0.1211, 0.1261]],\n", + "1.3413941860198975 1.3380266427993774 4450 0 tensor([[0.2624, 0.1457, 0.0719, 0.1039, 0.0734, 0.0958, 0.1211, 0.1259]],\n", " grad_fn=) MŚ w Lahti: Niemcy na czele klasyfikacji medalowej. To był ich piątek marzeń Niemcy znajdą się na prowadzeniu w klasyfikacji medalowej mistrzostw świata w Lahti po trzech dniach imprezy. W piątkowych konkurencjach reprezentanci tego kraju byli zdecydowanie najlepsi.\n", - "1.46285080909729 1.8137385845184326 4500 0 tensor([[0.1630, 0.1532, 0.0743, 0.1218, 0.0932, 0.1241, 0.1059, 0.1645]],\n", + "1.4630906581878662 1.8144276142120361 4500 0 tensor([[0.1629, 0.1532, 0.0742, 0.1222, 0.0932, 0.1240, 0.1055, 0.1647]],\n", " grad_fn=) Pjongczang 2018. Austriacy zabiorą nam Horngachera? Trzeba jak najszybciej podpisać kontrakt Stefan Horngacher, jeden z autorów trzeciego złota Kamila Stocha, nie ma jeszcze podpisanego nowego kontraktu. PZN powinien uczynić to jak najszybciej, by sprzed nosa świetnego trenera nie zabrali polskiej kadrze Austriacy.\n", - "1.492582082748413 0.9577993750572205 4550 1 tensor([[0.0928, 0.3837, 0.0862, 0.0762, 0.1011, 0.0838, 0.0782, 0.0979]],\n", + "1.4926103353500366 0.9573735594749451 4550 1 tensor([[0.0927, 0.3839, 0.0863, 0.0762, 0.1012, 0.0837, 0.0782, 0.0977]],\n", " grad_fn=) Wewnętrzna rywalizacja w Red Bull Racing. \"Powinienem wiedzieć, gdzie jest limit\" Wewnętrzna rywalizacja Daniela Ricciardo z Maxem Verstappenem korzystnie wpływa na formę kierowców Red Bull Racing. Australijczyk zdradził jednak, że w niektórych wyścigach przesadził z jazdą na limicie. - Zawsze byłem przed nim - odpowiada Holender.\n", - "1.4930198192596436 1.1086781024932861 4600 6 tensor([[0.0817, 0.0615, 0.0739, 0.1038, 0.0659, 0.1300, 0.3300, 0.1531]],\n", + "1.493160367012024 1.1073386669158936 4600 6 tensor([[0.0816, 0.0615, 0.0737, 0.1037, 0.0659, 0.1300, 0.3304, 0.1531]],\n", " grad_fn=) Puchar Polski: Skra Bełchatów - Asseco Resovia na żywo. Gdzie oglądać transmisję? W środę, w ramach Pucharu Polski w siatkówce odbędzie się mecz PGE Skra Bełchatów - Asseco Resovia Rzeszów. Tranmisja TV na antenie Polsat Sport. Stream online w Ipla TV. Relacja LIVE w WP SportoweFakty.\n", - "1.4486101865768433 1.122622013092041 4650 1 tensor([[0.0858, 0.3254, 0.0828, 0.1038, 0.0872, 0.0995, 0.1066, 0.1088]],\n", + "1.4486230611801147 1.1242272853851318 4650 1 tensor([[0.0861, 0.3249, 0.0828, 0.1040, 0.0873, 0.0995, 0.1066, 0.1088]],\n", " grad_fn=) Mercedes z czwartym tytułem z rzędu jako czwarty zespół w historii Mercedes dzięki wygranej Lewisa Hamiltona w Austin zapewnił sobie kolejny z rzędu tytuł mistrzowski, który klasyfikuje niemiecki zespół wśród największych stajni w historii Formuły 1.\n", - "1.4268497228622437 1.2122536897659302 4700 6 tensor([[0.0842, 0.0774, 0.0978, 0.1278, 0.0649, 0.1556, 0.2975, 0.0948]],\n", + "1.4269776344299316 1.2119630575180054 4700 6 tensor([[0.0843, 0.0775, 0.0978, 0.1276, 0.0649, 0.1554, 0.2976, 0.0949]],\n", " grad_fn=) PlusLiga: ta ostatnia, decydująca niedziela W niedzielę zostanie rozegrana ostatnia kolejka PlusLigi. Poznamy w niej odpowiedzi na pytania, które drużyny zagrają o medale, a która pożegna się z rozgrywkami. Czy Indykpol AZS, Asseco Resovia i Jastrzębski Węgiel wykorzystają potknięcie ONICO?\n", - "1.4323949813842773 0.9153074026107788 4750 0 tensor([[0.4004, 0.0970, 0.0799, 0.0819, 0.0716, 0.0826, 0.0906, 0.0961]],\n", + "1.4327268600463867 0.915303111076355 4750 0 tensor([[0.4004, 0.0969, 0.0800, 0.0819, 0.0717, 0.0826, 0.0907, 0.0959]],\n", " grad_fn=) Hula, Żyła i Kubacki szczęśliwi po MŚ w lotach. Już szykują się na konkurs drużynowy Polscy skoczkowie byli w bardzo dobrych nastrojach po indywidualnych MŚ w lotach narciarskich. Teraz wszyscy są myślami przy niedzielnej rywalizacji drużynowej.\n", - "1.4646708965301514 1.008448600769043 4800 1 tensor([[0.1289, 0.3648, 0.0872, 0.0714, 0.0700, 0.0955, 0.0766, 0.1055]],\n", + "1.4646613597869873 1.0098087787628174 4800 1 tensor([[0.1289, 0.3643, 0.0871, 0.0714, 0.0703, 0.0957, 0.0766, 0.1056]],\n", " grad_fn=) Maverick Vinales myśli tylko o wygranej. \"Walka o podium mi nie wystarczy\" Upadek w Grand Prix Holandii sprawił, że Maverick Vinales stracił prowadzenie w klasyfikacji generalnej MotoGP. Hiszpan ma teraz jeden cel. Wygrać wyścig na Sachsenringu i wrócić na szczyt tabeli.\n", - "1.4903373718261719 1.4383008480072021 4850 5 tensor([[0.0798, 0.1134, 0.1004, 0.1089, 0.1094, 0.2373, 0.1072, 0.1435]],\n", + "1.4902805089950562 1.4387915134429932 4850 5 tensor([[0.0798, 0.1133, 0.1002, 0.1091, 0.1097, 0.2372, 0.1071, 0.1435]],\n", " grad_fn=) Zagrał na własne życzenie i... doznał kontuzji. Co dalej z Markiem Carterem? Marc Carter za wszelką cenę chciał pomóc drużynie w meczu z PGE Turowem Zgorzelec (93:78). Niestety Amerykanin swój występ przepłacił kontuzją ścięgna Achillesa. Na razie nie wiadomo, jak poważny jest uraz jednego z czołowych zawodników BM Slam Stal.\n", - "1.431658148765564 1.2438663244247437 4900 7 tensor([[0.0935, 0.0672, 0.0872, 0.1038, 0.0762, 0.1123, 0.1714, 0.2883]],\n", + "1.4317628145217896 1.2453986406326294 4900 7 tensor([[0.0937, 0.0673, 0.0873, 0.1039, 0.0762, 0.1123, 0.1714, 0.2878]],\n", " grad_fn=) Anglia - Nigeria na żywo. Transmisja TV, stream online W sobotę, w ramach meczu towarzyskiego, odbędzie się starcie Anglia - Nigeria. Transmisja TV na antenie Eleven Sports 1. Stream online w WP Pilot. Relacja LIVE w WP SportoweFakty.\n", - "1.3500407934188843 1.4719245433807373 4950 5 tensor([[0.1090, 0.0782, 0.1236, 0.1255, 0.0869, 0.2295, 0.1285, 0.1188]],\n", + "1.3499293327331543 1.4718239307403564 4950 5 tensor([[0.1089, 0.0784, 0.1235, 0.1255, 0.0868, 0.2295, 0.1285, 0.1189]],\n", " grad_fn=) Liga Letnia NBA: Zespół Ponitki w ćwierćfinale, 4 punkty Polaka Mateusz Ponitka zdobył cztery punkty dla Denver Nuggets, którzy pokonali Utah Jazz 80:60 i awansowali do ćwierćfinału Ligi Letniej NBA w Las Vegas.\n" ] } @@ -1695,7 +1695,7 @@ { "data": { "text/plain": [ - "tensor([[0.0924, 0.1009, 0.0888, 0.0887, 0.0978, 0.3429, 0.0918, 0.0966]])" + "tensor([[0.0926, 0.1013, 0.0889, 0.0887, 0.0975, 0.3423, 0.0921, 0.0965]])" ] }, "execution_count": 25, @@ -1718,7 +1718,7 @@ { "data": { "text/plain": [ - "tensor([-0.6271, -0.6515, -0.6354, -0.6365, -0.5846, 0.6367, -0.6384, -0.6443],\n", + "tensor([-0.6260, -0.6487, -0.6373, -0.6369, -0.5877, 0.6338, -0.6376, -0.6468],\n", " grad_fn=)" ] }, @@ -1749,7 +1749,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] From 1071d5ba44d1a170187b70a1c21efcff0ff59b8e Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Wed, 2 Jun 2021 13:09:09 +0200 Subject: [PATCH 3/4] RNN --- wyk/11_rnn.org | 328 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 wyk/11_rnn.org diff --git a/wyk/11_rnn.org b/wyk/11_rnn.org new file mode 100644 index 0000000..8f5221d --- /dev/null +++ b/wyk/11_rnn.org @@ -0,0 +1,328 @@ + +* Rekurencyjne sieci neuronowe +** Inne spojrzenie na sieci przedstawione do tej pory +*** Regresja liniowa/logistyczna lub klasyfikacja wieloklasowa na całym tekście + +W regresji liniowej czy logistycznej bądź w klasyfikacji wieloklasowej +(z funkcją Softmax) stosowaliśmy następujący schemat: + +Do tej pory patrzyliśmy na to tak, że po prostu cały tekst jest od +razu przetwarzany przez (prostą) sieć neuronową, popatrzmy na ten +przypadek, jak na sytuację przetwarzania sekwencyjnego. Będzie to +trochę sztuczne, ale uogólnimy to potem w sensowny sposób. + +**** Wektoryzacja + +Po pierwsze, zauważmy, że w wielu schematach wektoryzacji (np. tf), wektor +dokumentów jest po prostu sumą wektorów poszczególnych składowych: + +$$\vec{v}(d) = \vec{v}(t^1,\ldots,t^K) = \vec{v}(t^1) \+ \ldots + \vec{v}(t^K) = \sum_{k=1}^K \vec{v}(t^i),$$ + +gdzie w schemacie tf \vec{v}(t^i) to po prostu wektor /one-hot/ dla słowa. + +*Pytanie* Jak postać przyjmie w \vec{v}(t^i) dla wektoryzacji tf-idf? + +Wektory $\vec{v}(t^k)$ mogą być również gęstymi wektorami +($\vec{v}(t^k) \in \mathcal{R}^n$, gdzie $n$ jest rzędu 10-1000), np. +w modelu Word2vec albo mogą to być *wyuczalne* wektory (zanurzenia +słów, /embeddings/), tzn. wektory, które są parametrami uczonej sieci! + +*Pytanie* Ile wag (parametrów) wnoszą wyuczalne wektory do sieci? + +**** Prosta wektoryzacja wyrażona w modelu sekwencyjnym + +Jak zapisać równoważnie powyższą wektoryzację w modelu *sekwencyjnym*, tj. przy założeniu, że +przetwarzamy wejście token po tokenie (a nie „naraz”)? Ogólnie wprowadzimy bardzo +ogólny model sieci *rekurencyjnej*. + +Po pierwsze zakładamy, że sieć ma pewien stan $\vec{s^k} \in +\mathcal{R}^m$ (stan jest wektorem o długości $m$), który może +zmieniać się z każdym krokiem (przetwarzanym tokenem). Zmiana stanu +jest określona przez pewną funkcję $R : \mathcal{R}^m \times +\mathcal{R}^n \rightarrow \mathcal{R}^m$ ($n$ to rozmiar wektorów +$\vec{v}(t^k)$): + +$$\vec{s^k} = R(\vec{s^{k-1}}, \vec{v}(t^k)).$$ + +W przypadku wektoryzacji tf-idf mamy do czynienia z prostym +sumowaniem, więc $R$ przyjmuje bardzo prostą postać: + +$$\vec{s^0} = [0,\dots,0],$$ + +$$R(\vec{s}, \vec{x}) = \vec{s} + \vec{x}.$$ + +**** Wyjście z modelu + +Dla regresji liniowej/logistycznej, oprócz funkcji $R$, która określa +zmianę stanu, potrzebujemy funkcji $O$, która określa wyjście systemu w każdym kroku. + +$$y^k = O(\vec{s^k})$$ + +W zadaniach klasyfikacji czy regresji, kiedy patrzymy na cały tekst w +zasadzie wystarczy wziąć /ostatnią/ wartość (tj. $y^K$). Można sobie +wyobrazić sytuację, kiedy wartości $y^k$ dla $k < k$ również mogą być jakoś przydatne +(np. klasyfikujemy na bieżąco tekst wpisywany przez użytkownika). + +W każdym razie dla regresji liniowej funkcja $O$ przyjmie postać: + +$$O(\vec{s}) = \vec{w}\vec{s}$$, + +gdzie $\vec{w}$ jest wektorem wyuczylnych wag, dla regresji zaś logistycznej: + +$$O(\vec{s}) = \OperatorName(softmax)(\vec{w}\vec{s})$$ + +*Pytanie*: jaką postać przyjmie $O$ dla klasyfikacji wieloklasowej + +** Prosta sieć rekurencyjna + +W najprostszej sieci rekurencyjnej (/Vanilla RNN/, sieć Elmana, +czasami po prostu RNN) w każdym kroku oprócz właściwego wejścia +($\vec{v}(t^k)$) będziemy również podawać na wejściu poprzedni stan +sieci ($\vec{s^{k-1}}$). + +Innymi słowy, funkcje $R$ przyjmie następującą postać: + +$$s^k = \sigma(W\langle\vec{v}(t^k), \vec{s^{k-1}}\rangle + \vec{b}),$$ + +gdzie: + +- $\langle\vec{x},\vec{y}\rangle$ to konkatenacja dwóch wektorów, +- $W \in \mathcal{R}^m \times \mathcal{R}^{n+m} $ — macierz wag, +- $b \in \mathcal{R}^m$ — wektor obciążeń (/biases/). + +Taką sieć RNN można przedstawić schematycznie w następujący sposób: + +[[./img-rnn.png]] + +Zauważmy, że zamiast macierzy $W$ działającej na konkatenacji wektorów można wprowadzić dwie +macierze $U$ i $V$ i tak zapisać wzór: + +$$s^k = \sigma(U\vec{v}(t^k) + V\vec{s^{k-1}} + \vec{b}).$$ + +Jeszcze inne spojrzenie na sieć RNN: + +[[./rnn.png]] + +Powyższy rysunek przedstawia pojedynczy krok sieci RNN. Dla całego +wejścia (powiedzmy, 3-wyrazowego) możemy sieć rozwinąć (/unroll/): + +[[./rnn-seq.png]] + +*** Zastosowanie sieci RNN do etykietowania sekwencji + +*** Problemy z prostymi sieciami RNN + +W praktyce proste sieci RNN są bardzo trudne w uczenia, zazwyczaj +pojawia się problem *zanikających* (rzadziej: *eksplodujących*) +gradientów: w propagacji wstecznej błąd szybko zanika i nie jest w +stanie dotrzeć do początkowych wejść. + +** Sieci RNN z bramkami + +W prostych sieciach RNN podstawowa trudność polega na tym, że mamy +niewielką kontrolę nad tym jak pamięć (stan) jest aktualizowana. Aby +zwiększyć tę kontrolę, potrzebujemy *bramek*. + +*** Bramki + +Zazwyczaj do tej pory rozpatrywaliśmy iloczyn skalarny wektorów, w +wyniku którego otrzymujemy liczbę (w PyTorchu wyrażany za pomocą operatora ~@~), np. + +#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer + import torch + + a = torch.tensor([-1, 0, 3]) + b = torch.tensor([2, 5, -1]) + a @ b +#+END_SRC + +#+RESULTS: +:results: +# Out[2]: +: tensor(-5) +:end: + +Czasami przydatny jest *iloczyn Hadamarda*, czyli przemnożenie +wektorów (albo macierzy) po współrzędnych. W PyTorchu taki iloczyn +wyrażany jest za pomocą operatora ~*~, w notacji matematycznej będziemy używali +znaku $\odot$. + +#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer + import torch + + a = torch.tensor([-1, 0, 3]) + b = torch.tensor([2, 5, -1]) + a * b +#+END_SRC + +#+RESULTS: +:results: +# Out[3]: +: tensor([-2, 0, -3]) +:end: + +Zauważmy, że iloczyn Hadamarda przez wektor złożony z zer i jedynek daje nam /filtr/, możemy +selektywnie wygaszać pozycje wektora, np. tutaj wyzerowaliśmy 2. i 5. pozycję wektora: + +#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer + import torch + + a = torch.tensor([1., 2., 3., 4., 5.]) + b = torch.tensor([1., 0., 1., 1., 0.]) + a * b +#+END_SRC + +#+RESULTS: +:results: +# Out[4]: +: tensor([1., 0., 3., 4., 0.]) +:end: + + +Co więcej, za pomocą bramki możemy selektywnie kontrolować, co +zapamiętujemy, a co zapominamy. Rozpatrzmy mianowicie wektor zer i +jedynek $\vec{g} \in \{0,1}^m$, dla stanu (pamięci) $\vec{s}$ i nowej informacji +$\vec{x}$ możemy dokonywać aktualizacji w następujący sposób: + +$$\vec{s} \leftarrow \vec{g} \odot \vec{x} + (1 - \vec{g}) \odot \vec{s}$$ + +Na przykład, za pomocą bramki można wpisać nową wartość na 2. i 5. pozycję wektora. + +#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer + import torch + + s = torch.tensor([1., 2., 3., 4., 5.]) + x = torch.tensor([8., 7., 15., -3., -8.]) + + g = torch.tensor([0., 1., 0., 0., 1.]) + + s = g * x + (1 - g) * s + s +#+END_SRC + +#+RESULTS: +:results: +# Out[8]: +: tensor([ 1., 7., 3., 4., -8.]) +:end: + +Wektor bramki nie musi być z góry określony, może być wyuczalny. Wtedy +jednak lepiej założyć, że bramka jest „miękka”, np. jej wartości +pochodzi z sigmoidy zastosowanej do jakiejś wcześniejszej warstwy. + +#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer + import torch + + s = torch.tensor([1., 2., 3., 4., 5.]) + x = torch.tensor([8., 7., 15., -3., -8.]) + + pre_g = torch.tensor([-2.5, 10.0, -1.2, -101., 1.3]) + g = torch.sigmoid(pre_g) + + s = g * x + (1 - g) * s + s +#+END_SRC + +#+RESULTS: +:results: +# Out[14]: +: tensor([ 1.5310, 6.9998, 5.7777, 4.0000, -5.2159]) +:end: + +*Pytanie:* dlaczego sigmoida zamiast tanh? + +*** Sieć LSTM + +Architektura LSTM (/Long Short-Term Memory/) pozwala rozwiązać problem +znikających gradientów — za cenę komplikacji obliczeń. + +W sieci LSTM stan $\vec{s^k}$ ma dwie połówki, tj. $\vec{s^k} = +\langle\vec{c^k},\vec{h^k}\rangle$, gdzie + +- $\vec{c^k}$ to *komórka pamięci*, która nie zmienia swojej, chyba że celowo zmodyfikujemy jej wartość + za pomocą bramek, +- $\vec{h^k}$ to ukryty stan (przypominający $\vec{s^k}$ ze zwykłej sieci RNN). + +Sieć LSTM zawiera 3 bramki: + +- bramkę zapominania (/forget gate/), która steruje wymazywaniem informacji z komórki + pamięci $\vec{c^k}$, +- bramkę wejścia (/input gate/), która steruje tym, na ile nowe informacje aktualizują + komórkę pamięci $\vec{c^k}$, +- bramkę wyjścia (/output gate/), która steruje tym, co z komórki + pamięci przekazywane jest na wyjście. + +Wszystkie trzy bramki definiowane są za pomocą bardzo podobnego wzoru — warstwy liniowej na +poprzedniej wartości warstwy ukrytej i bieżącego wejścia. + +$$\vec{i} = \sigma(W_i\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ + +$$\vec{f} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ + +$$\vec{o} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ + +Jak widać, wzory różnią się tylko macierzami wag $W_*$. + +Zmiana komórki pamięci jest zdefiniowana jak następuje: + +$$\vec{c^k} = \vec{f} \odot \vec{c^{k-1}} + \vec{i} \vec{z^k}$$, + +gdzie + +$$\vec{z^k} = \OperatorName{tanh}(W_z\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ + +Stan ukryty zmienia się w następujący sposób: + +$$\vec{h^K} = \vec{o} \odot \OperatorName{tanh}(\vec{c^k})$$. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +** Literatura + +Yoav Goldberg, /Neural Network Methods for Natural Language +Processing/, Morgan & Claypool Publishers, 2017 From a004360ec5eb75a41a45e96a37ac73f4cc221892 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Wed, 2 Jun 2021 13:16:24 +0200 Subject: [PATCH 4/4] 11 --- wyk/11_rnn.ipynb | 1 + wyk/11_rnn.org | 60 ++++++++---------------------------------------- 2 files changed, 11 insertions(+), 50 deletions(-) create mode 100644 wyk/11_rnn.ipynb diff --git a/wyk/11_rnn.ipynb b/wyk/11_rnn.ipynb new file mode 100644 index 0000000..aedf48a --- /dev/null +++ b/wyk/11_rnn.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","metadata":{},"source":["## Rekurencyjne sieci neuronowe\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### Inne spojrzenie na sieci przedstawione do tej pory\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Regresja liniowa/logistyczna lub klasyfikacja wieloklasowa na całym tekście\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W regresji liniowej czy logistycznej bądź w klasyfikacji wieloklasowej\n(z funkcją Softmax) stosowaliśmy następujący schemat:\n\nDo tej pory patrzyliśmy na to tak, że po prostu cały tekst jest od\nrazu przetwarzany przez (prostą) sieć neuronową, popatrzmy na ten\nprzypadek, jak na sytuację przetwarzania sekwencyjnego. Będzie to\ntrochę sztuczne, ale uogólnimy to potem w sensowny sposób.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Wektoryzacja\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Po pierwsze, zauważmy, że w wielu schematach wektoryzacji (np. tf), wektor\ndokumentów jest po prostu sumą wektorów poszczególnych składowych:\n\n$$\\vec{v}(d) = \\vec{v}(t^1,\\ldots,t^K) = \\vec{v}(t^1) + \\ldots + \\vec{v}(t^K) = \\sum_{k=1}^K \\vec{v}(t^i),$$\n\ngdzie w schemacie tf \\vec{v}(ti) to po prostu wektor *one-hot* dla słowa.\n\n**Pytanie** Jak postać przyjmie w \\vec{v}(ti) dla wektoryzacji tf-idf?\n\nWektory $\\vec{v}(t^k)$ mogą być również gęstymi wektorami\n($\\vec{v}(t^k) \\in \\mathcal{R}^n$, gdzie $n$ jest rzędu 10-1000), np.\nw modelu Word2vec albo mogą to być **wyuczalne** wektory (zanurzenia\nsłów, *embeddings*), tzn. wektory, które są parametrami uczonej sieci!\n\n**Pytanie** Ile wag (parametrów) wnoszą wyuczalne wektory do sieci?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Prosta wektoryzacja wyrażona w modelu sekwencyjnym\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Jak zapisać równoważnie powyższą wektoryzację w modelu **sekwencyjnym**, tj. przy założeniu, że\nprzetwarzamy wejście token po tokenie (a nie „naraz”)? Ogólnie wprowadzimy bardzo\nogólny model sieci **rekurencyjnej**.\n\nPo pierwsze zakładamy, że sieć ma pewien stan $\\vec{s^k} \\in\n\\mathcal{R}^m$ (stan jest wektorem o długości $m$), który może\nzmieniać się z każdym krokiem (przetwarzanym tokenem). Zmiana stanu\njest określona przez pewną funkcję $R : \\mathcal{R}^m \\times\n\\mathcal{R}^n \\rightarrow \\mathcal{R}^m$ ($n$ to rozmiar wektorów\n$\\vec{v}(t^k)$):\n\n$$\\vec{s^k} = R(\\vec{s^{k-1}}, \\vec{v}(t^k)).$$\n\nW przypadku wektoryzacji tf-idf mamy do czynienia z prostym\nsumowaniem, więc $R$ przyjmuje bardzo prostą postać:\n\n$$\\vec{s^0} = [0,\\dots,0],$$\n\n$$R(\\vec{s}, \\vec{x}) = \\vec{s} + \\vec{x}.$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Wyjście z modelu\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla regresji liniowej/logistycznej, oprócz funkcji $R$, która określa\nzmianę stanu, potrzebujemy funkcji $O$, która określa wyjście systemu w każdym kroku.\n\n$$y^k = O(\\vec{s^k})$$\n\nW zadaniach klasyfikacji czy regresji, kiedy patrzymy na cały tekst w\nzasadzie wystarczy wziąć *ostatnią* wartość (tj. $y^K$). Można sobie\nwyobrazić sytuację, kiedy wartości $y^k$ dla $k < k$ również mogą być jakoś przydatne\n(np. klasyfikujemy na bieżąco tekst wpisywany przez użytkownika).\n\nW każdym razie dla regresji liniowej funkcja $O$ przyjmie postać:\n\n$$O(\\vec{s}) = \\vec{w}\\vec{s}$$,\n\ngdzie $\\vec{w}$ jest wektorem wyuczylnych wag, dla regresji zaś logistycznej:\n\n$$O(\\vec{s}) = \\operatorname{softmax}(\\vec{w}\\vec{s})$$\n\n**Pytanie**: jaką postać przyjmie $O$ dla klasyfikacji wieloklasowej\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### Prosta sieć rekurencyjna\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W najprostszej sieci rekurencyjnej (*Vanilla RNN*, sieć Elmana,\nczasami po prostu RNN) w każdym kroku oprócz właściwego wejścia\n($\\vec{v}(t^k)$) będziemy również podawać na wejściu poprzedni stan\nsieci ($\\vec{s^{k-1}}$).\n\nInnymi słowy, funkcje $R$ przyjmie następującą postać:\n\n$$s^k = \\sigma(W\\langle\\vec{v}(t^k), \\vec{s^{k-1}}\\rangle + \\vec{b}),$$\n\ngdzie:\n\n- $\\langle\\vec{x},\\vec{y}\\rangle$ to konkatenacja dwóch wektorów,\n- $W ∈ \\mathcal{R}m × \\mathcal{R}n+m $ — macierz wag,\n- $b \\in \\mathcal{R}^m$ — wektor obciążeń (*biases*).\n\nTaką sieć RNN można przedstawić schematycznie w następujący sposób:\n\n![img](./img-rnn.png)\n\nZauważmy, że zamiast macierzy $W$ działającej na konkatenacji wektorów można wprowadzić dwie\nmacierze $U$ i $V$ i tak zapisać wzór:\n\n$$s^k = \\sigma(U\\vec{v}(t^k) + V\\vec{s^{k-1}} + \\vec{b}).$$\n\nJeszcze inne spojrzenie na sieć RNN:\n\n![img](./rnn.png)\n\nPowyższy rysunek przedstawia pojedynczy krok sieci RNN. Dla całego\nwejścia (powiedzmy, 3-wyrazowego) możemy sieć rozwinąć (*unroll*):\n\n![img](./rnn-seq.png)\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Zastosowanie sieci RNN do etykietowania sekwencji\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Problemy z prostymi sieciami RNN\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W praktyce proste sieci RNN są bardzo trudne w uczenia, zazwyczaj\npojawia się problem **zanikających** (rzadziej: **eksplodujących**)\ngradientów: w propagacji wstecznej błąd szybko zanika i nie jest w\nstanie dotrzeć do początkowych wejść.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### Sieci RNN z bramkami\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W prostych sieciach RNN podstawowa trudność polega na tym, że mamy\nniewielką kontrolę nad tym jak pamięć (stan) jest aktualizowana. Aby\nzwiększyć tę kontrolę, potrzebujemy **bramek**.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Bramki\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Zazwyczaj do tej pory rozpatrywaliśmy iloczyn skalarny wektorów, w\nwyniku którego otrzymujemy liczbę (w PyTorchu wyrażany za pomocą operatora `@`), np.\n\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":"# Out[2]:\ntensor(-5)"}],"source":["import torch\n\na = torch.tensor([-1, 0, 3])\nb = torch.tensor([2, 5, -1])\na @ b"]},{"cell_type":"markdown","metadata":{},"source":["Czasami przydatny jest **iloczyn Hadamarda**, czyli przemnożenie\nwektorów (albo macierzy) po współrzędnych. W PyTorchu taki iloczyn\nwyrażany jest za pomocą operatora `*`, w notacji matematycznej będziemy używali\nznaku $\\odot$.\n\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":"# Out[3]:\ntensor([-2, 0, -3])"}],"source":["import torch\n\na = torch.tensor([-1, 0, 3])\nb = torch.tensor([2, 5, -1])\na * b"]},{"cell_type":"markdown","metadata":{},"source":["Zauważmy, że iloczyn Hadamarda przez wektor złożony z zer i jedynek daje nam *filtr*, możemy\nselektywnie wygaszać pozycje wektora, np. tutaj wyzerowaliśmy 2. i 5. pozycję wektora:\n\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":"# Out[4]:\ntensor([1., 0., 3., 4., 0.])"}],"source":["import torch\n\na = torch.tensor([1., 2., 3., 4., 5.])\nb = torch.tensor([1., 0., 1., 1., 0.])\na * b"]},{"cell_type":"markdown","metadata":{},"source":["Co więcej, za pomocą bramki możemy selektywnie kontrolować, co\nzapamiętujemy, a co zapominamy. Rozpatrzmy mianowicie wektor zer i\njedynek $\\vec{g} \\in \\{0,1}^m$, dla stanu (pamięci) $\\vec{s}$ i nowej informacji\n$\\vec{x}$ możemy dokonywać aktualizacji w następujący sposób:\n\n$$\\vec{s} \\leftarrow \\vec{g} \\odot \\vec{x} + (1 - \\vec{g}) \\odot \\vec{s}$$\n\nNa przykład, za pomocą bramki można wpisać nową wartość na 2. i 5. pozycję wektora.\n\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":"# Out[8]:\ntensor([ 1., 7., 3., 4., -8.])"}],"source":["import torch\n\ns = torch.tensor([1., 2., 3., 4., 5.])\nx = torch.tensor([8., 7., 15., -3., -8.])\n\ng = torch.tensor([0., 1., 0., 0., 1.])\n\ns = g * x + (1 - g) * s\ns"]},{"cell_type":"markdown","metadata":{},"source":["Wektor bramki nie musi być z góry określony, może być wyuczalny. Wtedy\njednak lepiej założyć, że bramka jest „miękka”, np. jej wartości\npochodzi z sigmoidy zastosowanej do jakiejś wcześniejszej warstwy.\n\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":"# Out[14]:\ntensor([ 1.5310, 6.9998, 5.7777, 4.0000, -5.2159])"}],"source":["import torch\n\ns = torch.tensor([1., 2., 3., 4., 5.])\nx = torch.tensor([8., 7., 15., -3., -8.])\n\npre_g = torch.tensor([-2.5, 10.0, -1.2, -101., 1.3])\ng = torch.sigmoid(pre_g)\n\ns = g * x + (1 - g) * s\ns"]},{"cell_type":"markdown","metadata":{},"source":["**Pytanie:** dlaczego sigmoida zamiast tanh?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Sieć LSTM\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Architektura LSTM (*Long Short-Term Memory*) pozwala rozwiązać problem\nznikających gradientów — za cenę komplikacji obliczeń.\n\nW sieci LSTM stan $\\vec{s^k}$ ma dwie połówki, tj. $\\vec{s^k} =\n\\langle\\vec{c^k},\\vec{h^k}\\rangle$, gdzie\n\n- $\\vec{c^k}$ to **komórka pamięci**, która nie zmienia swojej, chyba że celowo zmodyfikujemy jej wartość\n za pomocą bramek,\n- $\\vec{h^k}$ to ukryty stan (przypominający $\\vec{s^k}$ ze zwykłej sieci RNN).\n\nSieć LSTM zawiera 3 bramki:\n\n- bramkę zapominania (*forget gate*), która steruje wymazywaniem informacji z komórki\n pamięci $\\vec{c^k}$,\n- bramkę wejścia (*input gate*), która steruje tym, na ile nowe informacje aktualizują\n komórkę pamięci $\\vec{c^k}$,\n- bramkę wyjścia (*output gate*), która steruje tym, co z komórki\n pamięci przekazywane jest na wyjście.\n\nWszystkie trzy bramki definiowane są za pomocą bardzo podobnego wzoru — warstwy liniowej na\npoprzedniej wartości warstwy ukrytej i bieżącego wejścia.\n\n$$\\vec{i} = \\sigma(W_i\\langle\\vec{v}(t^k),\\vec{h^{k-1}}\\rangle)$$\n\n$$\\vec{f} = \\sigma(W_f\\langle\\vec{v}(t^k),\\vec{h^{k-1}}\\rangle)$$\n\n$$\\vec{o} = \\sigma(W_f\\langle\\vec{v}(t^k),\\vec{h^{k-1}}\\rangle)$$\n\nJak widać, wzory różnią się tylko macierzami wag $W_*$.\n\nZmiana komórki pamięci jest zdefiniowana jak następuje:\n\n$$\\vec{c^k} = \\vec{f} \\odot \\vec{c^{k-1}} + \\vec{i} \\vec{z^k}$$,\n\ngdzie\n\n$$\\vec{z^k} = \\operatorname{tanh}(W_z\\langle\\vec{v}(t^k),\\vec{h^{k-1}}\\rangle)$$\n\nStan ukryty zmienia się w następujący sposób:\n\n$$\\vec{h^K} = \\vec{o} \\odot \\operatorname{tanh}(\\vec{c^k})$$.\n\nOstateczne wyjście może być wyliczane na podstawie wektora $\\vec{h^k}$:\n\n$$O(\\vec{s}) = O(\\langle\\vec{c},\\vec{h}\\rangle) = \\vec{h}$$\n\n**Pytanie**: Ile wag/parametrów ma sieć RNN o rozmiarze wejścia $n$ i\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### Literatura\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Yoav Goldberg, *Neural Network Methods for Natural Language\nProcessing*, Morgan & Claypool Publishers, 2017\n\n"]}],"metadata":{"org":null,"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.5.2"}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/wyk/11_rnn.org b/wyk/11_rnn.org index 8f5221d..1efba6a 100644 --- a/wyk/11_rnn.org +++ b/wyk/11_rnn.org @@ -16,7 +16,7 @@ trochę sztuczne, ale uogólnimy to potem w sensowny sposób. Po pierwsze, zauważmy, że w wielu schematach wektoryzacji (np. tf), wektor dokumentów jest po prostu sumą wektorów poszczególnych składowych: -$$\vec{v}(d) = \vec{v}(t^1,\ldots,t^K) = \vec{v}(t^1) \+ \ldots + \vec{v}(t^K) = \sum_{k=1}^K \vec{v}(t^i),$$ +$$\vec{v}(d) = \vec{v}(t^1,\ldots,t^K) = \vec{v}(t^1) + \ldots + \vec{v}(t^K) = \sum_{k=1}^K \vec{v}(t^i),$$ gdzie w schemacie tf \vec{v}(t^i) to po prostu wektor /one-hot/ dla słowa. @@ -69,7 +69,7 @@ $$O(\vec{s}) = \vec{w}\vec{s}$$, gdzie $\vec{w}$ jest wektorem wyuczylnych wag, dla regresji zaś logistycznej: -$$O(\vec{s}) = \OperatorName(softmax)(\vec{w}\vec{s})$$ +$$O(\vec{s}) = \operatorname{softmax}(\vec{w}\vec{s})$$ *Pytanie*: jaką postać przyjmie $O$ dla klasyfikacji wieloklasowej @@ -255,11 +255,11 @@ Sieć LSTM zawiera 3 bramki: Wszystkie trzy bramki definiowane są za pomocą bardzo podobnego wzoru — warstwy liniowej na poprzedniej wartości warstwy ukrytej i bieżącego wejścia. -$$\vec{i} = \sigma(W_i\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ +$$\vec{i} = \sigma(W_i\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$ -$$\vec{f} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ +$$\vec{f} = \sigma(W_f\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$ -$$\vec{o} = \sigma(W_f\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ +$$\vec{o} = \sigma(W_f\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$ Jak widać, wzory różnią się tylko macierzami wag $W_*$. @@ -269,57 +269,17 @@ $$\vec{c^k} = \vec{f} \odot \vec{c^{k-1}} + \vec{i} \vec{z^k}$$, gdzie -$$\vec{z^k} = \OperatorName{tanh}(W_z\langle\vec{v}(t^k),\vec{\vec{h}^{k-1}}\rangle)$$ +$$\vec{z^k} = \operatorname{tanh}(W_z\langle\vec{v}(t^k),\vec{h^{k-1}}\rangle)$$ Stan ukryty zmienia się w następujący sposób: -$$\vec{h^K} = \vec{o} \odot \OperatorName{tanh}(\vec{c^k})$$. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +$$\vec{h^K} = \vec{o} \odot \operatorname{tanh}(\vec{c^k})$$. +Ostateczne wyjście może być wyliczane na podstawie wektora $\vec{h^k}$: +$$O(\vec{s}) = O(\langle\vec{c},\vec{h}\rangle) = \vec{h}$$ +*Pytanie*: Ile wag/parametrów ma sieć RNN o rozmiarze wejścia $n$ i ** Literatura