Hello~ I used Larch 0.9.71. until now. However, I would like to update larch and I reinstall anaconda and larch. I installed Larch 0.9.74. as following installation guide I didn't have any problems during the installation process. However, I faced problems during feffit fitting. Before, I used feffit fitting in larch 0.9.71., and then I hadn't had any problems. I only changed larch as new version. What am I doing? When I run feffit fitting, I have debugs as the below: ------------------------------------------------------------------------------------------------------------------------- File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-feffit.py", line 51, in <module> out = feffit(pars, dset) ^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 645, in feffit ds.prepare_fit(params=params, other_hashkeys=dset_hashkeys) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 374, in prepare_fit self._generate_hashkey(other_hashkeys=other_hashkeys) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 291, in _generate_hashkey dat = [self.data.ek0, self.data.e0, self.data.rbkg] ^^^^^^^^^^^^^ AttributeError: 'Group' object has no attribute 'ek0' ---------------------------------------------------------------------------------------------------------------------- -- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
Hi Eun-Suk,
Sorry for the trouble. I think this should have worked with 0.9.74,
but I also know that I already changed that section of code to avoid
similar problems. It should work to do
python -m pip install
https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-latest-py3-n...
I think this is a pretty stable version, but I still have a small list
of things I would like to improve before releasing 0.9.75. I have not
had a lot of time in January for coding and will be traveling for the
next couple of weeks, but talking about software a lot during that
time ;).
Hope that helps, and thanks for your patience.
On Fri, Feb 2, 2024 at 4:06 PM 정은석
Hello~
I used Larch 0.9.71. until now. However, I would like to update larch and I reinstall anaconda and larch. I installed Larch 0.9.74. as following installation guide I didn't have any problems during the installation process. However, I faced problems during feffit fitting. Before, I used feffit fitting in larch 0.9.71., and then I hadn't had any problems.
I only changed larch as new version. What am I doing?
When I run feffit fitting, I have debugs as the below: ------------------------------------------------------------------------------------------------------------------------- File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-feffit.py", line 51, in <module> out = feffit(pars, dset) ^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 645, in feffit ds.prepare_fit(params=params, other_hashkeys=dset_hashkeys) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 374, in prepare_fit self._generate_hashkey(other_hashkeys=other_hashkeys) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 291, in _generate_hashkey dat = [self.data.ek0, self.data.e0, self.data.rbkg] ^^^^^^^^^^^^^ AttributeError: 'Group' object has no attribute 'ek0' ----------------------------------------------------------------------------------------------------------------------
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
Hello Matt.
Thank you for your help.
I solved my problem through your comments.
Your larch code in python gives me a great opportunity to build a new
system.
Thank you again and have a great trip :)
2024년 2월 4일 (일) 오전 12:59, Matt Newville
Hi Eun-Suk,
Sorry for the trouble. I think this should have worked with 0.9.74, but I also know that I already changed that section of code to avoid similar problems. It should work to do python -m pip install
https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-latest-py3-n...
I think this is a pretty stable version, but I still have a small list of things I would like to improve before releasing 0.9.75. I have not had a lot of time in January for coding and will be traveling for the next couple of weeks, but talking about software a lot during that time ;).
Hope that helps, and thanks for your patience.
On Fri, Feb 2, 2024 at 4:06 PM 정은석
wrote: Hello~
I used Larch 0.9.71. until now. However, I would like to update larch
and I reinstall anaconda and larch.
I installed Larch 0.9.74. as following installation guide I didn't have any problems during the installation process. However, I faced problems during feffit fitting. Before, I used feffit fitting in larch 0.9.71., and then I hadn't had any problems.
I only changed larch as new version. What am I doing?
When I run feffit fitting, I have debugs as the below:
File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-feffit.py", line 51, in <module> out = feffit(pars, dset) ^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py",
------------------------------------------------------------------------------------------------------------------------- line 645, in feffit
ds.prepare_fit(params=params, other_hashkeys=dset_hashkeys) File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 374, in prepare_fit
self._generate_hashkey(other_hashkeys=other_hashkeys) File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 291, in _generate_hashkey
dat = [self.data.ek0, self.data.e0, self.data.rbkg] ^^^^^^^^^^^^^ AttributeError: 'Group' object has no attribute 'ek0'
----------------------------------------------------------------------------------------------------------------------
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
Hello Matt
I am sorry to bother you.
I have another problem regarding ff2chi.
This problem is similar to the previous one. Could you check it?
---------------------------------------------------------------------------------------
File
"c:\Users\Administrator\Desktop\RL\RL-EXAFS\RL_fitting\chi_state_step_RL\Pt-foil\modules\FuncEnv.py",
line 233, in step
ff2chi(self.path_lists, group=theory_sum)
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 658, in ff2chi
path.create_path_params(params=params)
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 392, in create_path_params
parname = self.pathpar_name(pname)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 331, in pathpar_name
return f'{parname}_{self.dataset}_{self.hashkey}'
^^^^^^^^^^^^
AttributeError: 'FeffPathGroup' object has no attribute 'dataset'
---------------------------------------------------------------------------------------------------------------
where self.path_lists indicates the list of path, for example,
self.path_lists=[path1, path2, path3]
2024년 2월 4일 (일) 오후 2:38, 정은석
Hello Matt.
Thank you for your help. I solved my problem through your comments.
Your larch code in python gives me a great opportunity to build a new system.
Thank you again and have a great trip :)
2024년 2월 4일 (일) 오전 12:59, Matt Newville
님이 작성: Hi Eun-Suk,
Sorry for the trouble. I think this should have worked with 0.9.74, but I also know that I already changed that section of code to avoid similar problems. It should work to do python -m pip install
https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-latest-py3-n...
I think this is a pretty stable version, but I still have a small list of things I would like to improve before releasing 0.9.75. I have not had a lot of time in January for coding and will be traveling for the next couple of weeks, but talking about software a lot during that time ;).
Hope that helps, and thanks for your patience.
On Fri, Feb 2, 2024 at 4:06 PM 정은석
wrote: Hello~
I used Larch 0.9.71. until now. However, I would like to update larch
and I reinstall anaconda and larch.
I installed Larch 0.9.74. as following installation guide I didn't have any problems during the installation process. However, I faced problems during feffit fitting. Before, I used feffit fitting in larch 0.9.71., and then I hadn't had any problems.
I only changed larch as new version. What am I doing?
When I run feffit fitting, I have debugs as the below:
File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-feffit.py", line 51, in <module> out = feffit(pars, dset) ^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py",
------------------------------------------------------------------------------------------------------------------------- line 645, in feffit
ds.prepare_fit(params=params, other_hashkeys=dset_hashkeys) File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 374, in prepare_fit
self._generate_hashkey(other_hashkeys=other_hashkeys) File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffit.py", line 291, in _generate_hashkey
dat = [self.data.ek0, self.data.e0, self.data.rbkg] ^^^^^^^^^^^^^ AttributeError: 'Group' object has no attribute 'ek0'
----------------------------------------------------------------------------------------------------------------------
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
-- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
Hi Eun-Suk, All the examples with ff2chi and running feffit work for me. I sort of don't understand how that could happen (a FeffPathGroup does -- or should -- have a `dataset` attribute). Can you provide an example that shows the problem? --Matt
Hello Matt
I changed my original code to simple code for you as below.
I found the problem of larch 0.9.74 in multi-processing.
You can check it with the below code. How can I fix this problem?
------------------------------------------------------------------------------------------------------------
############# Multi-processing test ########################
import larch
from larch import Group
from larch.utils import *
from larch.xafs import *
from larch.io import *
import numpy as np
import os
import torch.multiprocessing as mp
dPath = r'C:\Users\Administrator\Desktop\RL\feffit_error_test'
os.chdir(dPath)
fname1 = 'feff0001.dat' # N=1, Reff=1.9 N
path1 = feffpath(os.path.join(dPath,'FEFF1', fname1))
#################################
path_lists=[path1]
path_lists[0].s02=0.86
################################################
class Func():
def __init__(self, path_lists):
self.path_lists=path_lists
def step(self):
self.path_lists[0].e0, self.path_lists[0].degen,
self.path_lists[0].deltar, self.path_lists[0].sigma2 = [2, 5, 0.001, 0.004]
## Theory path들의 합과 theory FFT
theory_sum=Group(label='theory_group_sum')
ff2chi(self.path_lists, group=theory_sum)
new_state=theory_sum.chi
return new_state
class TestClass():
def __init__(self, path_lists):
self.path_lists=path_lists
def test(self):
func1 = Func(self.path_lists)
s=func1.step()
############################################
T_func=TestClass(path_lists)
F_func=Func(path_lists)
if __name__ == '__main__':
process_list=[]
p_N =mp.Process(target=T_func.test,)
p_N.start()
process_list.append(p_N)
for process in process_list:
process.join()
##################################################################
#####Problem##########
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py",
line 314, in _bootstrap
self.run()
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py",
line 108, in run
self._target(*self._args, **self._kwargs)
File
"c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py",
line 40, in test
s=func1.step()
^^^^^^^^^^^^
File
"c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py",
line 30, in step
ff2chi(self.path_lists, group=theory_sum)
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 658, in ff2chi
path.create_path_params(params=params)
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 392, in create_path_params
parname = self.pathpar_name(pname)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py",
line 331, in pathpar_name
return f'{parname}_{self.dataset}_{self.hashkey}'
^^^^^^^^^^^^
AttributeError: 'FeffPathGroup' object has no attribute 'dataset'
2024년 2월 5일 (월) 오전 4:44, Matt Newville
Hi Eun-Suk,
All the examples with ff2chi and running feffit work for me. I sort of don't understand how that could happen (a FeffPathGroup does -- or should -- have a `dataset` attribute).
Can you provide an example that shows the problem?
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
Hello Matt.
I think that you need some time to fix the 'multi-processing problem of 0.
9.74'. If you take a little long time to fix it, can you send me xraylarch
version 0.9.71? or could you inform me of the site of the old version?
I will reinstall xraylarch with it.
Thank you for your effort and contribution
2024년 2월 5일 (월) 오후 5:09, 정은석
Hello Matt
I changed my original code to simple code for you as below. I found the problem of larch 0.9.74 in multi-processing. You can check it with the below code. How can I fix this problem?
------------------------------------------------------------------------------------------------------------ ############# Multi-processing test ######################## import larch from larch import Group from larch.utils import * from larch.xafs import * from larch.io import *
import numpy as np import os import torch.multiprocessing as mp
dPath = r'C:\Users\Administrator\Desktop\RL\feffit_error_test' os.chdir(dPath) fname1 = 'feff0001.dat' # N=1, Reff=1.9 N
path1 = feffpath(os.path.join(dPath,'FEFF1', fname1)) ################################# path_lists=[path1] path_lists[0].s02=0.86 ################################################
class Func(): def __init__(self, path_lists): self.path_lists=path_lists
def step(self): self.path_lists[0].e0, self.path_lists[0].degen, self.path_lists[0].deltar, self.path_lists[0].sigma2 = [2, 5, 0.001, 0.004] ## Theory path들의 합과 theory FFT theory_sum=Group(label='theory_group_sum') ff2chi(self.path_lists, group=theory_sum) new_state=theory_sum.chi return new_state
class TestClass(): def __init__(self, path_lists): self.path_lists=path_lists
def test(self): func1 = Func(self.path_lists) s=func1.step() ############################################
T_func=TestClass(path_lists) F_func=Func(path_lists)
if __name__ == '__main__': process_list=[] p_N =mp.Process(target=T_func.test,) p_N.start() process_list.append(p_N) for process in process_list: process.join() ################################################################## #####Problem########## File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 314, in _bootstrap self.run() File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 40, in test s=func1.step() ^^^^^^^^^^^^ File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 30, in step ff2chi(self.path_lists, group=theory_sum) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 658, in ff2chi path.create_path_params(params=params) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 392, in create_path_params parname = self.pathpar_name(pname) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 331, in pathpar_name return f'{parname}_{self.dataset}_{self.hashkey}' ^^^^^^^^^^^^ AttributeError: 'FeffPathGroup' object has no attribute 'dataset'
2024년 2월 5일 (월) 오전 4:44, Matt Newville
님이 작성: Hi Eun-Suk,
All the examples with ff2chi and running feffit work for me. I sort of don't understand how that could happen (a FeffPathGroup does -- or should -- have a `dataset` attribute).
Can you provide an example that shows the problem?
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
-- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
Hi Eun-Suk,
Did you do
python -m pip install
https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-latest-py3-n...
?
That will install the development version (later than 0.9.74, not yet
0.9.75, sorry for that delay). This works for me:
from larch.xafs import feffpath
p1 = feffpath('feff0001.dat', e0=-1, sigma2=0.010)
p1.s02 = 0.95
dat = ff2chi([p1])
I don't know of any multiprocessing problem...
Cheers,
On Tue, Feb 6, 2024 at 11:05 PM 정은석
Hello Matt.
I think that you need some time to fix the 'multi-processing problem of 0. 9.74'. If you take a little long time to fix it, can you send me xraylarch version 0.9.71? or could you inform me of the site of the old version? I will reinstall xraylarch with it.
Thank you for your effort and contribution
2024년 2월 5일 (월) 오후 5:09, 정은석
님이 작성: Hello Matt
I changed my original code to simple code for you as below. I found the problem of larch 0.9.74 in multi-processing. You can check it with the below code. How can I fix this problem?
------------------------------------------------------------------------------------------------------------ ############# Multi-processing test ######################## import larch from larch import Group from larch.utils import * from larch.xafs import * from larch.io import *
import numpy as np import os import torch.multiprocessing as mp
dPath = r'C:\Users\Administrator\Desktop\RL\feffit_error_test' os.chdir(dPath) fname1 = 'feff0001.dat' # N=1, Reff=1.9 N
path1 = feffpath(os.path.join(dPath,'FEFF1', fname1)) ################################# path_lists=[path1] path_lists[0].s02=0.86 ################################################
class Func(): def __init__(self, path_lists): self.path_lists=path_lists
def step(self): self.path_lists[0].e0, self.path_lists[0].degen, self.path_lists[0].deltar, self.path_lists[0].sigma2 = [2, 5, 0.001, 0.004] ## Theory path들의 합과 theory FFT theory_sum=Group(label='theory_group_sum') ff2chi(self.path_lists, group=theory_sum) new_state=theory_sum.chi return new_state
class TestClass(): def __init__(self, path_lists): self.path_lists=path_lists
def test(self): func1 = Func(self.path_lists) s=func1.step() ############################################
T_func=TestClass(path_lists) F_func=Func(path_lists)
if __name__ == '__main__': process_list=[] p_N =mp.Process(target=T_func.test,) p_N.start() process_list.append(p_N) for process in process_list: process.join() ################################################################## #####Problem########## File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 314, in _bootstrap self.run() File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 40, in test s=func1.step() ^^^^^^^^^^^^ File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 30, in step ff2chi(self.path_lists, group=theory_sum) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 658, in ff2chi path.create_path_params(params=params) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 392, in create_path_params parname = self.pathpar_name(pname) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 331, in pathpar_name return f'{parname}_{self.dataset}_{self.hashkey}' ^^^^^^^^^^^^ AttributeError: 'FeffPathGroup' object has no attribute 'dataset'
2024년 2월 5일 (월) 오전 4:44, Matt Newville
님이 작성: Hi Eun-Suk,
All the examples with ff2chi and running feffit work for me. I sort of don't understand how that could happen (a FeffPathGroup does -- or should -- have a `dataset` attribute).
Can you provide an example that shows the problem?
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
Hello Matt
Thank you for your kindness.
I simplified the ff2chi problem in multiprocessing. I found that the ff2chi
problem in multiprocessing is caused by receiving the arguments in an
object (TestClass).
For instance
The below code works in multiprocessing
---------------------------------------------
class TestClass():
def __init__(self, out_path_lists):
self.path_lists=out_path_lists
def test(self):
path1 = feffpath(os.path.join(dPath,'FEFF1', fname1))
path_lists=[path1]
theory_sum=Group(label='theory_group_sum')
ff2chi(path_lists, group=theory_sum)
new_state=theory_sum.ch
However, If I change ff2chi(path_lists, group=theory_sum) to*
ff2chi(self.path_lists, group=theory_sum*), the ff2chi problem is caused.
Finally, I want to use multiprocessing. The xraylarch you sent does not
work in multiprocessing.
If you are possible, please send me larch 0.9.71 to reinstall
2024년 2월 7일 (수) 오전 7:37, Matt Newville
Hi Eun-Suk,
Did you do python -m pip install
https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-latest-py3-n...
? That will install the development version (later than 0.9.74, not yet 0.9.75, sorry for that delay). This works for me:
from larch.xafs import feffpath p1 = feffpath('feff0001.dat', e0=-1, sigma2=0.010) p1.s02 = 0.95 dat = ff2chi([p1])
I don't know of any multiprocessing problem...
Cheers,
On Tue, Feb 6, 2024 at 11:05 PM 정은석
wrote: Hello Matt.
I think that you need some time to fix the 'multi-processing problem of
0. 9.74'. If you take a little long time to fix it, can you send me xraylarch version 0.9.71? or could you inform me of the site of the old version?
I will reinstall xraylarch with it.
Thank you for your effort and contribution
2024년 2월 5일 (월) 오후 5:09, 정은석
님이 작성: Hello Matt
I changed my original code to simple code for you as below. I found the problem of larch 0.9.74 in multi-processing. You can check it with the below code. How can I fix this problem?
############# Multi-processing test ######################## import larch from larch import Group from larch.utils import * from larch.xafs import * from larch.io import *
import numpy as np import os import torch.multiprocessing as mp
dPath = r'C:\Users\Administrator\Desktop\RL\feffit_error_test' os.chdir(dPath) fname1 = 'feff0001.dat' # N=1, Reff=1.9 N
path1 = feffpath(os.path.join(dPath,'FEFF1', fname1)) ################################# path_lists=[path1] path_lists[0].s02=0.86 ################################################
class Func(): def __init__(self, path_lists): self.path_lists=path_lists
def step(self): self.path_lists[0].e0, self.path_lists[0].degen, self.path_lists[0].deltar, self.path_lists[0].sigma2 = [2, 5, 0.001, 0.004] ## Theory path들의 합과 theory FFT theory_sum=Group(label='theory_group_sum') ff2chi(self.path_lists, group=theory_sum) new_state=theory_sum.chi return new_state
class TestClass(): def __init__(self, path_lists): self.path_lists=path_lists
def test(self): func1 = Func(self.path_lists) s=func1.step() ############################################
T_func=TestClass(path_lists) F_func=Func(path_lists)
if __name__ == '__main__': process_list=[] p_N =mp.Process(target=T_func.test,) p_N.start() process_list.append(p_N) for process in process_list: process.join() ################################################################## #####Problem########## File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 314, in _bootstrap self.run() File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 40, in test s=func1.step() ^^^^^^^^^^^^ File "c:\Users\Administrator\Desktop\RL\feffit_error_test\test-ff2chi-problem.py", line 30, in step ff2chi(self.path_lists, group=theory_sum) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 658, in ff2chi path.create_path_params(params=params) File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 392, in create_path_params parname = self.pathpar_name(pname) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\envs\xraylarch\Lib\site-packages\larch\xafs\feffdat.py", line 331, in pathpar_name return f'{parname}_{self.dataset}_{self.hashkey}' ^^^^^^^^^^^^ AttributeError: 'FeffPathGroup' object has no attribute 'dataset'
2024년 2월 5일 (월) 오전 4:44, Matt Newville
님이 작성: Hi Eun-Suk,
All the examples with ff2chi and running feffit work for me. I sort of don't understand how that could happen (a FeffPathGroup does -- or should -- have a `dataset` attribute).
Can you provide an example that shows the problem?
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
-- Best regards,
Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- --Matt Newville <newville at cars.uchicago.edu> 630-327-7411
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit
-- Best regards, Ph. D. Eun-Suk Jeong X-ray absorption fine structure(EXAFS+XANES) Mobile:+82-10-4628-9896
participants (2)
-
Matt Newville
-
정은석