Fork me on GitHub

PyTorch深度学习实践-Overview

Overview

1.PyTorch简介

​ PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够 实现强大的GPU加速,同时还支持动态神经网络。

2.与TensorFlow区别

​ pytorch是一个动态的框架,而TensorFlow是静态框架(2.x版本也为动态框架优先)。静态框架就是指我们首先构建一个计算图,构建完成之后这个图就不再变化,通过给变量赋值来进行计算,这样势必导致我们需要修改逻辑的时候相对比较复杂,而动态图修改计算逻辑相对比较简单。简单举例如下,例如假设我们需要实现如下计算图:

img

TF代码:

import numpy as np
import tensorflow as tf
np.random.seed(0)
raw,col=3,4
x=tf.placeholder(tf.float32)
y=tf.placeholder(tf.float32)
z=tf.placeholder(tf.float32)
a=x*y
b=a+z
c=tf.reduce_sum(b)
grad_x,grad_y,grad_z=tf.gradients(c,[x,y,z])
with tf.Session()as sess:
    values={
        x:np.random.randn(raw,col),
        y: np.random.randn(raw, col),
        z: np.random.randn(raw, col)
    }
    out=sess.run([c,grad_x,grad_y,grad_z],
                 feed_dict=values)
    c_val,grad_x_val,grad_y_val,grad_z_val=out
    print(c_val,grad_x_val,grad_y_val,grad_z_val)

PyTorch代码:

import torch
from torch.autograd import Variable
raw,col=3,4
x=Variable(torch.randn(raw,col),requires_grad=True)
y=Variable(torch.randn(raw,col),requires_grad=True)
z=Variable(torch.randn(raw,col),requires_grad=True)
a=x*y
b=a+z
c=torch.sum(b)
c.backward()
print(x.grad.data)
print(y.grad.data)
print(z.grad.data)

​ 可以发现二者都包含了建立前向计算等过程,但是相对来说PyTorch代码比较简短一些,相对也比较灵活一些。

3.PyTorch安装

网上相关教程很多,不再赘述,附其中一个教程:

安装PyTorch详细过程_MCYZSF的博客-CSDN博客_pytorch安装

posted @   zsh1234  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示