cs231n-2022-01 Assignments1-numpy的使用

news2024/11/28 10:53:35

numpy的使用

Numpy是Python中科学计算的核心库。它提供了一个高性能的多维数组对象,以及处理这些数组的工具。如果你已经熟悉MATLAB,你可能会发现这个教程对开始使用Numpy很有用。
运行并阅读cs231n课程网站上提供的示例代码,感觉十分简洁,对入门numpy的初学者来讲,很友好!我也没有系统学习过numpy,所以也读了一下网站上的示例代码。
网址如下:https://cs231n.github.io/python-numpy-tutorial/
有以下地方值得特别注意:
1、矩阵乘法要使用np.dot(a, b),而不是ab,ab计算的是矩阵中对应元素相乘,最后结果的维数和a,b相同。
在这里插入图片描述
2、axis表示sum的对象到底是行,还是列,为0表示sum的行,1表示sum的是列
在这里插入图片描述
3、numpy里面不区分行向量还是列向量,因为v和v.T相同,这也就是说,我们在进行矩阵乘法运算的时候,如果只有一个维度,我们可以不考虑到底是行向量还是列向量。
在这里插入图片描述
4、广播机制,粗俗理解:一个矩阵m和一个数n相加,numpy很聪明,他不会报错,而是聪明的告诉这个矩阵,要给每个元素都加上n,这个过程就叫做广播。同理,我们可以用一个大矩阵加上一个小矩阵(最内层维度的大小)
在这里插入图片描述
如果不是最内层维度,那么就会报错:
在这里插入图片描述
它告诉我们不能广播,维度(4,3)和(4,)不匹配。
5、在运行scipy的代码时,发现报错以下错误
在这里插入图片描述
这其实是由于版本不同导致的,由于我默认安装的为sci的最新版本,而在scipy1.0以上的版本中imread,imsave,imresize都已经被废除了,但是,由于我的python版本为3.9,这导致我无法安装scipy1.0以下的版本,所以,这里我选择了更换python的第三方库来实现同样的功能。

import imageio
import cv2 as cv
from PIL import Image
import numpy as np



# Read an JPEG image into a numpy array
img = imageio.v2.imread('assets/cat.jpg')
print(img.dtype, img.shape)  # Prints "uint8 (400, 248, 3)"

# We can tint the image by scaling each of the color channels
# by a different scalar constant. The image has shape (400, 248, 3);
# we multiply it by the array [1, 0.95, 0.9] of shape (3,);
# numpy broadcasting means that this leaves the red channel unchanged,
# and multiplies the green and blue channels by 0.95 and 0.9
# respectively.
img_tinted = img * [1, 0.95, 0.9]

# Resize the tinted image to be 300 by 300 pixels.
# img_tinted = imresize(img_tinted, (300, 300))
# np.array(Image.fromarray(img_tinted).resize((300, 300)))
img_tinted = cv.resize(img, (300, 300), interpolation=cv.INTER_AREA)  

# Write the tinted image back to disk
cv.imwrite("assets/cat_tinted.jpg", img_tinted)

在工作目录的assets文件夹中,运行结果如下:
在这里插入图片描述
可以看到,小猫咪变胖了,而且颜色也有所变化,这主要和我们rgb三通道缩放的倍数有关(img_tinted = img * [1, 0.95, 0.9])
后面还有matplotlib,图片显示等方面的实例代码,很简单,也没有遇到问题,在此就不再一一罗列了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TIA博途SCL学习_堆栈的入栈和出栈(后入先出)程序示例

TIA博途SCL学习_堆栈的入栈和出栈(后入先出)程序示例 如下图所示,添加一个FB块,语言选择SCL,命名为“入栈”, 如下图所示,通过FOR循环实现堆栈数组内的元素的移动,并将入栈的数据赋值给数组的第一个元素, 如下图所示,添加一个全局DB块,在该DB块中添加一个长度为10…

Visio中插入Mathtyp公式

Visio中插入Mathtype公式 打开visio软件,依次点击“插入”–“对象”–“mathtype 6.0 equation”–“确定”,也可以得到我们想要的公式。 点击“对象”,然后显示出Mathtype公式 点击“Mathtype 7.0”,然后显示公式框 Way 1&a…

win10和win11鼠标灵敏度修改和大小颜色其他等步骤

目录 一、前言 二、win10鼠标设置 1.进入鼠标设置界面 2.鼠标速度的调节 3.鼠标大小和颜色的调节 4.鼠标其他设置 三、win11鼠标设置 1.进入搜索界面 2.鼠标大小和颜色设置 3.鼠标的移动灵敏速度设置 4.鼠标图标的自定义 一、前言 在使用电脑鼠标时候,会觉…

【自然语言处理】【ChatGPT系列】WebGPT:基于人类反馈的浏览器辅助问答

WebGPT: 基于人类反馈的浏览器辅助问答《WebGPT: Browser-assisted question-answering with human feedback》论文地址:https://arxiv.org/pdf/2112.09332.pdf 相关博客 【自然语言处理】【ChatGPT系列】WebGPT:基于人类反馈的浏览器辅助问答 【自然语言…

[HTML] HTML基础知识

1.HTML简介 HTML指的是超文本标记语言(HyperText Markup Language)&#xff0c;是一种用于创建网页的标准标记语言 HTML页面基本结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X…

SpringMVC框架

一、什么是 SpringMVC ? SpringMVC框架是以请求为驱动&#xff0c;围绕Servlet设计&#xff0c;将请求发给控制器&#xff0c;然后通过模型对象&#xff0c;分派器来展示请求结果视图。其中核心类是DispatcherServlet&#xff0c;它是一个Servlet&#xff0c;顶层是实现的Ser…

不会指针?还不进来看看——进阶指针详解

专栏&#xff1a;C语言 每日一句&#xff1a;人贵有自知之明&#xff0c;知道什么可为和不可为。若不可为&#xff0c;怎样做才能可为&#xff0c;那何时可为。 进阶指针前言一、字符指针二、指针数组1.指针数组的介绍2.指针数组的使用三、数组指针1.数组指针的介绍2.&数组…

历史大讲堂:真那么好用?Windows前世今生

hello大家好&#xff0c;这里是每天日更哒博主。 还记得我第一次说的Microsoft Dos吗&#xff1f;那期我提到一次Windows并许诺要讲讲&#xff0c;这不来了&#xff01;今天我们就详细的盘一盘最好用的系统Windows真有那么神吗&#xff1f; 注意&#xff01;以下内容包含非常…

人脸识别美颜算法实战-深度学习基础知识

深度学习与机器学习的区别: 机器学习:人类定义输入数据的特征 深度学习:机器自动找到输入数据的特征 在深度学习中,采用多层的神经网络架构来提取图像 信息,越靠近底层的神经网络提取出来的都是点、线等低维度特征, 而高维度的神经网络层则会更多地保留比如耳朵、眼睛…

MySQL事务基础知识

前言 学习/导流&#xff1a; 小林coding - 事务篇 学习意义 理解MySQL如何去处理并发问题&#xff0c;借鉴其思想存储作为应用的关键能力&#xff0c;而事务作为关系型数据库的关键概念&#xff0c;掌握很必要&#xff0c;也为分布式事务学习做奠基 相关说明 该篇博文是个…

快速搭建springboot程序

SpringBoot快速入门 观狂神讲解视频笔记 【狂神说Java】SpringBoot最新教程IDEA版通俗易懂 第一个springboot程序 使用 idea 可以快速构建一个 springboot 的项目&#xff1a; 1.创建新项目&#xff0c;选择 spring initializr&#xff08;会默认通过官网快速构建&#xff09…

【编程经验】如何学习编程语言的秘诀,编程语言选择,按需学习

大家好&#xff0c;欢迎来到停止重构的频道。最近有些朋友问我们如何学习编程、初学软件的问题&#xff0c;我们打算出几期内容聊聊我们的建议。本期聊一下如何学习编程语言。我们将压箱底的诀窍介绍给新手朋友&#xff0c;当然这仅仅是我们的一些经验&#xff0c;并不是绝对的…

连续四年第一!

近日&#xff0c;IDC发布《2022 H1中国AI云服务市场研究报告》&#xff0c;百度智能云连续四年市场份额第一&#xff0c;整体占比28.1%&#xff0c;在"人体人脸"、"图像视频"‍两个规模最大的子市场继续保持第一。‍‍ 在图像视频等多个领域蝉联市场第一 …

PLC算法系列之数值积分器(Integrator)

数值积分和微分在工程上的重要意义不用多说,闭环控制的PID控制器就是积分和微分信号的应用。流量累加也会用到。有关积分运算在流量累加上的应用,请参看下面的文章链接: SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)_RXXW_Dor的博客-CSDN博客_smart 200 流量积分…

【bootstrap】使用,初学者的总结

官网&#xff1a;bootstrap中文网 首页点击v3文档&#xff0c;然后下载最左边的那个。 解压后把里面的css和js文件复制过去&#xff0c;因为也要用到jQuery&#xff0c;所以要把jQuery.min.js也一起放入js文件夹。 然后&#xff0c;就是导入&#xff1a; <link rel"s…

Java互联网支付系统源码,基于SpringBoot,含支付宝,微信,银联详细代码案例

spring-boot-pay 支付服务&#xff1a;支付宝&#xff0c;微信&#xff0c;银联详细 代码案例 (支付宝和微信支付测试均需要企业认证&#xff0c;如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 )&#xff0c;项目启动前请仔细阅读 注意事项 :fa-hand-o-left…

快速上手 BearPi-HM Micro 一个带显示屏的开发板

一、前言 为什么要写这篇文章呢? 华为官方给OpenHarmony分:南向开发 和 北向开发 北向开发:应用APP开发 南向开发:设备开发 带显示屏的设备,可以更好的使用可视化界面,能更直接的利用烧录到设备里面的代码。 例如:冰箱上面的小的显示屏,可以更好的操控和观察当前冰箱…

一个 web 开发者眼中的技术美术(TA—Technical Artist)

Techical Artist 的中文翻译是技术美术&#xff0c;相比于直译为技术艺术家&#xff0c;技术美术这个称谓让我感觉更加亲切&#xff0c;当然艺术家这个称谓也很好&#xff0c;很高级 :p 。在游戏行业里我们常常能听到美术这个职业&#xff0c;而技术美术&#xff0c;从字面意思…

微信公众号活动策划方案怎么写?看完你也可以直接套用

一场成功的活动策划可以给企业带来相当可观的用户流量和曝光&#xff0c;前提是你的这份公众号活动策划方案是可执行和有回报的&#xff01; 毫不夸张的说&#xff0c;我们在写公众号活动策划方案之前&#xff0c;只要你搞清楚以下这几点&#xff0c;这个方案就可以说是成功了…

介绍一个MySQL参数检索工具

碰巧看到徐老师的这篇文章《MySQL的参数工具》&#xff0c;其中介绍了一个讲解MySQL不同版本参数的小工具&#xff0c;网站的作者是MySQL日本用户组的负责人Tomita。该网站能够提供不同版本MySQL的参数&#xff0c;包括不同版本之间的对比。当用户需要对MySQL进行升级、需要确认…