Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does 'Attempting to upgrade input file specified using deprecated transformation parameters' mean?

I am currently trying to train my first net with Caffe. I get the following output:

caffe train --solver=first_net_solver.prototxt
I0515 09:01:06.577710 15331 caffe.cpp:117] Use CPU.
I0515 09:01:06.578014 15331 caffe.cpp:121] Starting Optimization
I0515 09:01:06.578097 15331 solver.cpp:32] Initializing solver from parameters: 
test_iter: 1
test_interval: 1
base_lr: 0.01
display: 1
max_iter: 2
lr_policy: "inv"
gamma: 0.0001
power: 0.75
momentum: 0.9
weight_decay: 0
snapshot: 1
snapshot_prefix: "first_net"
solver_mode: CPU
net: "first_net.prototxt"
I0515 09:01:06.578203 15331 solver.cpp:70] Creating training net from net file: first_net.prototxt
E0515 09:01:06.578348 15331 upgrade_proto.cpp:609] Attempting to upgrade input file specified using deprecated transformation parameters: first_net.prototxt
I0515 09:01:06.578533 15331 upgrade_proto.cpp:612] Successfully upgraded file specified using deprecated data transformation parameters.
E0515 09:01:06.578549 15331 upgrade_proto.cpp:614] Note that future Caffe releases will only support transform_param messages for transformation fields.
E0515 09:01:06.578574 15331 upgrade_proto.cpp:618] Attempting to upgrade input file specified using deprecated V1LayerParameter: first_net.prototxt
I0515 09:01:06.578635 15331 upgrade_proto.cpp:626] Successfully upgraded file specified using deprecated V1LayerParameter
I0515 09:01:06.578729 15331 net.cpp:42] Initializing net from parameters: 
name: "first_net"
input: "data"
input_dim: 1
input_dim: 5
input_dim: 41
input_dim: 41
state {
  phase: TRAIN
}
layer {
  name: "data"
  type: "ImageData"
  top: "data2"
  top: "data-idx"
  transform_param {
    mirror: false
    crop_size: 41
  }
  image_data_param {
    source: "/home/moose/GitHub/first-net/data-images.txt"
  }
}
layer {
  name: "label-mask"
  type: "ImageData"
  top: "label-mask"
  top: "label-idx"
  transform_param {
    mirror: false
    crop_size: 41
  }
  image_data_param {
    source: "/home/moose/GitHub/first-net/labels-images.txt"
  }
}
layer {
  name: "assert-idx"
  type: "EuclideanLoss"
  bottom: "data-idx"
  top: "loss"
}

What does

Attempting to upgrade input file specified using deprecated transform parameters / V1LayerParameter

mean? Where exactly did I use something deprecated? What should I use instead?

like image 859
Martin Thoma Avatar asked May 15 '15 07:05

Martin Thoma


1 Answers

Recently, input transformation (scaling/cropping etc.) was separated from the IMAGE_DATA layer into a separate object: data transformer. This change affected the protobuffer syntax and the syntax of the IMAGE_DATA layer.

It appears as if your first_net.prototxt is in the old format and Caffe converts it for you to the new format.

You can do this conversion manually yourself using ./build/tools/upgrade_net_proto_text (for prototxt files) and ./build/tools/upgrade_net_proto_binary (for binaryproto files).

like image 136
Shai Avatar answered Nov 09 '22 08:11

Shai