Git Product home page Git Product logo

balloon-learning-environment's Introduction

Balloon Learning Environment

Docs



The Balloon Learning Environment (BLE) is a simulator for stratospheric balloons. It is designed as a benchmark environment for deep reinforcement learning algorithms, and is a followup to the Nature paper "Autonomous navigation of stratospheric balloons using reinforcement learning".

Getting Started

Note: The BLE requires python >= 3.7

The BLE can easily be installed with pip:

$ pip install --upgrade pip
$ pip install balloon_learning_environment

To install with the acme package:

$ pip install --upgrade pip
$ pip install balloon_learning_environment[acme]

Once the package has been installed, you can test it runs correctly by evaluating one of the benchmark agents:

python -m balloon_learning_environment.eval.eval \
  --agent=station_seeker \
  --renderer=matplotlib \
  --suite=micro_eval \
  --output_dir=/tmp/ble/eval

To install from GitHub directly, run the following commands from the root directory where you cloned the repository:

$ pip install --upgrade pip
$ pip install .[acme]

Ensure the BLE is Using Your GPU/TPU

The BLE contains a VAE for generating winds, which you will probably want to run on your accelerator. See the jax documentation for installing with GPU or TPU.

As a sanity check, you can open interactive python and run:

from balloon_learning_environment.env import balloon_env
env = balloon_env.BalloonEnv()

If you are not running with GPU/TPU, you should see a log like:

WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)

If you don't see this log, you should be good to go!

Next Steps

For more information, see the docs.

Giving credit

If you use the Balloon Learning Environment in your work, we ask that you use the following BibTeX entry:

@software{Greaves_Balloon_Learning_Environment_2021,
  author = {Greaves, Joshua and Candido, Salvatore and Dumoulin, Vincent and Goroshin, Ross and Ponda, Sameera S. and Bellemare, Marc G. and Castro, Pablo Samuel},
  month = {12},
  title = {{Balloon Learning Environment}},
  url = {https://github.com/google/balloon-learning-environment},
  version = {1.0.0},
  year = {2021}
}

If you use the ble_wind_field dataset, you should also cite

Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A.,
Muñoz‐Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A.,
Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G.,
Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M.,
Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L.,
Healy, S., Hogan, R.J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P.,
Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F.,
Villaume, S., Thépaut, J-N. (2017): Complete ERA5: Fifth generation of ECMWF
atmospheric reanalyses of the global climate. Copernicus Climate Change Service
(C3S) Data Store (CDS). (Accessed on 01-04-2021)

balloon-learning-environment's People

Contributors

agarwl avatar bshahr avatar jessefarebro avatar joshgreaves avatar psc-g avatar qstanczyk avatar rchen152 avatar sinopalnikov avatar vdumoulin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

balloon-learning-environment's Issues

Error when trying to run baseline agent

Thank you for this great repository. I'm having an issue when trying to run the baseline agent. I'm not sure if it's a bug or an issue on my end. Any help would be greatly appreciated.

Steps to recreate
$ conda create --name BLEnv python==3.9
$ python3 -m pip install balloon_learning_environment
$ python -m balloon_learning_environment.eval.eval --agent=station_seeker --renderer=matplotlib --suite=micro_eval --output_dir=/tmp/ble/eval

Operating Conditions
Ubuntu 20.04
Python 3.9, fresh anaconda install
Nvidia 470.82.01 driver

Issues
Within Features.py lines 541 and 543 cause an issue.

Error

/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gym/envs/registration.py:440: UserWarning: WARN: The registry.env_specs property along with EnvSpecTree is deprecated. Please use registry directly as a dictionary instead.
logger.warn(
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/balloon/acs.py:24: DeprecationWarning: Please use interp1d from the scipy.interpolate namespace, the scipy.interpolate.interpolate namespace is deprecated.
_PRESSURE_RATIO_TO_POWER: interpolate.interpolate.interp1d = (
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/balloon/acs.py:31: DeprecationWarning: Please use interp2d from the scipy.interpolate namespace, the scipy.interpolate.interpolate namespace is deprecated.
_PRESSURE_RATIO_POWER_TO_EFFICIENCY: interpolate.interpolate.interp2d = (
2022-07-30 19:18:17.970362: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:36: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead.
'nearest': pil_image.NEAREST,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:37: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead.
'bilinear': pil_image.BILINEAR,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:38: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead.
'bicubic': pil_image.BICUBIC,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gin/tf/init.py:48: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if (distutils.version.LooseVersion(tf.version) <
/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/chex/_src/pytypes.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.
PyTreeDef = type(jax.tree_structure(None))
2022-07-30 19:18:19.227662: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227725: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcublas.so.11'; dlerror: libcublas.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227769: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcublasLt.so.11'; dlerror: libcublasLt.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227813: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcufft.so.10'; dlerror: libcufft.so.10: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227854: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcurand.so.10'; dlerror: libcurand.so.10: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227895: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusolver.so.11'; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.227936: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/cv2/../../lib64:/usr/local/cuda-11.4/lib64:/home/jack/PHD/AirSim/ros/devel/lib:/opt/ros/noetic/lib
2022-07-30 19:18:19.230073: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1850] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
I0730 19:18:19.425369 140108376749888 xla_bridge.py:328] Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker:
I0730 19:18:19.425472 140108376749888 xla_bridge.py:328] Unable to initialize backend 'cuda': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
I0730 19:18:19.425517 140108376749888 xla_bridge.py:328] Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
I0730 19:18:19.425881 140108376749888 xla_bridge.py:328] Unable to initialize backend 'tpu': INVALID_ARGUMENT: TpuPlatform is not available.
W0730 19:18:19.425932 140108376749888 xla_bridge.py:335] No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
Traceback (most recent call last):
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/eval/eval.py", line 143, in
app.run(main)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/absl/app.py", line 308, in run
_run_main(main, args)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/eval/eval.py", line 119, in main
env = gym.make('BalloonLearningEnvironment-v0',
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gym/envs/registration.py", line 662, in make
env = env_creator(**_kwargs)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gin/config.py", line 1605, in gin_wrapper
utils.augment_exception_message_and_reraise(e, err_str)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gin/utils.py", line 41, in augment_exception_message_and_reraise
raise proxy.with_traceback(exception.traceback) from None
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/gin/config.py", line 1582, in gin_wrapper
return fn(*new_args, **new_kwargs)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/balloon_env.py", line 145, in init
self.arena = balloon_arena.BalloonArena(self._feature_constructor_factory,
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/balloon_arena.py", line 160, in init
self.reset(seed)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/balloon_arena.py", line 183, in reset
return self.feature_constructor.get_features()
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/features.py", line 327, in get_features
self._add_wind_features(feature_vector)
File "/home/jack/anaconda3/envs/BLEnv/lib/python3.9/site-packages/balloon_learning_environment/env/features.py", line 541, in _add_wind_features
assert 0.0 <= deviations[level] <= 1.00001, 'Uncertainty not in [0, 1].'
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In call to configurable 'BalloonEnv' (<class 'balloon_learning_environment.env.balloon_env.BalloonEnv'>)

Error when running distributed_train_acme_qrdqn.py

Hi, I have been trying to get 'distributed_train_acme_qrdqn.py' to run with only a few agents and I'm getting the following error. I think it might be an issue between jax, dm-acme, and dm-launchpad.

I did some digging and came across this acme/agents/jax/actors

This is where I get stuck as I'm not entirely sure how the Qr-DQN is built with jax and passed to launchpad. I would really appreciate any thoughts on this issue.

Operating System

  • Python 3.9.13
  • Ubuntu 20.04

Error

/usr/local/lib/python3.9/dist-packages/haiku/_src/data_structures.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.
PyTreeDef = type(jax.tree_structure(None))
I0908 13:09:34.228399 140062111078208 xla_bridge.py:345] Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker:
I0908 13:09:34.228528 140062111078208 xla_bridge.py:345] Unable to initialize backend 'cuda': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
I0908 13:09:34.228579 140062111078208 xla_bridge.py:345] Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
I0908 13:09:34.229399 140062111078208 xla_bridge.py:345] Unable to initialize backend 'tpu': INVALID_ARGUMENT: TpuPlatform is not available.
W0908 13:09:34.229537 140062111078208 xla_bridge.py:352] No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
I0908 13:09:34.483748 140052206171904 courier_utils.py:120] Binding: run
I0908 13:09:34.487003 140052206171904 lp_utils.py:87] StepsLimiter: Starting with max_steps = 9600000 (actor_steps)
I0908 13:09:34.487962 140050360694528 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:34.488504 140052214564608 savers.py:164] Attempting to restore checkpoint: None
I0908 13:09:35.382974 140050352301824 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.442431 140046896195328 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.453237 140046232733440 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.453534 140052214564608 courier_utils.py:120] Binding: get_counts
I0908 13:09:35.463889 140046132836096 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.473653 140046098515712 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.482568 140052214564608 courier_utils.py:120] Binding: get_directory
I0908 13:09:35.483737 140045998618368 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.503851 140045981832960 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.504534 140045923084032 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.504815 140052214564608 courier_utils.py:120] Binding: get_steps_key
I0908 13:09:35.524922 140045914691328 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.525063 140052214564608 courier_utils.py:120] Binding: increment
I0908 13:09:35.525359 140045822371584 node.py:61] Reverb client connecting to: localhost:33011
I0908 13:09:35.526567 140052214564608 courier_utils.py:120] Binding: restore
I0908 13:09:35.533543 140052214564608 courier_utils.py:120] Binding: save
I0908 13:09:35.542086 140052214564608 savers.py:155] Saving checkpoint: /root/acme/20220908-130931/checkpoints/counter
I0908 13:09:36.944851 140052206171904 lp_utils.py:95] StepsLimiter: Reached 0 recorded steps
Node ThreadWorker(thread=<Thread(actor, stopped daemon 140045923084032)>, future=<Future at 0x7f61f80a19a0 state=finished raised AttributeError>) crashed:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/launchpad/launch/worker_manager.py", line 474, in _check_workers
worker.future.result()
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 439, in result
return self.__get_result()
File "/usr/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result
raise self._exception
File "/usr/local/lib/python3.9/dist-packages/launchpad/launch/worker_manager.py", line 250, in run_inner
future.set_result(f())
File "/usr/local/lib/python3.9/dist-packages/launchpad/nodes/python/node.py", line 75, in _construct_function
return functools.partial(self._function, *args, **kwargs)()
File "/usr/local/lib/python3.9/dist-packages/launchpad/nodes/courier/node.py", line 113, in run
instance = self._construct_instance() # pytype:disable=wrong-arg-types
File "/usr/local/lib/python3.9/dist-packages/launchpad/nodes/python/node.py", line 180, in _construct_instance
self._instance = self._constructor(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/acme/jax/experiments/make_distributed_experiment.py", line 169, in build_actor
actor = experiment.builder.make_actor(actor_key, policy_network,
File "/usr/local/lib/python3.9/dist-packages/acme/agents/jax/dqn/builder.py", line 99, in make_actor
return actors.GenericActor(
File "/usr/local/lib/python3.9/dist-packages/acme/agents/jax/actors.py", line 67, in init
self._init = jax.jit(actor.init, backend=backend)
AttributeError: 'function' object has no attribute 'init'

Python Packages

absl-py 0.15.0
ale-py 0.7.3
astunparse 1.6.3
async-generator 1.10
atari-py 0.2.9
attrs 22.1.0
bsuite 0.3.5
cached-property 1.5.2
cachetools 4.2.4
certifi 2021.10.8
chardet 3.0.4
charset-normalizer 2.0.7
chex 0.1.4
clang 5.0
cloudpickle 2.0.0
colorama 0.4.5
commonmark 0.9.1
cycler 0.11.0
dbus-python 1.2.16
decorator 5.1.0
dill 0.3.5.1
distrax 0.1.2
dm-acme 0.4.1
dm-control 0.0.364896371
dm-env 1.5
dm-haiku 0.0.7
dm-launchpad 0.5.2
dm-reverb 0.7.2
dm-sonnet 2.0.0
dm-tree 0.1.6
docker 6.0.0
dopamine-rl 4.0.0
etils 0.7.1
execnet 1.9.0
flatbuffers 1.12
flax 0.5.3
fonttools 4.37.1
frozendict 2.3.4
future 0.18.2
gast 0.4.0
gin 0.1.6
gin-config 0.5.0
glfw 2.5.4
google-api-core 2.8.2
google-api-python-client 2.58.0
google-auth 1.35.0
google-auth-httplib2 0.1.0
google-auth-oauthlib 0.4.6
google-cloud-aiplatform 1.16.1
google-cloud-bigquery 2.34.4
google-cloud-core 2.3.2
google-cloud-resource-manager 1.6.1
google-cloud-storage 2.5.0
google-crc32c 1.3.0
google-pasta 0.2.0
google-resumable-media 2.3.3
googleapis-common-protos 1.56.4
grpc-google-iam-v1 0.12.4
grpcio 1.47.0
grpcio-status 1.47.0
gym 0.21.0
h5py 3.1.0
httplib2 0.20.4
humanize 4.3.0
idna 3.3
imageio 2.21.2
immutabledict 2.2.1
importlab 0.7
importlib-metadata 4.8.1
importlib-resources 5.4.0
iniconfig 1.1.1
jax 0.3.16
jaxlib 0.3.14
jmp 0.0.2
joblib 1.1.0
keras 2.8.0
Keras-Preprocessing 1.1.2
kiwisolver 1.3.2
kubernetes 24.2.0
labmaze 1.0.5
libclang 12.0.0
libcst 0.4.7
lxml 4.9.1
Markdown 3.3.4
matplotlib 3.5.3
mizani 0.7.4
mock 4.0.3
msgpack 1.0.2
mypy-extensions 0.4.3
networkx 2.8.6
ninja 1.10.2.3
numpy 1.22.4
oauthlib 3.1.1
opencv-python 4.5.4.58
opensimplex 0.3
opt-einsum 3.3.0
optax 0.0.9
packaging 21.3
palettable 3.3.0
pandas 1.4.4
patsy 0.5.2
Pillow 8.4.0
pip 22.2.2
plotnine 0.9.0
pluggy 1.0.0
portpicker 1.5.2
promise 2.3
proto-plus 1.22.1
protobuf 3.19.1
psutil 5.9.1
py 1.11.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pygame 2.1.0
Pygments 2.13.0
PyGObject 3.36.0
PyOpenGL 3.1.6
pyparsing 3.0.4
pytest 7.1.2
pytest-forked 1.4.0
pytest-xdist 2.5.0
python-apt 2.0.0+ubuntu0.20.4.8
python-dateutil 2.8.2
pytype 2021.8.11
pytz 2021.3
PyWavelets 1.3.0
PyYAML 6.0
requests 2.26.0
requests-oauthlib 1.3.0
requests-unixsocket 0.2.0
rich 11.2.0
rlax 0.1.4
rlds 0.1.5
rsa 4.7.2
s2sphere 0.2.5
scikit-image 0.19.3
scikit-learn 1.0.1
scipy 1.7.1
setuptools 45.2.0
six 1.15.0
sklearn 0.0
SQLAlchemy 1.2.19
statsmodels 0.13.2
tabulate 0.8.10
tensorboard 2.8.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow 2.8.0
tensorflow-datasets 4.5.2
tensorflow-estimator 2.8.0
tensorflow-io-gcs-filesystem 0.26.0
tensorflow-metadata 1.10.0
tensorflow-probability 0.15.0
tensorstore 0.1.23
termcolor 1.1.0
tf-estimator-nightly 2.8.0.dev2021122109
tf-slim 1.1.0
tfp-nightly 0.15.0.dev20211104
threadpoolctl 3.0.0
tifffile 2022.8.12
toml 0.10.2
tomli 2.0.1
toolz 0.11.1
tqdm 4.64.0
transitions 0.8.10
trfl 1.2.0
typed-ast 1.5.4
typing_extensions 4.3.0
typing-inspect 0.8.0
uritemplate 4.1.1
urllib3 1.26.7
websocket-client 1.4.0
Werkzeug 2.0.2
wheel 0.34.2
wrapt 1.12.1
xmanager 0.2.0
zipp 3.6.0

Running BLE on Windows 10 (Home) Environment

Very interested in running your tool. Tried running your sanity check via Pycharm on windows 10

`
from balloon_learning_environment.env import balloon_env

env = balloon_env.BalloonEnv()
`
got error not jax library. Installed jax 0.3.14 via pip.

But got error saying no jaxlib. Was unable to install jaxlib using basic install (e.g., pip install jaxllib),
and learned there are issues using jax and jaxlib running on windows. Tried the work around:

pip install "jax[cpu]===0.3.14" -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver

Now I have jax/jaxlib 0.3.14 installed but problems continue. Last run gave lots of warnings and

( File "C:\Users\Craig\anaconda3\envs\bmrl2\lib\site-packages\tensorflow_probability\python\internal\backend\jax\ops.py", line 676, in instancecheck return isinstance(instance, jax.Array)
AttributeError: module 'jax' has no attribute 'Array'

I can detail errors but before climbing this mountain, can you tell me if the simulation code can run on windows?

If not I'll look into a VM for my PC.

Thank You Craig

Can't get running on Ubuntu 20.04

I have had a lot of trouble installing and trying to get this package running. After several different attempts I got to the following point to at least successfully get the package installed without errors:

The most important thing was to get the right version of JAX and Tensorflow installed.

I am running cuda-nvcc 12.0.140, CUDAtoolkit 11.8.0 with CUDNN 8.4.1.50

  1. Install a GPU enabled tensorflow conda environment with cudatoolkit>=11.4 and cudnn >=8.2 for JAX support first before trying to install the BLE
    I have verified this is working with python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
  2. the 'flax' module no longer supports 'optim', so downgrade
    python3.9 -m pip uninstall flax
    python3.9 -m pip install flax==0.5.3
  3. Install ble without acme

Now I can't run the benchmark example, I get this error:
ImportError: /home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/courier/python/libserialization_cc_proto.so: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv

Nor can I import the balloon enivronment, I get this error:
>>> env = balloon_env.BalloonEnv() 2023-02-03 13:25:28.522181: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2389] Execution of replica 0 failed: INTERNAL: Failed to execute XLA Runtime executable: run time error: custom call 'xla.gpu.custom_call' failed: jaxlib/gpu/prng_kernels.cc:33: operation gpuGetLastError() failed: out of memory. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/gin/config.py", line 1605, in gin_wrapper utils.augment_exception_message_and_reraise(e, err_str) File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/gin/utils.py", line 41, in augment_exception_message_and_reraise raise proxy.with_traceback(exception.__traceback__) from None File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/gin/config.py", line 1582, in gin_wrapper return fn(*new_args, **new_kwargs) File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/balloon_learning_environment/env/balloon_env.py", line 145, in __init__ self.arena = balloon_arena.BalloonArena(self._feature_constructor_factory, File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/balloon_learning_environment/env/balloon_arena.py", line 151, in __init__ self._atmosphere = standard_atmosphere.Atmosphere(jax.random.PRNGKey(0)) File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/balloon_learning_environment/env/balloon/standard_atmosphere.py", line 74, in __init__ self.reset(key) File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/balloon_learning_environment/env/balloon/standard_atmosphere.py", line 82, in reset alpha = jax.random.uniform(key).item() File "/home/schuler/anaconda3/envs/tf/lib/python3.9/site-packages/jax/_src/random.py", line 265, in uniform return _uniform(key, shape, dtype, minval, maxval) # type: ignore jaxlib.xla_extension.XlaRuntimeError: INTERNAL: Failed to execute XLA Runtime executable: run time error: custom call 'xla.gpu.custom_call' failed: jaxlib/gpu/prng_kernels.cc:33: operation gpuGetLastError() failed: out of memory. In call to configurable 'BalloonEnv' (<class 'balloon_learning_environment.env.balloon_env.BalloonEnv'>)

I got a ValueError when running "env = balloon_env.BalloonEnv()"

File "/root/miniconda3/envs/ble/lib/python3.9/site-packages/balloon_learning_environment/env/features.py", line 541, in _add_wind_features
assert 0.0 <= deviations[level] <= 1.00001, 'Uncertainty not in [0, 1].'
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

cuda:11.8
cudnn:0.86

jax:0.4.10
jaxlib:0.4.10
flax:0.4.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.