Best Python code snippet using tempest_python
ast_env.py
Source:ast_env.py  
1""" Gym environment to turn general AST tasks into garage compatible problems."""2import gym3import numpy as np4from cached_property import cached_property5from garage.envs.base import Step6from garage.envs.env_spec import EnvSpec7from ast_toolbox.rewards import ExampleAVReward8from ast_toolbox.simulators import ExampleAVSimulator9class ASTEnv(gym.Env):10    r""" Gym environment to turn general AST tasks into garage compatible problems.11    Parameters12    ----------13    open_loop : bool14        True if the simulation is open-loop, meaning that AST must generate all actions ahead of time, instead15        of being able to output an action in sync with the simulator, getting an observation back before16        the next action is generated. False to get interactive control, which requires that `blackbox_sim_state`17        is also False.18    blackbox_sim_state : bool19        True if the true simulation state can not be observed, in which case actions and the initial conditions are20        used as the observation. False if the simulation state can be observed, in which case it will be used.21    fixed_init_state : bool22        True if the initial state is fixed, False to sample the initial state for each rollout from the observaation23        space.24    s_0 : array_like25        The initial state for the simulation (ignored if `fixed_init_state` is False)26    simulator : :py:class:`ast_toolbox.simulators.ASTSimulator`27        The simulator wrapper, inheriting from `ast_toolbox.simulators.ASTSimulator`.28    reward_function : :py:class:`ast_toolbox.rewards.ASTReward`29        The reward function, inheriting from `ast_toolbox.rewards.ASTReward`.30    spaces : :py:class:`ast_toolbox.spaces.ASTSpaces`31        The observation and action space definitions, inheriting from `ast_toolbox.spaces.ASTSpaces`.32    """33    def __init__(self,34                 open_loop=True,35                 blackbox_sim_state=True,36                 fixed_init_state=False,37                 s_0=None,38                 simulator=None,39                 reward_function=None,40                 spaces=None):41        # Constant hyper-params -- set by user42        self.open_loop = open_loop43        self.blackbox_sim_state = blackbox_sim_state  # is this redundant?44        self.spaces = spaces45        # These are set by reset, not the user46        self._done = False47        self._reward = 0.048        self._step = 049        self._action = None50        self._actions = []51        self._first_step = True52        self.reward_range = (-float('inf'), float('inf'))53        self.metadata = None54        self._cum_reward = 0.055        if s_0 is None:56            self._init_state = self.observation_space.sample()57        else:58            self._init_state = s_059        self._fixed_init_state = fixed_init_state60        self.simulator = simulator61        if self.simulator is None:62            self.simulator = ExampleAVSimulator()63        self.reward_function = reward_function64        if self.reward_function is None:65            self.reward_function = ExampleAVReward()66        if hasattr(self.simulator, "vec_env_executor") and callable(getattr(self.simulator, "vec_env_executor")):67            self.vectorized = True68        else:69            self.vectorized = False70        # super().__init__(self)71    def step(self, action):72        r"""73        Run one timestep of the environment's dynamics. When end of episode74        is reached, reset() should be called to reset the environment's internal state.75        Parameters76        ----------77        action : array_like78            An action provided by the environment.79        Returns80        -------81        : :py:func:`garage.envs.base.Step`82            A step in the rollout.83            Contains the following information:84                - observation (array_like): Agent's observation of the current environment.85                - reward (float): Amount of reward due to the previous action.86                - done (bool): Is the current step a terminal or goal state, ending the rollout.87                - actions (array_like): The action taken at the current.88                - state (array_like): The cloned simulation state at the current cell, used for resetting if chosen to start a rollout.89                - is_terminal (bool): Whether or not the current cell is a terminal state.90                - is_goal (bool): Whether or not the current cell is a goal state.91        """92        self._env_state_before_action = self._env_state.copy()93        self._action = action94        self._actions.append(action)95        action_return = self._action96        # Update simulation step97        obs = self.simulator.step(self._action)98        if (obs is None) or (self.open_loop is True) or (self.blackbox_sim_state):99            obs = np.array(self._init_state)100        if self.simulator.is_terminal() or self.simulator.is_goal():101            self._done = True102        # Calculate the reward for this step103        self._reward = self.reward_function.give_reward(104            action=self._action,105            info=self.simulator.get_reward_info())106        self._cum_reward += self._reward107        # Update instance attributes108        self._step = self._step + 1109        self._simulator_state = self.simulator.clone_state()110        self._env_state = np.concatenate((self._simulator_state,111                                          np.array([self._cum_reward]),112                                          np.array([self._step])),113                                         axis=0)114        return Step(observation=obs,115                    reward=self._reward,116                    done=self._done,117                    actions=action_return,118                    state=self._env_state_before_action,119                    is_terminal=self.simulator.is_terminal(),120                    is_goal=self.simulator.is_goal())121    def simulate(self, actions):122        r"""Run a full simulation rollout.123        Parameters124        ----------125        actions : list[array_like]126            A list of array_likes, where each member is the action taken at that step.127        Returns128        -------129        int130            The step of the trajectory where a collision was found, or -1 if a collision was not found.131        dict132            A dictionary of simulation information for logging and diagnostics.133        """134        if not self._fixed_init_state:135            self._init_state = self.observation_space.sample()136        return self.simulator.simulate(actions, self._init_state)137    def reset(self):138        r"""Resets the state of the environment, returning an initial observation.139        Returns140        -------141        observation : array_like142            The initial observation of the space. (Initial reward is assumed to be 0.)143        """144        self._actions = []145        if not self._fixed_init_state:146            self._init_state = self.observation_space.sample()147        self._done = False148        self._reward = 0.0149        self._cum_reward = 0.0150        self._action = None151        self._actions = []152        self._first_step = True153        self._step = 0154        obs = np.array(self.simulator.reset(self._init_state))155        if not self._fixed_init_state:156            obs = np.concatenate((obs, np.array(self._init_state)), axis=0)157        self._simulator_state = self.simulator.clone_state()158        self._env_state = np.concatenate((self._simulator_state,159                                          np.array([self._cum_reward]),160                                          np.array([self._step])),161                                         axis=0)162        return obs163    @property164    def action_space(self):165        r"""Convenient access to the environment's action space.166        Returns167        -------168        : `gym.spaces.Space <https://gym.openai.com/docs/#spaces>`_169            The action space of the reinforcement learning problem.170        """171        if self.spaces is None:172            # return self._to_garage_space(self.simulator.action_space)173            return self.simulator.action_space174        else:175            return self.spaces.action_space176    @property177    def observation_space(self):178        r"""Convenient access to the environment's observation space.179        Returns180        -------181        : `gym.spaces.Space <https://gym.openai.com/docs/#spaces>`_182            The observation space of the reinforcement learning problem.183        """184        if self.spaces is None:185            # return self._to_garage_space(self.simulator.observation_space)186            return self.simulator.observation_space187        else:188            return self.spaces.observation_space189    def log(self):190        r"""Calls the simulator's `log` function.191        """192        self.simulator.log()193    def render(self, **kwargs):194        r"""Calls the simulator's `render` function, if it exists.195        Parameters196        ----------197        kwargs :198            Keyword arguments used in the simulators `render` function.199        Returns200        -------201        None or object202            Returns the output of the simulator's `render` function, or None if the simulator has no `render` function.203        """204        if hasattr(self.simulator, "render") and callable(getattr(self.simulator, "render")):205            return self.simulator.render(**kwargs)206        else:207            return None208    def close(self):209        r"""Calls the simulator's `close` function, if it exists.210        Returns211        -------212        None or object213            Returns the output of the simulator's `close` function, or None if the simulator has no `close` function.214        """215        if hasattr(self.simulator, "close") and callable(getattr(self.simulator, "close")):216            return self.simulator.close()217        else:218            return None219    @cached_property220    def spec(self):221        r"""Returns a garage environment specification.222        Returns223        -------224        :py:class:`garage.envs.env_spec.EnvSpec`225            A garage environment specification.226        """227        return EnvSpec(228            observation_space=self.observation_space,...ar.py
Source:ar.py  
...33        self.base_phi = 0.034        self.theta = 0.035        self.base_theta = 0.036        self.mean_distance_to_points = 300 # cm37        self._init_state()38    def _init_state(self):39        # Create some random colors40        self.color = np.random.randint(0, 255, (100, 3))41        # Take first frame and find corners in it42        _, self.old_frame = self.video.read()43        self.old_gray = cv2.cvtColor(self.old_frame, cv2.COLOR_BGR2GRAY)44        self.p0 = cv2.goodFeaturesToTrack(self.old_gray, mask=None, **self.feature_params)45        self.good_features_size = len(self.p0)46        self.init_coords = self.p047        self.base_phi = self.phi48        self.base_theta = self.theta49        # Create a mask image for drawing purposes50        self.mask = np.zeros_like(self.old_frame)51    52    def __del__(self):53        self.video.release()54    def get_frame(self, draw_traces=False):55        success, frame = self.video.read()56        frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)57        # calculate optical flow58        p1, st, err = cv2.calcOpticalFlowPyrLK(self.old_gray, frame_gray, self.p0, None, **self.lk_params)59        # Select good points60        if p1 is None:61            self._init_state()62            return frame, self.phi, self.theta63        good_new = p1[st==1]64        good_old = self.p0[st==1]65        good_init = self.init_coords[st==1]66        delta_px = np.array([[new[0] - init[0], new[1] - init[1]] for new, init in zip(good_new, good_init)])67        if len(delta_px) == 0:68            self._init_state()69            return frame, self.phi, self.theta70        mean_delta = np.mean(delta_px, axis=0)71        if (abs(mean_delta[0]) > self.width / 2 or 72            abs(mean_delta[1]) > self.height / 2 or73            len(good_new) < self.good_features_size / 3):74            print('regenerating features')75            self._init_state()76            return frame, self.phi, self.theta77        self.theta = self.base_theta + mean_delta[0] / self.width * h_fov # 6278        self.phi = self.base_phi + mean_delta[1] / self.height * v_fov # 3779        #print('phi = {},\ttheta = {}'.format(self.phi, self.theta))80        # draw the tracks81        if draw_traces:82            for i,(new,old,init_coords) in enumerate(zip(good_new, good_old, good_init)):83                a,b = new.ravel()84                c,d = old.ravel()85                x,y = init_coords.ravel()86                self.mask = cv2.line(self.mask, (a, b), (c, d), self.color[i].tolist(), 2)87                self.mask = cv2.line(self.mask, (a, b), (x, y), self.color[i].tolist(), 2)88                frame = cv2.circle(frame, (a, b), 5, self.color[i].tolist(), -1)89        img = cv2.add(frame, self.mask)90        k = cv2.waitKey(30) & 0xff91        if k == 27:92            self._init_state()93            return img, self.phi, self.theta94        # Now update the previous frame and previous points95        self.old_gray = frame_gray.copy()96        self.p0 = good_new.reshape(-1, 1, 2)97        self.init_coords = good_init.reshape(-1, 1, 2)98        return img, self.phi, self.theta99class AugmentedSpace(object):100    def __init__(self, width, height, objects):101        self.scene = pyrender.Scene(bg_color=np.zeros(4))102        for tmesh in objects:103            tmesh.apply_transform(np.array([104                [ 1.0, 0.0, 0.0, 0.0],105                [ 0.0, 0.0, 1.0, 0.0],106                [ 0.0, 1.0, 0.0, 0.0],...seq2seq.py
Source:seq2seq.py  
...36        è¦ä¹å±æ°ç¸åï¼ è¦ä¹encoderæ¯nå±ï¼decoderæ¯1å±37        '''38        if mode == 0:39            ''' lstm -> lstm '''40            encoder_hidden = self._init_state(encoder_hidden)41        elif mode == 1:42            ''' gru -> gru '''43            encoder_hidden = self._init_state(encoder_hidden)44        elif mode == 2:45            ''' gru -> lstm '''46            encoder_hidden = (encoder_hidden, encoder_hidden)47            encoder_hidden = self._init_state(encoder_hidden)48        elif mode == 3:49            ''' lstm -> gru '''50            encoder_hidden = encoder_hidden[0]51            encoder_hidden = self._init_state(encoder_hidden)52        return encoder_hidden53    def _init_state(self, encoder_hidden):54        if encoder_hidden is None:55            return None56        if isinstance(encoder_hidden, tuple):57            encoder_hidden = tuple([self._cat_directions(h) for h in encoder_hidden])58        else:59            encoder_hidden = self._cat_directions(encoder_hidden)60        return encoder_hidden61    def _cat_directions(self, h):62        if self.encoder.bidirectional:63            h = torch.cat([h[0:h.size(0):2], h[1:h.size(0):2]], 2)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
