2024-08-07, 20:48-今日內容

A star Un informed search informed search, greedy best first search Stack , DFS depth first search , BFs breath first search Node searching problem. New Note Search. Harvard CS50 python Harvard Cs 50 AI with python x此oh>sum Law of large numbers Central limit theorem Random variable & normal distribution dispersion standard deviation range interquatile range, standard deviation… sampling 概率论 描述data (ML)mean , mode, median central tendency 中心趋势 hhWWBWB+4:e⁰_-0 65(3,2) torch里面的view 可以改变我们的matrix的形状,特别适合用来更改维度 See torch.arange是干什么的 torch.zeros 14:7.78] → - X=:(0⁰!^2⋅3imma1001/00/4⋅7.81/X:C:1 pytorch 的 tensor matrix 怎么通过索引取value 什么是integer tensor (torch里面的概念) torch.INT64? 就是torch.long 一模一樣。 所以long 就是int! one hot encoding 對於多维度向量的表达,在pytorch里面 torch.float 是 float32 一模一樣 abl s 27 character, building NLP 的dataset [0] * 5 是多少 Dictionary 同时获取key 和value的方式 MLP 解决NLP问题 y=tanhx

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

A star 

#Astar

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Un informed search informed search, greedy best first search uninformed search  informed search 

 #Manhattan_distance #Harvard #python #Astar

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Stack , DFS depth first search , BFs breath first search last in first out

#stack

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Node searching problem. ✓ Parent ✓ Path cost ◦  ✓ Action. ✓ State

#stack #CS50 #Harvard #Searching

Harvard CS50’s Artificial Intelligence with Python – Full University Course

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

New Note

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Search. Harvard CS50 python 

 #CS50 #python #Harvard

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Harvard Cs 50 AI with python 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

x此oh>sum 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Law of large numbers Central limit theorem 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Random variable & normal distribution 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

dispersion standard deviation range interquatile range, standard deviation… dispersion standard deviation range interquatile range, standard deviation

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

sampling 概率论 描述data (ML)mean , mode, median (13) Statistics: Sampling and Describing Data | Math for ML (Part 2) - YouTube

Mode 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

central tendency 中心趋势 一般用 mean median Mode 来描述数据的特征

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

hhWWBWB+4:e⁰_-0 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

65(3,2) 

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

torch里面的view 可以改变我们的matrix的形状,特别适合用来更改维度 特别是增加一个维度或者减小一个维度

只要是变化前后,每个维度的数字想乘,一致 就可以了。

例子: 假如a 是一个torch.tensor,a 的shape是(37, 3, 2)

也就是37条数据,3个数字,2每个数字有两个特征

我们为了把他feed进去NN,就需要把这个压缩称为两个维度的。所以会用到view 来改变

也就是我们要把最后两个维度进行压缩,成只有一个维度的。 执行 a.view(37, 6)

Kanpathy 说这个view 是特别efficient的一个操作,因为他并没有增加内存的使用。他还分享了一个文章,来告诉我pytorch的internal是怎么对这个view进行牛逼的改造的。 足以证明这个view的厉害。 (13) Building makemore Part 2: MLP - YouTube

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

See torch.arange是干什么的 给他一个开始(一般都是0),给他一个结束(最后他产生的数是包含这个结束的数的),给他一个step就可以工作,他一般会让step是1, 然后开始间隔一个数产生一个新的值,然后最后用torch.tensor包裹着这个产生的list

这里有个例子:

1.	torch.arange(5) 给你的是torch([0, 1, 2, 3, 4)

2.	torch.arange(1, 4) 给你的是(1, 2, 3, 4)

3.	Torch.arange(1, 2.5, 0.5) 给你的是tensor([1.0000, 1.5000, 2.0000])

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

torch.zeros 返回的是满足你给出的形状的全是0的torch.tensor的matix。 每一个row都是一个tensor

你只需要给出形状的shape就好了

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

14:7.78] → -  有多少的个数字等着被one hot encode,我们就会有多少个新的row。 每个row有多少个column来描述他,就是我们给他的num_classes来决定的

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

X=:(0⁰!^2⋅3imma1001/00/4⋅7.81/X:C:1 

请解释为什么C[X]会变成shape 32, 3, 2。 我理解的是X难道不是C的索引嘛? X的形状都超出了C的shape了,为什么这个操作还是合法的? 

在这个例子中,C 是一个形状为 [27, 2] 的张量,而 X 是一个形状为 [32, 3] 的张量。当你执行 C[X] 时,这是一个高级索引(advanced indexing)的操作,它会产生一个新的张量。

在 PyTorch 中,高级索引会遵循以下规则:

  1. X 中的每个值都是 C 的索引。
  2. C 的形状是 [27, 2],所以 C 的第一个维度有 27 个元素,而第二个维度有 2 个元素。
  3. X 的形状是 [32, 3],表示你有一个 32 行 3 列的索引数组。

当你使用 C[X] 时,PyTorch 会使用 X 的值来索引 C。具体来说,每个 X 的值会指向 C 的第一维度,然后提取对应的第二维度的所有元素。

举个例子:

  • 假设 X[0, 0] 的值是 5,那么 C[5] 会返回一个形状为 [2] 的向量(因为 C 的第二维度有 2 个元素)。
  • 类似地,X[0, 1] 可能是 10,那么 C[10] 会返回另一个形状为 [2] 的向量。

因此,C[X] 的结果是,将 X 中每个索引都替换为 C 的对应行,得到一个形状为 [32, 3, 2] 的张量:

  • 32X 的第一个维度的大小。
  • 3X 的第二个维度的大小。
  • 2C 的第二个维度的大小。

所以 C[X] 的形状为 [32, 3, 2]

这就是为什么即使 X 的形状 [32, 3] 超出了 C 的形状 [27, 2],这个操作仍然是合法的。X 实际上是用于索引 C 的第一维度,而 C 的第二维度保持不变。高级索引会自动处理这种情况并返回预期的结果。

我的解释:

我明白了。我们提取的X的其实是他的value,而不是row 和column number。而这个value刚好在C的row的自取范围内?

是的,你理解得完全正确!

当我们使用 C[X] 进行高级索引时,X 中的值实际上用作 C 的行索引,而不是行和列的编号。具体来说:

  • X 的每个元素值(比如 X[i, j])都表示要从 C 的哪一行进行索引。
  • 由于 C 的形状是 [27, 2]X 中的值必须在 026 之间,这样 C[X] 操作才能合法。

举个例子,如果 X 的值在 026 之间:

  • 假设 X[0, 0] 的值是 5,那么 C[5] 会返回 C 的第 5 行。
  • 这第 5 行是一个长度为 2 的向量(因为 C 的第二维度是 2)。

这样,C[X] 的形状变成 [32, 3, 2]

  • 323X 的形状。
  • 2C 的第二维度的长度。

所以,你提取的 X 的值用作 C 的行索引,而不是 X 的行和列编号。这个值必须在 C 的行范围内,即在 026 之间,这样 C 才能正确地索引这些值并返回相应的结果。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

pytorch 的 tensor matrix 怎么通过索引取value

  1. 可以用integer
    1. 可以用list
    2. 可以用integer tensor

    3. (13) Building makemore Part 2: MLP - YouTube 17:03

一个小小的例子: C[torch.tensor([5, 6, 7, 8, 7, 7, 7, 7)] 这里的torch.tensor就是integer tensor。 里面的都是integer的list 被一层torch.tensor包裹着了。

这里的C就是一个torch.tensor包裹的matrix 我们可以通过这个语法,索引到C的第5, 6, 7, 8, 7, 7, 7, 7这些行的值

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

什么是integer tensor (torch里面的概念) 也就是,tensor包裹的是integer

可以是这样的torch.tensor([1, 2, 3])

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

torch.INT64? 就是torch.long 一模一樣。 所以long 就是int! 就是代表int的意思

只不過是能夠存儲很長的int

注意在torch里面。 F.one_hot()给你返回的就是int64或者说事long 转换她们的方法就是.float() 直接cast就好了,long可以这样搞成float,这个事long这个class里面已经有的一个函数。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

one hot encoding 對於多维度向量的表达,在pytorch里面 vector [5] 让他的num_classes = 7 , 会把整个过程做成:

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

torch.float 是 float32 一模一樣

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

abl s 27 character, (13) Building makemore Part 2: MLP - YouTube

 unifrom distribution

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

building NLP 的dataset  data type: X:integer [32] torch.int64 label Y: interger : [32, 3] torch.int64

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

[0] * 5 是多少 答案是[0, 0, 0, 0, 0]

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Dictionary 同时获取key 和value的方式 dd.items()

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

MLP 解决NLP问题 每个字, (一共13000个字/character) ,把每个字都弄成vector 相似的字,可能在经过我们的training((也就是back propagation之后,可以知道他们是可以替换的,也就是在vector的向量空间他们离得很近)   

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

y=tanhx 

#匯總今日內容