Nan-mean compatible with generators.
(values, ignore_nan=False, empty=0)
| 674 | |
| 675 | |
| 676 | def mean(values, ignore_nan=False, empty=0): |
| 677 | """Nan-mean compatible with generators.""" |
| 678 | values = iter(values) |
| 679 | if ignore_nan: |
| 680 | values = filterfalse(isnan, values) |
| 681 | try: |
| 682 | n = 1 |
| 683 | acc = next(values) |
| 684 | except StopIteration: |
| 685 | if empty == "raise": |
| 686 | raise ValueError("Empty mean") |
| 687 | return empty |
| 688 | for n, v in enumerate(values, 2): |
| 689 | acc += v |
| 690 | if n == 1: |
| 691 | return acc |
| 692 | return acc / n |
| 693 | |
| 694 | |
| 695 | class LovaszLoss(_Loss): |
no outgoing calls
no test coverage detected