DavidChan0519 / DavidChan0519.github.io

DavidChan的技术笔记
1 stars 0 forks source link

caffe 权重介绍 | 程伟的技术笔记 #79

Open DavidChan0519 opened 5 years ago

DavidChan0519 commented 5 years ago

https://davidchan0519.github.io/2019/08/30/caffe-model-introduce/#more

如果用公式 y = f(wx+b)来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。 数据训练完成后,保存在caffemodel里面的,实际上就是各层的w和b值。

ayanmw commented 3 years ago

Go之Slice陷阱: 仅仅是因为你反了一个错, slice 是不应该用= 赋值的.

关键赋值后, 你不能进行修改, 因为 多个slice 是可以共用了一段内存的. 你复制的仅仅是slice本身的结构 (指针,len,cap) ,并不包括数据.

正确的做法是: 用copy (即深拷贝,将数据复制一份)

func TestA(t *testing.T) {
    a := []int{0, 0}
    a = append(a, 0)
    var b = make([]int, len(a), cap(a))
    fmt.Println(copy(b, a))
    fmt.Println(a, b)
}

然后随意修改 都不会互相影响的.

注意, copy 的dest 要提前分配 len() 大小的可用空间.