コード例 #1
0
	std::pair<layer_data_list_smart_ptr, std::string> network_trainer_sgd::prepare_learning_rates(unsigned int epoch)
	{
		float learning_rate = get_global_learning_rate(static_cast<unsigned int>(epoch));

		layer_data_list_smart_ptr lr(new layer_data_list(*schema));
		lr->fill(learning_rate);

		std::string comment = (boost::format("LR %|1$.5e|") % learning_rate).str();

		return std::make_pair(lr, comment);
	}
コード例 #2
0
	std::pair<std::vector<std::vector<float> >, std::string> network_trainer_sgd::prepare_learning_rates(
		unsigned int epoch,
		network_data_smart_ptr data)
	{
		float learning_rate = get_global_learning_rate(static_cast<unsigned int>(epoch));

		std::vector<std::vector<float> > res;

		for(layer_data_list::const_iterator it = data->data_list.begin(); it != data->data_list.end(); ++it)
			res.push_back(std::vector<float>((*it)->size(), learning_rate));

		std::string comment = (boost::format("LR %|1$.5e|") % learning_rate).str();

		return std::make_pair(res, comment);
	}
コード例 #3
0
	std::pair<std::map<std::string, std::vector<float> >, std::string> network_trainer_sgd::prepare_learning_rates(
		unsigned int epoch,
		network_data::const_ptr data)
	{
		float learning_rate = get_global_learning_rate(static_cast<unsigned int>(epoch));

		std::map<std::string, std::vector<float> > res;

		std::vector<std::string> layer_names = data->data_list.get_data_layer_name_list();
		for(std::vector<std::string>::const_iterator it = layer_names.begin(); it != layer_names.end(); ++it)
		{
			layer_data::ptr dt = data->data_list.get(*it);

			res.insert(std::make_pair(*it, std::vector<float>(dt->size(), learning_rate)));
		}

		std::string comment = (boost::format("LR %|1$.5e|") % learning_rate).str();

		return std::make_pair(res, comment);
	}