|
TorchCraftAI
A bot for machine learning research on StarCraft: Brood War
|
Sparse featurizer for numeric unit types. More...
#include <unitsfeatures.h>
Inherits cherrypi::UnitAttributeFeaturizer.
Public Member Functions | |
| UnitTypeFeaturizer () | |
| FeatureData | toOneHotSpatialFeature (Data const &data, int unitValueOffset, std::unordered_map< int, int > const &channelValues) const |
Public Member Functions inherited from cherrypi::UnitAttributeFeaturizer | |
| virtual | ~UnitAttributeFeaturizer ()=default |
| virtual Data | extract (State *state, UnitsInfo::Units const &units, Rect const &boundingBox=Rect()) |
| Extract unit features for a given set of units. More... | |
| Data | extract (State *state, Rect const &boundingBox=Rect()) |
| Extract unit features for all live units. More... | |
| Data | extract (State *state, UnitFilter filter, Rect const &boundingBox=Rect()) |
| Extract unit features for all live units that pass the given filter. More... | |
| FeatureData | toSpatialFeature (Data const &data, SubsampleMethod pooling=SubsampleMethod::Sum) const |
| Embeds the unit attribute data into a spatial feature. More... | |
| void | toSpatialFeature (FeatureData *dest, Data const &data, SubsampleMethod pooling=SubsampleMethod::Sum) const |
| Embeds the unit attribute data into a spatial feature. More... | |
Static Public Attributes | |
| static int constexpr | kNumUnitTypes = 233 * 3 |
Protected Member Functions | |
| virtual void | extractUnit (TensorDest acc, Unit *unit) override |
| Reimplement this in actual featurizers. More... | |
Additional Inherited Members | |
Public Types inherited from cherrypi::UnitAttributeFeaturizer | |
| using | UnitFilter = std::function< bool(Unit *)> |
| using | TensorDest = torch::TensorAccessor< float, 1 > |
Public Attributes inherited from cherrypi::UnitAttributeFeaturizer | |
| std::shared_ptr< BaseJitter > | jitter = std::make_shared<NoJitter>() |
| Optional jittering of unit positions. More... | |
| CustomFeatureType | type |
| std::string | name |
| int | numChannels |
Sparse featurizer for numeric unit types.
This will produce a single-channel feature that contains a unit type ID for each unit. Unit IDs are mutually exclusive for allied (0-232), enemy (233-465) and neutral units (466-698).
The resulting sparse feature is suitable for embedding via lookup tables.
|
inline |
|
inlineoverrideprotectedvirtual |
Reimplement this in actual featurizers.
This function is expected to set acc[0], ..., acc[numChannels-1]
Implements cherrypi::UnitAttributeFeaturizer.
| FeatureData cherrypi::UnitTypeFeaturizer::toOneHotSpatialFeature | ( | Data const & | data, |
| int | unitValueOffset, | ||
| std::unordered_map< int, int > const & | channelValues | ||
| ) | const |
|
static |
1.8.11