Мне очень нравится решение Marc, но я думаю, что его можно немного улучшить, чтобы избежать использования «волшебной строки» (которая не поддерживает рефакторинг). Вместо использования имени свойства в виде строки легко сделать это лямбда-выражением:
private string name;
public string Name
{
get { return name; }
set { SetField(ref name, value, () => Name); }
}
Просто добавьте следующие методы в код Marc, он выполнит трюк:
protected virtual void OnPropertyChanged(Expression> selectorExpression)
{
if (selectorExpression == null)
throw new ArgumentNullException("selectorExpression");
MemberExpression body = selectorExpression.Body as MemberExpression;
if (body == null)
throw new ArgumentException("The body must be a member expression");
OnPropertyChanged(body.Member.Name);
}
protected bool SetField(ref T field, T value, Expression> selectorExpression)
{
if (EqualityComparer.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(selectorExpression);
return true;
}
BTW, это было вдохновлено этим сообщением в блоге обновленным URL
В папке приложения экспорта есть файл Forex.py. Измените строку,
network_input_size = 227 на network_input_size = 224
Затем я перестроил и перезапустил свой док-контейнер, и он заработал.