ThomasSimonini HF staff commited on
Commit
e9b5b0a
β€’
1 Parent(s): 2cb378a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -26
app.py CHANGED
@@ -218,7 +218,7 @@ def certification(hf_username, first_name, last_name):
218
  "unit": "Unit 8 PI",
219
  "env": "GodotRL-JumperHard",
220
  "library": "cleanrl",
221
- "min_result": -100,
222
  "best_result": 0,
223
  "best_model_id": "",
224
  "passed_": False
@@ -227,7 +227,7 @@ def certification(hf_username, first_name, last_name):
227
  "unit": "Unit 8 PII",
228
  "env": "Vizdoom-Battle",
229
  "library": "cleanrl",
230
- "min_result": -100,
231
  "best_result": 0,
232
  "best_model_id": "",
233
  "passed_": False
@@ -254,9 +254,9 @@ def certification(hf_username, first_name, last_name):
254
 
255
  df = df1[['passed', 'unit', 'env', 'min_result', 'best_result', 'best_model_id']]
256
 
257
- verify_certification(results_certification, hf_username, first_name, last_name)
258
 
259
- return df
260
 
261
  """
262
  Verify that the user pass.
@@ -281,27 +281,32 @@ def verify_certification(df, hf_username, first_name, last_name):
281
 
282
  if pass_percentage == 100:
283
  # Generate a certificate of excellence
284
- generate_certificate("./certificate_models/certificate-excellence.png", first_name, last_name)
285
 
286
  # Add this user to our database
287
  add_certified_user(hf_username, first_name, last_name, pass_percentage)
288
 
289
- # Output everything in gradio
290
-
291
 
292
  elif pass_percentage < 100 and pass_percentage >= 80:
293
  # Certificate of completion
294
- generate_certificate("./certificate_models/certificate-completion.png", first_name, last_name)
295
 
296
  # Add this user to our database
297
  add_certified_user(hf_username, first_name, last_name, pass_percentage)
298
 
299
- # Output everything in gradio
300
-
301
 
302
  else:
303
  # Not pass yet
304
- print ("not pass yet")
 
 
 
 
 
305
 
306
  def generate_certificate(certificate_model, first_name, last_name):
307
  im = Image.open(certificate_model)
@@ -328,6 +333,8 @@ def generate_certificate(certificate_model, first_name, last_name):
328
 
329
  im.save("certificate_"+".png")
330
 
 
 
331
 
332
  def add_certified_user(hf_username, first_name, last_name, pass_percentage):
333
  print("ADD CERTIFIED USER")
@@ -337,10 +344,7 @@ def add_certified_user(hf_username, first_name, last_name, pass_percentage):
337
  # Check if this hf_username is already in our dataset:
338
  check = history.loc[history['hf_username'] == hf_username]
339
  if not check.empty:
340
- #print("CHECK", check)
341
- #print("INDEX", check.index[0])
342
  history = history.drop(labels=check.index[0], axis=0)
343
- #history.iloc[[check.index[0]],['hf_username', 'first_name', 'last_name', 'pass_percentage', 'datetime']] = hf_username, first_name, last_name, pass_percentage, time.time()
344
 
345
  new_row = pd.DataFrame({'hf_username': hf_username, 'first_name': first_name, 'last_name': last_name, 'pass_percentage': pass_percentage, 'datetime': time.time()}, index=[0])
346
  history = pd.concat([new_row, history[:]]).reset_index(drop=True)
@@ -351,17 +355,15 @@ def add_certified_user(hf_username, first_name, last_name, pass_percentage):
351
 
352
  with gr.Blocks() as demo:
353
  gr.Markdown(f"""
354
- # πŸ† Check your progress in the Deep Reinforcement Learning Course πŸ†
355
- You can check your progress here.
356
-
357
- - To get a certificate of completion, you must **pass 80% of the assignments before the end of April 2023**.
358
- - To get an honors certificate, you must **pass 100% of the assignments before the end of April 2023**.
359
 
360
- To pass an assignment your model result (mean_reward - std_reward) must be >= min_result
 
361
 
362
- **When min_result = -100 it means that you just need to push a model to pass this hands-on. No need to reach a certain result.**
363
-
364
- Just type your Hugging Face Username πŸ€— (in my case ThomasSimonini)
365
  """)
366
 
367
  hf_username = gr.Textbox(placeholder="ThomasSimonini", label="Your Hugging Face Username (case sensitive)")
@@ -369,8 +371,9 @@ with gr.Blocks() as demo:
369
  last_name = gr.Textbox(placeholder="Doe", label="Your Last Name")
370
  #email = gr.Textbox(placeholder="[email protected]", label="Your Email (to receive your certificate)")
371
  check_progress_button = gr.Button(value="Check my progress")
372
- output1 = gr.components.Dataframe(value= certification(hf_username, first_name, last_name), headers=["Pass?", "Unit", "Environment", "Baseline", "Your best result", "Your best model id"], datatype=["markdown", "markdown", "markdown", "number", "number", "markdown", "bool"])
373
- #output2 = gr.components.Image(type="pil")
374
- check_progress_button.click(fn=certification, inputs=[hf_username, first_name, last_name], outputs= output1)#[output1, output2])
 
375
 
376
  demo.launch(debug=True)
 
218
  "unit": "Unit 8 PI",
219
  "env": "GodotRL-JumperHard",
220
  "library": "cleanrl",
221
+ "min_result": 100,
222
  "best_result": 0,
223
  "best_model_id": "",
224
  "passed_": False
 
227
  "unit": "Unit 8 PII",
228
  "env": "Vizdoom-Battle",
229
  "library": "cleanrl",
230
+ "min_result": 100,
231
  "best_result": 0,
232
  "best_model_id": "",
233
  "passed_": False
 
254
 
255
  df = df1[['passed', 'unit', 'env', 'min_result', 'best_result', 'best_model_id']]
256
 
257
+ message, certification = verify_certification(results_certification, hf_username, first_name, last_name)
258
 
259
+ return message, df, certification
260
 
261
  """
262
  Verify that the user pass.
 
281
 
282
  if pass_percentage == 100:
283
  # Generate a certificate of excellence
284
+ certificate = generate_certificate("./certificate_models/certificate-excellence.png", first_name, last_name)
285
 
286
  # Add this user to our database
287
  add_certified_user(hf_username, first_name, last_name, pass_percentage)
288
 
289
+ # Add a message
290
+ message = "Congratulations, you successfully completed the Hugging Face Deep Reinforcement Learning Course πŸŽ‰ \n Since you pass 100% of the hands-on you get a Certificate of Excellence πŸŽ“."
291
 
292
  elif pass_percentage < 100 and pass_percentage >= 80:
293
  # Certificate of completion
294
+ certificate = generate_certificate("./certificate_models/certificate-completion.png", first_name, last_name)
295
 
296
  # Add this user to our database
297
  add_certified_user(hf_username, first_name, last_name, pass_percentage)
298
 
299
+ # Add a message
300
+ message = "Congratulations, you successfully completed the Hugging Face Deep Reinforcement Learning Course πŸŽ‰ \n Since you pass 80% of the hands-on you get a Certificate of Completion πŸŽ“. You can try to get a Certificate of Excellence if you pass 100% of the hands-on, don't hesitate to check which unit you didn't pass and update these models."
301
 
302
  else:
303
  # Not pass yet
304
+ certificate = ""
305
+ # Add a message
306
+ message = "You didn't pass the minimum of 80% of the hands-on to get a certificate of completion. But don't be discouraged. Check below which units you need to do again to get your certificate πŸ’ͺ"
307
+
308
+ return certificate, message
309
+
310
 
311
  def generate_certificate(certificate_model, first_name, last_name):
312
  im = Image.open(certificate_model)
 
333
 
334
  im.save("certificate_"+".png")
335
 
336
+ return im
337
+
338
 
339
  def add_certified_user(hf_username, first_name, last_name, pass_percentage):
340
  print("ADD CERTIFIED USER")
 
344
  # Check if this hf_username is already in our dataset:
345
  check = history.loc[history['hf_username'] == hf_username]
346
  if not check.empty:
 
 
347
  history = history.drop(labels=check.index[0], axis=0)
 
348
 
349
  new_row = pd.DataFrame({'hf_username': hf_username, 'first_name': first_name, 'last_name': last_name, 'pass_percentage': pass_percentage, 'datetime': time.time()}, index=[0])
350
  history = pd.concat([new_row, history[:]]).reset_index(drop=True)
 
355
 
356
  with gr.Blocks() as demo:
357
  gr.Markdown(f"""
358
+ # Get your certificate πŸŽ“
359
+ The certification process is completely free:
 
 
 
360
 
361
+ - To get a *certificate of completion*: you need to **pass 80% of the assignments before the end of April 2023**.
362
+ - To get a *certificate of honors*: you need to **pass 100% of the assignments before the end of April 2023**.
363
 
364
+ For more information about the certification process [check this](https://huggingface.co/deep-rl-course/communication/certification)
365
+
366
+ Don’t hesitate to share your certificate on Twitter (tag me @ThomasSimonini and @huggingface) and on Linkedin.
367
  """)
368
 
369
  hf_username = gr.Textbox(placeholder="ThomasSimonini", label="Your Hugging Face Username (case sensitive)")
 
371
  last_name = gr.Textbox(placeholder="Doe", label="Your Last Name")
372
  #email = gr.Textbox(placeholder="[email protected]", label="Your Email (to receive your certificate)")
373
  check_progress_button = gr.Button(value="Check my progress")
374
+ output_text = gr.components.Text()
375
+ output_pdf = gr.components.Image(type="pil")
376
+ output_dataframe = gr.components.Dataframe(value= certification(hf_username, first_name, last_name), headers=["Pass?", "Unit", "Environment", "Baseline", "Your best result", "Your best model id"], datatype=["markdown", "markdown", "markdown", "number", "number", "markdown", "bool"])
377
+ check_progress_button.click(fn=certification, inputs=[hf_username, first_name, last_name], outputs=[output_text, output_pdf, output_dataframe])#[output1, output2])
378
 
379
  demo.launch(debug=True)