本文整理汇总了C++中layer_configuration_specific::get_dimension_count方法的典型用法代码示例。如果您正苦于以下问题:C++ layer_configuration_specific::get_dimension_count方法的具体用法?C++ layer_configuration_specific::get_dimension_count怎么用?C++ layer_configuration_specific::get_dimension_count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类layer_configuration_specific
的用法示例。
在下文中一共展示了layer_configuration_specific::get_dimension_count方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_output_layer_configuration_specific
layer_configuration_specific max_subsampling_layer::get_output_layer_configuration_specific(const layer_configuration_specific& input_configuration_specific) const
{
if (input_configuration_specific.get_dimension_count() != subsampling_sizes.size())
throw neural_network_exception((boost::format("Dimension count in layer (%1%) and input configuration (%2%) don't match") % subsampling_sizes.size() % input_configuration_specific.get_dimension_count()).str());
layer_configuration_specific res(input_configuration_specific.feature_map_count);
if (tiling)
{
for(unsigned int i = 0; i < subsampling_sizes.size(); ++i)
{
if (input_configuration_specific.dimension_sizes[i] < (subsampling_sizes[i] * 2 - 1))
throw neural_network_exception((boost::format("Input configuration size (%1%) of dimension (%2%) is smaller than subsampling size (%3%) * 2 - 1") % input_configuration_specific.dimension_sizes[i] % i % subsampling_sizes[i]).str());
res.dimension_sizes.push_back((input_configuration_specific.dimension_sizes[i] - (subsampling_sizes[i] - 1))/ subsampling_sizes[i]);
}
}
else
{
for(unsigned int i = 0; i < subsampling_sizes.size(); ++i)
{
if (input_configuration_specific.dimension_sizes[i] < subsampling_sizes[i])
throw neural_network_exception((boost::format("Input configuration size (%1%) of dimension (%2%) is smaller than subsampling size (%3%)") % input_configuration_specific.dimension_sizes[i] % i % subsampling_sizes[i]).str());
res.dimension_sizes.push_back(input_configuration_specific.dimension_sizes[i] / subsampling_sizes[i]);
}
}
return res;
}
示例2: get_output_layer_configuration_specific
layer_configuration_specific convolution_layer::get_output_layer_configuration_specific(const layer_configuration_specific& input_configuration_specific) const
{
if (input_configuration_specific.feature_map_count != input_feature_map_count)
throw neural_network_exception((boost::format("Feature map count in layer (%1%) and input configuration (%2%) don't match") % input_feature_map_count % input_configuration_specific.feature_map_count).str());
if (input_configuration_specific.get_dimension_count() != window_sizes.size())
throw neural_network_exception((boost::format("Dimension count in layer (%1%) and input configuration (%2%) don't match") % window_sizes.size() % input_configuration_specific.get_dimension_count()).str());
layer_configuration_specific res(output_feature_map_count);
for(unsigned int i = 0; i < window_sizes.size(); ++i)
{
if (input_configuration_specific.dimension_sizes[i] < window_sizes[i])
throw neural_network_exception((boost::format("Input configuration size (%1%) of dimension (%2%) is smaller than layer window size (%3%)") % input_configuration_specific.dimension_sizes[i] % i % window_sizes[i]).str());
res.dimension_sizes.push_back(input_configuration_specific.dimension_sizes[i] + 1 - window_sizes[i]);
}
return res;
}
示例3: get_input_layer_configuration_specific
layer_configuration_specific max_subsampling_layer::get_input_layer_configuration_specific(const layer_configuration_specific& output_configuration_specific) const
{
if (output_configuration_specific.get_dimension_count() != subsampling_sizes.size())
throw neural_network_exception((boost::format("Dimension count in layer (%1%) and output configuration (%2%) don't match") % subsampling_sizes.size() % output_configuration_specific.get_dimension_count()).str());
layer_configuration_specific res(output_configuration_specific.feature_map_count);
if (tiling)
{
for(unsigned int i = 0; i < subsampling_sizes.size(); ++i)
res.dimension_sizes.push_back(output_configuration_specific.dimension_sizes[i] * subsampling_sizes[i] + (subsampling_sizes[i] - 1));
}
else
{
for(unsigned int i = 0; i < subsampling_sizes.size(); ++i)
res.dimension_sizes.push_back(output_configuration_specific.dimension_sizes[i] * subsampling_sizes[i]);
}
return res;
}
示例4: get_input_layer_configuration_specific
bool upsampling_layer::get_input_layer_configuration_specific(
layer_configuration_specific& input_configuration_specific,
const layer_configuration_specific& output_configuration_specific,
unsigned int input_layer_id) const
{
if (output_configuration_specific.get_dimension_count() != upsampling_sizes.size())
throw neural_network_exception((boost::format("Dimension count in layer (%1%) and output configuration (%2%) don't match") % upsampling_sizes.size() % output_configuration_specific.get_dimension_count()).str());
if (output_configuration_specific.feature_map_count % feature_map_upsampling_size != 0)
throw neural_network_exception((boost::format("Feature map count in output config (%1%) is not evenly divisible by feature map upsampling size (%2%)") % output_configuration_specific.feature_map_count % feature_map_upsampling_size).str());
input_configuration_specific = layer_configuration_specific(output_configuration_specific.feature_map_count / feature_map_upsampling_size);
for(unsigned int i = 0; i < upsampling_sizes.size(); ++i)
{
if (output_configuration_specific.feature_map_count % feature_map_upsampling_size != 0)
throw neural_network_exception((boost::format("Dimension size in output config (%1%) is not evenly divisible by upsampling size (%2%)") % output_configuration_specific.dimension_sizes[i] % upsampling_sizes[i]).str());
input_configuration_specific.dimension_sizes.push_back(output_configuration_specific.dimension_sizes[i] / upsampling_sizes[i]);
}
return true;
}