Poll of the Day > Just training my neural net, AMA

Topic List
Page List: 1
Yellow
08/14/19 10:38:10 PM
#1:


GTX 970
1 epoch an hour
300 total epochs

12 days.

Well, holy shit.

Holy shit is the response to all of this weird, complicated, hard, and confusing stuff. I'll make a shitty test one at 3 epochs... and see if I can throw all my data at it at once.

See, I want it to predict the value of bitcoin... but I also want to do this with Litecoin, ETH... I guess I should throw them all together and hope it does cross analysis to guess more accurately.
---
... Copied to Clipboard!
Sahuagin
08/14/19 10:46:42 PM
#2:


what do you use for that? I've always wanted to try going through a "your first neural net" tutorial or something and get something that can badly add two numbers, but doesn't seem to be that straight forward.

---
... Copied to Clipboard!
Yellow
08/14/19 11:07:11 PM
#3:


Sahuagin posted...
what do you use for that? I've always wanted to try going through a "your first neural net" tutorial or something and get something that can badly add two numbers, but doesn't seem to be that straight forward.

I think the best approach is not to try and understand how they work, but how to use them first.

I learned some very basic fundamentals about NNs from hour long videos, and nothing else. Great, I understand how they work, but I couldn't really understand how they actually work anyway.

Idk. I'm not an expert, obviously. Maybe understanding how each cell calculates and back-propagates is useful, but I seriously doubt it.

I learned Python first, then I followed this

https://towardsdatascience.com/predicting-stock-price-with-lstm-13af86a74944

I'm at the point where I'm just saving my first model test. And oh look, it's done. Only 2 hours!

OSError: Unable to create file (unable to open file: name = 'C:\Users\jamie\Documents\BitBot\Models\BTC_model.log', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 302)

Yeah, that's what I expected.

You're a programmer, so you probably know why this is funny.
---
... Copied to Clipboard!
Yellow
08/14/19 11:17:37 PM
#4:


Oh, I didn't answer your question. I'm using Python, Anaconda, VSCode (with Intellisense plugin), and Keras (a Tensorflow wrapper)

I installed a very specify GPU driver and a very specific Tensorflow library, on top of a very specific CudaNN, on top a very specific TensorFlow package for python... (-__-) This was mostly for the GPU accelerated version. The CPU version works without much hassle.

It was a lot of trial and error. Hard for people who can't read tutorials without getting lazy and not following it to a point (me)
---
... Copied to Clipboard!
Sahuagin
08/14/19 11:37:04 PM
#5:


Yellow posted...
You're a programmer, so you probably know why this is funny.
I guess you lost 2 hours of processing because a path didn't exist?

Yellow posted...
Oh, I didn't answer your question. I'm using Python, Anaconda, VSCode (with Intellisense plugin), and Keras (a Tensorflow wrapper)

I installed a very specify GPU driver and a very specific Tensorflow library, on top of a very specific CudaNN, on top a very specific TensorFlow package for python... (-__-) This was mostly for the GPU accelerated version. The CPU version works without much hassle.

It was a lot of trial and error. Hard for people who can't read tutorials without getting lazy and not following it to a point (me)
yeah, I'd rather implement it from scratch, not install a half-dozen libraries. maybe it doesn't work that way.

---
... Copied to Clipboard!
Yellow
08/14/19 11:49:01 PM
#6:


You could do one from scratch... it just wouldn't be optimized at all.

Sounds like a fun project. All you really have to know are weights and back-propagation and things like that, which aren't entirely crazy.

I'm honestly not a fan of using other people's libraries myself, especially for something as subjective as AI.

Sahuagin posted...
I guess you lost 2 hours of processing because a path didn't exist?

Yup
---
... Copied to Clipboard!
EclairReturns
08/15/19 12:24:19 AM
#7:


I hate it when people wish me a happy birthday. That's why I never tell anyone I know outside of my family when my birthday is. Do you think this is understandable?
---
Number XII: Larxene.
The Organization's Savage Nymph.
... Copied to Clipboard!
KeijiMaedaTiger
08/15/19 12:28:35 AM
#8:


EclairReturns posted...
I hate it when people wish me a happy birthday. That's why I never tell anyone I know outside of my family when my birthday is. Do you think this is understandable?


Yeah it can be pretty annoying.
---
Why are tigers strong? Because they're born that way!
... Copied to Clipboard!
Yellow
08/15/19 2:31:25 AM
#9:


One test run for 8 hours through the night. I guess I'll see if this actually saves in the morning, then I'll check the accuracy and set up a checkpoint backup system.
---
... Copied to Clipboard!
joemodda
08/15/19 2:35:13 AM
#10:


What dataset you use for training and testing?
---
The sin is not in being outmatched, but in failing to recognize it
-Ancestor
... Copied to Clipboard!
Yellow
08/15/19 2:54:20 PM
#11:


joemodda posted...
What dataset you use for training and testing?

I created the .csv's myself by using ccxt to download data from bitfinex(?).

I have data on 6 different kinds of crypto currencies, with 15m intervals, which is more accurate than anything I've found online. Plus, I can update it up until the current price using my code.
---
... Copied to Clipboard!
Yellow
08/15/19 6:14:53 PM
#12:


Having used Python for a while, I don't hate it. I just dislike it.

It's very hard to tell what objects are what type, especially if they were accessed from an array, especially if you didn't make the library you're using. That and the fact that it's interpreted, and I've yet to see the real benefit of that.

Otherwise, it's very similar to C# with very small differences. I'll probably want to use C# as my first choice. The biggest gripe I have with C# is that multiple inheritance is actually missing.

The reason they give is that the compiler wouldn't be able to figure out which overrides to use, which is silly, because you can just give the classes you want to inherit from highest priority to lowest in a list, like every other modern language.

It's a very annoying missing feature.
---
... Copied to Clipboard!
GanglyKhan
08/15/19 6:38:14 PM
#13:


I subscribe to a channel that makes an AI play Super Mario as Luigi. "LuigiO" is the channel name, I think. Impressive shit, especially on the maze levels.
---
SMM2 ID: 6Y9-C97-LVF
... Copied to Clipboard!
Sahuagin
08/16/19 1:46:17 AM
#14:


Yellow posted...
The reason they give is that the compiler wouldn't be able to figure out which overrides to use, which is silly, because you can just give the classes you want to inherit from highest priority to lowest in a list, like every other modern language.
the main reason I think they give (might be what you mean here) is "the diamond problem", which is if B and C inherit from A, and then D inherits from B and C, what if B and C have conflicting/colliding members? and even if you have a workaround rule, you've still violated LSP for either B or C. (a D should be able to be treated both as if it was a B, and as if it was a C).

really, though, they could just give an error when a conflicting member exists or something else like that. I kind of agree that that's a weak reason, since other languages have already done it.

I think another better reason they don't implement it is because "multiple inheritance is bad". C# is a language designed in a lot of ways to be the anti-C++ and to avoid as many of the problems with C++ as possible, and one of those problems is multiple-inheritance.

https://stackoverflow.com/questions/406081/why-should-i-avoid-multiple-inheritance-in-c

a problem with inheritance, and using base classes rather than interfaces, is that it makes your code dependent on a particular implementation (or, particular set of implementations). inheritance is best used sparingly, and in situations where you want to treat a bunch of related objects as the same kind-of-thing, pushing common members into the base. (the idea of having a bunch of classes ready to be inherited from and inheriting from combinations of them does not work out as great as it sounds and leads to big messes. (inheritance is a tight coupling, whereas what we really want is loosely coupled code.))

for example, maybe your function uses only a single property of the object it asks for. asking for a ThingBase instead of a ConcreteThing is slightly better, but way better still is asking for an IHaveThatOnePropertyYouWant reference instead.

(basically, while MI can be useful, most of the time it's really just a way to make your code worse.)

Soon C# will have default interface implementations (though I think they're slightly controversial), which is very similar to multiple inheritance. and eventually there will be mixins, which are also similar but not exactly the same. (IIRC mixins allow you to auto-implement an interface by accepting a reference to something else that has already implemented it; calls made to your object for that interface just get forwarded to the other object.)

---
... Copied to Clipboard!
Yellow
08/16/19 4:40:52 AM
#15:


While I haven't actually used MI, (I learned all my advanced programming in C#) I can definitely see why implementing it the way I want would make for convoluted and bad code when you put it that way.

I'm looking forward to what they come up with, I like the idea of combining multiple classes.

GanglyKhan posted...
I subscribe to a channel that makes an AI play Super Mario as Luigi. "LuigiO" is the channel name, I think. Impressive shit, especially on the maze levels.

Looking at his videos, it looks like he took the tile data from an NES emulator and fed it to an RNN as a 16*16 image.

I don't think that's the right approach, tbh. Humans take relativity into account. I think simplifying data into "this thing is going in this direction" and "this thing is this far away from me in this direction", before feeding it to a RNN that focuses on playing the game would be a lot more effective.

What typically happens in these NNs is that the AI eventually reaches a point where it has to go backward, and it fails.

I like to think that that Luigi is partially sentient on some amoeba level and gets a dose of dopamine every time he beats the level.
---
... Copied to Clipboard!
Topic List
Page List: 1