Thanks for the suggestion @Patrick. I just tried changing that but still 
doesn't work. I get the exact same behavior if I call it with an empty 
file....seems the -f option doesn't make bean-extract behave as expected 
for me. Here is my call:

bean-extract -f journal/myledger.beancount jonathan_smart.import 
~/staging/62090_818496_1013051ofxdl.qfx  > ~/staging/dud.txt
I get these messages:

Cannot train the machine learning model because the training data is empty.

Cannot train the machine learning model because the training data is empty.

On Wednesday, May 12, 2021 at 5:31:25 PM UTC+12 [email protected] wrote:

> Hi,
>
> I think your setup looks good, the smart importer hook is in there as 
> otherwise you would not get the errors about not able to train.
>
> I think the issue is on your call
>
>
> bean-extract jonathan_smart.import ~/staging/new_bank_data.qfx -f 
> journal/myledger.beancount > ~/staging/dud.txt
>
>
> My guess is that the -f argument needs to come before you specify the 
> importconfig and the location, so 
>
>
> bean-extract -f journal/myledger.beancount jonathan_smart.import 
> ~/staging/new_bank_data.qfx > ~/staging/dud.txt
>
>
> Regards,
>
> Patrick
>
> On 12.05.2021 01:58, [email protected] wrote:
>
> Thanks for looking at this module even though you aren't using it!
>
> I followed the code that was further down on the readme page 
> <https://github.com/beancount/smart_importer> that describes how to 
> convert an existing importer.  
> >>
> from your_custom_importer import MyBankImporter 
> from smart_importer import apply_hooks, PredictPayees, PredictPostings 
>
> my_bank_importer = MyBankImporter('whatever', 'config', 'is', 'needed') 
> apply_hooks(my_bank_importer, [PredictPostings(), PredictPayees()]) 
> CONFIG = [ my_bank_importer, ]
> >>
> (my code looks just like this example)
>
> I had thought apply_hooks would operate on the importer so when I call it 
> in config I can just then call the hookified bank_importer. Is this note 
> the case?
>
> On Wednesday, May 12, 2021 at 1:26:27 AM UTC+12 [email protected] wrote:
>
>> * Disclaimer * I have never actually run smart importer. 
>>
>> Looking at the README on GitHub for smart importer it looks like you need 
>> to use the return object of apply_hooks in your CONFIG list. 
>>
>> CONFIG = [ apply_hooks(MyBankImporter(account='Assets:MyBank:MyAccount'), 
>> [PredictPostings()]) ]
>>
>> In your config you apply the hooks but are not using the returned object.
>>
>> Hope that helps.
>>
>> On Tuesday, 11 May 2021 at 04:06:33 UTC+1 [email protected] wrote:
>>
>>> Hi, 
>>>
>>> I'm trying to get smart_importer to work and not sure what I'm doing 
>>> wrong. 
>>>
>>> *1*. I successfully have done all the required beancount setup and 
>>> created by own bank importer and ran it on two months of data.
>>> *2.* I then manually labelled about 2 months of data from one of my 
>>> banks. 
>>> *3.* I installed smart_importer using "pip install smart_importer"
>>>
>>> (base) MacBook-Air:beandata jonathan$ pip show smart_importer
>>>
>>> Name: smart-importer
>>>
>>> Version: 0.3
>>>
>>> Summary: Augment Beancount importers with machine learning functionality.
>>>
>>> Home-page: https://github.com/beancount/smart_importer
>>>
>>> Author: Johannes Harms
>>>
>>> Author-email: UNKNOWN
>>>
>>> License: MIT
>>>
>>> Location: /Users/jonathan/opt/miniconda3/lib/python3.8/site-packages
>>>
>>> Requires: scikit-learn, beancount, numpy, scipy
>>>
>>> *4.* I created a new config file I called Jonathan_smart.import
>>>
>>>
>>> base) MacBook-Air:beandata jonathan$ more jonathan_smart.import
>>>
>>> #!/usr/bin/env python3
>>>
>>> """Import configuration."""
>>>
>>>
>>> import sys
>>>
>>> from os import path
>>>
>>>
>>> sys.path.insert(0, path.join(path.dirname(__file__)))
>>>
>>>
>>> from beancount_reds_importers import vanguard
>>>
>>> from myimporters.bfsfcu import bfsfcu_bank
>>>
>>> from myimporters.anz import anz_bank
>>>
>>> from fund_info import *
>>>
>>> from smart_importer import apply_hooks, PredictPayees, PredictPostings
>>>
>>>
>>> myBank_smart_importer =my_bank.Importer({
>>>
>>>         'main_account'   : 'Assets:US:Banks:Checking:myBank',
>>>
>>>         'account_number' : ''xxx'',
>>>
>>>         'transfer'       : 
>>> 'Assets:US:Zero-Sum-Accounts:Transfers:Bank-Account',
>>>
>>>         'income'         : 'Income:US:Interest:myBank',
>>>
>>>         'fees'           : 'Expenses:US:Bank-Fees:myBank',
>>>
>>>         'rounding_error' : 'Equity:US:Rounding-Errors:Imports',
>>>
>>>     })
>>>
>>>
>>> apply_hooks(myBank_smart_importer, [PredictPayees(), PredictPostings()])
>>>
>>> CONFIG = [myBank_smart_importer, ...(other importers)]
>>>
>>>
>>> *5*. I was following the README documentation that said write 
>>> bean-extract -f to invoke it on existing data. So I tried the following.* 
>>> Is this right?*
>>>
>>> bean-extract jonathan_smart.import ~/staging/new_bank_data.qfx -f 
>>> journal/myledger.beancount > ~/staging/dud.txt
>>>
>>> Cannot train the machine learning model because the training data is 
>>> empty.
>>>
>>> Cannot train the machine learning model because the training data is 
>>> empty.
>>>
>>>
>>> The output is just like the normal output without all the smart_importer 
>>> stuff.  Seems I'm doing something wrong as the staging/dud.txt doesn't have 
>>> any predictions. 
>>>
>>>
>>> Appreciate any assistance on this! 
>>>
>>>
>>> thanks,
>>>
>>> Jonathan
>>>
>> -- 
> You received this message because you are subscribed to the Google Groups 
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/820ef641-8178-47d1-9e97-afbc709e6a83n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beancount/820ef641-8178-47d1-9e97-afbc709e6a83n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/0d9e7317-77a9-4b84-8408-b61bf5c09f31n%40googlegroups.com.

Reply via email to