Я делаю один скрипт python для создания фрактального изображения.Параллельный Python, чтобы сделать фрактал и ресурс сериализованным под pp
Я пытаюсь использовать модуль pp python, чтобы ускорить этот исходный код.
Большая проблема: image.putpixel ((x, y), (i% 8 * 16, i% 4 * 32, i% 2 * 64)). Эта строка исходного кода, когда используется как работа, дайте мне примерно: cPickle.UnpickleableError: Невозможно рассолить объекты.
Я думаю, что этот ресурс не может быть сериализован под pp. Любая идея? Спасибо. С уважением.
Мой исходный код:
from PIL import Image
#size of image
imgx = 600
imgy = 400
#make image buffer
image = Image.new("RGB", (imgx, imgy))
# area of fractal
xa = -2.0
xb = 2.0
ya = -2.0
yb = 2.0
#define constants
max_iterations = 10 # max iterations allowed
step_derivat = 0.002e-1 # step size for numerical derivative
error = 5e-19 # max error allowed
# function will generate the newton fractal
def f(z): return z * z +complex(-0.31,0.031)
# draw derivate fractal for each y and x
for y in range(imgy):
zy = y * (yb - ya)/(imgy - 1) + ya
for x in range(imgx):
zx = x * (xb - xa)/(imgx - 1) + xa
z = complex(zx, zy)
for i in range(max_iterations):
# make complex numerical derivative
dz = (f(z + complex(step_derivat, step_derivat)) - f(z))/complex(step_derivat,step_derivat)
# Newton iteration see wikipedia
z0 = z - f(z)/dz
# stop to the error
if abs(z0 - z) < error:
break
z = z0
#I use modulo operation expression to do RGB colors of the pixels
image.putpixel((x, y), (i % 8 * 16, i % 4 * 32,i % 2 * 64))
#save the result
image.save("fractal.png", "PNG")
Я стараюсь это делать. Шов будет более усложняться для меня. Зачем? Потому что я могу вернуть список. Seam pp и вызывающая функция: job = job_server.submit имеет некоторые проблемы с глобальным определением. Я пытаюсь сделать это: я делаю 2 функции. Один из них: def newton_fractal (z): return z * z + complex (-0.31,0.031). Следующая функция, которую я сделал, это: –
Большая проблема - image.putpixel ((x, y), (i ... Мне нужно использовать ob = job_server.submit (make_fractal, я не знаю, как написать эту функцию 2 потому что они зависят друг от друга. Один хороший учебник о том, как преобразовать нормальный код python в pp, потому что это какое-то ограничение. О моем коде с модулем pp беспорядок. –