Code Monkey home page Code Monkey logo

ngsim_env's Introduction

NGSIM Env

  • This is a rllab environment for learning human driver models with imitation learning

Description

  • This repository does not contain a gail / infogail / hgail implementation
    • The reason ngsim_env does not contain the GAIL algorithm implementation is to enable the codebase to be more modular. This design decision enables ngsim_env to be used as an environment in which any imitation learning algorithm can be tested. Similarly, this design decision enables the GAIL algorithm to be a separate module that can be tested in any environment be that ngsim_env or otherwise. The installation process below gets the GAIL implementation from sisl/hgail
  • It also does not contain the human driver data you need for the environment to work. The installation process below gets the data from sisl/NGSIM.jl.
  • Figure below shows a diagram of the repositories ngsim_env depends on: dependecies

Installation Process

Step-by-step install instructions are at docs/install_env_gail_full.md

Train and run a single agent GAIL policy:

  1. Navigate to ngsim_env/scripts/imitation
  2. Train a policy, this involves running imitate.py
python imitate.py --exp_name NGSIM-gail --n_itr 1000 --policy_recurrent True
  1. Run the trained policy by using it to drive a car (this creates trajectories on all NGSIM sections using the trained policy). The training step was called imitate. This step is called validate.
python validate.py --n_proc 5 --exp_dir ../../data/experiments/NGSIM-gail/ --params_filename itr_1000.npz --random_seed 42
  1. Visualize the results: Open up a jupyter notebook and use the visualize*.ipynb files.
  • the visualize family of ipynb's have headers at the top of each file describing what it does.
    • visualize.ipynb is for extracting the Root Mean Square Error
    • visualize_trajectories.ipynb creates videos such as the one shown below in the demo section
    • visualize_emergent.ipynb calculates the emergent metrics such as offroad duration and collision rate

Training process: details

How this works?

  • See README files individual directories for details, but a high-level description is:
  • The python code uses pyjulia to instantiate a Julia interpreter, see the python directory for details
  • The driving environment is then built in Julia, see the julia directory for details
  • Each time the environment is stepped forward, execution passes from python to julia, updating the environment

Demo

To reproduce our experiments for the multiagent gail paper submitted to IROS, see

scripts/imitation/README.md

GAIL in a single-agent environment

Single agent GAIL (top) and PS-GAIL (bottom) in a multi-agent environment

References


If you found this library useful in your research, please consider citing our paper and/or paper:

@inproceedings{bhattacharyya2018multi,
  title={Multi-agent imitation learning for driving simulation},
  author={Bhattacharyya, Raunak P and Phillips, Derek J and Wulfe, Blake and Morton, Jeremy and Kuefler, Alex and Kochenderfer, Mykel J},
  booktitle={2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={1534--1539},
  year={2018},
  organization={IEEE}
}

@article{bhattacharyya2019simulating,
  title={Simulating Emergent Properties of Human Driving Behavior Using Multi-Agent Reward Augmented Imitation Learning},
  author={Bhattacharyya, Raunak P and Phillips, Derek J and Liu, Changliu and Gupta, Jayesh K and Driggs-Campbell, Katherine and Kochenderfer, Mykel J},
  journal={arXiv preprint arXiv:1903.05766},
  year={2019}
}

ngsim_env's People

Contributors

djp42 avatar mykelk avatar nickketz avatar raunakbh92 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  avatar  avatar  avatar  avatar

ngsim_env's Issues

h5 file writing error

When I run extract_ngsim_demonstrations.jl, at the last file writing step, I got the error like:
HDF5-DIAG: Error detected in HDF5 (1.8.16) thread 139631168086208:
#000: ../../../src/H5F.c line 522 in H5Fcreate(): unable to create file

I solved it by manually creating the target folder: ../data/trajectories/

Cairo shared library cannot be opened

Dear authors and community,

During installation, came up to error after openning julia and executing using AutoEnvs (following installation from install_env_gail_full.md). The error traceback is following:

julia> using AutoEnvs
[ Info: Precompiling AutoEnvs [b0c92c82-45e2-5f35-82fd-3b99a2ee9dd8]
ERROR: LoadError: InitError: /home/akvasov/.julia/packages/Cairo/ZbzIH/deps/usr/lib/libcairo-gobject.so cannot be opened, Please re-run Pkg.build("Cairo"), and restart Julia.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] check_deps() at /home/akvasov/.julia/packages/Cairo/ZbzIH/deps/deps.jl:23
 [3] __init__() at /home/akvasov/.julia/packages/Cairo/ZbzIH/src/Cairo.jl:16
 [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:633
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:713
 [6] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:648
 [7] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:702
 [8] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:648
 [9] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:702
 [10] _require(::Base.PkgId) at ./loading.jl:937
 [11] require(::Base.PkgId) at ./loading.jl:858
 [12] require(::Module, ::Symbol) at ./loading.jl:853
 [13] include at ./boot.jl:326 [inlined]
 [14] include_relative(::Module, ::String) at ./loading.jl:1038
 [15] include(::Module, ::String) at ./sysimg.jl:29
 [16] top-level scope at none:2
 [17] eval at ./boot.jl:328 [inlined]
 [18] eval(::Expr) at ./client.jl:404
 [19] top-level scope at ./none:3
during initialization of module Cairo
in expression starting at /home/akvasov/repos/ngsim_env/julia/src/AutoEnvs.jl:4
ERROR: Failed to precompile AutoEnvs [b0c92c82-45e2-5f35-82fd-3b99a2ee9dd8] to /home/akvasov/.julia/compiled/v1.1/AutoEnvs/gVIxo.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1197
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853

Although libcairo-gobject.so exists and clearly has a+x access rights.
What is the problem of openning this shared file?

Which version of HDF5 was used?

I installed HDF5 1.10 but encountered the following error when "using AutoEnvs":

julia> using AutoEnvs
[ Info: Precompiling AutoEnvs [b0c92c82-45e2-5f35-82fd-3b99a2ee9dd8]
ERROR: LoadError: LoadError: UndefVarError: HDF5File not defined
Stacktrace:
[1] top-level scope at /home/zongkai/.julia/packages/AutoRisk/g60Ag/src/collection/dataset.jl:8
[2] include at ./boot.jl:328 [inlined]
[3] include_relative(::Module, ::String) at ./loading.jl:1105
[4] include at ./Base.jl:31 [inlined]
[5] include(::String) at /home/zongkai/.julia/packages/AutoRisk/g60Ag/src/AutoRisk.jl:2
[6] top-level scope at /home/zongkai/.julia/packages/AutoRisk/g60Ag/src/AutoRisk.jl:76
[7] include at ./boot.jl:328 [inlined]
[8] include_relative(::Module, ::String) at ./loading.jl:1105
[9] include(::Module, ::String) at ./Base.jl:31
[10] top-level scope at none:2
[11] eval at ./boot.jl:330 [inlined]
[12] eval(::Expr) at ./client.jl:425
[13] top-level scope at ./none:3
in expression starting at /home/zongkai/.julia/packages/AutoRisk/g60Ag/src/collection/dataset.jl:8

It seems to me a version incompatibility issue of HDF5. So I wonder which version of HDF5 was used back to the time the installation instruction was created.

BTW,
I used the specified version mentioned in other issues for these two packages which helped resolved a lot of "xxx not defined" issues.

  • AutomotiveDrivingModels v0.7.12

  • AutoViz v0.7.10

Thanks.

How to iterate through a dictionary to get and pass key name to string

I'd like to iterate through a C# dictionary storing nested JSON to retrieve and pass the dictionary key name to a string, in the form of "key1:key1-1:key1-1-1".

After that, a new dictionary is created to use the specially arranged string as its keys.

Finally, desiredDictionary["key1:key1-1:key1-1-1"] = originalDictionary["key1"]["key1-1"]["key1-1-1"].

Please make the answer specific, my apology that I'm new to C# IEnumerable class and JSON.

I've stored the JSON data into a dictionary, the sample JSON is given below.

using System.Web.Script.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

......
string jsonText = File.ReadAllText(myJsonPath);
var jss = new JavaScriptSerializer();

//this is the dictionary storing JSON
var dictJSON = jss.Deserialize<Dictionary<string, dynamic>>(jsonText); 

//this is the dictionary with keys of specially arranged string 
var desiredDict = new Dictionary<string, string>();
......
......
//Here is a sample JSON
{
    "One": "Hey",

    "Two": {
        "Two": "HeyHey"
           }

     "Three": {
        "Three": {
            "Three": "HeyHeyHey"    
                 }
              } 
}

I need help with the process for dictionary key name retrieval, string completion, and new dictionary value passing. According to the given JSON, desiredDict["Three:Three:Three"] = dictJSON["Three"]["Three"]["Three"] = "HeyHeyHey", The solution is expected to apply on any similar JSON.

Can I use Julia 1.1 with the code now?

Hi,

I tried to install ngsim_env with Julia 0.7 on Mac. Met a lot of problems. Will it be easier to install with Julia 1.1? Is the 0.7fixes branch working now?

v1.1 NGSIM path

Currently we are hardcoding the NGSIM data path / package because julia decided to add a hash in the path, and we need the data from NGSIM, so that is a problem for us. What is the best way to address it? Symlink? Environment variable? Utility to get most recent subdir of NGSIM? Etc. Example path: ~/.julia/packages/NGSIM/B45UX/data

Visualization error: segmentation fault

I tried to create a video using multiAgentMakeVideo.py but I got the following error: Segmentation fault in expression starting at no file:0
getproperty at ./sysimg.jl:18 [inlined]
getindex at ./refvalue.jl:32 [inlined]
handle_new_from_data at /home/user/.julia/packages/Rsvg/uwc9D/src/calls.jl:109
render_fancy_car at /home/user.julia/packages/AutoViz/Kccwt/src/fancy_render.jl:40

I tried to change AutoViz to v.0.6.0 but then I got other issues. Suggestions are appreciated!

Error when using AutoEnvs in Julia

Hi I tried the installation and encountered this issue. Could you please help me with this? Thanks. I was running on Ubuntu18.04 with Julia 1.1.0

julia> using AutoEnvs
[ERROR: LoadError: LoadError: UndefVarError: EntityQueueRecord not defined
Stacktrace:
 [1] top-level scope at none:0
 [2] include at ./boot.jl:326 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at /home/meng/.julia/packages/AutoRisk/g60Ag/src/AutoRisk.jl:2
 [6] top-level scope at none:0
 [7] include at ./boot.jl:326 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1038
 [9] include(::Module, ::String) at ./sysimg.jl:29
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:328 [inlined]
 [12] eval(::Expr) at ./client.jl:404
 [13] top-level scope at ./none:3
in expression starting at /home/meng/.julia/packages/AutoRisk/g60Ag/src/evaluation/simulation.jl:29
in expression starting at /home/meng/.julia/packages/AutoRisk/g60Ag/src/AutoRisk.jl:30
ERROR: LoadError: Failed to precompile AutoRisk [c91b7102-3640-11e9-1a5c-f77073b5ac95] to /home/meng/.julia/compiled/v1.1/AutoRisk/XxXFG.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1197
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853
 [6] include at ./boot.jl:326 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1038
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:328 [inlined]
 [11] eval(::Expr) at ./client.jl:404
 [12] top-level scope at ./none:3
in expression starting at /home/meng/ngsim_env/julia/src/AutoEnvs.jl:3
ERROR: Failed to precompile AutoEnvs [b0c92c82-45e2-5f35-82fd-3b99a2ee9dd8] to /home/meng/.julia/compiled/v1.1/AutoEnvs/gVIxo.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1197
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853

A couple of questions about your original paper.

  1. Why isn't vehicle dynamics assumed to be x_{t+1} = x_{t} + v_{t} \Delta t + 1/2 a (\Delta t)^2?
  2. The standard deviation of x_{t+1} should be \sigma_{IDM} \Delta t^2 / 2 instead of \sigma_{IDM} \Delta t^2 indicated in the paper.

Installation procedure

This repository should benefit from the new SISL registry to simplify the installation procedure on julia 1.1

singleAgentMakeVideo.py getindex error

Have have successfully trained a model, and run validate.py. Now I am trying to create a visualization, and received an error stemming from rendering the environment. The error message includes:

RuntimeError: Julia exception: MethodError: no method matching getindex(::Records.Frame{Records.Entity{AutomotiveDrivingModels.VehicleState,AutomotiveDrivingModels.VehicleDef,Int64}}, ::Nothing) Closest candidates are: getindex(::Records.Frame, !Matched::Int64) at /home/fei960922/.julia/packages/Records/q2nsF/src/frames.jl:20

Full traceback:
Traceback (most recent call last): File "singleAgentMakeVideo.py", line 220, in <module> n_vehs=1) File "singleAgentMakeVideo.py", line 176, in do_it_all_once render_map = create_render_map(model_labels, model_args_filepaths, model_params_filepaths, multi,rand, n_vehs=n_vehs, remove_ngsim=remove_ngsim) File "singleAgentMakeVideo.py", line 154, in create_render_map render_kwargs=render_kwargs File "singleAgentMakeVideo.py", line 72, in mutliagent_simulate img = env.render(**render_kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/ngsim_env/python/julia_env/julia_env.py", line 32, in render return self.j.render(self.env, *args, **kwargs)Traceback (most recent call last): File "singleAgentMakeVideo.py", line 220, in <module> n_vehs=1) File "singleAgentMakeVideo.py", line 176, in do_it_all_once render_map = create_render_map(model_labels, model_args_filepaths, model_params_filepaths, multi,rand, n_vehs=n_vehs, remove_ngsim=remove_ngsim) File "singleAgentMakeVideo.py", line 154, in create_render_map render_kwargs=render_kwargs File "singleAgentMakeVideo.py", line 72, in mutliagent_simulate img = env.render(**render_kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/ngsim_env/python/julia_env/julia_env.py", line 32, in render return self.j.render(self.env, *args, **kwargs)Traceback (most recent call last): File "singleAgentMakeVideo.py", line 220, in <module> n_vehs=1) File "singleAgentMakeVideo.py", line 176, in do_it_all_once render_map = create_render_map(model_labels, model_args_filepaths, model_params_filepaths, multi,rand, n_vehs=n_vehs, remove_ngsim=remove_ngsim) File "singleAgentMakeVideo.py", line 154, in create_render_map render_kwargs=render_kwargs File "singleAgentMakeVideo.py", line 72, in mutliagent_simulate img = env.render(**render_kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/rllab/rllab/envs/proxy_env.py", line 29, in render return self._wrapped_env.render(*args, **kwargs) File "/home/fei960922/Documents/Andy/ngsim_env/python/julia_env/julia_env.py", line 32, in render return self.j.render(self.env, *args, **kwargs)

Has anyone encountered this? Does it relate to using the wrong version of AutoViz?

validate.py causes segmentation fault

@raunakbh92 @wulfebw
Hi, A wonderful paper and thank your for providing the implementations.
I was able to train the GAIL agent but when I am running the validate.py I am running into a segmentation fault.

Currently running with Julia V1.1.0 and Ubuntu 18.04

"""
Traceback (most recent call last):
File "/home/asyin/anaconda3/envs/rllab3/lib/python3.5/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "validate.py", line 135, in collect_trajectories
env_kwargs=dict(egoid=egoid, start=starts[egoid])
File "validate.py", line 31, in simulate
a, a_info = policy.get_action(x)
File "/home/asyin/R/rllab/hgail/hgail/policies/gaussian_latent_var_gru_policy.py", line 193, in get_action
return actions[0], {k: v[0] for k, v in agent_infos.items()}
File "/home/asyin/R/rllab/hgail/hgail/policies/gaussian_latent_var_gru_policy.py", line 193, in
return actions[0], {k: v[0] for k, v in agent_infos.items()}
KeyError: 0
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "validate.py", line 381, in
random_seed=run_args.random_seed
File "validate.py", line 266, in collect
random_seed=random_seed
File "validate.py", line 188, in parallel_collect_trajectories
[res.get() for res in results]
File "validate.py", line 188, in
[res.get() for res in results]
File "/home/asyin/anaconda3/envs/rllab3/lib/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
KeyError: 0

signal (15): Terminated
in expression starting at no file:0
read at /lib/x86_64-linux-gnu/libpthread.so.0 (unknown line)

signal (15): Terminated
in expression starting at no file:0

signal (15): Terminated
in expression starting at no file:0

signal (15): Terminated
in expression starting at no file:0
_Py_read at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/fileutils.c:1205
_PyObject_GenericGetAttrWithDict at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/object.c:1053

signal (15): Terminated
in expression starting at no file:0

signal (11): Segmentation fault
in expression starting at no file:0

How to retrieve and store JSON data in a Dictionary by providing keys separated by colon “:”

It's a C# console app, I'd like to make JSON interact with a Dictionary by passing keys separated by colon, the keys of the dictionary are expected to be passed in the form of "key1:key1-1:key1-1-1", the path of keys is fixed like that, so I'm told not to use outer string-manipulating functions.

Here is my sample JSON

{
    "One": "Hey",

    "Two": {
               "Two": "HeyHey"
           }

    "Three": {
                 "Three": {
                              "Three": "HeyHeyHey"  
                          }
             } 
}

"HeyHeyHey" shall be the expected value for dictionary["Three:Three:Three"] according to the sample JSON. How do I store JSON data into a Dictionary in the form of dictionary["Three:Three:Three"], not dictionary["Three"]["Three"]["Three"]. I thought of using string-manipulating functions to operate on JSON keys, but I'm told that the program will not call my functions.

LoadError: InitError: UndefVarError: pyprogramname not defined

I am using Ubuntu 18.04.5, Julia v0.6.2, ngsim_env v0.6 branch and following the installation instructions in https://github.com/sisl/ngsim_env/blob/v0.6/docs/install_env_gail_full.md.
I also do some additional setup to make Julia package compatible (Revert to a previous version of *.jl).

  1. AutomotiveDrivingModels
  • cd ~/.julia/v0.6/AutomotiveDrivingModels
  • git checkout 74050e9ae44bda72a485c2573ac4f0df2bc3e767
  • change Base.parse() function signature in src/2d/roadway/roadways.jl:35 to line::AbstractString
  1. Records
  • cd ~/.julia/v0.6/Records
  • git checkout 4181e5d8033ddd47c086014301ee2a6c47289e6e
  1. Vec
  • cd ~/.julia/v0.6/Vec # tag: v0.1.0
  • git checkout ab4f652aa12a2d06433e62bb39e0a17f06ca9cbf
  1. AutoViz
  • cd ~/.julia/v0.6/AutoViz # tag: v0.6.0
  • git checkout f04a667b54de3d4b0252b958898577e6243c6f57
  • add Reexport to REQUIRE file
  1. BayesNets
  • cd ~/.julia/v0.6/BayesNets
  • git checkout 5febf756d38194712cfb8c0c2294252931611afa
  1. NGSIM
  • cd ~/.julia/v0.6/NGSIM # tag: v1.1.0
  • git checkout 656ead7154bdfef946e51401eeeb4b2c5accb022
  1. ~/ngsim_env/julia/deps/build.jl has been modified to include additional required packages.
package_names = [
    "JLD",
    "GridInterpolations",
    "PyCall",
    "PyPlot",
    "Iterators",
    "DataStructures",
    "Parameters",
    "StatsBase",
    "TikzGraphs",
    "CMakeWrapper",
    "Blosc",
    "PGFPlots"
]

I was able to go through all the setup instructions and julia tests julia ngsim_env/julia/test/runtests.jl. However, I ran into the errors when executing the following.

cd ~/ngsim_env/python/tests
python runtests.py

I have searched for the issue but did not find a solution. The errors are

test_julia_env (test_julia_env.TestJuliaEnv) ... ERROR: LoadError: InitError: UndefVarError: pyprogramname not defined
Stacktrace:
 [1] anaconda_conda() at ~/.julia/v0.6/PyCall/src/PyCall.jl:625
 [2] find_backend(::PyCall.PyObject) at ~/.julia/v0.6/PyPlot/src/init.jl:55
 [3] __init__() at ~/.julia/v0.6/PyPlot/src/init.jl:182
 [4] _include_from_serialized(::String) at ./loading.jl:157
 [5] _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:200
 [6] _require_search_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:236
 [7] _require(::Symbol) at ./loading.jl:441
 [8] require(::Symbol) at ./loading.jl:405
 [9] include_from_node1(::String) at ./loading.jl:576
 [10] include(::String) at ./sysimg.jl:14
 [11] anonymous at ./<missing>:2
during initialization of module PyPlot
while loading ~/ngsim_env/julia/AutoEnvs/AutoEnvs.jl, in expression starting on line 9
ERROR
test_multiagent_ngsim_env (test_multiagent_ngsim_env.TestMultiagentNGSIMEnv) ... ERROR: LoadError: InitError: UndefVarError: pyprogramname not defined
Stacktrace:
 [1] anaconda_conda() at ~/.julia/v0.6/PyCall/src/PyCall.jl:625
 [2] find_backend(::PyCall.PyObject) at ~/.julia/v0.6/PyPlot/src/init.jl:55
 [3] __init__() at ~/.julia/v0.6/PyPlot/src/init.jl:182
 [4] _include_from_serialized(::String) at ./loading.jl:157
 [5] _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:200
 [6] _require_search_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:236
 [7] _require(::Symbol) at ./loading.jl:441
 [8] require(::Symbol) at ./loading.jl:405
 [9] include_from_node1(::String) at ./loading.jl:576
 [10] include(::String) at ./sysimg.jl:14
 [11] anonymous at ./<missing>:2
during initialization of module PyPlot
while loading ~/ngsim_env/julia/AutoEnvs/AutoEnvs.jl, in expression starting on line 9
ERROR
test_ngsim_env (test_ngsim_env.TestNGSIMEnv) ... ERROR: LoadError: InitError: UndefVarError: pyprogramname not defined
Stacktrace:
 [1] anaconda_conda() at ~/.julia/v0.6/PyCall/src/PyCall.jl:625
 [2] find_backend(::PyCall.PyObject) at ~/.julia/v0.6/PyPlot/src/init.jl:55
 [3] __init__() at ~/.julia/v0.6/PyPlot/src/init.jl:182
 [4] _include_from_serialized(::String) at ./loading.jl:157
 [5] _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:200
 [6] _require_search_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:236
 [7] _require(::Symbol) at ./loading.jl:441
 [8] require(::Symbol) at ./loading.jl:405
 [9] include_from_node1(::String) at ./loading.jl:576
 [10] include(::String) at ./sysimg.jl:14
 [11] anonymous at ./<missing>:2
during initialization of module PyPlot
while loading ~/ngsim_env/julia/AutoEnvs/AutoEnvs.jl, in expression starting on line 9
ERROR
test_vectorized_ngsim_env (unittest.loader._FailedTest) ... ERROR

======================================================================
ERROR: test_julia_env (test_julia_env.TestJuliaEnv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "~/ngsim_env/python/tests/test_julia_env.py", line 12, in test_julia_env
    using='AutoEnvs'
  File "~/ngsim_env/python/julia_env/julia_env.py", line 16, in __init__
    self.j.using(using)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1170, in using
    self.eval("using %s" % module)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1149, in eval
    ans = self._call(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1082, in _call
    self.check_exception(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1132, in check_exception
    .format(exception, src))
julia.core.JuliaError: Exception 'Failed to precompile AutoEnvs to ~/.julia/lib/pyjulia3-v0.6/AutoEnvs.ji.' occurred while calling julia code:
using AutoEnvs

======================================================================
ERROR: test_multiagent_ngsim_env (test_multiagent_ngsim_env.TestMultiagentNGSIMEnv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "~/ngsim_env/python/tests/test_multiagent_ngsim_env.py", line 36, in test_multiagent_ngsim_env
    using='AutoEnvs'
  File "~/ngsim_env/python/julia_env/julia_env.py", line 16, in __init__
    self.j.using(using)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1170, in using
    self.eval("using %s" % module)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1149, in eval
    ans = self._call(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1082, in _call
    self.check_exception(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1132, in check_exception
    .format(exception, src))
julia.core.JuliaError: Exception 'Failed to precompile AutoEnvs to ~/.julia/lib/pyjulia3-v0.6/AutoEnvs.ji.' occurred while calling julia code:
using AutoEnvs

======================================================================
ERROR: test_ngsim_env (test_ngsim_env.TestNGSIMEnv)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "~/ngsim_env/python/tests/test_ngsim_env.py", line 17, in test_ngsim_env
    using='AutoEnvs'
  File "~/ngsim_env/python/julia_env/julia_env.py", line 16, in __init__
    self.j.using(using)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1170, in using
    self.eval("using %s" % module)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1149, in eval
    ans = self._call(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1082, in _call
    self.check_exception(src)
  File "~/miniconda3/envs/rllab3/lib/python3.6/site-packages/julia/core.py", line 1132, in check_exception
    .format(exception, src))
julia.core.JuliaError: Exception 'Failed to precompile AutoEnvs to ~/.julia/lib/pyjulia3-v0.6/AutoEnvs.ji.' occurred while calling julia code:
using AutoEnvs

======================================================================
ERROR: test_vectorized_ngsim_env (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_vectorized_ngsim_env
Traceback (most recent call last):
  File "~/miniconda3/envs/rllab3/lib/python3.6/unittest/loader.py", line 428, in _find_test_path
    module = self._get_module_from_name(name)
  File "~/miniconda3/envs/rllab3/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
    __import__(name)
  File "~/ngsim_env/python/tests/test_vectorized_ngsim_env.py", line 13, in <module>
    from hgail.baselines.gaussian_mlp_baseline import GaussianMLPBaseline
ModuleNotFoundError: No module named 'hgail'


----------------------------------------------------------------------
Ran 4 tests in 59.493s

FAILED (errors=4)

Can anyone give any suggestions or know how to solve the problem? I would appreciate it.

Julia packages build errors while following the install_env_gail_full.md

I used julia for the first time and had problems when go through the install_env_gail_full.md.
My system is ubuntu 16.04.
I simply went down the procedures and was not able to build the packages after running the following command.

julia ngsim_env/julia/deps/build.jl

The errors are

=======================[ ERROR: AutomotiveDrivingModels ]=======================

LoadError: ArgumentError: Module Pkg not found in current path.
Run `Pkg.add("Pkg")` to install the Pkg package.
while loading /home/yychen/.julia/v0.6/AutomotiveDrivingModels/deps/build.jl, in expression starting on line 1

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: AutomotiveDrivingModels had build errors.

 - packages with build errors remain installed in /home/yychen/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("AutomotiveDrivingModels")`
 - build a single package by running its `deps/build.jl` script

================================================================================
INFO: Building AutoViz
===============================[ ERROR: AutoViz ]===============================

LoadError: ArgumentError: Module Pkg not found in current path.
Run `Pkg.add("Pkg")` to install the Pkg package.
while loading /home/yychen/.julia/v0.6/AutoViz/deps/build.jl, in expression starting on line 1

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: AutoViz had build errors.

 - packages with build errors remain installed in /home/yychen/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("AutoViz")`
 - build a single package by running its `deps/build.jl` script

================================================================================
ERROR: LoadError: LightGraphs is not an installed package

Also there are warnings:

julia is fixed at 0.6.2 conflicting with requirement for BayesNets: [0.7.0,∞)

Exception when cloning https://github.com/sisl/BayesNets.jl.git: Base.Pkg.PkgError("fixed packages introduce conflicting requirements for LightGraphs:  BayesNets requires versions [1.0.0,∞) [none of the available versions can satisfy this requirement] ")

Exception when cloning https://github.com/sisl/NGSIM.jl.git: Base.Pkg.PkgError("fixed packages introduce conflicting requirements for LightGraphs:  BayesNets requires versions [1.0.0,∞) [none of the available versions can satisfy this requirement] ")

Exception when cloning https://github.com/sisl/AutoRisk.jl.git: Base.Pkg.PkgError("fixed packages introduce conflicting requirements for LightGraphs:  BayesNets requires versions [1.0.0,∞) [none of the available versions can satisfy this requirement] ")

After I tried every method, I finally reached the error:

ERROR: LoadError: DataArrays is not an installed package

If I add the package through Pkg.add("DataArrays"), I can see several warnings that showed that DataArrays.jl, BayesNets, LightGraphs and Inflate only support the julia version [0.7.0, ∞)
and error showed that

Inflate can't be installed because it has no versions that support 0.6.2 of julia.

I guess it is due to the update of the related packages. Can anyone give any suggestions, or details like the version of the BayesNets and other related packages? Or can anyone solve the problem from the beginning?

PPO instead of TRPO

Hello, thank you for sharing your code.
May I ask a paper question? Since ppo is the upgrade of trpo. Have you considered to use ppo instead of trpo? I am facing this question in my thesis. I wonder why all lastet GAIL paper still use trpo.

Thank you very much.

v1.1 fixes, incorrect data extraction

After running julia 1.1 version of the ngsim extract everything and looking at the expert data in visualize_emergent.ipynb, we see completely wrong values for dleft, dright, and TTC, likely the result of some undocumented change in a dependency between julia versions (speculation). Some of the other values also seem a bit off. See below for values:

{'0820am-0835am': 
{'dleft': (207670.91874906194, 208635.24563178793), 
'dright': (-18210.856847647272, -18112.51571709203), 
'Turn-rate': (-0.7525520700884558, 0.6810855783650847), 
'Acceleration': (-9.169478099589634, 19.6527255780126), 
'Jerk': (-56.311584929457936, 170.3583576401261),
'Speed': (4.4628430053130104e-05, 30.40344487830156), 
'TTC': (0.1, 0.1)}}

julia convert_raw_ngsim_to_trajdatas() got error "no method matching rename!(::DataFrames.Index, ::Symbol, ::Symbol)"

I follow the instrcutions in https://github.com/sisl/ngsim_env/blob/0.7fixes_in_progress/docs/install_env_gail_full.md

and I got an error when executing :
##Create trajectories from the data
$julia
julia> using NGSIM
julia> convert_raw_ngsim_to_trajdatas()

The output is:
converting i101_trajectories-0750am-0805am.txt
loading from file: ┌ Warning: readtable is deprecated, use CSV.read from the CSV package instead
│ caller = ip:0x0
└ @ Core :-1
ERROR: MethodError: no method matching rename!(::DataFrames.Index, ::Symbol, ::Symbol)
Closest candidates are:
rename!(::DataFrames.Index, ::Any) at /home/vivi/.julia/packages/DataFrames/m9gd9/src/other/index.jl:49
rename!(::DataFrames.AbstractDataFrame, ::Any...) at /home/vivi/.julia/packages/DataFrames/m9gd9/src/abstractdataframe/abstractdataframe.jl:127
rename!(::DataFrames.Index, ::Pair{Symbol,Symbol}...) at /home/vivi/.julia/packages/DataFrames/m9gd9/src/other/index.jl:60
Stacktrace:
[1] rename!(::DataFrames.DataFrame, ::Symbol, ::Symbol) at /home/vivi/.julia/packages/DataFrames/m9gd9/src/abstractdataframe/abstractdataframe.jl:127
[2] NGSIMTrajdata(::String) at /home/vivi/.julia/packages/NGSIM/OPF1x/src/ngsim_trajdata.jl:37
[3] #load_ngsim_trajdata#35(::Bool, ::Function, ::String) at /home/vivi/.julia/packages/NGSIM/OPF1x/src/trajdata.jl:146
[4] load_ngsim_trajdata at /home/vivi/.julia/packages/NGSIM/OPF1x/src/trajdata.jl:145 [inlined]
[5] convert_raw_ngsim_to_trajdatas() at /home/vivi/.julia/packages/NGSIM/OPF1x/src/trajdata.jl:200
[6] top-level scope at none:0

It seems like there exists no such rename fnuctions from the loaded modules.
Can somebody help me with this issue?

visualize error when python call julia

Hi, I follow the build guide and the training is working. But when I run visualize_trajectories-SIMPLE.ipynb notebook file, I got TypeError: Julia exception: TypeError(Symbol("Type{...} expression"), "", UnionAll, AutoViz.CarFollowCamera) in function render(line 31 of ngsim_env/python/julia_env/julia_env.py).

I use ubuntu16.04,python3.6,julia0.6.2, I reset AutoViz to commit 274dd08 because the AutoEnvs build error.I'm new with julia, any suggestions?

Thanks.

run validate.py has a error: failed to allocate xxx from device: CUDA_ERROR_OUT_OF_MEMORY

log info:
python validate.py --n_proc 2 --exp_dir ../../data/experiments/NGSIM-gail/ --params_filename itr_1000.npz --random_seed 42
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
50 vehicles with H = 200

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8095
pciBusID 0000:83:00.0
Total memory: 7.93GiB
Free memory: 7.70GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:590] creating context when one is currently active; existing: 0x641f8c0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8095
pciBusID 0000:83:00.0
Total memory: 7.93GiB
Free memory: 7.70GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:590] creating context when one is currently active; existing: 0x730cd40
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 1 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8095
pciBusID 0000:84:00.0
Total memory: 7.93GiB
Free memory: 7.70GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 1 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8095
pciBusID 0000:84:00.0
Total memory: 7.93GiB
Free memory: 7.70GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 1
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 1
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 1: Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 1: Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:83:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:83:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080, pci bus id: 0000:84:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080, pci bus id: 0000:84:00.0)
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 7.32G (7857173248 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 6.58G (7071455744 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 5.93G (6364310016 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 5.33G (5727878656 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 4.80G (5155090432 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 4.32G (4639581184 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 3.89G (4175622912 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 3.50G (3758060544 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 3.15G (3382254336 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 2.83G (3044028928 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 2.55G (2739625984 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 2.30G (2465663232 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 2.07G (2219096832 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.86G (1997187072 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.67G (1797468416 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.51G (1617721600 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.36G (1455949568 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.22G (1310354688 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1.10G (1179319296 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 1012.22M (1061387520 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 911.00M (955248896 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 819.90M (859724032 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 737.91M (773751808 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 664.12M (696376832 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 597.71M (626739200 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 537.93M (564065280 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 484.14M (507658752 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 435.73M (456892928 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:1002] failed to allocate 392.15M (411203840 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
pid: 0 traj: 0 / 1031E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Traceback (most recent call last):
File "validate.py", line 381, in
random_seed=run_args.random_seed
File "validate.py", line 266, in collect
random_seed=random_seed
File "validate.py", line 188, in parallel_collect_trajectories
[res.get() for res in results]
File "validate.py", line 188, in
[res.get() for res in results]
File "/opt/conda/envs/rllab3/lib/python3.5/multiprocessing/pool.py", line 644, in get
raise self._value
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7f23f5742710>'. Reason: 'PicklingError("Can't pickle <class 'module'>: attribute lookup module on builtins failed",)'

signal (15): Terminated
in expression starting at no file:0
do_futex_wait.constprop.3 at /lib/x86_64-linux-gnu/libpthread.so.0 (unknown line)
__new_sem_wait_slow.constprop.0 at /lib/x86_64-linux-gnu/libpthread.so.0 (unknown line)
sem_wait at /lib/x86_64-linux-gnu/libpthread.so.0 (unknown line)
semlock_acquire at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Modules/_multiprocessing/semaphore.c:310

signal (15): Terminated
in expression starting at no file:0
PyCFunction_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/methodobject.c:98
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4758 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
method_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
PyObject_CallFunctionObjArgs at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2446
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3160
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
ZN4llvm15ScalarEvolution16isKnownPredicateENS_7CmpInst9PredicateEPKNS_4SCEVES5 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
method_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ZN4llvm15ScalarEvolution25isKnownViaSimpleReasoningENS_7CmpInst9PredicateEPKNS_4SCEVES5 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
ZN4llvm15ScalarEvolution27isImpliedCondOperandsHelperENS_7CmpInst9PredicateEPKNS_4SCEVES5_S5_S5 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
ZN4llvm15ScalarEvolution21isImpliedCondOperandsENS_7CmpInst9PredicateEPKNS_4SCEVES5_S5_S5 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
slot_tp_init at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:6314
type_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:905
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4989 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4785 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
method_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ZN4llvm15ScalarEvolution13isImpliedCondENS_7CmpInst9PredicateEPKNS_4SCEVES5_S2_S5_S5 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
ZN4llvm15ScalarEvolution27isLoopBackedgeGuardedByCondEPKNS_4LoopENS_7CmpInst9PredicateEPKNS_4SCEVES8 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
_ZN4llvm15ScalarEvolution17getSignExtendExprEPKNS_4SCEVEPNS_4TypeEj at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
slot_tp_init at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:6314
_ZN4llvm17simplifyUsersOfIVEPNS_7PHINodeEPNS_15ScalarEvolutionEPNS_13DominatorTreeEPNS_8LoopInfoERNS_15SmallVectorImplINS_14WeakTrackingVHEEERNS_12SCEVExpanderEPNS_9IVVisitorE at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
type_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:905
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4989 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4785 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
PyEval_EvalCode at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:777
run_mod at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:991 [inlined]
PyRun_FileExFlags at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:944
PyRun_SimpleFileExFlags at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:411
run_file at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Modules/main.c:328 [inlined]
Py_Main at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Modules/main.c:779
main at python (unknown line)
_ZN12_GLOBAL__N_114IndVarSimplify17simplifyAndExtendEPN4llvm4LoopERNS1_12SCEVExpanderEPNS1_8LoopInfoE.constprop.426 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
_ZN12_GLOBAL__N_114IndVarSimplify3runEPN4llvm4LoopE.part.412 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x400998)
unknown function (ip: 0xffffffffffffffff)
Allocations: 112352957 (Pool: 112338583; Big: 14374); GC: 238

signal (11): Segmentation fault
in expression starting at no file:0
PyErr_Fetch at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/errors.c:328
PyObject_ClearWeakRefs at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/weakrefobject.c:909
_ZN12_GLOBAL__N_124IndVarSimplifyLegacyPass9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE.part.413 at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
_ZN4llvm13LPPassManager13runOnFunctionERNS_8FunctionE at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at /root/code/julia-1.1.0/bin/../lib/julia/libLLVM-6.0.so (unknown line)
array_dealloc at /home/ilan/minonda/conda-bld/numpy-1.12_1486268766587/work/numpy-1.12.0/numpy/core/src/multiarray/arrayobject.c:384
pydecref
at /root/.julia/packages/PyCall/ttONZ/src/PyCall.jl:121
pydecref at /root/.julia/packages/PyCall/ttONZ/src/PyCall.jl:126
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1571 [inlined]
run_finalizer at /buildworker/worker/package_linux64/build/src/gc.c:232
jl_gc_run_finalizers_in_list at /buildworker/worker/package_linux64/build/src/gc.c:318
jl_gc_run_all_finalizers at /buildworker/worker/package_linux64/build/src/gc.c:346
jl_atexit_hook at /buildworker/worker/package_linux64/build/src/init.c:249
jl_exit at /buildworker/worker/package_linux64/build/src/jl_uv.c:592
jl_exit_thread0_cb at /buildworker/worker/package_linux64/build/src/signals-unix.c:344
unknown function (ip: 0xffffffffffffffff)
Allocations: 112353419 (Pool: 112339045; Big: 14374); GC: 238
operator() at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:335
E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
addModule at /buildworker/worker/package_linux64/build/usr/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:57 [inlined]
addModule at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:454
jl_add_to_ee at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:679 [inlined]
jl_finalize_function at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:687
E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
getAddressForFunction at /buildworker/worker/package_linux64/build/src/codegen.cpp:1281
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/codegen.cpp:1388
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1856 [inlined]
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1863
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
deepcopy_internal at ./deepcopy.jl:78 [inlined]
deepcopy at ./deepcopy.jl:28 [inlined]
get_features at /home/lius/tmp/github/ngsim_env/julia/src/ngsim_env.jl:218
#reset#22 at /home/lius/tmp/github/ngsim_env/julia/src/ngsim_env.jl:125
unknown function (ip: 0x7f23cbe7e1a4)
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1864
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
#reset at ./none:0 [inlined]
#reset#2 at /home/lius/tmp/github/ngsim_env/julia/src/env.jl:19 [inlined]
#reset at ./none:0
unknown function (ip: 0x7f23cbe7dcb9)
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1864
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
f_kw_closure at /root/.julia/packages/PyCall/ttONZ/src/callback.jl:36
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1864
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1571 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:556
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:594
_pyjlwrap_call at /root/.julia/packages/PyCall/ttONZ/src/callback.jl:37
unknown function (ip: 0x7f23cbe1c443)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
pyjlwrap_call at /root/.julia/packages/PyCall/ttONZ/src/callback.jl:49
unknown function (ip: 0x7f23cbe1bd76)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
unknown function (ip: 0x7f23cbddbafc)
unknown function (ip: 0x7f23cbddb9ce)
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
ext_do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:5087 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3328
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
method_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
slot_tp_init at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:6314
type_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:905
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4989 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4785 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4856 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
function_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
method_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
slot_tp_init at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:6314
type_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/typeobject.c:905
PyObject_Call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/abstract.c:2166
do_call at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4989 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4785 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
fast_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4866 [inlined]
call_function at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4783 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:3289
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4071
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:4092
PyEval_EvalCode at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/ceval.c:777
run_mod at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:991 [inlined]
PyRun_FileExFlags at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:944
PyRun_SimpleFileExFlags at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/pythonrun.c:411
run_file at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Modules/main.c:328 [inlined]
Py_Main at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Modules/main.c:779
main at python (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x400998)
unknown function (ip: 0xffffffffffffffff)
Allocations: 112471597 (Pool: 112457178; Big: 14419); GC: 238

signal (11): Segmentation fault
in expression starting at no file:0
PyErr_Fetch at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Python/errors.c:328
PyObject_ClearWeakRefs at /home/ilan/minonda/conda-bld/python_1502735045308/work/Python-3.5.4/Objects/weakrefobject.c:909
array_dealloc at /home/ilan/minonda/conda-bld/numpy-1.12_1486268766587/work/numpy-1.12.0/numpy/core/src/multiarray/arrayobject.c:384
pydecref_ at /root/.julia/packages/PyCall/ttONZ/src/PyCall.jl:121
pydecref at /root/.julia/packages/PyCall/ttONZ/src/PyCall.jl:126
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1571 [inlined]
run_finalizer at /buildworker/worker/package_linux64/build/src/gc.c:232
jl_gc_run_finalizers_in_list at /buildworker/worker/package_linux64/build/src/gc.c:318
jl_gc_run_all_finalizers at /buildworker/worker/package_linux64/build/src/gc.c:346
jl_atexit_hook at /buildworker/worker/package_linux64/build/src/init.c:249
jl_exit at /buildworker/worker/package_linux64/build/src/jl_uv.c:592
jl_exit_thread0_cb at /buildworker/worker/package_linux64/build/src/signals-unix.c:344
unknown function (ip: 0xffffffffffffffff)
Allocations: 112472059 (Pool: 112457640; Big: 14419); GC: 238

Distribution difference between Observations and Predicted Actions

The 'turn_rate_global' feature in the 66-dim observation has max, min, mean approximately 0.05, -0.05, 0.
While I generated some trajectories with PS-GAIL and get the 'mean' action output with statistics max, min, mean as 1.18, -1.36 -0.07.
Why are the two distributions different? Are they with the same units?

Do some package have something build in your own system? Like a building error showing your path.

The setting are strictly follows your guide and the system is ubuntu16.04.
The errors are as follows:

(rllab3) xxx@XXX:~/ngsim_env/scripts/imitation$ python validate.py --n_proc 1 --exp_dir ../../data/experiments/NGSIM-gail/ --params_filename itr_1000.npz --random_seed 42
50 vehicles with H = 200
2019-07-03 10:57:27.242208: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
pid: 0 traj: 58 / 2062
signal (11): Segmentation fault
in expression starting at no file:0
GetResult at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Modules/_ctypes/callproc.c:911 [inlined]
_ctypes_callproc at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Modules/_ctypes/callproc.c:1186
PyCFuncPtr_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Modules/_ctypes/_ctypes.c:3856
PyObject_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2165
do_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4936 [inlined]
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4732 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
fast_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4803 [inlined]
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4730 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
fast_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4803 [inlined]
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4730 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
fast_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4803 [inlined]
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4730 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
fast_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4803 [inlined]
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4730 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4018
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4039
function_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2165
method_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2165
PyObject_CallFunctionObjArgs at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2445
call_attribute at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/typeobject.c:6089 [inlined]
slot_tp_getattr_hook at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/typeobject.c:6131
builtin_getattr at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/bltinmodule.c:998
PyCFunction_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/methodobject.c:109
call_function at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4705 [inlined]
PyEval_EvalFrameEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:3236
_PyEval_EvalCodeWithName at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4018
PyEval_EvalCodeEx at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Python/ceval.c:4039
function_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/funcobject.c:627
PyObject_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2165
method_call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/classobject.c:330
PyObject_Call at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2165
PyObject_CallFunctionObjArgs at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/abstract.c:2445
call_attribute at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Objects/typeobject.c:6089 [inlined]

Some tips to solve the segmentation fault error when using validate.py.

Here, I try to summarize the issue of the segmentation fault and potential solutions (although it might fail).

My env: Julia 1.1

The Error Description

#27
signal (11): Segmentation fault
in expression starting at no file:0

#20
pid: 0 traj: 58 / 2062 (then stuck)
signal (11): Segmentation fault
in expression starting at no file:0
GetResult at /home/ilan/minonda/conda-bld/work/Python-3.5.2/Modules/_ctypes/callproc.c:911 [inlined]

Potential Solutions

(I really appreciate if you could share your insights here)

  1. Using Julia v0.6 and
    cd ~/.julia/lib/v0.6 rm PyCall.jl
    Reference: https://github.com/sisl/ngsim_env/blob/master/docs/usingTrainedPolicy.md
    (But I did not know how to install Julia packages on v0.6, like Pkg.add(PackageSpec(url="https://github.com/sisl/Vec.jl"))).
  • How could use PackageSpec in Julia v0.6?
  • How could install 'LinearAlgebra' in Julia v0.6? because

LinearAlgebra is a standard library introduced in Julia v0.7 containing Base.LinAlg from Julia v0.6, so it is not available on Julia v0.6 A package that requires it will not work on Julia 0.6 either. (https://discourse.julialang.org/t/package-linearalgebra/16064)

  1. Just like what authors suggested in 1, we could also rm ~/julia/.julia/compiled/v1.1/PyCall/****.jl. (i still got the error even I did this)

  2. using 'single_process_collect_trajectories', set --debug = True ( I failed.)

  3. Try to use different '--n_proc' and sleep time. (It is really hard.)
    e.g. there are 4 vCPUs on your machine, how to make it match what the authors have mentioned below. (Try --n_proc = 3 or 4 or 5)

Running validate.py occasionally hangs with no error messages or anything like that. Previous experience suggests that this is somehow related to julia processes remaining unfinished and the python script moving on. Looking in validate.py, there is a sleep() call. In the past, we have had some limited success in overcoming the hanging problem by increasing the sleep duration. However, it is not guaranteed. We have been unable to produce a minimal reproducible example of this happening, but the thoughts are that it is related to the machine's load. A higher load means we need to wait longer.

Reference: https://github.com/sisl/ngsim_env/tree/master/scripts/imitation

  1. My point: is it possible for us to output trajlist (in validate.py) even if one of the processes failed? Really appreciate any response here. Could you give me some hints about this?

Some questions during installing the environment

Hi all,

I tried to install the packages and dependencies by the provided "environment.yml", but it seems there is no package python3.5.2 and numpy1.12.0.

**(base) john@john-virtual-machine:~/rllab$ conda env create -f environment.yml
Warning: you have pip-installed dependencies in your environment file, but you do not list pip itself as one of your conda dependencies. Conda may not use the correct pip to install your packages, and they may end up in the wrong place. Please add an explicit pip dependency. I'm adding one for you, but still nagging you.
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound:

  • python==3.5.2
  • numpy==1.12.0**

Then I tried to manually install all packages, errors occurred when installing the 'scipy' and 'numba':

**Collecting scipy
Using cached https://files.pythonhosted.org/packages/53/10/776750d57ade26522478a92a2e14035868624a6a62f4157b0cc5abd4a980/scipy-1.5.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-gyfx04gc/scipy/setup.py", line 31, in
raise RuntimeError("Python version >= 3.6 required.")
RuntimeError: Python version >= 3.6 required.

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-gyfx04gc/scipy/
You are using pip version 8.1.1, however version 20.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.**

So should I install the python3.6 or appoint a version of scipy and numba.

Looking forward to your insight, any kind of help would be appreciated!

Thanks and regards,
John

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.