LiquidDinosaurs69

LiquidDinosaurs69 t1_jeg8yos wrote

You should do something else. There are a lot of small C++ nn libraries. To make this one competitive with a real deep learning framework you would need to implement everything with gpu which would be painful. Also, python libraries also have the huge benefit of great data science libraries which make it much more convenient to preprocess data for training networks in python vs cpp.

Additionally there are ways to deploy python models to cpp so there’s not much benefit in training with a cpp library.

7

LiquidDinosaurs69 t1_j69jpk3 wrote

Actually, there aren’t evolution based locomotion optimizers (that I know of), but there are reinforcement learning based ones (much fast and more efficient). It actually probably won’t be very difficult. You just need to use stable-baselines3 reinforcement learning library and then use an existing openai gym format for whatever walking robot you want to experiment with. I think there are gyms available for humanoids and quadrupeds. You could get it running by following stable baselines3 tutorials.

Unfortunately, these optimize control policies, not the actual robot designs itself which I assume is what you want. Theo Jansen (strandbeest guy) used an evolutionary algorithm to come up with his design which I think is what you want to do. I’m not aware of any existing software that lets you do that though.

You could implement it yourself in python or C++ using robotics oriented rigid body dynamics libraries and solvers. But if you haven’t done this before it will be pretty hard.

This is actually something I want to do at some point too but I’m busy with other projects right now.

1

LiquidDinosaurs69 t1_j44wp7w wrote

It’s definitely infeasible to train and run inference on your own for a large language model. You would need many datacenter gpus. But you could maybe create an application that interfaces with a chatgpt api (or some other api accessible LLM)

2

LiquidDinosaurs69 t1_j1eexl1 wrote

I think some people have been able to conclusively show a profit with this actually. I know I’ve read at least one journal paper where they showed a profit. During my back testing I was actually able to get up to 2% profit per year which isn’t really worth it. Yeah I’ve heard using data from other sources like Twitter sentiments can work. Maybe weather would be useful too if you could find a way to use that data.

1

LiquidDinosaurs69 t1_j195usj wrote

RL is what you need to use when you want to learn to automatically act in an environment (buy and sell bitcoin in my case). Deep learning based RL requires a neural network for estimating the value of an action and for actor-critic methods there's also a policy network. So you can construct the neural networks that RL needs with an LSTM if you want.

I'm not sure if you want to create something that automatically figures out a strategy to buy and sell or if you just want to predict a stock price. If you just want to predict price then you don't need RL and just an LSTM will be sufficient.

I'm using stable baselines implementation of PPO (an RL algorithm). I'm using wavenet style stacked dilated convolutions as a feature extractor. It's not working though lol. I want to use an LSTM but stable baselines3 currently doesn't support it and I'm going to have to find a way to implement it myself.

1

LiquidDinosaurs69 t1_ir8vdvj wrote

Actually, here’s the code where I implemented inference for my neural net if you’re interested. It’s very simple. https://github.com/jyurkanin/auvsl_dynamics/blob/float_model/src/TireNetwork.cpp

And here’s a handy script I made to help generate the c code for loading the weights into libeigen vectors. (Just use the print_c_network function) https://github.com/jyurkanin/auvsl_dynamics/blob/float_model/scripts/pretrain.py

Also look at my cmakelists.txt to make sure you had the compiler flags that will make your code run as fast as possible

1

LiquidDinosaurs69 t1_ir8v1nq wrote

No I didn’t measure the time. But I had a network that had 2 hidden layers with 35 units per layer and I was using it as a component of a single threaded simulation that was running inference over 1000 times a second on an older CPU. Can I ask why you don’t want to use the gpu? Cuda would speed things up a lot if you need more speed.

1