Files
pytorch-study/03.ipynb
2025-06-11 17:23:34 +08:00

414 lines
38 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 16,
"id": "initial_id",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:03:48.167231Z",
"start_time": "2025-06-10T07:03:48.162454Z"
}
},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "672b6ba3fa59ccf6",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:03:48.204865Z",
"start_time": "2025-06-10T07:03:48.199099Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1]\n"
]
}
],
"source": [
"arr_1_d = np.asarray([1, ])\n",
"print(arr_1_d)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "d3a5ffb549787c83",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:12:39.583360Z",
"start_time": "2025-06-10T07:12:39.579286Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1 2]\n",
" [3 4]]\n"
]
}
],
"source": [
"arr_2_d = np.asarray([[1, 2], [3, 4]])\n",
"print(arr_2_d)"
]
},
{
"cell_type": "markdown",
"id": "985284c0214046b6",
"metadata": {},
"source": [
"#### ndim\n",
"\n",
"ndim表示数组维度或轴的个数。刚才创建的数组arr_1_d的轴的个数就是1arr_2_d的轴的个数就是2。"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "e65aacb8a74e40e0",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:04:30.644727Z",
"start_time": "2025-06-10T07:04:30.640740Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n",
"2\n"
]
}
],
"source": [
"print(arr_1_d.ndim)\n",
"print(arr_2_d.ndim)"
]
},
{
"cell_type": "markdown",
"id": "947cf69ca23146d8",
"metadata": {},
"source": [
"#### shape\n",
"\n",
"shape表示数组的维度或形状 是一个整数的元组元组的长度等于ndim。\n",
"\n",
"arr_1_d的形状就是1一个向量 arr_2_d的形状就是(2, 2)(一个矩阵)。"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "d885dd345043265",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:15:12.739593Z",
"start_time": "2025-06-10T07:15:12.735608Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1,)\n",
"(2, 2)\n"
]
}
],
"source": [
"print(arr_1_d.shape)\n",
"print(arr_2_d.shape)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "7519be9b941032e7",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:38:01.367121Z",
"start_time": "2025-06-10T07:38:01.361690Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([[0],\n",
" [3],\n",
" [1],\n",
" [4],\n",
" [2],\n",
" [5]])"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_3_d = np.arange(6).reshape((2, 3))\n",
"np.reshape(arr_3_d, (6, 1), 'F')"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "c68a928f07923d2a",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:45:20.110828Z",
"start_time": "2025-06-10T07:45:20.104123Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([2, 4])"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.arange(5)\n",
"np.arange(2, 6)\n",
"np.arange(2, 6, 2)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "985731ffd294583e",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:47:28.110207Z",
"start_time": "2025-06-10T07:47:28.104882Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([0. , 0.25, 0.5 , 0.75, 1. ])"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.linspace(0, 1, 5) # 从0到1生成5个数"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "2a7100db766b1195",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:55:28.096079Z",
"start_time": "2025-06-10T07:55:28.014374Z"
}
},
"outputs": [
{
"data": {
"image/png": "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iRIlrJSUFLtL81mPPvqoVbx4cWv+/Pm53rvHjh1zn9OzZ0+rQoUK1ty5c61ff/3Vio2NtWJjY22s2j+cOsvMstTO+aVAJBfsTIHIsixr1apV1o033miFhYVZl112mfX666/bU6CPGjt2rAWc8etUaueC8f7771sVKlSwQkNDrYYNG1pLly61uySfdrb37tixY93nHD9+3HrssceskiVLWhEREdadd96ZK/DLhfl3IFI754/DsizL49fpRERERLyIZpmJiIhIwFMgEhERkYCnQCQiIiIBT4FIREREAp4CkYiIiAQ8BSIREREJeApEIiIiEvAUiERERCTgKRCJiIhIwFMgEhERkYCnQCQiAWn//v1ERUXx2muvue9bsmQJoaGhzJkzx8bKRMQO2stMRALWzJkzadu2LUuWLKFq1arUrVuXNm3a8Pbbb9tdmoh4mAKRiAS0Xr168dNPP9GgQQPWrFnDL7/8QlhYmN1liYiHKRCJSEA7fvw411xzDTt27CA5OZlatWrZXZKI2EBjiEQkoG3evJndu3eTnZ3Ntm3b7C5HRGyiHiIRCVgZGRk0bNiQunXrUrVqVd555x3WrFlD2bJl7S5NRDxMgUhEAtbTTz/NF198wapVqyhatCg333wzxYsXZ8aMGXaXJiIepktmIhKQ5s+fzzvvvMOECROIjIwkKCiICRMmsGjRIkaNGmV3eSLiYeohEhERkYCnHiIREREJeApEIiIiEvAUiERERCTgKRCJiIhIwFMgEhERkYCnQCQiIiIBT4FIREREAp4CkYiIiAQ8BSIREREJeApEIiIiEvAUiERERCTgKRCJiIhIwPs/cNB8xaYUgmUAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-50, 51, 2)\n",
"y = x ** 2\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(x, y, color='blue', label='y = x^2') # 绘制y = x^2的图像\n",
"plt.xlabel('x') # x轴标签\n",
"plt.ylabel('y') # x轴和y轴标签\n",
"plt.title('y = x^2') # 图表标题\n",
"plt.legend() # 图例\n",
"plt.grid() # 网格线\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 89,
"id": "34d33f274db50c05",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T07:58:35.543899Z",
"start_time": "2025-06-10T07:58:35.538872Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[4 0 4]\n",
" [9 7 9]\n",
" [5 3 6]\n",
" [9 6 1]]\n",
"[27 16 20]\n"
]
}
],
"source": [
"interest_score = np.random.randint(10, size=(4, 3))\n",
"print(interest_score)\n",
"\n",
"print(np.sum(interest_score, axis=0)) # 按列求和"
]
},
{
"cell_type": "code",
"execution_count": 97,
"id": "af045104acdc7769",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T08:06:51.157230Z",
"start_time": "2025-06-10T08:06:51.153898Z"
}
},
"outputs": [],
"source": [
"arr_4_d=np.arange(18).reshape(3,2,3)"
]
},
{
"cell_type": "code",
"execution_count": 98,
"id": "3e9453cf7e5a21ee",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T08:07:11.379671Z",
"start_time": "2025-06-10T08:07:11.376567Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[[ 0 1 2]\n",
" [ 3 4 5]]\n",
"\n",
" [[ 6 7 8]\n",
" [ 9 10 11]]\n",
"\n",
" [[12 13 14]\n",
" [15 16 17]]]\n"
]
}
],
"source": [
"print(arr_4_d)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"id": "5f5db002acfd658",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T08:07:57.609873Z",
"start_time": "2025-06-10T08:07:57.604968Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([[12, 13, 14],\n",
" [15, 16, 17]])"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.max(arr_4_d,axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 100,
"id": "8e558c31c3423e05",
"metadata": {
"ExecuteTime": {
"end_time": "2025-06-10T08:08:31.546096Z",
"start_time": "2025-06-10T08:08:31.540914Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n",
" 17])"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_4_d.ravel()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.10.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}