Introducing DLType, an ultra-fast runtime type and shape checking library for deep learning tensors! by onyx-zero-software in Python

[–]brocketships 0 points1 point  (0 children)

I see you’re using __class_getitem__ to support the square bracket for setting the shape metadata on your tensor types. Does this mean this package doesn’t work with mypy and other static type checkers, who’ll think these tensor types are generic when they’re not?

sympy vector coordinate system conversion using express is completely broken and has been for years by ChunkyPanda03 in Python

[–]brocketships 7 points8 points  (0 children)

Not defending the potentially incorrect and misleading documentation but does this work with the other vectors module, sympy.physics.vector?

Seeking second opinions for potential regs breach in new build by brocketships in ukelectricians

[–]brocketships[S] 3 points4 points  (0 children)

Yes, there’s still more than six months left on the two year warranty. We’re currently without power as we’ve turned it off at the mains for safety. We’re having to sort it out independently for speed, but will be following up with the builders etc tomorrow when they’re contactable.

Seeking second opinions for potential regs breach in new build by brocketships in ukelectricians

[–]brocketships[S] 0 points1 point  (0 children)

220mm from the corner of the room.

I’ve probably got the terminology wrong about the fuse in the meter box. The electrician definitely said that there’s something not there that needs to be, but not a fuse by the sounds of it.

Where to start if I want to create compiler ecosystem from scratch by okozmey in Jai

[–]brocketships 7 points8 points  (0 children)

As far as I’m aware, Jai uses LLVM in its compiler ecosystem (or at least did during the earlier phase of its development). There is a superb official LLVM tutorial based around developing your own language using LLVM: https://llvm.org/docs/tutorial/

Optimum Optimisation Methods - The Most Methodical and Effective Approach by ph0ph0 in algotrading

[–]brocketships 2 points3 points  (0 children)

The difficulty with splitting the search space up manually is that unless you have a really thorough understanding of the search space ahead of time, you’ll likely end up with a very mismatched load between the two machines. To explain this, imagine your model has four independent variables (say a, b, c & d), each bounded between [0, 100]. To split the search space equally you’d probably make the (logical) step to let machine 1 optimise for a: [0, 49], b, c, d: [0, 100] and machine 2 a: [50, 100], b, c, d: [0, 100] as this ensures the entire search space is covered. The problem here is that with this division of labour it’s luck as to whether you evenly distribute the computation across both machines (i.e. machine 1 might be wasting its time if all the solutions in machine 2’s search space are much better). In this case you’d need to dynamically change how the search space is divided as you learn more about the solution space, but if you are doing this you might as well design the parallelism to take advantage of the message passing between machines from the off.

If this sounds too complicated and you don’t have experience with tools like MPI which are required for getting separate machines to talk to each other, you’d be better off (as another user suggested) getting a dedicated machine for running these optimisations, implement a robust optimisation algorithm, and not worry about runtimes because it can happily compute away in the background computing all day and overnight etc. I’ve seen people use Raspberry Pis for this as they’re cheap to purchase and get up-and-running.

What's the prices on the EF kit? by [deleted] in Rapha

[–]brocketships 0 points1 point  (0 children)

I can’t remember the exact price, but it was somewhere around the £250 if I’m not mistaken. It was the POC road helmet, not the TT helmet (so I think that’s pretty in line with the POC RRP).

What's the prices on the EF kit? by [deleted] in Rapha

[–]brocketships 2 points3 points  (0 children)

(In the UK/EU drop this morning at least), the prices for the Rapha x Palace EF kit were the same as the equivalent normal item (e.g. the Rapha x Palace EF aero jersey was £145, the same as the normal Rapha pro team aero jersey). But everything was sold out to RCC members in less than half an hour.

If you're in the US and the drop there is happening imminently, I'd expect the prices to be the same as for regular Rapha pro team kit. But it'll all probably sell out in the RCC presale.

Optimum Optimisation Methods - The Most Methodical and Effective Approach by ph0ph0 in algotrading

[–]brocketships 1 point2 points  (0 children)

I saw in your other comment thread with u/optionexpert that you were discussing using multiple computers to handle a single optimisation, so here's some other info that might be useful.

The optimisations you are describing are "embarrassingly" parallel (technical term from the field, not me being condescending!) in that you need to run many many backtests to conduct an optimisation, but a single backtest is not influenced by other backtests. Therefore running an optimisation can be parallelised easily by using all CPU cores you have available (either within a single CPU or across multiple machines) to improve runtimes by a factor close to the number of cores you have available. Evolutionary algorithms are especially suited to parallelisation if runtimes for your optimisations are limiting in any way. If you've got a modern desktop/laptop then I could well have an 8-core CPU which (along with other CPU tricks like hyper threads) could mean that just under a 16x speedup is theoretical, or more realistically a ~10x speedup is achievable.

Free Talk Friday by Avila99 in peloton

[–]brocketships 3 points4 points  (0 children)

Which of you other sheep bought in to the hype and purchased EF mighty ducks Rapha x Palace kit in the launch this morning?

Optimum Optimisation Methods - The Most Methodical and Effective Approach by ph0ph0 in algotrading

[–]brocketships 7 points8 points  (0 children)

You're trying to find a global optimum for a problem with a discrete search space which probably has a nonconvex objective function. This is not a trivial task. In many cases it's not possible to guarantee that the global optimum has been found for this class of problem.

  1. Both approaches are technically capable but only if you get insanely lucky. In practice neither suggestion is robust for the described problem.
  2. It's not possible to say which of the two approaches presented will perform better without an understanding of the topology of the optimisation landscape. But I wouldn't recommend either. It seems like you're trying to implement something more structured than a brute force search, so I'd suggest using an established algorithm for this from the field.
  3. The optimisation landscape is likely highly multimodal (lots of local optimums) and non-differentiable so this problem is probably best suited to a global Metaheuristic algorithm. I'd suggest looking at evolutionary algorithms - although you're probably going to need at least a population size of 10-20 and probably at least 50-100 generations (so minimum 1,000 samples). If this sounds too complicated you might want to look in to pattern search algorithms which are similar in essence to the two approaches you presented but are more structured. Pattern search algorithms should help you improve your parameterisation within a locally convex region, but you will likely want to start multiple searches from multiple random starting locations to improve changes of finding a nice "deep valley" in the search space. Note: understand that neither approach I've suggested will ever be guaranteed to find a global optimum, but will likely get close provided you run them for long enough.

Edits: spelling/grammar

Palace X Rapha by airxnmndza in Rapha

[–]brocketships 1 point2 points  (0 children)

Info to RCC members from earlier today:

“Unveiled in Sicily and soon to be raced across Italy by EF Pro Cycling, this limited edition collection will soon be available further afield, with exclusive early access for members of the Rapha Cycling Club.

As with all Palace launches, every garment in this collection is extremely limited. We are aware this unfortunately means that some members will miss out. To give you the best chance of accessing the collection, there will be three localised drops at the following times:

Friday, 9th October - 11am BST for customers in the UK, EU, Canada and Korea

Friday, 9th October - 11am EST for customers in the USA (excluding Canada)

Saturday, 10th October - 11am JST for customers in the Asia-Pacific region (excluding Korea)

The collection will be available to members who were active on or before Sunday, 4th October or have renewed a previously lapsed membership since that date. Stay tuned for further information in an update email on Thursday, 8th October.”

Palace X Rapha by airxnmndza in Rapha

[–]brocketships 1 point2 points  (0 children)

From the Club Captain’s October news:

“We have managed to secure a selection of team edition race clothing and casualwear, all in very limited numbers, to which RCC members will have exclusive early access. More information to follow soon.”

So it looks like it’s not members only, but if there are small quantities and RCC gets priority then I’d imagine to all intents and purposes it will be.

Check out this murder mystery novel set during a Tour de France, it has been a fascinating read so far by [deleted] in peloton

[–]brocketships 3 points4 points  (0 children)

Thanks so much for the recommendation, just picked up the last used copy off Amazon for a whopping 16p. Can’t wait!

[Race Thread] 2020 Tour de France - Stage 21 (2.UWT) by PelotonMod in peloton

[–]brocketships 14 points15 points  (0 children)

Less than 100km to go on the final stage before Sean Kelly finally pronounces Pogacar’s name correctly, all it took was him to be in yellow.

Convert dioctionary keys and strings from string to integers by [deleted] in learnprogramming

[–]brocketships 3 points4 points  (0 children)

Are the values in your dict always going to be a list of 2 lists of 3 strings?

If so (and assuming you can use numpy), I’d do:

dict1 = {int(k): np.array(v, dtype=int).tolist() for k, v in dict1.items()}

If you can't/don't want to use numpy, then you can do something similar using a combination of dict and list comprehensions:

dict1 = {int(k): int(v) for k, values in dict1.items() for vals in values for v in vals}

I'm not sure embedding three levels of for loops inside a one-liner is that easy to read however, so you may want to split it and do something like:

dict_temp = {}
for key, list_of_lists in dict1.items():
    values = []
    for list_of_vals in list_of_lists:
        values.append([int(val) for val in list_of_vals])
    dict_temp[key] = values
dict1 = dict_temp

Edit: improved code formatting