Lecture_3:Loss_Functions_and_Optimization
斯坦福CS231n课程Lecture_3
To be continued
Recall
接上讲,此时我们需要优化我们的权重矩阵使得分类器具有更好的性能。我们需要做以下两件事情。
定义一个损失函数来衡量最终得分的好坏
想出一个方法能够寻找到合适的参数(权重)使得损失函数最小
损失函数
合页损失
假设我们拥有三个样本分别属于不同的类别,同时我们存在一个权重矩阵\(w\)使得最终得分如下。
以多分类支持向量机的合页损失举例,对于\(x_i\)(图像样本)以及\(y_i\)(标签)和\(s\)(分数向量),有如下表达式👇:对于该样本对应的类别分数我们不进行计算(也就是说如果第一个样本是一只猫,我们并不对cat这一类别进行损失计算,我们只在乎其他类别)
如果正确类别的分数减去其它类别的分数大于1,则损失为0,如果差值小于1,则其损失为其它类别的分数减去正确类别的分数+1。对所有的其他的C-1个类别都进行计算并求和则得到我们的最终的Loss。
为什么+1,1只是一个安全边界。我把它理解为对于错误分类的容忍程度。
例子
...
Ubuntu18.04安装RealsenseROS
建立工作空间
12mkdir -p ~/realsense_ws/srccd ~/realsense_ws/src/
下载需要的包
12git clone https://github.com/IntelRealSense/realsense-ros.gitgit clone https://github.com/pal-robotics/ddynamic_reconfigure
更改文件
1sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
在/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113大概是94和96行附近,/use/include/opencv改成/use/include/opencv4即可,否则后续编译报错。
编译
123catkin_init_workspace cd ~/catkin_wscatkin_make
配置环境变量
12echo "source ~/cat ...
Ubuntu18.04安装ROS
注意你的系统🚀
不同版本的Ubuntu对应不同版本的ROS,请注意你的系统。
ROS
Ubuntu
indigo
14.04
kinetic
16.04
melodic
18.04
安装
设置中科大源
1sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
设置公钥
1sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新一下可用软件包列表
1sudo apt update
安装ROS
123s ...
Ubuntu18.04安装realsense
Ubuntu18.04安装realsense
为了避免不必要的错误,强烈建议使用源码编译方式安装Realsense.为了后期与RealsenseRos版本匹配,本教程使用Realsense2.4.5
二进制安装
依次执行即可👇
12345678910sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDEsudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -usudo apt-get install librealsense2-dkmssudo ap ...
JetsonTX2刷机Ubuntu18.04
安装好你的Ubuntu18.04
在你的宿主机上安装Ubuntu18.04不要去尝试安装22.04和20.04,没JetPack的。同时,不建议使用虚拟机进行操作,建议使用双系统或者你本身就是Ubuntu18.04。
安装步骤
下载Rufus,你可以使用UltraISO,但我不能保证他能完全正常运行。
下载Ubuntu18.04
使用Rufus将镜像烧录至你的U盘,如果存在困难,请参考这里
设置U盘启动,安装Ubuntu18.04。
系统安装完毕简单配置一下就行
安装JDK Manager
下载
在这里寻找到你的软件,注意一定要选择1.8.0,因为我试过的一些版本会在刷机时报一些莫名其妙的错。
安装
你可以选择直接使用软件安装打开进行安装,也可以选择命令行形式安装。
1sudo apt install ./你下载的deb全名
打开SDK Manager
登录后
设备选择TX2 Module
选择JetPack 4.5.1 rev.1
DeepStream没必要选择
在Win上码字,切换Ubuntu演示不便,这里借用 ...
Assignment1_Q2
Q2: Training a Support
Vector Machine
同Q1,使用cifar10数据集,数据导入不过多赘述
To be continued
分割数据集
12345678910111213141516171819202122232425262728293031323334353637383940414243444546# Split the data into train, val, and test sets. In addition we will# create a small development set as a subset of the training data;# we can use this for development so our code runs faster.num_training = 49000num_validation = 1000num_test = 1000num_dev = 500# Our validation set will be num_validation points from the ...
Assignment1_Q1
2022版Assignment的作业
CS231n课程详情页
Q1: k-Nearest Neighbor
classifier
如果你是安装有wget,那么请跳过这一提示。如果你是Windows系统,请在下载地址处下载Cifar数据集放至./cs231n/datasets/cifar-10-batches-py内,不推荐执行第一块代码块进行数据集下载。
导入需要的库
1234567891011121314# Run some setup code for this notebook.import randomimport numpy as npfrom cs231n.data_utils import load_CIFAR10import matplotlib.pyplot as plt#可以将matlab图表嵌入到jupyter中%matplotlib inlineplt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plotsplt.rcParams[' ...
Lecture_2:Image_Classification_pipeline
斯坦福CS231n课程Lecture_2
🐱图像分类问题😼
语义鸿沟
对于人类的视觉系统而言,分类下面这张图像轻而易举。
很明显,这是一只猫🐈,但在计算机的眼里它仅仅是一个数值为[0,255]间的矩阵,猫咪是我们赋予图像的一个语义标签,但是一只猫咪的语义概念和计算机所看到的成百上千密密麻麻的矩阵有着巨大的差距,这就是语义鸿沟。
挑战
以下问题无论在传统的机器学习算法上还是深度学习算法上都算得上是难题,虽然深度神经网络具有非常强大的泛化能力,但并不是说深度学习就可以All
in one的。
视角问题
将相机略微移动一些位置,这个矩阵内的数值可能发生了翻天覆地的变化,但它仍然是一只猫,算法需要对这些鲁棒。
照明问题
不同的照片可能存在不同的照明环境,无论猫咪出现在这样漆黑、昏暗的场景中,还是在非常明亮的场景中,我们的算法也应当是鲁棒的。
光线真的是一个非常令人头疼的问题。亲身经历,特别是灰度图像,且类间差距较小的时候,对语义分割这种任务的性能影响可以说是暴击。
形变问题
大家都知道,猫咪:流体动物。猫咪可以 ...
Lecture_1:Introduction
在这里,我将记录在学习斯坦福CS231n公开课时的一些记录、收获,以及感悟
文章内大部分图片取自CS231n_2017内官方PPT
本篇PDF地址http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture1.pdf
# 引言
在今天,无论你是发一条说说(发一条朋友圈),还是闲暇之余逛逛📺Bilibili看看抖音,都离不开图像数据。目前,图像数据已经几乎占据了网络上的80%甚至更多的流量,这些图像的量显而易见十分庞大,但是让计算机去理解到底是什么构成了这些视觉数据即使是2022年的今天也是一件非常困难的事情。
举个例子,每天都有成千上万的人在抖音短视频APP内滑动着他们的手指来获得下一个视频,也许他们已经看完了上一个视频,也许他们因为并不喜欢它而快速划走。我们常常会说的"号养好了"意味着我们的账户所随机获取到的视频很符合你的胃口。那么,它是怎么知道你喜欢喜欢的是何种短视频呢?难道它真的碰巧与你臭味相投或是志同道合吗哈哈。如果我们浅浅思考一下,可能会想到这两个问题:
它是如何知道我们喜爱哪个视频 ...
SQL_Server2005-Win10安装办法
吐槽
当下很多的大学的教学课程设计与社会实践已经完全背离了,比如2022年了居然在使用SQL
Server2005,是谁我不说昂。
但是没有办法啊,谁能不要绩点呢,可是在win10上安装古早的SQL
server甚是费力,之前琢磨了几个小时也没有安装上去,但是现在已经有法子啦🌌!
下载安装文件以及替换文件
在这里下载你的SQL_Server2005👉百度云链接
我们会得到三个文件👇
安装文件
32位替换文件
64位替换文件
安装过程
启用一些必要功能
在安装之前需要启用一些功能否则安装一定失败!
打开控制面板
可以在你的文件管理器中打开
点击此处
将图内的加号都点开全部打上✔️
下图内的功能及其子功能与服务需要全部打上✔️,全部打完后会与下图显示一样,而不是一个黑框!
开始安装
使用解压缩软件解压或装载1.安装文件👆
得到以下目录
打开安装程序:位于./SQL Server x64/Servers
如果你可以右击属性选择windows7兼容模式运行最好,没有请直接管理员运行。安装过程 ...