#strings
ACTION = "action"
ACTIONS = "actions"
DEEP_TRADING_AGENT = "deep_trading_agent"
DROPOUT_KEEP_PROBS = "dropout_keep_probs"
LONG = "long"
NEUTRAL = "neutral"
POSTSTATES = "poststates"
PREDICTION = "prediction"
PRESTATES = "prestates"
REPLAY_MEMORY = "replay_memory"
REWARDS = "rewards"
SCREENS = "screens"
SHORT = "short"
STEP = "step"
STEPS = "steps"
STEP_INPUT = "step_input"
Q_NETWORK = "q_network"
TARGET = "target"
TERMINALS = "terminals"
TRADES_REM = "trades_rem"
T_Q_NETWORK = "t_q_network"

ACTION_ONE_HOT = "action_one_hot"
AVG_Q_SUMMARY = "avg_q_summary"
BATCH_NORM_ = "batch_norm_{}"
CONV_LAYERS = "conv_layers"
CONV_ = "conv_{}"
CONV_LAYERS_ = "conv_layer_{}"
DEEPSENSE = "DeepSense"
DENSE_  = "dense_{}"
DENSE_LAYER_ = "dense_layer_{}"
DROPOUT_CONV_ = "dropout_conv_{}"
DROPOUT_DENSE_ = "dropout_dense_{}"
DYNAMIC_UNROLLING = "dynamic_unrolling"
FULLY_CONNECTED = "fully_connected"
GRU_CELL_ = "gru_cell_{}"
HISTORICAL_PRICES = "historical_prices"
INFERENCE = "inference"
INPUT = "input"
INPUT_PARAMS = "input_params"
LEARNING_RATE_STEP = "learning_rate_step"
LOSS = "loss"
OPTIMIZER = "optimizer"
Q_ACTED = "q_acted"
Q_VALUES = "q_values"
PHASE = "phase"
SUMMARY = "summary"
TARGET_Q = "target_q"
TRADE_REM = "trade_rem"
TRAINING = "training"
UPDATE_TARGET_NETWORK = "update_target_network"
WEIGHTS_LOADER = "weights_loader"

#Log Messages
DIMENSION_MISMATCH_HISTORY_LENGTH = "DIMENSION_MISMATCH_HISTORY_LENGTH"
INVALID_HISTORY = "INVALID_HISTORY"
INVALID_TIMESTEP = "INVALID_TIMESTEP"
MODEL_WEIGHTS_NOT_LOADED = "MODEL_WEIGHTS_NOT_LOADED"
PRE_TRAINED_MODEL_NOT_LOADED = "PRE_TRAINED_MODEL_NOT_LOADED"
REPLAY_MEMORY_ZERO = "REPLAY_MEMORY_ZERO"
REPLAY_MEMORY_INSUFFICIENT = "REPLAY_MEMORY_INSUFFICIENT"