1. 程式人生 > >caffe中cpu_data 和mutable_cpu_data

caffe中cpu_data 和mutable_cpu_data

一開始看程式碼的時候會納悶,為啥caffe裡頭又一個 cpu_data還要有一個mutable_cpu_data
  1. constvoid* SyncedMemory::cpu_data() {  
  2.   to_cpu();  
  3.   return (constvoid*)cpu_ptr_;  
  4. }  
  1. void* SyncedMemory::mutable_cpu_data() {  
  2.   to_cpu();  
  3.   head_ = HEAD_AT_CPU;  
  4.   return cpu_ptr_;  
  5. }  
他們之間就相差一個 head_ = HEAD_AT_CPU; 當你想讀取資料的時候請使用cpu_data 當然想修改資料的時候請你使用mutable_cpu_data。 這樣就提示系統資料我改過啦,你要小心了的意思(我只知道資料一定在CPU上)。