From 6c82d972f897191914941208aaac9d75a8dde51a Mon Sep 17 00:00:00 2001 From: ved1 Date: Thu, 1 Jun 2023 16:23:18 +0200 Subject: [PATCH] Adding files --- dmc2gym/natural_imgsource.py | 186 ++++-------------- dmc2gym/wrappers.py | 14 +- .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 4137 bytes .../__pycache__/acrobot.cpython-37.pyc | Bin 0 -> 4671 bytes .../__pycache__/ball_in_cup.cpython-37.pyc | Bin 0 -> 3259 bytes .../__pycache__/base.cpython-37.pyc | Bin 0 -> 4079 bytes .../__pycache__/cartpole.cpython-37.pyc | Bin 0 -> 7964 bytes .../__pycache__/cheetah.cpython-37.pyc | Bin 0 -> 3006 bytes .../__pycache__/finger.cpython-37.pyc | Bin 0 -> 7812 bytes .../__pycache__/fish.cpython-37.pyc | Bin 0 -> 6551 bytes .../__pycache__/hopper.cpython-37.pyc | Bin 0 -> 4605 bytes .../__pycache__/humanoid.cpython-37.pyc | Bin 0 -> 7056 bytes .../__pycache__/humanoid_CMU.cpython-37.pyc | Bin 0 -> 6223 bytes .../__pycache__/lqr.cpython-37.pyc | Bin 0 -> 8934 bytes .../__pycache__/manipulator.cpython-37.pyc | Bin 0 -> 9113 bytes .../__pycache__/pendulum.cpython-37.pyc | Bin 0 -> 3914 bytes .../__pycache__/point_mass.cpython-37.pyc | Bin 0 -> 4541 bytes .../__pycache__/quadruped.cpython-37.pyc | Bin 0 -> 15741 bytes .../__pycache__/reacher.cpython-37.pyc | Bin 0 -> 4318 bytes .../__pycache__/stacker.cpython-37.pyc | Bin 0 -> 6964 bytes .../__pycache__/swimmer.cpython-37.pyc | Bin 0 -> 7561 bytes .../__pycache__/walker.cpython-37.pyc | Bin 0 -> 5297 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1023 bytes 23 files changed, 54 insertions(+), 146 deletions(-) create mode 100644 local_dm_control_suite/__pycache__/__init__.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/acrobot.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/ball_in_cup.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/base.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/cartpole.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/cheetah.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/finger.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/fish.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/hopper.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/humanoid.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/humanoid_CMU.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/lqr.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/manipulator.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/pendulum.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/point_mass.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/quadruped.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/reacher.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/stacker.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/swimmer.cpython-37.pyc create mode 100644 local_dm_control_suite/__pycache__/walker.cpython-37.pyc create mode 100644 local_dm_control_suite/common/__pycache__/__init__.cpython-37.pyc diff --git a/dmc2gym/natural_imgsource.py b/dmc2gym/natural_imgsource.py index 42ef62f..bc85dd3 100644 --- a/dmc2gym/natural_imgsource.py +++ b/dmc2gym/natural_imgsource.py @@ -1,36 +1,19 @@ +# This code provides the class that is used to generate backgrounds for the natural background setting +# the class is used inside an environment wrapper and will be called each time the env generates an observation +# the code is largely based on https://github.com/facebookresearch/deep_bisim4control -# Copyright (c) Facebook, Inc. and its affiliates. -# All rights reserved. -# -# This source code is licensed under the license found in the -# LICENSE file in the root directory of this source tree. - -import numpy as np -import cv2 -import skvideo.io import random -import tqdm -class BackgroundMatting(object): - """ - Produce a mask by masking the given color. This is a simple strategy - but effective for many games. - """ - def __init__(self, color): - """ - Args: - color: a (r, g, b) tuple or single value for grayscale - """ - self._color = color - - def get_mask(self, img): - return img == self._color +import cv2 +import numpy as np +import skvideo.io class ImageSource(object): """ Source of natural images to be added to a simulated environment. """ + def get_image(self): """ Returns: @@ -43,141 +26,56 @@ class ImageSource(object): pass -class FixedColorSource(ImageSource): - def __init__(self, shape, color): - """ - Args: - shape: [h, w] - color: a 3-tuple - """ - self.arr = np.zeros((shape[0], shape[1], 3)) - self.arr[:, :] = color - - def get_image(self): - return self.arr - - -class RandomColorSource(ImageSource): - def __init__(self, shape): - """ - Args: - shape: [h, w] - """ - self.shape = shape - self.arr = None - self.reset() - - def reset(self): - self._color = np.random.randint(0, 256, size=(3,)) - self.arr = np.zeros((self.shape[0], self.shape[1], 3)) - self.arr[:, :] = self._color - - def get_image(self): - return self.arr - - -class NoiseSource(ImageSource): - def __init__(self, shape, strength=255): - """ - Args: - shape: [h, w] - strength (int): the strength of noise, in range [0, 255] - """ - self.shape = shape - self.strength = strength - - def get_image(self): - return np.random.randn(self.shape[0], self.shape[1], 3) * self.strength - - -class RandomImageSource(ImageSource): - def __init__(self, shape, filelist, total_frames=None, grayscale=False): - """ - Args: - shape: [h, w] - filelist: a list of image files - """ - self.grayscale = grayscale - self.total_frames = total_frames - self.shape = shape - self.filelist = filelist - self.build_arr() - self.current_idx = 0 - self.reset() - - def build_arr(self): - self.total_frames = self.total_frames if self.total_frames else len(self.filelist) - self.arr = np.zeros((self.total_frames, self.shape[0], self.shape[1]) + ((3,) if not self.grayscale else (1,))) - for i in range(self.total_frames): - # if i % len(self.filelist) == 0: random.shuffle(self.filelist) - fname = self.filelist[i % len(self.filelist)] - if self.grayscale: im = cv2.imread(fname, cv2.IMREAD_GRAYSCALE)[..., None] - else: im = cv2.imread(fname, cv2.IMREAD_COLOR) - self.arr[i] = cv2.resize(im, (self.shape[1], self.shape[0])) ## THIS IS NOT A BUG! cv2 uses (width, height) - - def reset(self): - self._loc = np.random.randint(0, self.total_frames) - - def get_image(self): - return self.arr[self._loc] - - class RandomVideoSource(ImageSource): - def __init__(self, shape, filelist, total_frames=None, grayscale=False): + def __init__(self, shape, filelist, random_bg=False, max_videos=50, grayscale=False): """ Args: shape: [h, w] filelist: a list of video files """ self.grayscale = grayscale - self.total_frames = total_frames self.shape = shape self.filelist = filelist - self.build_arr() + random.shuffle(self.filelist) + self.filelist = self.filelist[:max_videos] + self.max_videos = max_videos + self.random_bg = random_bg self.current_idx = 0 + self._current_vid = None self.reset() - def build_arr(self): - if not self.total_frames: - self.total_frames = 0 - self.arr = None - random.shuffle(self.filelist) - for fname in tqdm.tqdm(self.filelist, desc="Loading videos for natural", position=0): - if self.grayscale: frames = skvideo.io.vread(fname, outputdict={"-pix_fmt": "gray"}) - else: frames = skvideo.io.vread(fname) - local_arr = np.zeros((frames.shape[0], self.shape[0], self.shape[1]) + ((3,) if not self.grayscale else (1,))) - for i in tqdm.tqdm(range(frames.shape[0]), desc="video frames", position=1): - local_arr[i] = cv2.resize(frames[i], (self.shape[1], self.shape[0])) ## THIS IS NOT A BUG! cv2 uses (width, height) - if self.arr is None: - self.arr = local_arr - else: - self.arr = np.concatenate([self.arr, local_arr], 0) - self.total_frames += local_arr.shape[0] + def load_video(self, vid_id): + fname = self.filelist[vid_id] + if self.grayscale: + frames = skvideo.io.vread(fname, outputdict={"-pix_fmt": "gray"}) else: - self.arr = np.zeros((self.total_frames, self.shape[0], self.shape[1]) + ((3,) if not self.grayscale else (1,))) - total_frame_i = 0 - file_i = 0 - with tqdm.tqdm(total=self.total_frames, desc="Loading videos for natural") as pbar: - while total_frame_i < self.total_frames: - if file_i % len(self.filelist) == 0: random.shuffle(self.filelist) - file_i += 1 - fname = self.filelist[file_i % len(self.filelist)] - if self.grayscale: frames = skvideo.io.vread(fname, outputdict={"-pix_fmt": "gray"}) - else: frames = skvideo.io.vread(fname) - for frame_i in range(frames.shape[0]): - if total_frame_i >= self.total_frames: break - if self.grayscale: - self.arr[total_frame_i] = cv2.resize(frames[frame_i], (self.shape[1], self.shape[0]))[..., None] ## THIS IS NOT A BUG! cv2 uses (width, height) - else: - self.arr[total_frame_i] = cv2.resize(frames[frame_i], (self.shape[1], self.shape[0])) - pbar.update(1) - total_frame_i += 1 + frames = skvideo.io.vread(fname, num_frames=1000) + img_arr = np.zeros((frames.shape[0], self.shape[0], self.shape[1]) + ((3,) if not self.grayscale else (1,))) + for i in range(frames.shape[0]): + if self.grayscale: + img_arr[i] = cv2.resize(frames[i], (self.shape[1], self.shape[0]))[..., None] # THIS IS NOT A BUG! cv2 uses (width, height) + else: + img_arr[i] = cv2.resize(frames[i], (self.shape[1], self.shape[0])) + return img_arr def reset(self): - self._loc = np.random.randint(0, self.total_frames) + del self._current_vid + self._video_id = np.random.randint(0, len(self.filelist)) + self._current_vid = self.load_video(self._video_id) + while True: + try: + self._video_id = np.random.randint(0, len(self.filelist)) + self._current_vid = self.load_video(self._video_id) + break + except Exception: + continue + self._loc = np.random.randint(0, len(self._current_vid)) def get_image(self): - img = self.arr[self._loc % self.total_frames] - self._loc += 1 - return img + if self.random_bg: + self._loc = np.random.randint(0, len(self._current_vid)) + else: + self._loc += 1 + img = self._current_vid[self._loc % len(self._current_vid)] + return img \ No newline at end of file diff --git a/dmc2gym/wrappers.py b/dmc2gym/wrappers.py index 077f2eb..887b7e6 100644 --- a/dmc2gym/wrappers.py +++ b/dmc2gym/wrappers.py @@ -8,6 +8,11 @@ import skimage.io from dmc2gym import natural_imgsource +high_noise = False + +def set_global_var(set_high_noise): + global high_noise + high_noise = set_high_noise def _spec_to_box(spec): def extract_min_max(s): @@ -108,13 +113,16 @@ class DMCWrapper(core.Env): self._bg_source = natural_imgsource.NoiseSource(shape2d) else: files = glob.glob(os.path.expanduser(resource_files)) + self.files = files + self.total_frames = total_frames + self.shape2d = shape2d assert len(files), "Pattern {} does not match any files".format( resource_files ) if img_source == "images": - self._bg_source = natural_imgsource.RandomImageSource(shape2d, files, grayscale=True, total_frames=total_frames) + self._bg_source = natural_imgsource.RandomImageSource(shape2d, files, grayscale=False, max_videos=50, random_bg=False) elif img_source == "video": - self._bg_source = natural_imgsource.RandomVideoSource(shape2d, files, grayscale=True, total_frames=total_frames) + self._bg_source = natural_imgsource.RandomVideoSource(shape2d, files, grayscale=False,max_videos=50, random_bg=False) else: raise Exception("img_source %s not defined." % img_source) @@ -185,6 +193,8 @@ class DMCWrapper(core.Env): def reset(self): time_step = self._env.reset() + self._bg_source.reset() + #self._bg_source = natural_imgsource.RandomVideoSource(self.shape2d, self.files, grayscale=True, total_frames=self.total_frames, high_noise=high_noise) obs = self._get_obs(time_step) return obs diff --git a/local_dm_control_suite/__pycache__/__init__.cpython-37.pyc b/local_dm_control_suite/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c78a7fd6af56dea3d3d4ea5584ea9fb57e2244fe GIT binary patch literal 4137 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/acrobot.cpython-37.pyc b/local_dm_control_suite/__pycache__/acrobot.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..35d1caa62b6e4b0109534ee976207feac3f10600 GIT binary patch literal 4671 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/ball_in_cup.cpython-37.pyc b/local_dm_control_suite/__pycache__/ball_in_cup.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2fbd4da6ddf74b92f9bea58ffaabbb1afc4cf8c9 GIT binary patch literal 3259 zcmZuz&2J+~74J{G?Kt0=Oh)XYW?4W+tg{1y1jDd9GnwovQszS&uUIvQ-cDE9>7+kA zRpm@#oKr^H6MI5JAP$K*ap7O!y8H`$0&$vuffK)1Z70sKW%cXl*RQHx{oYqSo}X_T z7=QgDU|aKs@gMp#9S)d>c;q)A%m@r-GAlJRE3i!BZSZzrYu*9x1dit2)D2vGucfuD z9@Mq0o_bj$XlUL`o7r42r}+l>R?yOXGo8;Cf(7t%!6It~OMKyC`O*kh*gRW!Z3L@) z($vbawM5Aq%i_yL;(xKvEk_`%>Ao5spoXDie!7mI% zlB=*c%wq+~Gl**0@UVyraP_#zl_*lM&VD30eT<7N(=(g&5j$}q->hM;{_ocQ{^`F* zfA~12ou|VFvxP@4fhgm`Wag!*j6q`Yo`+k%&=&~eMe$n$IDY=rJ(c(T32$MXFhl9>ZmbPu-VZ*X1c*H`zNLhQd zx3}Hh`Y zb)p8XzLO*TL=85VbKCiGB8oiYxhj{#t>@3WpFQ6VyE{*}_qy9J+OAlInph#-6@IN7 z9=(c0UzYX3WIKmUz4n(_pc!r)srcZ>U}X!$uv=!+^i0QGFvYw0ACqu82>6G1qz}T4 zz(n3#%nWR1F&jDPFo(H#yQ~J#>f#pEMh_;(^gS9C^@3k@9_xX%B9~cgpSWy zSOFzvUTk6s8st+dIog-^z>JMUc=Hh3)8>8Tz#ZevoJegLaxJyS=GfXWV3Ir9ob}@| zj}`VNH)sPW0)16zUI9F=I%Tb5O7o;NN0hp0+IC7ek220mheawX8whkBo(u|EIz-!c z=}4aT#CKt*_#Tm~EU8dmpk+c;gw^5{o06PuSnKAxIa;4U*14&61qJ~@!L7k~0!9Ij z3-i)AH#G#-p?&Dw00tp_NK%(MfXP-hRVPr!_J(nUS?3hw?&#hWoV$L~yGA6Dev;3C z@)Q3XhWCHxwUjt2!|W+Fog+WQrew7w>_TZdE=i#AGt!WuwoL1e$ew zX%Q(*A&A8fX%fv0<|>r5Qqa(tkpA1CHc+xE&5tlkQq3}~7Vum!N6S-0uXLWZYo!;4 zMhhOCIgusXyh)|}Z_yOr`thx*UKXg4B%EU%_zH}Z#q zn1=iiWHx`kGI~0UUwgAT#OlbU+EmxNn(vjdSawF-B)XtM*`aV|2QQzM_qjDpH(!4OP*ZTIENT@%S!uFXB;r;PXKu z(Xu+trjPLm#q7T3e1B5X?)#5&geGR?v0nDeiJQNi%<1<3{3ja!{Ku5}IH>6WI_U!e zjDJl9BS8`Stlg|CX?>U{s7sj+Tk(B-DxH^<;d4<>aS@_!aaB4w>U-(R;eZS6opL3~ zQQx8z@fl9+NB`8Z{2eS3%nf+Xm53DD6}m+h--qht8ZuhDX;GzsWThMzcZvLz$j^w7XT?Jz zk3h=#iT7iUZZL@e3IiB(pOkcEp``x=kHOKZie>tJi&(W_GN>J6!tVhuXDAlD1Z zb@6MEpm}}O64W-z`D;N(q}4TJ{o8M4qE5@```^;ctf5L$DH^ocYWQUPlSiNLcJ-Ac z+}(M)(-n8<%Un0=_c`n0+96AK@AIARc6G(EaSPD53tb{hhcxtwW+1;xhthjcmFAD= d+AH4!0R|KemRG$s@0gD5*`C`pSDGu!{{w<{O)UTb literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/base.cpython-37.pyc b/local_dm_control_suite/__pycache__/base.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8dcfba2b8712948332dd0e7a96e8cc0b95cfaf7e GIT binary patch literal 4079 zcmb7H&u`nv73MEVv?TwClkIlXZ83*pHwwIRTWkw72+}y-{943n5vN5eU_nuwkwk|g zwKGGzR^?0W-g@bOkf5jjOT6~9hXOtHw5NV=NXv$6V6!x4I3kB{-uvG7z8ODSU2R&p z{_(oc#kytvi+-G69tIE5)Zfr?t8a0eJBdAY`i@Ow7h|{Ynz4tm*Z0i0mei*8e%*}g zNn`5weKT$(EB)qEi~D@#%;GD;KWLr0{T6TX7H^N;ew(lIwKGe!zpzg2{wiO;^lOc8 z@Ed1Vf1Nk>t8p5KRrx z39D}dBZu34mv3^HduMjv6E$Ar^)rg6&KulE1P#8zo4ETFHSQ~A)cq#ruJa8uwr0&Q1t$4Ne@Tc+bU5paTPpuU**aMPQ=2 z=uXA3i>B_P)7HY)_JMQYo;vC_jo!Ko`<;DaFYJXCc%1s0p|v~z@AEX)ahSw&LXf56 zh!J_>G|zHnhE&T0qX7bZmg6e37rFiIj6e&MEhYfGkTCQf$=+fi1*gSW$SNlcC<9W` zlt>Ds0yvdU4KDKqxst4xrK03~f@;Dv`gCb0%yl+}fe2JNW_P$4g?XYo1RY~fdYyXF zg!WXlE1Yyz)Jt|0txGEvji7pZBY;-r2B$!ZqfqjWQ+P@wBS{+mPfJ3;t#6-fPqL}l zJ{0`t+q=1pGZpLOZ7#$t7-GHY=T&8HCmB2o_%x^<1d8NxdkA6e&W;N|2x25A2(~Dz zK03=^v)gvvp0AP+bn#ZQ&Ne<;e22tr zA6^cilRBDE?n!?Jv&pfFBQ>~?#cs!uHJB_~r4R-b9G;Q0MWdR3)$2{Xe1KMZ?aVif z*Ov@j?>gCBSZ`5N?`+yg;l4Bf_e%k(RjBH0iXurM)s>jXl2u$oY$Fslm29aqC6UD} zR?vv5n)dUd*+xtGADHx$U%((&8m1C4Cc!g11>|HZ^d#ez<(ZJElqrBRtOi(Ey;O{< zrj3|gQ@9mGP-Ut>cnIyK4Pa1iy4~MZkeB7s!zSD`!30W+Sp~Gb31qH-Tx=3+OF0Ru zNFOaRUzvYsF#rEKk&8)m(Vb2{hQ+rrATfhr*{3e#%PARzG|-;x&L8em5{M+{8=i{C zq@?ChQtp%0W(EKc!z2gJIHnBBtPi^V%?q&$%7?0l!fuQOHYP2L7SeoPq8+y+SiPKh zZTzjFz}mv#voK zoB!zXpCB}JzzEqe%MuZ$TWp+Z_UDssr!GmR3y)qD%|8&?9!r_YqE1B`>cZ2ty>#WkIkm4{F1Vu9laL~vT8n=VsYivx_n??}uED8d7 zgPieaGQ*ns*l4yS36vjD_YrlJDoLvqb)*`}x#S7$X40sA1EY`86n*Wlc}{b+UGqJ^ z<=6ds+mrO(6h_|{qY>btkfC{?(lXD4`Le8O*)d4|Rhv#E-1^Y^yYsaNgz+yyP>HAU z1cm5ye^z)D+9lV>t8bh4lUV5}o6a5x{5H9-Te6Gs_g%H$3?}h-lA!5oT}j)n{ERvS z#046(zzD5caLFp#ajB3^5x>TOM9agYH@3XRoj10+ouX{D1x{H9=5%)AEKtxNStl;; zHQd2F?%uRcYKz*!y9JS3)P86!+*?2hGwSy(PAJvpPnWW{^cyFy3VR%?@UMV@|NCpg zH)0AR9AAiMmgX`%^YtFA9N1nco-sKUp#)Y^ZOUCK*?v%pFVqmM&rGm zSC3yl-+8f*vM~F^k72l|moic`sw@{P%K-XK9Hvtap%J62m=pVAG(~3;%eiegZQuM! zdehmEpW;R}G0JhMKut*Eo1}C|3aDsaoU_Vv!|KI@u1q8)uc(=SPmCItock3QHq)$ literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/cartpole.cpython-37.pyc b/local_dm_control_suite/__pycache__/cartpole.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2502c7dd99aa94bf1520e1b79009aabb6557be53 GIT binary patch literal 7964 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 a6}@KCUrO_E9cRmuY$5ctSgouto&O(V-QjWo literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/cheetah.cpython-37.pyc b/local_dm_control_suite/__pycache__/cheetah.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..842360a50f6fc2b4c976e3b8ea0fe91ec7d5d260 GIT binary patch literal 3006 zcmZuz&2t+`6`$^zkwzc39NBS_=0`sCH?l_FjGDHs znFV<(YFRtT+Ic7HSi1#wH|kouoo(cs(WbRKVE3XP*xhIg%001p-M?|7ZN9-b-#XEb z*uK8cdpAUEai9BRmv8ZVZ^;#jc7N^gKHq-p@NLnYKDctD2hg&^??cOd(V0GkmPgz_ zb_Toi-u{^oIz9^z$~;bs;XAmfGa#lHpQ(%cKOWnUsZ=Wd^2q8Y_XFNtx$%W*a+UCm|IMmEv_Qxq62_NO14f|g}!&oVy)o|WP>iZAB%(HAn4O8x^-c`V z$LdoJ@Y)nAhf2J?>7I%rIm=^t4i`xf8GL*wNKlK?Prv|lh^AN0H_oN2-31`_HM#T_ zboTAkxun{g`U`jAjVY%KCnXE|SNaVBEZzD26_yB`tcp;_>U@Z9lW?jsH*KBff@Nu* z>OsRaKRbJ)(nOiwSe7{htN@= zf{8NC*>YtMPjCmh?BNU-jy42CS;4wp(k21fBJx|%mO#0E5W6Q()I+F*6A_RuBA0xV!ZUUUT70!7EeP{gK1zBgf+X@jBjTrA+6ji7ZqzAvm%V{jl6(7;WoPsuH+! zs-+NFT3m=s;zk44_(hxxZag0A*tC@>R4LI$=_!$o--pn*Tl^d*F9|l^SYCf;yV={!L);6&sL1$TPe~SAcMFZkd+wxy-a-jzw z^&_a(-Sm|+hBynZ3eZ*D2bcN0!JF`Idc#IJ4oaN1*ao~EwyAr1YvEkc z>w61`XAs;i6X(A?hG=Bnu5_%$iUVsB31hwLmo|clI5`W&EL9NbhVPIM@BRUmWyaB< zZ~Qud(c+cyifN(E=2M7y5*a;`vXrI+jkTtMK`s0PYM%&0PHKTRt0D!y=khzStnpsW zN@e_dh^Mre84sgEbdTYytTda+asncOQL35=Y5imRX#pyVvve-l^0b47{18w22-j_= z>h=(RR=yU}_|*)i8^VCaEyj`z!Xi-Zj$5C=#C<3V73R1*q)Yl_*WDyt8juE=f3WiV z|L%Ru1Y`gfyABc%bIc9IN$?h(x|rzy0$#uNZkz>B@i8#v+PAg`Hs&CI{^?4`aS@iM z0PaN{K9&l$uKYMmCk03x*tn*2z|zK+q5L6iePn`Fg9$+0WdaEW0&OQLvrO0wt4!y2 zk_##L0c0@i61fLcjhB?OHxd;M>FW+w7tXV$OB+9Xm~7V0c?^>jW;}-m^dW#af3O1X zy^*)5p^lnRENUSbm~#LbdgEwUgJ!PCm}(nmx%V}GV)*m#-l7!N+1@G@B3wLyoG>(Q zT8u4gO#_0Ph~>aDjnlF!xPp%g$O~ykBFk0`Mj8)@{230ikrKn$6DZad7%973K^@!%AJ|nf z4v#BLK(GdSKq7G^#xeOAs;GVUi6QZ;z--(#3}sd);@$uMH6qcS^>@$K+N?^anUXE+ zv-obagVC>^zI=AVP7a@s*t5guhbQtkxL4;So=gPC7!1lketCE@s=otVNT4=1+sJP` u9ARU^8v3`IHo@aM)%*g#coc#OKmaE}()Al{()B#oqk$Xv0qM8;!G8d)m=_8F literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/finger.cpython-37.pyc b/local_dm_control_suite/__pycache__/finger.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ac7533757fea689bff133984cae0110ca588f13a GIT binary patch literal 7812 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/fish.cpython-37.pyc b/local_dm_control_suite/__pycache__/fish.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f053cc11299c8c113be614f701dec07551f04932 GIT binary patch literal 6551 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/hopper.cpython-37.pyc b/local_dm_control_suite/__pycache__/hopper.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..99bac8aea70d0ede17080a9517b282372f107163 GIT binary patch literal 4605 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/humanoid_CMU.cpython-37.pyc b/local_dm_control_suite/__pycache__/humanoid_CMU.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19273d96686ecf79fd14e2dff6e8b0a3d08308b3 GIT binary patch literal 6223 zcmb7INpBp-74B{J;UbEnR!eOqjy#SuLhK;01;dgoF&1NqQba0tCQGY1RWod=mr->O zMNVc8h7|ZDBZmMvBnJ`!0wjn0lH?EcEy#&L&N<{@~3`R>*`wH^1b)! z!r*t+V{h-no5^FR}tFbWFC$ zPQ1{c>#f(0)Gx78au^KztGreUfR0w+-zMy%^7wUHD`Hk%SO%Xtgxmv&J7mt z^aD4HJm%cG_sG5-1+Eu14~T0GJ)Ltm;>hnO-0^~5Bob7WnYZo5UKE0!?FlbToK8P% zC#YFPRWayqMePVwsU3xhh}vl5`u-_%cD=!V}MHB)3Z5bT{8#M;Y z4|&oTVQjm0((n1)&gS&OuAOXhJBS$f?N9IBwc`Za>e^T#+A^=5*ipxJQHZl{F=|h;qOJigWjox`r8yShURT!E>t78ncq{z%a8AIa_ z#uqwxX$?;1yd=i0CB&)3jh{3HiKbzs)gapDPTb?1r9~xbs!hCrJH8iqNjjfzj_Trs z_Zp?N^k8#0_S$he*AY?RfVYkkh1^P7%QY2>DvFpWtu2S!o`}MLhe>+OxpjYa{o(z) z&icx|<+b(Y2aSSQLNjrK+Ai=(TjvS%s~e}KUN)gctDne9EKrX^OdER#WL!s~nRUIc zmvu{@)rF1kZ_3-m0&n$0ye(`M$Gj~uV~V%t;KVdDM_F(@YVsQSEsuE>JO6R>c5Q^urHO|JChZ zL~R?-_#&0NfhWF$f@>`u2x~CCWio@AKroA0tblic6Tca_aU(T>Tz4en%mVZ%!LzDrPJKl74J+hxq7FW0v_+=X@X*zQC^n)9@|*nk>> zwKl0IUG%0UOKX?~G1RtT4_jFBX-%TVja&*n5p8h^Z#HSAy?e#o!8AaGWHS=(j-5nu zzQMTuStNYcguWM5i_{qGHq5jTx&h3=Vs7H5)=uCOnp!dUJ4g9GtNJ;8z-xCixr_B> zHa%F%SkXM(?bq*xz++mU_RM{yQ{T_`L#*HCzqu*YP$WDERM|DmLU=n$q%fQv@m z0%9UN?1G@$*f&OcR%;O!j*KqigPj}9ysiD}-I2BPHnTvzH7ew-hSsofQah~;jZ@kP zUTv>1EbbMDh`si8U3>cOC)(5ICt6b4D-X?miXIAscXB>)#0|XD0lZEzBeuQJ=G};F zPIzsgE^t#R!~sbGz^ePHF7UQC;h51aT%S`qTB0Xy3}M* zk{V$zEp9?W?I(?rM6|S~^gvFQR@4WikXCXT#lUKh@zg^6vXRcH7D+_m%*I#nknaF} z5axJ1W|&=uq?)mW$idR9xR>-(`e2NXQ>|AUwY2OwFKl@X1 z92T`5M>H_JxI)EMDkxeJKceD2DtA6@3qgh4w5Hky{NP-NyEjzD8td0SQ(DI$SSOgcjoP(aoVzIlo3X#9 z>?05Gnycg3iX@&tF~u)K=%=G4h+T);b7RXK!e_sPrZI~0P4{nb?JFTT@A^nC5bTFg zCko`+oRIc$J_ThvkDJx1jq4_2!E2JTkp<*|>oxnP-SHzgY1%8~?7i6DcKtrLK_G33 zF54zX1Dgh0pWTM||+V_F`;+Yo{@SzjJ8Q2{$YAJavaZG|B1|5DB#W}QX%#=`+iS_Lziui_=pRP{5b3fz1^m2(R_&I zM8O(i)8jE?E`v+s6$4m!7d>Od?ov2yuJSt+CI5&N2$3~?w?}Fm>#LNwW2;rav}9*K32e}CSh5;_`XeO@1&&+U{1_SIPqiH^i} zi^ieQjRdw2w*^tbEfYArpNS2$A!$q2o02X_+LClp(gjJEBwYkeuu>Ylk-IDx+N}gM z<)O0Nqp3hwqA?+FI;*@y9*d-PgrkT|RN$AEbE;8JYor`1&4|<5eZjck>^6=bjtr@= zU7~yoGaTZ!8EwQbcmKdiFb1X5OfbY<6-F&Q5duNUt%w>Cj~yL41i1 zIz>>dPRs-m!*ji3;55NFt1}WqJGF?oRIh?U?>hKT0bDDg9Xwr1VNklH5JcLfPKnKwK+DGc`Cxe922G2qH~)bo|ue`LbBP} z`dqmtk+yMB4o(4Kr%&e`7==VC2>S%7m-qz=9Gi?!4F$Zhuv1uMNN$Y4WA@gH|?FaP-Fqr2$<4bTXGc`8%bIn!+vRK>aZQ{S)*h{_FROz;6X!g_rb#YRL0M;NQ8US#DUpwT uOIm(k1?B@x)PgNn`kc1Q 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 literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/pendulum.cpython-37.pyc b/local_dm_control_suite/__pycache__/pendulum.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c68f0d6561a4d1be77c5c504dd1dbbbc19717bba GIT binary patch literal 3914 zcmb7HOK;rB5$0<&PdzNlve)t2od*z4B9D^I6OQ4mY%7Kq_Q+Vtz=An&D0Yv;F<)+S zWNR=!*}$H%*IXs!lvDl>uQ@rF+;hrTO>#!k?jDu`n>F3dVs(90UzHv$F19pW|M<%0 zn@gJZZ~9SPH3*;MPXB{}YqrL9ZUlO0*oIEB3E8wwC0md!+fs5ZsM$5FF9Zu=-L9*- zde8`)c2miXpcS_5wvwBWJ9bCOtza=+vX_+HhP-SqE4db|*jISRUgeASRdMBX4fi#1 z^-Mq0?RBwqdi_kZZ}26){6Vun5jRe6@|81PtnwPK4NZQ9uYS-LYHYWyl+`=IeP zQ6JrUZ`!vobB(WKW?i&LpJL`VukC5w>ywoiBI4s<95Nn=kl{YKXSo#KE8Ye7s(^srVI7-+Thj}aWL*WE|=x5!9y#C_oB=x;CUmnUh zbl^m%@ONQ%eUH?S@#31xAM*YK?I z1zyK^ZdF==xBD$8m17(t7$gS7dnp<9+oOE^h6Pll8 zUxEKhsS_tCbUwtU>I65c6I|YO;SjUTS;wn$7$_zV!7>UCYx1x<$UzLuk7DUhh{XcM zCzbo=@T8aUk)M+Bw=v|#TOc$)r2H`^zwdO)_4pP5R}uFJd%tzM%bWV$dfspx3IWH- zTMp667$7@&$8lbd-Jo2lI}VRM$B{oJ+lXsqmxj5El|*@_Qs55|QX)oVm(j2qmYThg zVdP7?Qi9<^hPA)ehA5-l`p~p3B_qo|G>~g`-cY&L7oDoN1Xp)!rK;qo74pT`DBz zS%XkIZB9|{XBho!55-!+3~(}0@yEHU!Q8A`mx?2W>m4zX_$m5;61^8hn|=ykVQ&nl z6#xN=Lo6JK?2Ql+`|G{L-(ZOkcPW3J$Gj{__u1CvKq+cf6({m%IBCDzDymz39Qh~= zVQxf8ZY2Jk13+|1oXQ?{7bvU}21PJBrSTOWH?axW{fhR^k@y{c?&D5X1~zZ&lbaP5 z-&Qq4h0vh;F}+E)QiFAd7GbKN8fV%R)#!l+8Eg*OfUI)GMNh0%e283$4^knI6+xBG z+MUm!Gm`?%7w}4{IrAVyMN|`UA&O`0rjq$`kx3IrG49()}U$ zl)w!(=A2Sam0HSERmr`@2Gl7IDAF#Rl2{;bpR+x0R28Ue+-lKsSMN%-!Khf}K46vY}9!~^8ML!hz zRTiiMMYZB7Zq)=*fm&*HI*ltTow|3Faw>(xF*Rt=LcWm{`;sz7{t<)Sns?}u{FX1y zCwej{n%DL3Zsuj3)Tn(koVyvS#ObfmA3Z9J`b=6DF)s_DP)RX{< literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/point_mass.cpython-37.pyc b/local_dm_control_suite/__pycache__/point_mass.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eaa9839b562bcc356ff4693fcf64868fe73b3530 GIT binary patch literal 4541 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 A&;S4c literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/stacker.cpython-37.pyc b/local_dm_control_suite/__pycache__/stacker.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6bcea80abc003eb73ccced8a58124aee09a37d38 GIT binary patch literal 6964 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 QwVF=dAsngY>B?LG3qg!E!2kdN literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/swimmer.cpython-37.pyc b/local_dm_control_suite/__pycache__/swimmer.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..499855e0a646c52163dd94e0d836fa77383a8526 GIT binary patch literal 7561 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 MRn2bL^~Kfy0Yp6d&Hw-a literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/__pycache__/walker.cpython-37.pyc b/local_dm_control_suite/__pycache__/walker.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aba2ec45b59bc307ac412025dae62ea3abded741 GIT binary patch literal 5297 zcmcIoOK%(36`m(KA}LvxWy_8n`KD=`Fjc5Ng0ywh*s`r8Y8~0IWF#FF7>{@_siEh= z-Wkd^L9gs0E2qn%MHdpfYJbwK3UsA)cU|>6cQ_Q+@-HFTmmcTUkxSc~dzUD0!(8*W3 zi3Yu-oq(#glQ@$}2-4d3Q$d~WB#P9`y7Xh7M8QzV6dg4hi;au7suYiW$-k83B8t9Ig`YNJdZ6Vy$VbP-ji9qC*@)-$bVbPU|o7;fDY*+9lA^I10N zhk}jw4B{@!4g`x5E<*O@=eJp!;aXjW6Jjh6+8Ika%uiF1rLAG@k>XVAaTGR9NvFtb zQuy3c^YhB)?(Wv!?q4){7G0|P=Vu!SNhCH71^>au&4CP(G{~N8a3T8MK3ExjFy_=o zn6&-SOR@X|q$iH-4&{U`ZyS7gOT9!}>KXWF1k8>loxoKGHsyJ%!c03 z9o^CwbomzE|6S&07MQD_Vy@k*Oqg5c#td`K;e}b|(rpXgHVt_mo2tuzRu{X7hNdIQ zQsf&{kp{?BRC(R|V)OPdz1_Q8TelRmPm>i8)Fk-0ER*66RxsHL3Y4=&I5Y$L)H;K zpiHE!lSqYKg+(wRDxr6qY>*!Mr$Z@|UjQ-EdNBGP4s}UWpm?q1b6+Msp-`NW>9OJa z{$p$a;L8%3CaBd$)8ZSS7H@Gs^Kk04pXf5YYZq)yL|ez#emlzmLO$T0^CqiFoz$WI&dO`A-Thl9SV2^ z_=@uMZGfDR?Q_r->wye8c6=9ZdH0$~_;< z+;O$M<7>v9x+=w9O4$fgrdQ?0Z(#x4>cSUa(vHkyQa*e5UU}_)5rg0mxS&#brFniB zvi*byB5lceEVz>!j~}B9o7Pln@;&tAw)AoEZ@6A#c43a;ugGq8z)sW29nT|0_Po62 zk-r^;L^nL|Hv>N$_f$QPCvDG@>sV2e6P7=u>O-og+M_6vyfW|mAX185;Y19_qMvF% zg(Jj8deV{OPN+{8#9X`YrLKp1JyjGj3HX1vf5%u+CA`hNwqY{$SOKST_N zm?~yLOwO_`NLe4uI_d|lT8-h^gulJ2D28CGj1I1{P1Xq$KWnjVfXzXWvO_-{2nGVt zVY1GOXpr8!!J&u=82jN9!oKlh3=tdLG{tO#ev93K*~>>k3Tvm;5QDUX4wQ%?@Pp46 z8Jnu{)Wl|&BitZ9snC$3n(;@MpfMg22q|XMDutBGHHtTw0qZ3YE9Q1XWfGi)P__=O zGIpO(^hCbK9QuXFgDt#lM@2_zLOachoCD+X@e#0T5lssu14syDQotv&2z8cJ$z6Vg zDTS1m#+RjuWA4BiDtS``2t^^xnGy1Jybe(cA=ei4;gwn2ZoRtRMBF51DmQ65g+wIo zVy(z2Q3eT9Jv_e5Vzp2Wu3;(Wl1Pti*2EtaX#NqOR8>-1GJWyU&&{@2^tO7NXXwmgMte#RXrWrN82H7v-SA)MN+R+V^;mRx8 zP|R)WJIy)yV>;hYsQM{Yl&niaTX~(TPpJA8DqOLE<+cdJ5}FC0OEXqs2jzkR$|USq zSZK^Uj>3cHTWWENaykP_DXU)KN%~xT zD7i2*OMTjC4YD9i3rJg>=`5NlPAX)3&bzhs$>#mrdn&Q_Zf}3Sy{8gcxl3cnm&k9U z%IkZ6w=4J_oOYVqyZ5*Ewu(;&CekOBvdgz=Fy(G4@X9S3tC%q((utGHosWv}?_>I^ jl+u>~%TN|=IK{uRZnT(|ZkhO@c1*{1^rc!^mX`ko>M%yi literal 0 HcmV?d00001 diff --git a/local_dm_control_suite/common/__pycache__/__init__.cpython-37.pyc b/local_dm_control_suite/common/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..98acd296bb10efcc2268a77fdb7168a72f3c5704 GIT binary patch literal 1023 zcmZWo%}yIJ5VoDoX7fj=ihAI*Md~4!q^){Hs1!nl1V|-RLMv64Sv!g8?mD%-6e4;m zZ_pPY>Zz}^*Pi+coH||tsKqOPJD$wWeBXHTuH9}RSU-;=KCUA4+a2x}oY7m@<_v(N z2yx6wf>RO^?Cc8Im8eqM9@t*wm3B3$MpgLTPyDnN1sI9yY5lsfz~&s!an#~99`HJE zjJ>GMo4j>}M0*>3$I%jR^Q9{kb$E4%x}DkUoji-JRGA5_3R9M`u?X!%gt1Cfm4(b0 zVNEzvI^-&4GBdqDz!!CK(P1Y>CAk$;rcr(Y)$vX2s_bQ$yXKE`~$I8o>SIiYmU66cJu;|Pnu4q$J= zHfsP9U7}B`->^m3*pk!AwP&lBcuwZ{68|7yydnC9x_(jD!l+!w!W7N-!X7S81yQE( zrp!(X?^MaGXwc!u-J=2B-aYJ+g7jV%!AK?|W2w+Slq=!pLw}-D(LWRXRevkjQW`U3cI{UN;@I0J<=9WnTKYF}ec*MMFb*TE@J9b14N8{ltB| zT+}G#Dy9@#4YLGf1f|-k)fESx16Q_KerQ`Sw=yx>{ljj_IZ8#1OYJVE2p|*agFKF4 z)Sx@NdxL|`{lT#CH;2Q)(XcH3aDlg0Nj6vqqIn`VT&K+{fJa&w9umM_Aq2a}ulP8q F`~_Fs4~hT) literal 0 HcmV?d00001