2023-07-13 16:29:43 +00:00
|
|
|
|
{
|
|
|
|
|
"cells": [
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 1,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"MyNet(\n",
|
|
|
|
|
" (fc1): Linear(in_features=10, out_features=20, bias=True)\n",
|
|
|
|
|
" (fc2): Linear(in_features=20, out_features=10, bias=True)\n",
|
|
|
|
|
")\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
|
|
|
|
"image/png": "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
|
|
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 432x288 with 2 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {
|
|
|
|
|
"needs_background": "light"
|
|
|
|
|
},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"import torch\n",
|
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# 创建一个神经网络\n",
|
|
|
|
|
"class MyNet(torch.nn.Module):\n",
|
|
|
|
|
" def __init__(self):\n",
|
|
|
|
|
" super().__init__()\n",
|
|
|
|
|
" self.fc1 = torch.nn.Linear(10, 20)\n",
|
|
|
|
|
" self.fc2 = torch.nn.Linear(20, 10)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" def forward(self, x):\n",
|
|
|
|
|
" x = torch.relu(self.fc1(x))\n",
|
|
|
|
|
" x = self.fc2(x)\n",
|
|
|
|
|
" return x\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"net = MyNet()\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# 打印神经网络结构\n",
|
|
|
|
|
"print(net)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# 获取第一层权重张量\n",
|
|
|
|
|
"weights = net.state_dict()['fc1.weight']\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# 将权重张量转换为numpy数组,并可视化\n",
|
|
|
|
|
"plt.imshow(weights.numpy())\n",
|
|
|
|
|
"plt.colorbar()\n",
|
|
|
|
|
"plt.show()"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 2,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"python version: 3.11.3 | packaged by Anaconda, Inc. | (main, Apr 19 2023, 23:46:34) [MSC v.1916 64 bit (AMD64)]\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"# print python version\n",
|
|
|
|
|
"import sys\n",
|
|
|
|
|
"print('python version: ', sys.version)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 1,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"import argparse\n",
|
|
|
|
|
"import wandb\n",
|
|
|
|
|
"import time\n",
|
|
|
|
|
"import numpy as np\n",
|
|
|
|
|
"import random\n",
|
|
|
|
|
"import uuid\n",
|
|
|
|
|
"import torch\n",
|
|
|
|
|
"import torch.nn as nn\n",
|
|
|
|
|
"import torch.optim as optim\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"from AimbotEnv import Aimbot\n",
|
|
|
|
|
"from tqdm import tqdm\n",
|
|
|
|
|
"from torch.distributions.normal import Normal\n",
|
|
|
|
|
"from torch.distributions.categorical import Categorical\n",
|
|
|
|
|
"from distutils.util import strtobool\n",
|
|
|
|
|
"from torch.utils.tensorboard import SummaryWriter\n",
|
|
|
|
|
"from mlagents_envs.environment import UnityEnvironment\n",
|
|
|
|
|
"from mlagents_envs.side_channel.side_channel import (\n",
|
|
|
|
|
" SideChannel,\n",
|
|
|
|
|
" IncomingMessage,\n",
|
|
|
|
|
" OutgoingMessage,\n",
|
|
|
|
|
")\n",
|
|
|
|
|
"from typing import List\n"
|
|
|
|
|
]
|
2023-07-15 11:37:23 +00:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 5,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"ename": "AttributeError",
|
|
|
|
|
"evalue": "'aaa' object has no attribute 'outa'",
|
|
|
|
|
"output_type": "error",
|
|
|
|
|
"traceback": [
|
|
|
|
|
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
|
|
|
"\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
|
|
|
|
"Cell \u001b[1;32mIn[5], line 14\u001b[0m\n\u001b[0;32m 12\u001b[0m asd \u001b[39m=\u001b[39m aaa(outa, outb)\n\u001b[0;32m 13\u001b[0m asd\u001b[39m.\u001b[39mfunc()\n\u001b[1;32m---> 14\u001b[0m \u001b[39mprint\u001b[39m(asd\u001b[39m.\u001b[39;49mouta) \u001b[39m# 输出 100\u001b[39;00m\n",
|
|
|
|
|
"\u001b[1;31mAttributeError\u001b[0m: 'aaa' object has no attribute 'outa'"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"class aaa():\n",
|
|
|
|
|
" def __init__(self, a, b):\n",
|
|
|
|
|
" self.a = a\n",
|
|
|
|
|
" self.b = b\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" def func(self):\n",
|
|
|
|
|
" global outa\n",
|
|
|
|
|
" outa = 100\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"outa = 1\n",
|
|
|
|
|
"outb = 2\n",
|
|
|
|
|
"asd = aaa(outa, outb)\n",
|
|
|
|
|
"asd.func()\n",
|
|
|
|
|
"print(asd.outa) # 输出 100"
|
|
|
|
|
]
|
2023-07-13 16:29:43 +00:00
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"metadata": {
|
|
|
|
|
"kernelspec": {
|
|
|
|
|
"display_name": "Python 3",
|
|
|
|
|
"language": "python",
|
|
|
|
|
"name": "python3"
|
|
|
|
|
},
|
|
|
|
|
"language_info": {
|
|
|
|
|
"codemirror_mode": {
|
|
|
|
|
"name": "ipython",
|
|
|
|
|
"version": 3
|
|
|
|
|
},
|
|
|
|
|
"file_extension": ".py",
|
|
|
|
|
"mimetype": "text/x-python",
|
|
|
|
|
"name": "python",
|
|
|
|
|
"nbconvert_exporter": "python",
|
|
|
|
|
"pygments_lexer": "ipython3",
|
2023-07-15 11:37:23 +00:00
|
|
|
|
"version": "3.9.17"
|
2023-07-13 16:29:43 +00:00
|
|
|
|
},
|
|
|
|
|
"orig_nbformat": 4
|
|
|
|
|
},
|
|
|
|
|
"nbformat": 4,
|
|
|
|
|
"nbformat_minor": 2
|
|
|
|
|
}
|