torch笔记

回归预测层不用激活函数

损失函数:

​ 1 回归用MSE

​ 2 多分类用交叉熵crossEntropyLoss()输出是每个类型的概率,和标签误差,最后nn输出用prediction=F.softmax(out)转换成概率,一般用torch.max(prediction=F.softmax(out))[1]直接返回最大值的数据

链接numpy

numpy.array转tensor

torch.from_numpy(xx_np)

tensor转numpy

xx_tensor.numpy()

variable
#variable变量,nn只能输入variable
from torch.autograd import Variable
variable=Variable(tensor,requires_grad=True)#True计算这个结点的梯度

v_out=fxx(variable)
v_out.backward()
#可以通过variable.grad查看梯度
variable.data
variable.data.numpy()
to device
# 当GPU可用时,我们可以运行以下代码
# 我们将使用`torch.device`来将tensor移入和移出GPU
if torch.cuda.is_available():
    device = torch.device("cuda")          # a CUDA device object
    y = torch.ones_like(x, device=device)  # 直接在GPU上创建tensor
    x = x.to(device)                       # 或者使用`.to("cuda")`方法
    z = x + y
    print(z)
    print(z.to("cpu", torch.double))       # `.to`也能在移动时改变dtype
快速搭建
class Net(torch.nn.Module):
    def __init__(self,n_feature,n_hidden,n_output):
        super(Net,self).__init__()
        self.hidden=torch.nn.Linear(n_feature,n_hidden)#层信息,该层的输入和神经元的个数
        self.predic=torch.nn.Linear(n_hidden,n_output)
      
    def forward(self,x):
        x=F.relu(self.hiddern(X))
        x=self.predict(x)
        return x
    
#快速搭建
net=torch.nn.Sequential(
	torch.nn.Linear(2,10),
    torch.nn.ReLu(),
    torch.nn.Linear(10,2)
)
net=Net(1,10,1)
 
optimizer=torch.optim.SGD(net.parameters,lr=0.2)#SGD可选,lr为学习效率越快越差
loss_func=torch.nn.MSELoss()
 
for t in range(100):
    prediction=net(x)
    loss=loss_func(prediction,y)#这里prediction和y的顺序不能改变
    
    optimizer.zero_grad()#优化参数,先将梯度为0
    loss.backward()#为节点赋参数
    optimizer.step()
    
---
#实时打印
plt.ion()
plt.show()
for t in range(100):#step
    if t%5==0:
        plt()
plt.ioff()
plt.show()
#保存模型
def save():
    torch.save(net,"xxx.pkl")
    torch.save(net,state_dict(),"xx_para.pkl")#只保存参数
    
#提取
def restore_net():
    net2=torch.load("xxx.plk")
    
    net3=torch.nn.Sequential(
	torch.nn.Linear(2,10),
    torch.nn.ReLu(),
    torch.nn.Linear(10,2))
    net3.load_state_dict(torch.load('xx_para.pkl'))
    
#批训练epoch
import torch.utils.data ad Data
BATCH_SIZE=5
torch_dataset=Data.TensorDataset(data_tensor=x_tensor,targer_tensor=y_tensor)
loader=Data.DataLoader(
	dataset=torch_dataset,
    batch_size=BATCH_SIZE,
    shuffle=True,#打乱
    #num_workers=2,#两个线程提取loader,win不用?
)

for epoch in range(x):#把数据整体的训练x次
    #n个训练样本,batch_size为m,每个epoch都要进行n/m个step
    for step,(batch_x,batch_y) in enumerate(loader):
        #training
        print("")
TIME_SIZE=xx
INPUT_SIZE=xx
#rnn考虑x个时间点的数据(输入多少次),在每一个时间点给rnnxx个数据点(一次输入几个数据)
### 回答1: 要在Jupyter中安装PyTorch,你需要使用以下命令: ``` !pip install torch ``` 请确保你的Jupyter内核与你要安装的Python版本相同。你可以通过运行以下命令检查当前内核的Python版本: ```python import sys print(sys.version) ``` 如果你想要安装指定版本的PyTorch,可以使用以下命令: ``` !pip install torch==1.9.0 ``` 请注意,PyTorch版本可能因你的操作系统和硬件类型而异。你可以在PyTorch的官方网站上找到适合你的版本。 ### 回答2: 要在Jupyter中安装Torch,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Anaconda。Anaconda是一个Python数据科学平台,它包含了许多用于数据分析和科学计算的工具。 2. 打开终端或命令提示符,输入以下命令来安装Torch和Jupyter的内核: ``` conda install pytorch torchvision torchaudio -c pytorch conda install jupyter conda install ipykernel python -m ipykernel install --name=myenv ``` 这个命令将安装Torch及其相关的库,并为Jupyter添加一个新的内核。 3. 启动Jupyter Notebook。在终端或命令提示符中输入以下命令: ``` jupyter notebook ``` 这将打开Jupyter Notebook的用户界面。 4. 在Jupyter Notebook界面中,您可以看到一个文件浏览器。选择您想要创建Torch笔记本的目录,点击“新建”按钮,然后选择“Python 3”或“myenv”(根据您在第2步中指定的内核名称)。 5. 在新建的笔记本中,您可以开始编写和运行Torch代码了。 这是在Jupyter中安装和使用Torch的基本步骤。希望这对您有所帮助! ### 回答3: 要在Jupyter中安装Torch,首先需要确保你已经安装了Jupyter Notebook。然后,按照以下步骤进行安装: 1. 打开终端,运行以下命令来安装Torch: ``` pip install torch ``` 这将下载并安装最新版本的Torch。 2. 安装完成后,打开Jupyter Notebook。在终端中输入以下命令: ``` jupyter notebook ``` 终端将显示Notebook服务器的URL。 3. 复制URL并在Web浏览器中打开。这将让你进入Jupyter Notebook的首页。 4. 在首页上,点击右上角的"New"按钮,并选择"Python 3"。这将创建一个新的Python 3 Notebook。 5. 在新的Notebook中,你可以开始使用Torch。首先,导入Torch模块: ```python import torch ``` 现在你可以使用Torch提供的各种功能了,例如创建张量、使用神经网络等等。 6. 开始编写你的代码并执行各个单元格。你可以使用Markdown单元格来记录你的思路和解释代码。 通过这些步骤,你现在可以在Jupyter Notebook中安装和使用Torch了。记得在安装Torch之前,确保你已经安装了Jupyter Notebook,并且保持其处于最新的状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值