caffe中的solver.protxt的test_iter以及test_interval的区别

在读完http://www.cnblogs.com/denny402/p/5074049.html这个博客之后,又有了新的感悟:

test_iter: 100

这个要与test layer中的batch_size结合起来理解。mnist数据中测试样本总数为10000,一次性执行全部数据效率很低,因此我们将测试数据分成几个批次来执行,每个批次的数量就是batch_size。假设我们设置batch_size为100,则需要迭代100次才能将10000个数据全部执行完。因此test_iter设置为100。执行完一次全部数据,称之为一个epoch

test_interval: 500

测试间隔。也就是每训练500次,才进行一次测试。

-------------------------------以上就是test_iter与test_interval的区别,这两个内容总是混,现在清楚了-------------------------

 

在C#使用MyCaffe调用train.caffemodel和prototxt文件的步骤与使用mean.binaryproto文件类似。您可以使用MyCaffe提供的BlobProto和NetParameter类来加载这些文件,并将它们转换为C#的对象。 以下是一个示例代码片段,展示了如何在C#使用MyCaffe加载train.caffemodel和prototxt文件: ```csharp using MyCaffe; using MyCaffe.basecode; using MyCaffe.common; using MyCaffe.param; using MyCaffe.proto; using System.Collections.Generic; namespace MyCaffeTest { class Program { static void Main(string[] args) { // Load the prototxt file NetParameter net_param = new NetParameter(); net_param.CopyFrom(LayerParameter.ParseFrom(File.ReadAllBytes("train.prototxt"))); // Load the caffemodel file BlobProto blob_proto = new BlobProto(); blob_proto.Load("train.caffemodel"); // Convert the BlobProto object to a Blob object BlobCollection<float> colBlobs = new BlobCollection<float>(); Blob<float> blob = new Blob<float>(new List<int> { 1, 3, 256, 256 }); blob.FromProto(blob_proto); colBlobs.Add(blob); // Create the solver SolverParameter solver_param = new SolverParameter(); solver_param.net_param = net_param; solver_param.test_iter.Add(0); solver_param.test_interval = 1; solver_param.base_lr = 0.01; solver_param.momentum = 0.9; solver_param.weight_decay = 5e-4; solver_param.lr_policy = "inv"; solver_param.gamma = 0.1; solver_param.power = 0.75; solver_param.display = 1; solver_param.max_iter = 1; solver_param.snapshot = 1; solver_param.snapshot_prefix = "snapshot"; solver_param.type = SolverParameter.SolverType.SGD; // Create the solver and solve the net MyCaffeControl<float> mycaffe = new MyCaffeControl<float>(null, null, null, colBlobs, null, solver_param, null, null, null, null); mycaffe.Solve(); System.Console.ReadKey(); } } } ``` 在上面的代码,我们使用了MyCaffe提供的NetParameter和BlobProto类,分别加载了train.prototxt和train.caffemodel文件。我们还创建了一个SolverParameter对象,并使用NetParameter对象初始化它。最后,我们使用这些对象创建了一个MyCaffeControl对象,并使用Solve函数来训练网络。 希望这可以帮助您解决问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值