Вопросы с тегами [julia]

1

голосов
1

ответ
103

Просмотры

Julia - описать () функция отображения неполных сводные статистические данные

Я пытаюсь базовый анализ данных с Юлей я отслеживаю этот учебник с поезда наборов данных, которые можно найти здесь (тот названный train_u6lujuX_CVtuZ9i.csv) с помощью следующего кода: с помощью DataFrames, RDatasets, CSV, StatsBase поезд = CSV.read ( "/Path/to/train_u6lujuX_CVtuZ9i.csv"); описать (поезд [: LoanAmount]) и получить этот результат: Основная статистика: Длина: 614 Тип: Союз {Отсутствует, Int64} Уникальный номер: 204 вместо выхода урока: Основная статистика: Среднее: 146,412162 Минимум: 9,000000 первый квартиль : 100.000000 Медиана: 128.000000 третий квартиль: 168,000000 Максимум: 700.000000 Длина: 592 Тип: Int64% Missing: 3,583062 Что также соответствует выходу StatsBase.jl этого описательной () функция должна дать
ecjb
1

голосов
1

ответ
280

Просмотры

Problems with replacing missing values in a DataFrame with Julia 0.6.2

Итак, я предварить это тем, что я новый I язык Юлия и пытается работать через некоторые учебники по обработке массивов данных. Но я, кажется, ударяя проблемы с обработкой отсутствующих значений и не могу показаться, чтобы выяснить, что случилось. В частности: У меня есть 11 х 5 DataFrame, содержащая некоторые тестовые данные (с недостающими значениями), что я загрузить в Julia с помощью: D = CSV.read ( "name.csv"; rows_for_type_detect = 10); Это прекрасно работает, но для того, чтобы реально использовать данные, мне нужно обрабатывать пропущенные значения. Пропустив их полностью работает просто отлично, но в идеале я хотел бы заменить их чем-то разумное (среднее, и т.д.). В теории, это выглядит, как это должно быть просто из документации «Missings». Тем не менее, в качестве простого примера, если я бегу: Missings.replace (D [: COL4], У меня возникли некоторые проблемы с пониманием этого выхода. Существует более чем один отсутствующее значение в COL4. Таким образом, с самого начала, это неправильно ( «замена -> 1»?). Однако, она не только не заменить одно значение, оно не в состоянии заменить любые значения. DataFrame D остается неизменным, отсутствующие значения нетронутыми. Кто-нибудь есть какие-либо идеи, что здесь не так? (или альтернативные предложения о том, как выполнить замену отсутствующих значений в DataFrame в Джулию?) Я бег Джулии 0.6.2. У меня возникли некоторые проблемы с пониманием этого выхода. Существует более чем один отсутствующее значение в COL4. Таким образом, с самого начала, это неправильно ( «замена -> 1»?). Однако, она не только не заменить одно значение, оно не в состоянии заменить любые значения. DataFrame D остается неизменным, отсутствующие значения нетронутыми. Кто-нибудь есть какие-либо идеи, что здесь не так? (или альтернативные предложения о том, как выполнить замену отсутствующих значений в DataFrame в Джулию?) Я бег Джулии 0.6.2. Кто-нибудь есть какие-либо идеи, что здесь не так? (или альтернативные предложения о том, как выполнить замену отсутствующих значений в DataFrame в Джулию?) Я бег Джулии 0.6.2. Кто-нибудь есть какие-либо идеи, что здесь не так? (или альтернативные предложения о том, как выполнить замену отсутствующих значений в DataFrame в Джулию?) Я бег Джулии 0.6.2.
Charles Munson
1

голосов
1

ответ
86

Просмотры

Разработка читателя для onnx моделей

Я пытаюсь сделать читатель для onnx моделей в Джулию. Как правило, onnx модели состоят из model.pb файла, который содержит метаданные о модели. Тем не менее, я не могу понять, как я могу использовать буферы протокола или реализации Джулию буферов протокола (ProtoBuf.jl) для создания структуры данных из этого файла model.pb, так что я могу позже генерировать код Джулию для модели. Может кто-нибудь сказать мне, как я могу сделать читатель, чтобы загрузить onnx модель в Джулию?
Ayush
1

голосов
0

ответ
41

Просмотры

Builing Pardiso 5 на Mac с Юлей

Я пытаюсь построить Pardiso 5 на Mac 10.12.6 через Джулию, но у меня возникают проблемы. Я добавил пакет Pardiso через Джулию, то я следовал руководству Pardiso (стр.33 / 69) и установить LD_LIBRARY_PATH = ~ / .julia / v0.6 / Pardiso / DEPS / libpardiso500-MacOS-X86-64.dylib от моего. bash_profile. Тогда я бегу Pkg.build ( «Pardiso») и получить следующую информацию об ошибке: Строительство Pardiso найдено библиотеки, но это не удалось загрузить из-за: не удалось загрузить библиотеку «~ / .julia / v0.6 / Pardiso / Deps / libpardiso500- MACOS-X86-64.dylib»dlopen (~ / .julia / v0.6 / Pardiso / Deps / libpardiso500-MACOS-X86-64.dylib, 9): Библиотека не загружен: /usr/local/lib/libgfortran.3 .dylib Реферировано от: ~ / .julia / v0.6 / Pardiso / DEPS / libpardiso500-MACOS-X86-64.dylib Причина: изображение не foundfound библиотеки, но это не удалось загрузить из-за: не удалось загрузить библиотеку «libpardiso500-MACOS- X86-64.dylib» dlopen (libpardiso500-MACOS-X86-64.dylib, 9): Библиотека не загружен: /usr/local/lib/libgfortran.3.dylib Реферировано от: ~ / .julia / v0.6 / Pardiso / DEPS / libpardiso500-Macos -X86-64.dylib Причина: изображение не founddid не найти libpardiso, предполагая PARDISO 5,0 не установлен не нашел ключ MKLROOT, предполагая, что МКЛ не установлена ​​ПРЕДУПРЕЖДЕНИЕ: нет библиотеки Pardiso не удалось загрузить документация Джулию, казалось, не показали, что Я должен был сделать любой Gcc вещи из терминала себя, так что я не сделал никакого ручного связывания против BLAS / LAPACK и т.д. любые советы? Спасибо! при условии, MKL не установлена ​​ПРЕДУПРЕЖДЕНИЕ: нет библиотеки Pardiso не удалось загрузить Документация Джулию, казалось, не указывает, что я должен был сделать любой Gcc вещи из терминала сам, так что я не сделал никакого ручного связывания против BLAS / LAPACK и т.д. Любой совет? Спасибо! при условии, MKL не установлена ​​ПРЕДУПРЕЖДЕНИЕ: нет библиотеки Pardiso не удалось загрузить Документация Джулию, казалось, не указывает, что я должен был сделать любой Gcc вещи из терминала сам, так что я не сделал никакого ручного связывания против BLAS / LAPACK и т.д. Любой совет? Спасибо!
jjjjjj
1

голосов
0

ответ
88

Просмотры

Julia using Slurm invokes only one node

srun --nodes = 3 имя хоста успешно возвращает все имена 3 узла, но srun --nodes = 3 джулия test.jl с ошибкой ниже, где test.jl дается в конце здесь Worker 2 прекращается. ERROR (необработанное сбой задачи): Версия для чтения не удалось. Соединение закрыто пэром. StackTrace: [1] process_hdr (:: TcpSocket, :: Bool) при ./distributed/process_messages.jl:257 [2] message_handler_loop (:: TcpSocket, :: TcpSocket, :: Bool) в ./distributed/process_messages.jl : 143 [3] process_tcp_streams (:: TcpSocket, :: TcpSocket, :: Bool) при ./distributed/process_messages.jl:118 [4] (:: Base.Distributed ## 99 # 100 {TcpSocket, TcpSocket, BOOL. }) () в ./event.jl:73 srun: ошибке: н-0-2: задача 2: возбужденная с выходными код 1 srun: ошибка: н-0-0: задача 0: возбужденный с кодом выхода 1 srun: ошибка: н-0-2: задача 2: возбужденная с кодом выхода 1 srun: ошибка: н-0-1: задача 1: возбужденная с кодом выхода 1 тестом. JL использованием ClusterManagers addprocs (SlurmManager (3), раздел = "Слерма", т = "00: 5: 00)" хостов = [] PIDS = [] для ввода в рабочих () хоста, PID = выборки (@spawnat я ( gethostname (), GETPID ())) Println (хост) нажать! (хосты, хост) нажать! (ИДП, PID) конец # распределение ресурсов Слермы отпускается, когда все работники имеют # выходили за I в рабочих () rmprocs ( я) конец Почему? Примечание: Я не Юлю в качестве модуля, но джулия находится в общей папке, доступной всем узлам. ИДП) конец # Распределение ресурсов Слермы освобождаются, когда все работники имеют # выходили за I в рабочих () rmprocs (I) конце Почему? Примечание: Я не Юлю в качестве модуля, но джулия находится в общей папке, доступной всем узлам. ИДП) конец # Распределение ресурсов Слермы освобождаются, когда все работники имеют # выходили за I в рабочих () rmprocs (I) конце Почему? Примечание: Я не Юлю в качестве модуля, но джулия находится в общей папке, доступной всем узлам.
Tims
1

голосов
2

ответ
95

Просмотры

Неожиданное поведение Юлии булева сравнение

Я тестирую различную параметризацию КОР логистической функции и сравнение результатов и эффекта на кривой различных параметров. используя Distributions # вектор х, чтобы проверить различные функции х = собирающие (0:20) Logis = Logistic (10, 1) # PDF логистической функции в Джулией у = ВПР (Logis, х) # CDF логистической функции в Джулией # Это стандартное представление ВПР для логистической LogisticV1 (х, μ = 10, θ = 1) = 1 / (1 + е ^ - ((х-ц) / Q)) у1 = LogisticV1 (х) # этого. это другое представление ВПР для логистической LogisticV2 (х, μ = 10, θ = 1) = 1/2 + 1/2 * TANH ((х-М) / 2 * θ) у2 = LogisticV2. (х) участки все три функции идентичны, как и ожидалось. Тип всех трех у векторов также одинаковы (массив {Float64,1}) и три у векторы также кажутся идентичными. шоу (у) [4.53979e-5, 0,000123395, 0. 00033535, 0,000911051, 0,00247262, 0,00669285, 0,0179862, 0,0474259, 0,119203, 0,268941, 0,5, 0,731059, 0,880797, 0,952574, 0,982014, 0,993307, 0,997527, 0,999089, 0,999665, 0,999877, 0,999955] показывают (у1) [4.53979e-5, 0,000123395, 0.00033535, 0,000911051, 0,00247262, 0,00669285, 0,0179862, 0,0474259, 0,119203, 0,268941, 0,5, 0,731059, 0,880797, 0,952574, 0,982014, 0,993307, 0,997527, 0,999089, 0,999665, 0,999877, 0,999955] показывают (у2) [4.53979e-5, 0,000123395, 0.00033535, 0.00247262 0.000911051, 0.00669285, 0.0179862, 0.0474259, 0.119203, 0.268941,, 0,5, 0.731059, 0.880797, 0.952574, 0.982014, 0.993307, 0.997527, 0.999089, 0.999665, 0.999877, 0.999955] Однако: у == у1 # верно у == у2 # false y1 == y2 # ложь Почему это происходит? Я предполагаю, что это что-то делать с плавающей точкой изменения, вносимые функцией TANH в LogisticV2, но я не уверен. Я признателен за любое понимание этого. EDIT: Исправлены некоторые опечатки, чтобы сделать код исполняемым
Alejo
1

голосов
0

ответ
71

Просмотры

маркировать boxplot крайние точки в Джулии с использованием Plotly Backend

Я замышляет boxplot с использованием plotlyJS бэкенд для участков в Джулии 0.6.2 И я пытаюсь сделать это можно показать отдельные этикетки (строки) для точек, которые являются экстремальными. (Таким образом, мы можем определить их легко). проверьте изображение для более подробной информации введите описание изображения здесь код: используя Земельную plotlyjs () boxplot (data_mat, ylabel = «мера», xlabel = «categs», название = «данные») у меня есть конкретный ярлык для каждой точки. и эти метки одинаковы для 17 условий. Thanx
inarighas
1

голосов
0

ответ
31

Просмотры

Список ключевых аргументов в определении сюжета рецепта

Я первоначально открыт вопрос в RecipesBase.jl, но я думаю, что это только у меня, не понимая механизма сюжетных рецептов. Почему код ниже терпит неудачу, когда я пытаюсь передать список ключевых слов с ... синтаксисом? используя RecipesBase @userplot FooPlot функции @recipe F (FP :: FooPlot; а = 1, Ь = 2, kwargs ...) # SKIP конец Ошибка я получаю: BoundsError: попытка доступа 1-элементный массив {Любой, 1 } по индексу [2] Я признателен за любую помощь.
juliohm
1

голосов
0

ответ
126

Просмотры

Удаление фона на 3d участка Julia

У меня возникли некоторые реальные проблемы, пытаясь построить хорошие вещи с Юлей. Я впервые использовал PyPlot который я был доволен, но я должен был быть в состоянии изменить угол на 3D-графиков (в этом случае с использованием поверхности), так что теперь я использую участки непосредственно с speficication камеры. Я хотел бы, чтобы удалить фон на 3D-сюжет. используя PyPlot, следующую команду: ах = GCA (); Топор: set_axis_off отлично работает. При использовании сюжетов, я попытался следующее: используя участки; pyplot (сетка = ложь), а затем мой код на поверхность, и она не меняет выход. Я также попробовал первый пример на этой странице: https: //github.com/JuliaPlots/Plots.jl/pull/695 и спецификация сетки не работают (Сетки же на каждом участке расположения). Я попытался после обновления каждого пакета, и он до сих пор не работает. Кто-нибудь есть идея о том, что бы быть проблема, пожалуйста? Заранее спасибо !
ChrlTsr
1

голосов
2

ответ
158

Просмотры

Нечеткий С-означает кластеризации в ImageSegmentation.jl

Я пытаюсь группировать различные области изображения с использованием Fuzzy C-средства кластеризации с использованием ImageSegmentation.jl ImageSegmentation, изображения фл = нагрузка ( «flower.jpg») fuzzy_fl = fuzzy_cmeans (фл, 3,2) Это дает ошибку, как это : MethodError: нет соответствия метод fuzzy_cmeans (:: Base.ReshapedArray {Float64,2, ImageCore.ChannelView {Float64,3, массив {ColorTypes.RGB4 {Float64}, 2}}, {Кортеж Base.MultiplicativeInverses.SignedMultiplicativeInverse {Int64}, Base.MultiplicativeInverses.SignedMultiplicativeInverse {Int64}}}) Ближайшие кандидаты: fuzzy_cmeans (:: Массив {T
Akshay Sharma
1

голосов
0

ответ
128

Просмотры

Как получить промежуточные решения Integer при решении MIP в Джулии (JUMP)?

Я решение модели MIP с использованием CPLEX в Джулию. Я знаю, что CPLEX имеет так называемый пул Solution, где все промежуточные целочисленные решения во время процесса решений сохраняются. Есть ли способ получить доступ к этим решениям с использованием Юлит (JUMP)?
Berni
1

голосов
0

ответ
46

Просмотры

Совокупные Возвращает

В R мы можем сделать: cum.ret голову (DF) 6 × 5 DataFrames.DataFrame │ │ Роу │ │ б Закрыть │ │ Close_Rets Cum_Ret │ ├─────┼───┼─────── ──┼──────────┼────────────┼───────────┤ │ 1 │ 1 │ │ 6,15507 3,6363 │ │ NaN NaN │ │ 2 │ 2 │ │ 7,73259 0,98378 │ │ -0,729456 -0,729456 │ │ 3 │ 3 │ │ 3,64926 7,94633 7,07735 │ │ 7,07735 │ │ 4 │ 4 │ │ 5,15762 0,744905 │ │ -0,906258 -0,906258 │ │ 5 │ 5 │ 9,49532 │ 8,51811 │ │ 10,4352 10,4352 │ │ 6 │ 6 │ 6.14604 │ 5,02165 │ │ -0.410473 -0.410473 │ в любом случае, чтобы сделать эту работу?
Andrew Bannerman
1

голосов
1

ответ
47

Просмотры

Использование Plots.jl для кадра тяжелого ГИФСА

Я пытаюсь создать GIF с 100 кадров, которые я предполагаю, не должно быть проблемой, если я код правильно. Однако, следующий код замедляется, и, кажется, вызывает утечку памяти. используя участки с помощью ProgressMeter и = RAND (100100) HMAP = Heatmap (нули (размер (и)), Клим = (0,1)) р = Прогресс (1000, 1) Аним = Animation () для я = 1: 1000 U = Rand (100100) Heatmap! (HMAP [1], и), если мод (я, 10) == 0 кадра (Anim) конец следующего! (р) конец GIF (Anim, "/tmp/anim_fps30.gif", кадров в секунду = 30) ли я сделал критическую ошибку в моем кодировании? Есть ли способ, чтобы получить кадры для анимации, не держа их в памяти? Благодарю.
Azaryah Wilson
1

голосов
0

ответ
73

Просмотры

джулия предупреждающее сообщение: Eval от модуля NamedTuples до DataFrames

Во время прекомпиляции упаковок Жулиа DataFrames, следующее предупреждение произошло: Юлит> с помощью DataFrames ПРЕДУПРЕЖДЕНИЯ: Eval от модуля NamedTuples до DataFrames: Expr (: тип, ложь, Expr (:
wueli
1

голосов
1

ответ
39

Просмотры

Bulk downloading data with a limiter

Итак, я пишу функцию, которая в основном объемные загрузки данных и сохраняет его в БД. Во-первых, я просто положить его в качестве функции StoreData (url_list) для URL в url_list данных = downloaddata (URL) savedataindb (данные) конец конец Но этот путь загрузка была довольно медленно (я думаю, что сама сервера данных ограничивает скорость ) так что я асинхронизированный все загрузки, так что я могу поместить несколько вызовов скачать сразу функцию StoreData (url_list) @sync для URL в url_list @async savedataindb (downloaddata (URL)) конец конца Это работает и загружает довольно быстро. Но мой url_list довольно большой, и поэтому это просто делает слишком много звонков на сервера данных и данных серверных блоков мне. Так, я думал, я вместо того, чтобы создавать партии определенного размера, чтобы загрузить асинхронно, следующим образом функция StoreData (url_list) партии = разрыв (url_list) @sync для партии в партии @async для URL в пакетном savedataindb (downloaddata (URL)) конец конец конец Но это также не решает проблему. Же предыдущий вопрос остается. Как реализовать эту функцию, так что я могу поставить несколько звонков скачать сразу, но и ограничение их (в некотором смысле) в то же время?
kishlaya
1

голосов
1

ответ
68

Просмотры

Ошибка при прыжковых и Ipopt

Я пытаюсь использовать Прыгать и Ipopt под Julia v0.7.0. Когда я пытаюсь построить модель: JuLiA> т = Модель (решатель = IpoptSolver ()) Я получаю следующее сообщение об ошибке: проблемы экономической целесообразности с: * 0 линейных ограничениями * 0 переменных Solver это ошибка показывает значение типа Model: ОШИБКУ: BoundsError : попытка доступ 1-элементный массив {подстрока {строка}, 1} по индексу [2] Я использую следующие версии пакетов: Ipopt v0.4.0 JuMP v0.18.2 Есть идеи? Спасибо!
Hamlet
1

голосов
0

ответ
38

Просмотры

Вектор вектор повторного размера

Таким образом, у меня есть два вектора векторов, таких как: matchings_vec = Vector {Vector {Vector {Vector {Любой}}}} (num_tilt1) Minfoall_vec = Вектор {Vector {Vector {Vector {Vector {Vector {Float64}}}}}} (num_tilt1 ) я определил его как: matchings_vec = [Vector {Любое} () для г в 1: num_tilt1] Minfoall_vec = [Vector {Float64} () для г в 1: num_tilt1] Тогда я пытаюсь изменить размер внутренних векторов, как: для тт = 1: num_tilt1 t_tt = т [тт] #; t1 = t_tt; t2 = 1; если t_tt == 1 num_rot1 = 1 еще num_rot1 = круглый (Int, num_rot_t2 * t_tt / 2), если бэр. (num_rot1, 2) == 1,0 num_rot1 + = 1 конец num_rot1 / = 2-й конец num_rot1 = круглый (Int, num_rot1) #resize! (matchings_vec [тт], num_rot1) matchings_vec [тт] = {Вектор} Любой (num_rot1) #resize! (Minfoall_vec [тт], num_rot1) Minfoall_vec [тт] = {Вектор Float64} (num_rot1) для RR = 1 : num_rot1 num_tilt2 = круглый (Int, num_tilt2) #resize! (matchings_vec [тт] [р-р], num_tilt2) matchings_vec [тт] [р-р] = Вектор {Любой} (num_tilt2) #resize! (Minfoall_vec [тт] [р-р], num_tilt2) Minfoall_vec [тт] [р-р] = {Вектор Float64} (num_tilt2) для ТТ2 = 1: num_tilt2 t_im2 = т [tt2] # t_im2_1 = t_im2; t_im2_2 = 1; если t_im2 == 1 num_rot1_2 = 1 еще num_rot1_2 = круглый (Int, num_rot_t2 * t_im2 / 2), если бэр. (num_rot1_2, 2) == 1,0 num_rot1_2 + = 1 конец num_rot1_2 / = конец 2 num_rot1_2 = круглый (Int, num_rot1_2) #resize! (matchings_vec [тт] [р-р] [tt2], num_rot1_2) matchings_vec [тт] [р-р] [tt2] = Вектор {Любой} (num_rot1_2) #resize! (Minfoall_vec [тт] [р-р] [tt2], num_rot1_2) Minfoall_vec [тт] [р-р] [tt2] = Вектор {Float64} (num_rot1_2) конец конец конец я получаю эту ошибку: MethodError: Не удается преобразовать объект типа массива {Float64,1} к объекту типа Float64 Это, возможно, возникшего в связи с вызовом конструктора Float64 (...), так как конструкторы типов падают обратно преобразовать методы. StackTrace: [1] SetIndex (:: Массив {Float64,1} :: {Массив Float64,1} :: Int64) в ./array.jl:578 [2] макроподстановкам в ./In[32] : 22 [встраиваемый] [3] анонимные при ./ :? Можете ли вы предложить то, что я делаю неправильно? Спасибо! 1} к объекту типа Float64 Это, возможно, возникшего в связи с вызовом конструктора Float64 (...), так как конструкторы типов падают обратно преобразовать методы. StackTrace: [1] SetIndex (:: Массив {Float64,1} :: {Массив Float64,1} :: Int64) в ./array.jl:578 [2] макроподстановкам в ./In[32] : 22 [встраиваемый] [3] анонимные при ./ :? Можете ли вы предложить то, что я делаю неправильно? Спасибо! 1} к объекту типа Float64 Это, возможно, возникшего в связи с вызовом конструктора Float64 (...), так как конструкторы типов падают обратно преобразовать методы. StackTrace: [1] SetIndex (:: Массив {Float64,1} :: {Массив Float64,1} :: Int64) в ./array.jl:578 [2] макроподстановкам в ./In[32] : 22 [встраиваемый] [3] анонимные при ./ :? Можете ли вы предложить то, что я делаю неправильно? Спасибо!
Isai
1

голосов
1

ответ
151

Просмотры

Использование кэширования вместо запоминания ускорив функцию

Хотя запоминание функции является хорошей идеей, это может привести программу аварии, поскольку программа потенциально может запустить из памяти. Поэтому не безопасный вариант использования в производственной программе. Вместо этого я разработал кэширование с фиксированными слотами памяти ниже с прогр.лимит и жестким пределом. Когда слоты кэша выше жесткого предела, он будет иметь наименее используемые слоты удалены, пока количество слотов не снижаются до мягкого предела. структура cacheType softlimit :: Int hardlimit :: Int память :: Dict {Любой, любой} FREQ :: Dict {Любой, Int} cacheType (мягкая :: Int твёрдого :: Int) = новый (мягкий, твердый, Dict () , Dict ()) конец функции tidycache (с :: cacheType) memory_slots = длина (c.memory), если memory_slots> c.hardlimit num_to_delete = memory_slots - c.softlimit # Теперь отсортировать словарь FREQ в массив ключ => память [х] = результат возвращаемого результата конец конец конец с = cacheType (3,4) cachefib! (с, 3) cachefib! (с, 4) cachefib! (с, 5) cachefib! (с, 6) cachefib! ( с, 4) Println ( «c.memory есть», c.memory) Println ( «c.freq есть», c.freq) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений памяти потребление, которое может привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? (С, 3) cachefib! (С, 4) cachefib! (С, 5) cachefib! (С, 6) cachefib! (С, 4) Println ( "c.memory есть", c.memory) Println ( "гр .freq является», c.freq) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? (С, 3) cachefib! (С, 4) cachefib! (С, 5) cachefib! (С, 6) cachefib! (С, 4) Println ( "c.memory есть", c.memory) Println ( "гр .freq является», c.freq) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? c.memory) Println ( «c.freq есть», c.freq) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? c.memory) Println ( «c.freq есть», c.freq) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? частота) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? частота) Я думаю, что это будет наиболее полезным в производственной среде, чем просто использование запоминанию без ограничений потребления памяти, которые могут привести к сбою программы. В языке Python, они имеют @ functools.lru_cache (MAXSIZE = 128, напечатал = False) декоратор, чтобы обернуть функцию с memoizing отзывной, что позволяет экономить до MAXSIZE последних вызовов. Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке? Это может сэкономить время, когда дорогой или I / O оценки функции периодически вызывается с теми же аргументами. Так как словарь используется для кэширования результатов, позиционные и ключевые аргументы функции должны быть hashable. Есть ли эквивалент в Джулии языке?
Steven Siew
1

голосов
0

ответ
56

Просмотры

Получение наборов в HDF5 файла Julia

Там, кажется, проблема между JLD, hdf5 и форматами JLD2 для хранения сложных данных в Джулию. До недавнего времени JLD казалось, работает очень хорошо, и это было suppossed быть HDF5-совместимыми. У меня есть набор данных, который включает в себя некоторые данные с типом данных Set. Сохранение и извлечение его на JLD формат был прост. Но теперь JLD является depprecated, как Джулии 1.0.0 и JLD2 является «новый способ сделать это», но это явно говорит на странице, которая не имеет обратной совместимости или что является безопасным (»Если ваша терпимость к потере данных низка , JLD может быть лучшим выбором в это время "). Окей, но JLD не compule на Джулию 1.0.0. Поэтому я не могу использовать его. HDF5 кажется, чтобы открыть JLD adecuately, и быть в состоянии восстановить массивы хорошо. Но не множество. Когда я пытаюсь получить набор я получаю это: HDF5.HDF5Compound {1} ((Uint8 [0x68, 0x59, 0x46, 0x02, 0x00, 0x00, 0x00, 0x00]), ( "dict_"), (HDF5.HDF5ReferenceObj)) Я не знаю, какой тип объекта это, или, как его интерпретировать. Исходные данные был набором cointaing два целочисленных массивов в качестве элементов. Я пытался читать его индексами, но это не может быть сделано, и он говорит что-то похожее на «Словарь», но это не имеет названия на нем. Может быть, я в состоянии перевести все данные в JLD или на равнине hdf5 с Джулией 0.6.2 Script, но, возможно, я могу научиться делать это правильно с hdf5 + Julia 1.0.0
wpkzz
1

голосов
1

ответ
29

Просмотры

Юлия RemoteChanel пример дает UndefVarError

Я попытался запустить пример из https://docs.julialang.org/en/v1/manual/parallel-computing/#Channels-and-RemoteChannels-1 Просто скопируйте вставить команды в моей JuLiA консоли. Я использую версию 1.0.0 _ _ _ (_) _ | Документация: https://docs.julialang.org (_) | (_) (_) | _ _ _ | | _ __ _ | Тип "?" за помощью, "]?" для Pkg помощи. | | | | | | | / _` | | | | | _ | | | | (_ | | | Версия 1.0.0 (2018-08-08) _ / | \ __'_ | _ | _ | \ __'_ | | Официальный релиз https://julialang.org/ | __ / | юлия> nprocs (5) джулия> константные результаты = RemoteChannel (() -> канал {Кортеж} (32));> Жулиа константные задания = RemoteChannel (() -> канал {Int} (32)); джулия> @everywhere функция do_work (работа, результаты) # определить функцию работы везде в то время как истинный job_id = взять! (Рабочих мест) exec_time = рандов () сон (exec_time) # имитирует истекшее время, делая фактическую работу поставил (результаты, (job_id, exec_time, MyID ())) конец конец джулия> функция make_jobs (п) инт в 1: п положил ! (работы, я) конец конец; джулия> п = 12 12 джулия> @async make_jobs (п); джулия> для р в рабочих () # запуск задача на рабочий для обработки запросов в параллельных remote_do (do_work, р, рабочие места, результаты) конец Джулии> @elapsed, а п>-# распечатка результатов job_id, exec_time, где = брать! (результаты) Println ( "$ job_id закончил в $ (круглая (exec_time; цифры = 2)) секунды на рабочем $, где") п = п - 1 конец Это дало следующее сообщение об ошибке: 4 закончили в 0. 46 секунд на рабочих 4 ОШИБКЕ: UndefVarError: п не определены StackTrace: [1] макро расширения на ./REPL[9]:4 [встраиваемый] [2] рамках верхнего уровня на ./util.jl:213 [встраиваемый] [ 3] Объем верхнего уровня на ./none:0 Почему он упал на рабочем 4? Я предположил цикл в то время как должен работать только на мастере.
Oswin
1

голосов
2

ответ
114

Просмотры

Как удалить определенную строку п-мерного массива в Джулию?

Я хочу иметь функцию, которая возвращает новый массив с подмассивами вдоль оси стирают Джулия. Более конкретно, данный массив (который может быть п-мерным), удалить строку (ы), мы заданные вдоль обозначенной размерности и возвращаем новый массив. В Python, у нас есть такая функция, а именно numpy.delete. Если 2-размерности, я мог бы иметь следующую функцию. Функция удаления (массив :: Массив {а = [1 2 3; 4 5 6, 7 8 9] 3 × 3 Массив {} Int64,2: 1 2 3 4 5 6 7 8 9> удалить (а, 2, 2 ) 3 × 2 массива {} Int64,2: 1 3 4 6 7 9 Тем не менее, как расширить эту функцию в н-измерении Кроме того, я также хочу удалить несколько строк одновременно, как можно сделать это?
F.Yuya
1

голосов
1

ответ
34

Просмотры

Как определить тип подписи, чтобы найти конкретный метод с InteractiveUtils.edit в Джулию?

Для того, чтобы быстро найти реализацию некоторых методов я хотел бы использовать InteractiveUtils.edit. Например, если я хотел бы увидеть реализацию methodswith я должен быть в состоянии написать что-то вроде редактирования (methodswith). Однако, как функция methodswith имеет несколько методов я получаю: Ошибка: функция имеет несколько методов; Пожалуйста, укажите тип подписи Как указать тип подписи? Я знаю, что я могу узнать, какие методы существуют с методами (methodswith), давая подписи, как это: [1] methodswith (T :: Тип; супертипов) в InteractiveUtils в / buildworker / рабочий / package_linux64 / сборки / USR / доли / джулия / STDLIB / v1.0 / InteractiveUtils / SRC / InteractiveUtils.jl: 169 Как я могу подключить это в вызове редактирования? Я знаю, что есть @edit, которые я мог бы использовать с некоторым вызовом функции примерным. Тем не мение, иногда это было бы более простым, чтобы просто указать типы, так как строительство объектов для примерного вызова методы также включает некоторые исследования для действительных конструкторов. TL; DR: Как найти конкретный метод функции с InteractiveUtils.edit в Джулию?
lassepe
1

голосов
1

ответ
42

Просмотры

Нет согласование метода ^ в Юле [решено]

Я создал UnitRange в Джулию и пытается создать участок х по х и х ^ 2. Я написал следующий код. х = [-10: 10] p1 = участок (х, х) = р2 участок (х, х ^ 2.) Я получаю следующее сообщение об ошибке: MethodError: нет метода согласования ^ (:: UnitRange {Int64}, :: Int64) Ближайшие кандидаты: ^ (сочетаемые :: Float16, :: Integer) в math.jl: 795 ^ (сочетаемые :: Отсутствующие, :: Integer) в missing.jl: 120 ^ (сочетаемые :: Отсутствует, :: Номер) в missing.jl: 93 ... StackTrace: [1] _broadcast_getindex в ./none:0 [встраиваемый] [2] GetIndex в ./broadcast.jl:515 [встраиваемый] [3] копировать на ./ broadcast.jl: 790 [встраиваемыми] [4] материализовать (:: Base.Broadcast.Broadcasted {Base.Broadcast.DefaultArrayStyle {1}, Ничего, TypeOf (Base.literal_pow), Кортеж {Base.RefValue {TypeOf (^)} , массив {UnitRange {Int64}, 1}, {Base.RefValue Вал {2}}}}) в ./broadcast.jl:756 [5] рамки верхнего уровня в работе [18]:
Srinjoy Saha
1

голосов
0

ответ
59

Просмотры

Юлия - Можно сказать, если программа запущена?

Я пытаюсь только продолжать свой код один раз в запущенном приложении окончания работы. Эта программа активно генерирует файл .txt параллельно с моим JuLiA сценария. Мой код, то нужно прочитать в заполненном файле. он ток проблема заключается в том, что джулия читает в файле, который находится в процессе того, чтобы быть записаны. Это приводит к неполному набора данных. В настоящее время, я анализируя размер файла текстового документа внутри время цикла, чтобы приостановить программу unitl размера прекращает итерацию. Смотрите ниже: prevSize = 0, а prevSize = размер файла (polarPath) сон (2) глобальное prevSize = размер файла (polarPath) конец Это работает отлично, за исключением программы не состояло в скорости записи для различных входных параметров (отсюда неаккуратного сна (2 )). Это позволяет время для программы писать для большинства случаев, но я искал более элегантное решение.
VileProtagonist
1

голосов
1

ответ
50

Просмотры

Issue with using pyimport in Julia 1.1.0

I made a module with an if condition on the number of cores. module mymodule import Pkg import PyCall using Distributed if nworkers() > 1 @everywhere using Pkg @everywhere Pkg.activate(".") @everywhere Pkg.instantiate() @everywhere using PyCall @everywhere @pyimport scipy.signal as ss function parallel() .... end else using Pkg Pkg.activate(".") Pkg.instantiate() using PyCall @pyimport scipy.signal as ss function serial() .... end end end #mymodule Code throws the following error on execution ERROR: LoadError: LoadError: UndefVarError: @pyimport not defined Stacktrace: [1] top-level scope [2] include at ./boot.jl:326 [inlined] [3] include_relative(::Module, ::String) at ./loading.jl:1038 [4] include(::Module, ::String) at ./sysimg.jl:29 [5] include(::String) at ./client.jl:403 [6] top-level scope at none:0 in expression starting at /storage/work/s/mymodule.jl:81 in expression starting at /storage/work/s/mymodule.jl:30 where line 81 is the line in else condition corresponding to @pyimport scipy.signal as ss and line 30 corresponds to if nworkers() > 1. Before this problem, the code had an issue with the line @everywhere @pyimport scipy.signal as ss but that disappeared by using import PyCall; bizarrely though, it didn't solve the former problem. Has anyone experienced a similar issue or aware of such issues?
1

голосов
0

ответ
9

Просмотры

Различный между параллельной картой и параллельно для цикла

когда я прочитал документ Джулии многоядерных параллельных вычислений, я заметил, что оба параллельно карта ртар и для цикла @distributed для. Из документации, «ртар Джулий предназначен для случая, когда каждый вызов функции делает большой объем работы. В отличии от этого, @distributed способна справиться с ситуациями, когда каждая итерация крошечная». То, что делает разницу между ртарами и @distributed для? Почему @distributed для медленно для большого объема работы? Спасибо
Tianjing Zhao
0

голосов
0

ответ
4

Просмотры

Вещание оператора над полем массива структур (Julia)

У меня есть массив экземпляра структуры (одного и того же типа). Я хотел бы изменить значение определенного поля этих структур. Из соображений производительности я хотел бы избежать использования для цикла. Вот игрушка код, чтобы проиллюстрировать то, что я: изменяемые структура Foo х конец A, B = Foo (5), Foo (7) обр = [а, Ь] .- (GetField (обр.,: Х), 1) Я ожидается, что это получить поля х в массив (указателей на фактические х полей фактической Foo-х), а затем применить -1 ко всем этим. Когда я называю, б они неизменны. Я знаю, что после отладки, что это происходит потому, что трансляция () из ПолучитьПолеЗаголовка материализуется (Broadcast.materialize) поля в новый массив, т.е. он копируется. Есть правильный и производительный способ сделать это без петель? Спасибо
Henri.D
1

голосов
1

ответ
639

Просмотры

Не удалось запустить JuLiA студию

Я попытался запустить Julia Studio, перед запуском Джулии и она работала. Однако, как только я побежал Джулию, а затем начал работать Джулию Studio, я получаю JuliaStudio.exe перестал работать. Я также попытался удалить и переустановить студию, но не был успешным. Я в настоящее время использую Vista 32 бит, JuliaStudio-0.3.1, и Джулия v0.1.2. Любая помощь в этой связи будет высоко оценен.
Metrics
1

голосов
1

ответ
413

Просмотры

создание Bitstype

Как я могу использовать bitstype? Я попытался Base.box/Base.unbox, но они не работали. Я прочитал, что переинтерпретировать следует использовать. Он работал: bitstype 32 Blah32 blah32 = переинтерпретировать (Blah32, 8) # Blah32 (0x00000008) Однако с помощью этого метода, не могу создавать bitstype с, например, 2048 бит. Как я могу использовать bitstype для создания типов, которые содержат произвольное число битов?
Darek Nędza
1

голосов
1

ответ
269

Просмотры

нет вывода в Джулию, используя IPython ноутбук

У меня есть ijulia набор состояния происходит, но я не могу выполнять операторы JuLiA на нем. Я не получаю выход из ноутбука. Вместо этого, на терминале у меня есть что-то вроде этого: 2014-02-26 12: 37: 09,315 [NotebookApp] КРИТИЧЕСКИЕ | Искаженное сообщение: [ ''] Traceback (самый последний вызов последний): Файл «/home/adrian/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/site-packages/IPython/html/ база / zmqhandlers.py», строка 68, в _on_zmq_reply Он появляется проблема с библиотекой zmq, но я не знаю, как поступить.
user2820579
1

голосов
1

ответ
188

Просмотры

Adding type declarations somehow slows down Julia algorithm signicifally

I have written a very basic algorithm in Julia Studio (Julia 0.2.0, OSX 10.8.2) that calculates the average mana left on each turn for a given mana curve in Hearthstone. When done with the algorithm I added type declarations to all the variables, thinking that this would help increase the overall speed. Suprise! The added type declarations made the code run more than 4x slower (from ~7s up to ~28s). What is causing this weird behaviour, and how can I fix it? It feels like adding types should help the compiler produce faster code, or at the very least make no difference. Here is the code without type declarations (run time 6.76s): function all_combinations(n) result = Array{Int64}[] for x in [1:n] append!(result, collect(combinations(1:n,x))) end return result end curve = [2, 3, 4, 5, 5, 4, 3, 2, 1, 1] games = Array{Int64}[] function execute() for game_n in [1:5000] deck = mapreduce( (x) -> fill(x[1], x[2]), append!, enumerate(curve)) function drawcard() card = splice!(deck, rand(1:length(deck))) end hand = [drawcard() for n in [1:3]] turn_leftovers = Int64[] for mana in [1:10] push!(hand, drawcard()) possible_plays = all_combinations(length(hand)) map!( play -> map(i -> hand[i], play), possible_plays) filter!(x -> sum(x) sum(a) > sum(b) ? a : b, possible_plays) for card in play splice!(hand, findfirst(hand, card)) end push!(turn_leftovers, mana - sum(play)) else push!(turn_leftovers, mana) end end push!(games, turn_leftovers) end end println(@elapsed execute()) println("Averaging over $(length(games)) games") for turn in [1:length(games[1])] avrg = mean(map(game -> game[turn], games)) println("Left on turn $turn: $avrg") end println("Average mana leftover: $(mean(reduce(vcat, games)))") println("Done") And here is the code with type declarations (run time 28.48s): function all_combinations(n) result = Array{Int64}[] for x in [1:n] append!(result, collect(combinations(1:n,x))) end return result end curve::Array{Int64} = [2, 3, 4, 5, 5, 4, 3, 2, 1, 1] games = Array{Int64}[] function execute() for game_n::Int64 in [1:5000] deck::Array{Int64} deck = mapreduce( (x) -> fill(x[1], x[2]), append!, enumerate(curve)) function drawcard() card::Int64 = splice!(deck, rand(1:length(deck))) end hand::Array{Int64} hand = [drawcard() for n in [1:3]] turn_leftovers::Array{Int64} turn_leftovers = Int64[] for mana::Int64 in [1:10] push!(hand, drawcard()) possible_plays::Array{Array{Int64}} = all_combinations(length(hand)) map!( play -> map(i::Int64 -> hand[i], play), possible_plays) filter!(x::Array{Int64} -> sum(x) sum(a) > sum(b) ? a : b, possible_plays) for card::Int64 in play splice!(hand, findfirst(hand, card)) end push!(turn_leftovers, mana - sum(play)) else push!(turn_leftovers, mana) end end push!(games, turn_leftovers) end end println(@elapsed execute()) println("Averaging over $(length(games)) games") for turn in [1:length(games[1])] avrg = mean(map(game -> game[turn], games)) println("Left on turn $turn: $avrg") end println("Average mana leftover: $(mean(reduce(vcat, games)))") println("Done") It could be worth noting that even the fastest version is a bit slower than the equivalent code written in JavaScript. This is probably only because of the lousy implementation, though. I have no doubt a better algorithm would outshine JS any day of the week.
haspaker
1

голосов
1

ответ
1.4k

Просмотры

Julia выбрать элемент из кортежа для каждой строки в массиве

Я знаю, что там должно быть умным способом сделать это в Джулию, но я тупик. У меня есть 1d массив кортежей и я хочу, чтобы извлечь третий элемент из каждой строки массива. Вот пример того, что я работаю с: Джулией> experArr 20-элементного массива {(Any, Any, Any), 1}: (4000,0.97613,1.6e6) (2000,0.97613,800000.0) (8000,0.97613 , 3.2e6) (1000,0.97613,400000.0) ... Моя первая мысль была сделать что-то вроде этого: юлия> experArr [:] [3], но это возвращает: юлия> experArr [:] [3] (8000 , 0.97613,3.2e6) то, что я хочу, чтобы вернуть это: 20-элементный массив {Любой, 1}: 1.6e6 800000,0 400000,0 3.2e6 ... Я попробовал несколько других перестановок индексации, но я продолжаю только возвращение одного элемента , Я чувствую, что есть правильный способ сделать это, и я просто не хватаю
Matthew Crews
1

голосов
1

ответ
166

Просмотры

Джулия в то время как цикл слишком далеко и дает сообщение об ошибке

Я новичок Юлит и пытаюсь сделать простой скрипт для имитации роста населения. Таким образом, на каждом временном этапе население растет следующим образом N (T + 1) = N (T) (1 + бета). Таким образом, на каждом временном шаге я выборку из распределения Пуассона со средним заданной N (T + 1). Я хотел бы остановиться, когда либо N достигает максимальное значение или достигнет 0. Я реализовал это в Джулию, но население часто идет дальше, чем максимальное значение я определить. Кроме того, любое время N-> 0 я получаю сообщение об ошибке: ErrorException ( «лямбда должна быть положительной»). с использованием распределений функции new_pop (N), бета = 0,1 w_fit = 1 Rand (Пуассона (N * (1 + w_fit * бета))) конец pop_S = 10 pop_Max = 100 в то время как (pop_S0) pop_S = new_pop (pop_S) Println (pop_S) конец
user3775495
1

голосов
1

ответ
114

Просмотры

Julia: Правильное использование isreadable (), чтобы предотвратить «не удалось прочитать каталог» ошибка

Я использую Джулию запустить через мою файловую систему и продолжаю работать в «Невозможно прочитать каталог» ошибку. Тем не менее, isreadable () всегда возвращает истину от конкретного каталога, который дает мне проблемы. Это ожидаемое поведение? Могу ли я использовать его неправильно? джулия> isdir (реж) верно джулия> isreadable (реж) верно джулия> READDIR (реж) ОШИБКА: не удалось прочитать каталог / это / в / а / образце / каталог /: Разрешение отказано в ReadDir на ./file.jl:155 Я бегу Julia 0.3.0-пререлиз + 3921 в Ubuntu 12.04. Спасибо
Mageek
1

голосов
1

ответ
453

Просмотры

Julia: Доступ к DArray в зависимости от процессора

Я создаю DArray: г = dzeros (3) Теперь я хотел бы запустить функцию параллельно с использованием ртара. Я хотел бы эту функцию для доступа к любой части д локальна на текущем процессоре. Нечто подобное функции Foo () глобальная д а = локальная часть (г) [1] = 1 конец Тем не менее, я получаю исключение на 2: исключение на 4: Ошибка: не определено в d mcmc_sub! в /home/benjamin/.julia/v0.3/Mamba/src/model/mcmc.jl:67 в анонимном на multi.jl: 847 в run_work_thunk на multi.jl: 613 в анонимном на task.jl: 847 по каждому процесс. д должны быть определены на каждом процессоре. Например, код, как это работает: Джулии> д = dzeros (3) 3-элемент DArray {Float64,1, массив {Float64,1}}: 0,0 0,0 0,0 джулия> @spawnat (2, (а = локальная часть (д); а [1] = 1;)) RemoteRef (2,1,65) джулия> д 3-элемент DArray {Float64,1, массив {Float64,1}}: 1,0 0,0 0,0
bdeonovic
1

голосов
1

ответ
542

Просмотры

Бегите коды Julia на кластере

Я стремлюсь, чтобы запустить некоторые Julia-кодированные моделирования на кластере (без сложной параллельной обработки участия), используя .pbs файл (и qsub) Я знаю два способа запустить .jl файл из Bash. Первый / путь / к / джемуся myscript.jl второго один Exec '/ Applications / ли / ли / джулия / bin / Юли включает в себя ( «myscript.jl») Вот мой файл .pbs. Я не могу проверить, если он работает, потому что я еще не знаю, где приложение Julia хранится на кластере. #! / Bin / Баш #PBS -l прок = 1 #PBS -l walltime = 240: 00: 00 #PBS -N Имя #PBS -м еа #PBS -М [email protected] #PBS -l Pmem = 1000MB #PBS -t 1-3 эха "Начиная работать на:` date`" Exec" / Applications / л / л / Жюлиа / bin / Юли~d включает ( "myscript.jl") эхо «Работа закончила с выходом кодом $ в? : `date`» Не кажется ли правильным для вас? Или я, как-то, сделать.
Remi.b
1

голосов
1

ответ
84

Просмотры

Как использовать доработанную локальную версию пакета?

Я установил пакет Мокко так: юлия> Pkg.a ( «мокко») Теперь я хотел бы, чтобы вместо этого использовать другой пакет Мокко из местного клона репо, где я изменил некоторые файлы. Какой самый лучший способ пойти по этому поводу?
aneccodeal
1

голосов
1

ответ
256

Просмотры

GLPK Ошибка установки

Я работаю по установке / настройке Юлю на разрядном компьютере Windows 7 64. У меня возникли проблемы с установкой пакета GLPK. До сих пор я пытался полностью переустановить Юлю без успеха. Я попытался удалить папку .julia и мои предпочтения не имели успеха. Я всегда получаю следующее сообщение об ошибке: JuLiA> Pkg.build ( "GLPK") INFO: Здание GLPK INFO: Попытка создать директорию C: \ Users \ Justin \ .julia \ v0.3 \ GLPK \ DEPS \ Загруз.дорожек ПССП INFO: Справочник C: \ Users \ Justin \ .julia \ v0.3 \ GLPK \ DEPS \ загрузки уже созданных INFO: Загрузка файла http://downloads.sourceforge.net/project/winglpk/winglpk/ GLPK-4,52 / winglpk-4.52.zip INFO: Готово загрузки файла http://downloads.sourceforge.net/project/winglpk/win GLPK / GLPK-4,52 / winglpk-4.52.zip INFO: Попытка создать директорию C: \ Users \ Justin \ .julia \ v0.3 \ GLPK \ Deps \ SRC INFO: Каталог C: в выражении звезды тин на линии 66 =========================================== ===================================== ============= =================== [BUILD ОШИБКИ] =========================== ===== ПРЕДУПРЕЖДЕНИЕ: GLPK были ошибки построения. - пакеты с ошибками сборки остаются установленными в C: \ Users \ Justin \ .julia \ v0.3 - собрать пакет (ы) и все зависимости с `Pkg.build («GLPK»)` - создать единый пакет, запустив его `Deps / build.jl` сценарий ========================================== ====================================== мне кажется, что этот вопрос с «winglpk -4.52.zip»и если я пытаюсь получить прямой доступ и разархивировать файл, я получаю сообщение об ошибке: файл недопустим и окна не могут открыть. Я попытался удалить GLPK и, начиная с нуля, не повезло там. Любые идеи или предложения? ОБНОВИТЬ: Вручную загрузите файл 'winglpk-4.52.zip' и извлекая на месте 'C: \ Users \ Justin.julia \ v0.3 \ GLPK \ DEPS \ ЦСИ' решает проблему. ОДНАКО, я получаю другую ошибку (не уверен, если это связано): Не удается построить аффинное выражение с термином типа (GenericAffExpr {Float64, Variable}) * (Float64) при загрузке В работе [6], в выражении, начиная с линии 16 по ошибке в error.jl: 21 (повторяется 2 раза) Эта ошибка относится к команде: @setObjective (MyModel, Макс, сумма {х [I, J] * данные [I, 5], я = 1: п, J = 1: 8}); У меня Джулия установлена ​​на моем Mac, и это не дает ошибку .. Не удалось построить аффинное выражение с термином типа (GenericAffExpr {Float64, переменная}) * (Float64) при загрузке В работе [6], в выражении, начиная с линии 16 с ошибкой в ​​error.jl: 21 (повторяется 2 раза) Эта ошибка относится к команде: @setObjective (MyModel, Max, сумма {х [I, J] * данные [I, 5], я = 1: п, J = 1: 8}); У меня Джулия установлена ​​на моем Mac, и это не дает ошибку .. Не удалось построить аффинное выражение с термином типа (GenericAffExpr {Float64, переменная}) * (Float64) при загрузке В работе [6], в выражении, начиная с линии 16 с ошибкой в ​​error.jl: 21 (повторяется 2 раза) Эта ошибка относится к команде: @setObjective (MyModel, Max, сумма {х [I, J] * данные [I, 5], я = 1: п, J = 1: 8}); У меня Джулия установлена ​​на моем Mac, и это не дает ошибку ..
DrDunkenstein
1

голосов
1

ответ
676

Просмотры

Julia Read CSV из линии

Как прочитать текстовый файл, который содержит разделители части, как и в CSV, от определенной линии (то есть, где начинается разделители часть)? Файл выглядит конструктивно так: [заголовок] 1 2 3 4 5 6 [...]
Armin Meisterhirn
1

голосов
1

ответ
134

Просмотры

Функция Vectorize с двумя аргументами разных типов?

В Джулии можно векторизации 2 функции ARG, когда оба арг одного и того же типа: функция MySquare (п :: Кол-во, х :: Number) возвращение п * х ^ 2 конец Println (MySquare (2, 2)) # ⇒ 8,0 @ vectorize_2arg Число MySquare Println (MySquare (2, [2, 3, 4])) # ⇒ [8.0,18.0,32.0] есть ли способ, кроме делать это вручную, векторизации функцию двух аргументов с различных типов: функция MySquare (п :: Int64, х :: Float64) возвращение п * х ^ 2 конец Println (MySquare (2, 2)) @ vectorize_2arg Int64 Float64 MySquare # ⇒ неверное число аргументов Println (MySquare (2, [2., 3., 4.]))
Adobe

Просмотр дополнительных вопросов

Связанные вопросы