MyCaffe  1.12.2.41
Deep learning software for Windows C# programmers.
MyCaffe.gym.CartPoleGym Class Reference

The CartPole Gym provides a simulation of a cart with a balancing pole standing on top of it. More...

Inheritance diagram for MyCaffe.gym.CartPoleGym:
MyCaffe.gym.IXMyCaffeGym

Public Types

enum  ACTION { MOVELEFT , MOVERIGHT }
 Defines the actions to perform. More...
 

Public Member Functions

 CartPoleGym ()
 The constructor. More...
 
void Initialize (Log log, PropertySet properties)
 Initialize the gym with the specified properties. More...
 
IXMyCaffeGym Clone (PropertySet properties=null)
 Create a new copy of the gym. More...
 
Dictionary< string, int > GetActionSpace ()
 Returns the action space as a dictionary of name,actionid pairs. More...
 
void Close ()
 Shutdown and close the gym. More...
 
Tuple< Bitmap, SimpleDatumRender (bool bShowUi, int nWidth, int nHeight, bool bGetAction)
 Render the gym's current state on a bitmap and SimpleDatum. More...
 
Tuple< Bitmap, SimpleDatumRender (bool bShowUi, int nWidth, int nHeight, double[] rgData, bool bGetAction)
 Render the gyms specified data. More...
 
Tuple< State, double, bool > Reset (bool bGetLabel, PropertySet props=null)
 Reset the state of the gym. More...
 
Tuple< State, double, bool > Step (int nAction, bool bGetLabel, PropertySet propExtra=null)
 Step the gym one step in its simulation. More...
 
DatasetDescriptor GetDataset (DATA_TYPE dt, Log log=null)
 Returns the dataset descriptor of the dynamic dataset produced by the Gym. More...
 

Properties

bool RequiresDisplayImage [get]
 Returns false indicating that this Gym does not require a display image. More...
 
DATA_TYPE SelectedDataType [get]
 Returns the selected data type. More...
 
DATA_TYPE[] SupportedDataType [get]
 Returns the data types supported by this gym. More...
 
string Name [get]
 Returns the gym's name. More...
 
int UiDelay [get]
 Returns the delay to use (if any) when the user-display is visible. More...
 
double TestingPercent [get]
 Returns the testinng percent of -1, which then uses the default of 0.2. More...
 
- Properties inherited from MyCaffe.gym.IXMyCaffeGym
string Name [get]
 Returns the name of the gym. More...
 
int UiDelay [get]
 Returns the user-interface delay to use (if any). More...
 
DATA_TYPE SelectedDataType [get]
 Returns the selected data-type. More...
 
DATA_TYPE[] SupportedDataType [get]
 Returns an array of data types supported by the gym. More...
 
bool RequiresDisplayImage [get]
 Returns whether or not the gym requires the display image. More...
 
double TestingPercent [get]
 Returns the percentage of the data to use for testing, or -1 which then uses the default of 0.2. More...
 

Detailed Description

The CartPole Gym provides a simulation of a cart with a balancing pole standing on top of it.

This gym is a rewrite of the original gym provided by OpenAi under the MIT license and located on GitHub at: https://github.com/openai/gym/blob/master/gym/envs/classic_control/cartpole.py License: https://github.com/openai/gym/blob/master/LICENSE.md

OpenAi notes that their implementation is a 'classic cart-pole system implemented by Rich Sutton et al.' copied from http://incompleteideas.net/sutton/book/code/pole.c with permalink: https://perma.cc/C9ZM-652R

Definition at line 26 of file CartPoleGym.cs.

Member Enumeration Documentation

◆ ACTION

Defines the actions to perform.

Enumerator
MOVELEFT 

Move the cart left.

MOVERIGHT 

Move the cart right.

Definition at line 57 of file CartPoleGym.cs.

Constructor & Destructor Documentation

◆ CartPoleGym()

MyCaffe.gym.CartPoleGym.CartPoleGym ( )

The constructor.

Definition at line 72 of file CartPoleGym.cs.

Member Function Documentation

◆ Clone()

IXMyCaffeGym MyCaffe.gym.CartPoleGym.Clone ( PropertySet  properties = null)

Create a new copy of the gym.

Parameters
propertiesOptionally, specifies the properties to initialize the new copy with.
Returns
The new Gym copy is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 114 of file CartPoleGym.cs.

◆ Close()

void MyCaffe.gym.CartPoleGym.Close ( )

Shutdown and close the gym.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 201 of file CartPoleGym.cs.

◆ GetActionSpace()

Dictionary< string, int > MyCaffe.gym.CartPoleGym.GetActionSpace ( )

Returns the action space as a dictionary of name,actionid pairs.

Returns
The action space is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 176 of file CartPoleGym.cs.

◆ GetDataset()

DatasetDescriptor MyCaffe.gym.CartPoleGym.GetDataset ( DATA_TYPE  dt,
Log  log = null 
)

Returns the dataset descriptor of the dynamic dataset produced by the Gym.

Parameters
dtSpecifies the data-type to use.
logOptionally, specifies the output log to use (default = null).
Returns
The dataset descriptor is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 439 of file CartPoleGym.cs.

◆ Initialize()

void MyCaffe.gym.CartPoleGym.Initialize ( Log  log,
PropertySet  properties 
)

Initialize the gym with the specified properties.

Parameters
logSpecifies the output log to use.
propertiesSpecifies the properties containing Gym specific initialization parameters.

The AtariGym uses the following initialization properties. Init1=value - specifies the default force to use. Init2=value - specifies whether to use an additive force (1) or not (0).

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 92 of file CartPoleGym.cs.

◆ Render() [1/2]

Tuple< Bitmap, SimpleDatum > MyCaffe.gym.CartPoleGym.Render ( bool  bShowUi,
int  nWidth,
int  nHeight,
bool  bGetAction 
)

Render the gym's current state on a bitmap and SimpleDatum.

Parameters
bShowUiWhen true the Bitmap is drawn.
nWidthSpecifies the width used to size the Bitmap.
nHeightSpecifies the height used to size the Bitmap.
bGetActionWhen true the action data is returned as a SimpleDatum.
Returns
A tuple optionally containing a Bitmap and/or Simpledatum is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 213 of file CartPoleGym.cs.

◆ Render() [2/2]

Tuple< Bitmap, SimpleDatum > MyCaffe.gym.CartPoleGym.Render ( bool  bShowUi,
int  nWidth,
int  nHeight,
double[]  rgData,
bool  bGetAction 
)

Render the gyms specified data.

Parameters
bShowUiWhen true the Bitmap is drawn.
nWidthSpecifies the width used to size the Bitmap.
nHeightSpecifies the height used to size the Bitmap.
rgDataSpecifies the gym data to render.
bGetActionWhen true the action data is returned as a SimpleDatum.
Returns
A tuple optionally containing a Bitmap and/or Simpledatum is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 236 of file CartPoleGym.cs.

◆ Reset()

Tuple< State, double, bool > MyCaffe.gym.CartPoleGym.Reset ( bool  bGetLabel,
PropertySet  props = null 
)

Reset the state of the gym.

Parameters
bGetLabelNot used.
propsOptionally, specifies extra properties.
Returns
A tuple containing state data, the reward, and the done state is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 349 of file CartPoleGym.cs.

◆ Step()

Tuple< State, double, bool > MyCaffe.gym.CartPoleGym.Step ( int  nAction,
bool  bGetLabel,
PropertySet  propExtra = null 
)

Step the gym one step in its simulation.

Parameters
nActionSpecifies the action to run on the gym.
bGetLabelNot used.
propExtraOptionally, specifies extra parameters.
Returns
A tuple containing state data, the reward, and the done state is returned.

Implements MyCaffe.gym.IXMyCaffeGym.

Definition at line 375 of file CartPoleGym.cs.

Property Documentation

◆ Name

string MyCaffe.gym.CartPoleGym.Name
get

Returns the gym's name.

Definition at line 151 of file CartPoleGym.cs.

◆ RequiresDisplayImage

bool MyCaffe.gym.CartPoleGym.RequiresDisplayImage
get

Returns false indicating that this Gym does not require a display image.

Definition at line 127 of file CartPoleGym.cs.

◆ SelectedDataType

DATA_TYPE MyCaffe.gym.CartPoleGym.SelectedDataType
get

Returns the selected data type.

Definition at line 135 of file CartPoleGym.cs.

◆ SupportedDataType

DATA_TYPE [] MyCaffe.gym.CartPoleGym.SupportedDataType
get

Returns the data types supported by this gym.

Definition at line 143 of file CartPoleGym.cs.

◆ TestingPercent

double MyCaffe.gym.CartPoleGym.TestingPercent
get

Returns the testinng percent of -1, which then uses the default of 0.2.

Definition at line 167 of file CartPoleGym.cs.

◆ UiDelay

int MyCaffe.gym.CartPoleGym.UiDelay
get

Returns the delay to use (if any) when the user-display is visible.

Definition at line 159 of file CartPoleGym.cs.


The documentation for this class was generated from the following file: