teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

タイトルの変更

2020/04/07 12:21

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonの高速化(解決済みですが、今後も様々な回答をお待ちしています)
1
+ Pythonの高速化
body CHANGED
File without changes

5

⑤CuPy の修正

2020/04/07 12:20

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
File without changes
body CHANGED
@@ -127,10 +127,10 @@
127
127
  このエラーを解消する方法をご存じでしたら教えていただけないでしょうか。
128
128
 
129
129
  **⑤CuPyを用いる**
130
- CuPyというものを使って、GPUを搭載したコンピューターで計算を行うと高速化できる可能性がある、ということを知りました。しかし具体的な実装方法がかりません
130
+ CuPyというものを使って、GPUを搭載したコンピューターで計算を行うと高速化できる可能性がある、ということを知りました。(自のPCにはGPUは搭載されていません)
131
+ Google Colaboratoryを使うと、CuPyの性能を確認することができるそうです。以下のようなページを読んで、CuPyについて調べているところです。
132
+ [https://qiita.com/samacoba/items/d18e6cf09f544477aff4](https://qiita.com/samacoba/items/d18e6cf09f544477aff4)
131
133
 
132
- コード1に対してCuPyを用いる方法をご存じでしたら教えていただけないでしょうか。
133
-
134
134
  **⑥並列処理を行う**
135
135
  複数のCPUがあるコンピュータでは、複数のCPUを用いることによって計算時間は短くなると思います。そこで並列処理について調べてみて、まずは以下のページを参考にしました。
136
136
 

4

④Cython の修正

2020/04/07 12:15

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonの高速化(解決済みですが、今後も様々な回答をお待ちしております)
1
+ Pythonの高速化(解決済みですが、今後も様々な回答をお待ちしてます)
body CHANGED
@@ -101,10 +101,31 @@
101
101
  コード1に対してnumbaを用いる方法をご存じでしたら教えていただけないでしょうか。(→[hayataka2049](https://teratail.com/users/hayataka2049)さんの回答により解決しました)
102
102
 
103
103
  **④Cythonを用いる**
104
- Cythonというものを用いればPythonの高速化ができる、ということを知すが、C言語知識がないため、具体的な実装方法が分かりせん
104
+ Cythonというものを用いればPythonの高速化ができる、ということを知りまし。そこページを参考にしした
105
+ [https://qiita.com/kenmatsu4/items/7c08a85e41741e95b9ba](https://qiita.com/kenmatsu4/items/7c08a85e41741e95b9ba)
105
106
 
107
+ まず
108
+ ```ここに言語を入力
109
+ %load_ext Cython
110
+ ```
111
+ を実行し、次に
112
+ ```ここに言語を入力
106
- コード1に対してCythonを用いる方法をご存じでしたら教えていただけないでしょうか。
113
+ %%cython -n test_cython_code
114
+ def fib(int n):
115
+ cdef int i
116
+ cdef double a=0.0, b=1.0
107
117
 
118
+ for i in range(n):
119
+ a, b = a+b, a
120
+ return a
121
+ ```
122
+ を実行すると、
123
+ ```ここに言語を入力
124
+ DistutilsPlatformError: Unable to find vcvarsall.bat
125
+ ```
126
+ というエラーが出てしまいます。
127
+ このエラーを解消する方法をご存じでしたら教えていただけないでしょうか。
128
+
108
129
  **⑤CuPyを用いる**
109
130
  CuPyというものを使って、GPUを搭載したコンピューターで計算を行うと高速化できる可能性がある、ということを知りました。しかし具体的な実装方法が分かりません。
110
131
 

3

タイトルの変更

2020/04/07 11:54

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonの高速化
1
+ Pythonの高速化(解決済みですが、今後も様々な回答をお待ちしております)
body CHANGED
File without changes

2

③numbaを用いる の解決

2020/04/07 06:10

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
File without changes
body CHANGED
@@ -98,7 +98,7 @@
98
98
  @jit(nopython=True)
99
99
  を付け加えたみたところ、エラーが表示され、計算が実行されませんでした。
100
100
 
101
- コード1に対してnumbaを用いる方法をご存じでしたら教えていただけないでしょうか。
101
+ コード1に対してnumbaを用いる方法をご存じでしたら教えていただけないでしょうか。(→[hayataka2049](https://teratail.com/users/hayataka2049)さんの回答により解決しました)
102
102
 
103
103
  **④Cythonを用いる**
104
104
  Cythonというものを用いればPythonの高速化ができる、ということを知ったのですが、C言語の知識がないため、具体的な実装方法が分かりません。

1

誤字、リンクの修正

2020/04/07 00:06

投稿

s_miyazaki
s_miyazaki

スコア5

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,7 @@
10
10
  Aが与えられたとき、Bを得られるようなコードを書きました。しかし例えばm=n=20000だと、計算に40秒ほどかかってしまいます。この計算を数千回繰り返したいと考えておりますので、1回あたりの計算時間をより短くしたいと考えております。自分でもいくつかの方法を試しましたが、計算時間を短縮する有効な方法が分かりません。計算時間を短縮する方法について何かアドバイスを頂けたら幸いです。よろしくお願いいたします。
11
11
 
12
12
  なお、k連続する1をkに置き換える方法については、
13
- https://maspypy.com/numpy連続同一値の数え上げ-atcoder-abc-129-d
13
+ [https://maspypy.com/numpy連続同一値の数え上げ-atcoder-abc-129-d](https://maspypy.com/numpy連続同一値の数え上げ-atcoder-abc-129-d)
14
14
  を参考にさせていただきました。
15
15
 
16
16
  ### 該当のソースコード
@@ -101,7 +101,7 @@
101
101
  コード1に対してnumbaを用いる方法をご存じでしたら教えていただけないでしょうか。
102
102
 
103
103
  **④Cythonを用いる**
104
- Cythonというものを用いればPytohnの高速化ができる、ということを知ったのですが、C言語の知識がないため、具体的な実装方法が分かりません。
104
+ Cythonというものを用いればPythonの高速化ができる、ということを知ったのですが、C言語の知識がないため、具体的な実装方法が分かりません。
105
105
 
106
106
  コード1に対してCythonを用いる方法をご存じでしたら教えていただけないでしょうか。
107
107
 
@@ -113,7 +113,7 @@
113
113
  **⑥並列処理を行う**
114
114
  複数のCPUがあるコンピュータでは、複数のCPUを用いることによって計算時間は短くなると思います。そこで並列処理について調べてみて、まずは以下のページを参考にしました。
115
115
 
116
- http://iatlex.com/python/parallel_first
116
+ [http://iatlex.com/python/parallel_first](http://iatlex.com/python/parallel_first)
117
117
 
118
118
  このページ内の以下のコードを実行してみました。
119
119
  ```Python3