void save_resume_network_data_pusher::save_data_to_file(
		network_data_smart_ptr data,
		std::string filename) const
	{
		std::string temp_filename = filename + ".temp";

		boost::filesystem::path filepath = folder_path / filename;
		boost::filesystem::path temp_filepath = folder_path / temp_filename;

		{
			boost::filesystem::ofstream file_with_data(temp_filepath, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc);
			data->write(file_with_data);
		}

		boost::filesystem::rename(temp_filepath, filepath);
	}
Esempio n. 2
0
void gtsrb_toolset::prepare_training_data()
{
	{
		boost::filesystem::path file_path = get_working_data_folder() / training_data_filename;
		std::cout << "Writing data to " << file_path.string() << std::endl;

		std::tr1::shared_ptr<std::ofstream> file_with_data(new boost::filesystem::ofstream(file_path, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc));
		nnforge::layer_configuration_specific input_configuration;
		input_configuration.feature_map_count = is_color ? 3 : 1;
		input_configuration.dimension_sizes.push_back(image_width);
		input_configuration.dimension_sizes.push_back(image_height);
		nnforge::layer_configuration_specific output_configuration;
		output_configuration.feature_map_count = class_count;
		output_configuration.dimension_sizes.push_back(1);
		output_configuration.dimension_sizes.push_back(1);
		nnforge::supervised_data_stream_writer writer(
			file_with_data,
			input_configuration,
			output_configuration);

		for(unsigned int folder_id = 0; folder_id < class_count; ++folder_id)
		{
			boost::filesystem::path subfolder_name = boost::filesystem::path("Final_Training") / "Images" / (boost::format("%|1$05d|") % folder_id).str();
			std::string annotation_file_name = (boost::format("GT-%|1$05d|.csv") % folder_id).str();

			write_folder(
				writer,
				subfolder_name,
				annotation_file_name.c_str(),
				true);
		}
	}
	
	{
		boost::filesystem::path file_path = get_working_data_folder() / validating_data_filename;
		std::cout << "Writing data to " << file_path.string() << std::endl;

		std::tr1::shared_ptr<std::ofstream> file_with_data(new boost::filesystem::ofstream(file_path, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc));
		nnforge::layer_configuration_specific input_configuration;
		input_configuration.feature_map_count = is_color ? 3 : 1;
		input_configuration.dimension_sizes.push_back(image_width);
		input_configuration.dimension_sizes.push_back(image_height);
		nnforge::layer_configuration_specific output_configuration;
		output_configuration.feature_map_count = class_count;
		output_configuration.dimension_sizes.push_back(1);
		output_configuration.dimension_sizes.push_back(1);
		nnforge::supervised_data_stream_writer writer(
			file_with_data,
			input_configuration,
			output_configuration);

		boost::filesystem::path subfolder_name = boost::filesystem::path("Final_Test") / "Images";
		std::string annotation_file_name = "GT-final_test.csv";

		write_folder(
			writer,
			subfolder_name,
			annotation_file_name.c_str(),
			false);
	}
}