pytorch之 Variable
1 import torch 2 from torch.autograd import Variable 3 4 # Variable in torch is to build a computational graph, 5 # but this graph is dynamic compared with a static graph in Tensorflow or Theano. 6 # So torch does not have placeholder, torch can just pass variable to the computational graph. 7 8 tensor = torch.FloatTensor([[1,2],[3,4]]) # build a tensor 9 variable = Variable(tensor, requires_grad=True) # build a variable, usually for compute gradients 10 11 print(tensor) # [torch.FloatTensor of size 2x2] 12 print(variable) # [torch.FloatTensor of size 2x2] 13 14 # till now the tensor and variable seem the same. 15 # However, the variable is a part of the graph, it's a part of the auto-gradient. 16 17 t_out = torch.mean(tensor*tensor) # x^2 18 v_out = torch.mean(variable*variable) # x^2 19 print(t_out) 20 print(v_out) # 7.5 21 22 v_out.backward() # backpropagation from v_out 23 # v_out = 1/4 * sum(variable*variable) 24 # the gradients w.r.t the variable, d(v_out)/d(variable) = 1/4*2*variable = variable/2 25 print(variable.grad) 26 ''' 27 0.5000 1.0000 28 1.5000 2.0000 29 ''' 30 31 print(variable) # this is data in variable format 32 """ 33 Variable containing: 34 1 2 35 3 4 36 [torch.FloatTensor of size 2x2] 37 """ 38 39 print(variable.data) # this is data in tensor format 40 """ 41 1 2 42 3 4 43 [torch.FloatTensor of size 2x2] 44 """ 45 46 print(variable.data.numpy()) # numpy format 47 """ 48 [[ 1. 2.] 49 [ 3. 4.]] 50 """
分类:
pytorch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)