首页 > 其他分享 >部分代码: PyTorch计算机视觉实战:目标检测、图像处理与深度学习

部分代码: PyTorch计算机视觉实战:目标检测、图像处理与深度学习

时间:2024-12-12 14:10:21浏览次数:3  
标签:实战 loss PyTorch 图像处理 weights np deepcopy array original

 

第一章

# https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch

# https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch


###################  Chapter One #######################################
import numpy as np
from copy import deepcopy
import matplotlib.pyplot as plt
x = np.array([[1,1]])
y = np.array([[0]])

from copy import deepcopy
import numpy as np
def feed_forward(inputs, outputs, weights):
    pre_hidden = np.dot(inputs,weights[0])+ weights[1]
    hidden = 1/(1+np.exp(-pre_hidden))
    out = np.dot(hidden, weights[2]) + weights[3]
    mean_squared_error = np.mean(np.square(out - outputs))
    return mean_squared_error

def update_weights(inputs, outputs, weights, lr):
    original_weights = deepcopy(weights)
    temp_weights = deepcopy(weights)
    updated_weights = deepcopy(weights)
    original_loss = feed_forward(inputs, outputs, original_weights)
    for i, layer in enumerate(original_weights):
        print(i,layer)
        for index, weight in np.ndenumerate(layer):
            print("**",index, weight)
            temp_weights = deepcopy(weights)
            temp_weights[i][index] += 0.0001
            print("**@",temp_weights[i][index])
            _loss_plus = feed_forward(inputs, outputs, temp_weights)
            grad = (_loss_plus - original_loss)/(0.0001)
            updated_weights[i][index] -= grad*lr
    return updated_weights, original_loss

W = [
    np.array([[-0.0053, 0.3793],
              [-0.5820, -0.5204],
              [-0.2723, 0.1896]], dtype=np.float32).T,
    np.array([-0.0140, 0.5607, -0.0628], dtype=np.float32),
    np.array([[ 0.1528, -0.1745, -0.1135]], dtype=np.float32).T,
    np.array([-0.5516], dtype=np.float32)
]



losses = []
for epoch in range(100):
    W, loss = update_weights(x,y,W,0.01)
    losses.append(loss)
    print(epoch,loss)
plt.plot(losses)
plt.title('Loss over increasing number of epochs')
plt.show()
########################################################################

 



标签:实战,loss,PyTorch,图像处理,weights,np,deepcopy,array,original
From: https://www.cnblogs.com/excellentHellen/p/18513011

相关文章

  • 组件库开发实战:从 0 到 1 搭建企业级组件库
    深夜,我盯着屏幕上的代码发呆。作为一个中型创业公司的前端负责人,我正在思考一个问题:我们是否需要开发自己的组件库?过去一年,随着业务的快速发展,前端团队从3人扩展到了12人,项目也从1个变成了6个。每个项目都在用着不同版本的UI组件,设计规范也不统一,这让产品同学苦......
  • SpringBoot项目实战(37)--使用Beetl模板实现代码生成器(六)-- 完整的Mybatis-plus低代码生
        在上文中介绍了Mybatis-plus增删改查的整套代码。本文利用上文的整套代码改造Beetl代码模版,并依据这些模版,选择一个数据库表生成增删改查相关的程序代码。 一、数据库表    因为上文用了comm_api_key作为代码模板,已经有了一套示例代码,本文使用另外的数......
  • 高效文件处理:Python pathlib实战指南
    在使用Python处理文件路径时,强烈建议使用pathlib。pathlib以面向对象的方式处理文件路径,既避免了很多陷阱,也能使执行许多路径的相关操作变得更容易。本篇总结了常用的使用pathlib进行文件路径处理的方法。1.常用操作首先介绍如何使用pathlib来完成一些常规的文件路径相关操作......
  • egg+designpro开发内容管理系统实战
    前端架构师egg+designpro开发内容管理系统实战https://www.bilibili.com/video/BV1La411X74h 1+12前端架构师任务1:1.cms-apiwww.zhufengpeixun.cn/architecture/html/30.cms-7-api.html#t63.2%20config/config.default.jsnpmiegg-init-g用cli用模板....https://git......
  • 【Nestjs实战】Nodejs必学框架 | Nest企业级项目构建与开发实战
    【Nestjs实战】Nodejs必学框架|Nest企业级项目构建与开发实战https://www.bilibili.com/video/BV1bQ4y1A77L 1nestjs框架介绍与本视频学习指导创建nestjs工程与概念浅析f控制器(controller)集成swaggerapi文档自定义logger中间件(middleware)异常过滤器(exceptionfilter)参......
  • Node.js框架之NestJS从入门到实战必学从入门到实战必学教程
    Node.js框架之NestJS从入门到实战必学从入门到实战必学教程https://www.bilibili.com/video/BV1btU7YtE5M 4 820241-1课程介绍imoocbilibil一手:666java.com如今的前端变得复杂第一阶段HTMLCSSJS第二阶段JQueryBootstrap第三阶段AugularVueReact第四阶段大型SP......
  • Next.js 14 实战:使用 App Router 构建高性能 React 应用
    "你们的网站加载速度太慢了,而且SEO效果很差。"上个月,我们接到了一个来自海外客户的紧急需求。他们的电商网站是用传统的ReactSPA构建的,在性能和搜索引擎优化方面都遇到了瓶颈。作为技术负责人,我立刻想到了Next.js14的AppRouter。......
  • Spring Boot 工程分层实战(五个分层维度)
    1、分层思想计算机领域有一句话:计算机中任何问题都可通过增加一个虚拟层解决。这句体现了分层思想重要性,分层思想同样适用于Java工程架构。分层优点是每层只专注本层工作,可以类比设计模式单一职责原则,或者经济学比较优势原理,每层只做本层最擅长的事情。分层缺点是层之间......
  • Docker Compose实战二( 轻松部署 MySQL)
      通过过前面的文章(DockerCompose基础语法)你已经掌握基本语法和常用指令认识到DockerCompose作为一款强大工具的重要性,它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用DockerCompose部署MySQL,为你提供一个简单而强大的数据库服务器解决......
  • WebSocket入门与案例实战
    WebSocket入门与案例实战https://www.bilibili.com/video/BV1hF411k7bj/?vd_source=d10c649e248b08f4441d8cd6b76f46fc1课程介绍学习内容WebSocket概述为什么?Java接入WebSocket的两种方式怎么用?实战:多人聊天室在哪用?我们会想到要去使用这个WebSocket熟悉Java语法了解Ma......