feat(AIandML): e1.1

This commit is contained in:
iridiumR 2022-09-21 11:31:58 +08:00
parent 0d0cb2a6b5
commit 6b1ba00aa4
1 changed files with 151 additions and 22 deletions

View File

@ -10,7 +10,7 @@
"\n",
"|学号 |姓名 |\n",
"|----------|--------|\n",
"| | |"
"|***REMOVED***|***REMOVED***|"
]
},
{
@ -24,10 +24,23 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]\n"
]
}
],
"source": [
"import numpy as np\n",
"a = np.zeros(10)\n",
"a[4] = 1\n",
"print(a)\n"
]
},
{
"cell_type": "markdown",
@ -38,6 +51,41 @@
"随机生成2个长度为$10^6$的向量分别用numpy函数和for循环计算其内积。并比较耗时情况。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"250517.08615769504\n",
"numpy:0.9500980377197266ms\n",
"250517.08615771346\n",
"for:450.66380500793457ms\n"
]
}
],
"source": [
"import numpy as np\n",
"import time\n",
"a = np.random.rand(1000000)\n",
"b = np.random.rand(1000000)\n",
"tic = time.time()\n",
"c = np.dot(a,b)\n",
"toc = time.time()\n",
"print(c)\n",
"print(\"numpy:\" + str(1000*(toc-tic)) + \"ms\")\n",
"c = 0\n",
"tic = time.time()\n",
"for i in range(1000000):\n",
" c += a[i]*b[i]\n",
"toc = time.time()\n",
"print(c)\n",
"print(\"for:\" + str(1000*(toc-tic)) + \"ms\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
@ -49,10 +97,38 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.832603 0.01479218 0.74726877 0.11899442 0.5139687 ]\n",
" [0.85742314 0.20950708 0.31393951 0.69463518 0.58622781]\n",
" [0.92412297 0.93890447 0.27295923 0.44996205 0.98461149]\n",
" [0.56097043 0.81885742 0.31026755 0.65530345 0.51932541]]\n",
"[[0.54243804 0.59199752 0.2088532 0.09047042]\n",
" [0.96482797 0.66663309 0.7223203 0.96680344]\n",
" [0.1848234 0.88155844 0.98424619 0.99646051]\n",
" [0.76723488 0.42095062 0.55842772 0.58467868]\n",
" [0.56045915 0.6447964 0.05470569 0.317023 ]]\n",
"[[0.98337534 1.54301691 1.01463973 1.0667643 ]\n",
" [1.58676566 1.59441744 1.05937409 1.184938 ]\n",
" [2.35467111 2.23789856 1.44499002 1.83856268]\n",
" [1.94552528 1.76219908 1.40836713 1.69937482]]\n"
]
}
],
"source": [
"import numpy as np\n",
"a = np.random.rand(4,5)\n",
"b = np.random.rand(5,4)\n",
"c = np.dot(a,b)\n",
"print(a)\n",
"print(b)\n",
"print(c)\n"
]
},
{
"cell_type": "markdown",
@ -70,10 +146,27 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.89379618 0.03735883 0.51341215 0.49607132 0.15340217]\n",
"[0.36734363 0.43023904 0.45210542 0.45422143 0.45221582]\n"
]
}
],
"source": [
"import numpy as np\n",
"def f(x):\n",
" return np.sin(x+1)*(x+1)/(2*np.exp(x))\n",
"a = np.random.rand(5)\n",
"b = f(a)\n",
"print(a)\n",
"print(b)"
]
},
{
"cell_type": "markdown",
@ -86,22 +179,53 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.39753532 0.54410703 0.60167078 0.24255209 0.67574439 0.01004289\n",
" 0.55770556 0.10702142 0.48778556 0.51648967]\n",
" [0.98453781 0.66164632 0.66346184 0.5019827 0.74216596 0.37279722\n",
" 0.02415767 0.21952032 0.94425462 0.83570665]\n",
" [0.366748 0.38391583 0.21428393 0.56555728 0.73883924 0.38754266\n",
" 0.7720652 0.68972519 0.69671146 0.43759293]\n",
" [0.93430798 0.57475894 0.23919737 0.31449016 0.56069848 0.23824185\n",
" 0.61332708 0.8877036 0.895658 0.39875045]\n",
" [0.80075957 0.85481337 0.10696488 0.91660988 0.95048433 0.62219214\n",
" 0.61386599 0.1400393 0.68407094 0.08965478]]\n",
"[[-0.01653016 0.13004156 0.18760531 -0.17151338 0.26167892 -0.40402258\n",
" 0.14364009 -0.30704405 0.07372009 0.10242419]\n",
" [ 0.3895147 0.06662321 0.06843873 -0.09304041 0.14714285 -0.22222589\n",
" -0.57086544 -0.37550279 0.34923151 0.24068354]\n",
" [-0.15855017 -0.14138234 -0.31101425 0.0402591 0.21354107 -0.13775551\n",
" 0.24676703 0.16442702 0.17141329 -0.08770524]\n",
" [ 0.36859459 0.00904555 -0.32651602 -0.25122323 -0.00501491 -0.32747154\n",
" 0.04761369 0.32199021 0.32994461 -0.16696294]\n",
" [ 0.22281405 0.27686785 -0.47098064 0.33866436 0.37253881 0.04424662\n",
" 0.03592048 -0.43790622 0.10612542 -0.48829074]]\n",
"[[ 0.00000000e+00]\n",
" [ 6.66133815e-17]\n",
" [-3.33066907e-17]\n",
" [ 1.11022302e-17]\n",
" [-3.33066907e-17]]\n"
]
}
],
"source": [
"import numpy as np\n",
"a = np.random.rand(5,10)\n",
"b = a - np.mean(a,axis=1,keepdims=True)\n",
"print(a)\n",
"print(b)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3.10.7 ('.venv': venv)",
"language": "python",
"name": "python3"
},
@ -115,7 +239,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.9"
"version": "3.10.7"
},
"vscode": {
"interpreter": {
"hash": "1f0d395e06aa83586067b19165efc9b683889967164248deef4bbf1fa27cfb00"
}
}
},
"nbformat": 4,