Когда я запускаю inversetest.py в приложении wpf, я получаю некоторые ошибкиC#

Место общения программистов C#
Ответить
Anonymous
 Когда я запускаю inversetest.py в приложении wpf, я получаю некоторые ошибки

Сообщение Anonymous »

Когда я запускаю код Python на C#, я получаю много ошибок из mycode.py, но в vscode он работает хорошо. Я использую любой способ типа python.net, железный Python, Process,... но он не работает:
private void Button_Click(object sender, RoutedEventArgs e)
{
string scriptPath = @"E:\TrainedModels\inversetest.py";
var result = RunPythonScript(scriptPath);

BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(result);
bitmap.EndInit();
Chart.Source = bitmap;
}

public static string RunPythonScript(string scriptPath)
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "\"C:\\Users\\PC 4\\AppData\\Local\\Programs\\Python\\Python312\\python.exe\"",
Arguments = scriptPath,
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true,
//WorkingDirectory = @"E:\TrainedModels"
};

using (Process process = new()
{
StartInfo = startInfo
})
{
process.Start();

var output = process.StandardOutput.ReadToEnd();
var error = process.StandardError.ReadToEnd();
process.WaitForExit();

if (!string.IsNullOrEmpty(error))
{
return $"Error: {error}";
}
return output;
}

ошибки:
Error: 2024-10-16 08:42:48.906422: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.

2024-10-16 08:42:51.055637: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.

2024-10-16 08:42:54.192569: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.

To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.

Traceback (most recent call last):
File "E:\TrainedModels\inversetest.py", line 32, in
pre_Down=valve_model_Down.predict(X)
^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\PC 4\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\utils\traceback_utils.py", line 122, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\PC 4\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py", line 449, in result
return self.__get_result()

File "C:\Users\PC 4\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
^^^^

File "C:\Users\PC 4\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^

File "C:\Users\PC 4\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

UnicodeEncodeError: 'charmap' codec can't encode characters in position 19-38: character maps to

Вывод inversetest.py после получения входных данных из типа csv и прогнозирования, что это изображение.jpg, но когда он выполняется на С#, он не выводится!!! и получил вышеуказанные ошибки.
Мой код на Python:
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model, metrics
import pandas
import seaborn as sns
import sklearn
import warnings
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics import r2_score
import pickle
import pandas as pd
import matplotlib.pyplot as plt

Temp_data=pandas.read_csv("invtest.csv")
## Import Dataset

x = Temp_data[['thickness','Percu1','Percu2','Percu3','Percu4','Percu5','Percu6','Percu7','Percu8','Percu9'
,'Percu10','Percu11','Percu12','Percu13','Percu14','Percu15','Percu16','Percu17'
,'Percu18','Percu19']]

X = x / 95

L_mid = np.linspace(0, 68, 68)

## Load ANN model
valve_model_Down = pickle.load(open('inverse_Quant_Down.sav','rb'))
valve_model_Middle = pickle.load(open('inverse_Quant_Mid.sav','rb'))
valve_model_Up = pickle.load(open('inverse_Quant_Up.sav','rb'))

#prediction
pre_Down=valve_model_Down.predict(X)
pre_Middle=valve_model_Middle.predict(X)
pre_Up=valve_model_Up.predict(X)

#Save
df_Down=pd.DataFrame(pre_Down*878.3)
df_Down.to_csv('inv_result_Down.csv',index=False)
df_Middle=pd.DataFrame(pre_Middle*880.6)
df_Middle.to_csv('inv_result_Middle.csv',index=False)
df_Up=pd.DataFrame(pre_Up*880.6)
df_Up.to_csv('inv_result_Up.csv',index=False)

#plot
#plt.plot(pre_Down[0,:]*880.6)

plt.plot(pre_Down[0,:]*878.3,'C2', label="Down")
plt.plot(pre_Middle[0,:]*880.6,'k', label="Middle")
plt.plot(pre_Up[0,:]*880.6, label="Up")
plt.legend()
plt.grid()
plt.xlabel("Position [m]")
plt.ylabel("Static Temperature [$^\circ$C]")
plt.savefig('output.jpg')
plt.show()
#save plot


Подробнее здесь: https://stackoverflow.com/questions/790 ... ome-errors
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»